/*
Theme Name: Astra Child
Theme URI: https://cheesylife.fr/
Description: Theme enfant officiel pour la marque Rock & Ride (R&R) - Redesign Biarritz Lifestyle 2026.
Author: Antigravity
Author URI: https://cheesylife.fr/
Template: astra
Version: 2.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
*/

/* === DESIGN SYSTEM ROCK & RIDE (R&R) === */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Inter:wght@300;400;500;600;700&display=swap');

:root {
    --r-gold: #a38a5e;
    --r-gold-hover: #706040;
    --r-dark: #1c1c1c;
    --r-grey: #555555;
    --r-light-bg: #faf9f6;
    --r-white: #ffffff;
    --r-border: #e8e6e1;
    --r-font-heading: 'Playfair Display', serif;
    --r-font-body: 'Inter', sans-serif;
}

/* === GENERAL OVERRIDES === */
body, html {
    background-color: var(--r-light-bg) !important;
    color: var(--r-grey) !important;
    font-family: var(--r-font-body) !important;
    font-size: 16px;
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
}

/* Remove default white layouts in Astra theme wrapper */
.site, .site-content, #page, #primary, #content, #main, 
.ast-container, .ast-row, .main-header-bar, .main-header-bar-wrap,
.ast-header-break-point, .ast-separate-container, .ast-plain-container {
    background-color: transparent !important;
    background: transparent !important;
}

/* Typography & Titles */
h1, h2, h3, h4, h5, h6, 
.entry-title, .site-title a, .widget-title {
    font-family: var(--r-font-heading) !important;
    font-weight: 500 !important;
    text-transform: none !important;
    letter-spacing: 0.5px !important;
    color: var(--r-dark) !important;
    text-shadow: none !important;
}

a {
    color: var(--r-dark);
    transition: all 0.3s ease;
    text-decoration: none;
}
a:hover {
    color: var(--r-gold) !important;
}

/* Inside paragraph text, links should pop and be clear */
p a {
    color: var(--r-gold) !important;
    text-decoration: underline !important;
}
p a:hover {
    color: var(--r-gold-hover) !important;
}

/* === HEADER / NAVIGATION === */
.main-header-bar {
    background-color: var(--r-white) !important;
    border-bottom: 1px solid var(--r-border) !important;
    padding: 15px 0 !important;
}

.site-title a, .site-title a:hover {
    color: var(--r-dark) !important;
    font-family: var(--r-font-heading) !important;
    font-size: 26px !important;
    letter-spacing: 1.5px !important;
    font-weight: 600 !important;
    text-shadow: none !important;
}

.main-header-menu .menu-item {
    margin: 0 8px !important;
}

.main-header-menu .menu-link {
    color: var(--r-dark) !important;
    font-family: var(--r-font-body) !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    font-weight: 500 !important;
    padding: 10px 15px !important;
    border: none !important;
    box-shadow: none !important;
    transition: color 0.3s ease;
}

.main-header-menu .menu-link:hover,
.main-header-menu .current-menu-item > .menu-link {
    color: var(--r-gold) !important;
    border: none !important;
    background: transparent !important;
}

/* Cart icon override - sleek header style */
.ast-site-header-cart-data, .ast-addon-cart-wrap {
    color: var(--r-dark) !important;
}
.ast-site-header-cart-icon {
    border: none !important;
    padding: 5px !important;
    background: transparent !important;
    box-shadow: none !important;
    transition: color 0.3s ease !important;
    border-radius: 0px !important;
}
.ast-site-header-cart-icon:hover {
    background: transparent !important;
    color: var(--r-gold) !important;
    box-shadow: none !important;
}

/* === PREMIUM BUTTONS === */
.wp-block-button__link,
.woocommerce a.button, 
.woocommerce button.button, 
.woocommerce input.button, 
.woocommerce #respond input#submit {
    font-family: var(--r-font-body) !important;
    font-weight: 500 !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    background-color: transparent !important;
    color: var(--r-dark) !important;
    border: 1px solid var(--r-dark) !important;
    border-radius: 0px !important;
    padding: 12px 30px !important;
    box-shadow: none !important;
    transition: all 0.3s ease !important;
    display: inline-block;
    cursor: pointer;
}

.wp-block-button__link:hover,
.woocommerce a.button:hover, 
.woocommerce button.button:hover, 
.woocommerce input.button:hover, 
.woocommerce #respond input#submit:hover {
    background-color: var(--r-dark) !important;
    color: var(--r-white) !important;
    border-color: var(--r-dark) !important;
    transform: none !important;
    box-shadow: none !important;
}

/* Alternative Secondary Button */
.button.secondary {
    background-color: var(--r-white) !important;
    color: var(--r-dark) !important;
    border-color: var(--r-border) !important;
}
.button.secondary:hover {
    background-color: var(--r-dark) !important;
    color: var(--r-white) !important;
}

/* === HERO SECTION COVER === */
.wp-block-cover {
    border: none !important;
    box-shadow: 0 15px 45px rgba(0,0,0,0.03) !important;
    margin-bottom: 80px !important;
}
.wp-block-cover h1, .wp-block-cover h1 strong {
    font-family: var(--r-font-heading) !important;
    font-size: 3.5rem !important;
    font-weight: 400 !important;
    text-transform: none !important;
    letter-spacing: 0px !important;
    text-shadow: none !important;
    color: var(--r-white) !important;
}
.wp-block-cover p {
    font-family: var(--r-font-body) !important;
    font-weight: 300;
    font-size: 1.2rem !important;
    text-shadow: none !important;
    max-width: 650px;
    margin: 0 auto 24px !important;
    color: #fafafa !important;
}

/* === COLUMNS & CARDS === */
.wp-block-columns {
    gap: 40px !important;
    margin-bottom: 80px !important;
}

.wp-block-column {
    background: transparent !important;
    border: none !important;
    padding: 20px !important;
    box-shadow: none !important;
    text-align: center;
    transition: opacity 0.3s ease;
}

.wp-block-column:hover {
    transform: none !important;
    box-shadow: none !important;
    opacity: 0.85;
}

.wp-block-column h1, 
.wp-block-column h2, 
.wp-block-column h3, 
.wp-block-column h4, 
.wp-block-column h5, 
.wp-block-column h6,
.wp-block-column p,
.wp-block-column span,
.wp-block-column li {
    color: var(--r-dark) !important;
    text-shadow: none !important;
}

.wp-block-column h3 {
    font-size: 22px !important;
    margin-bottom: 15px;
    position: relative;
    display: inline-block;
}

.wp-block-column h3::after {
    content: '';
    display: block;
    width: 30px;
    height: 1px;
    background: var(--r-gold);
    margin: 15px auto 0;
}

/* === PRODUCT GRID & WOOCOMMERCE === */
.woocommerce ul.products {
    margin: 40px 0 !important;
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
    gap: 40px !important;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
    display: none !important;
}

.woocommerce-page ul.products li.product, 
.woocommerce ul.products li.product {
    width: 100% !important;
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    box-shadow: none !important;
    transition: opacity 0.3s ease !important;
    display: flex;
    flex-direction: column;
    overflow: hidden !important;
    position: relative;
}

.woocommerce ul.products li.product:hover {
    transform: none !important;
    box-shadow: none !important;
    opacity: 0.9;
}

.woocommerce ul.products li.product img {
    border-bottom: none !important;
    margin-bottom: 20px !important;
    transition: transform 0.5s ease;
}

.woocommerce ul.products li.product:hover img {
    transform: scale(1.03);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2 {
    font-family: var(--r-font-heading) !important;
    font-size: 19px !important;
    color: var(--r-dark) !important;
    padding: 0 !important;
    margin: 10px 0 5px 0 !important;
    text-transform: none !important;
    font-weight: 500 !important;
    text-shadow: none !important;
}

/* Classy Price Tag */
.woocommerce ul.products li.product .price {
    display: block !important;
    background: transparent !important;
    color: var(--r-gold-hover) !important;
    padding: 0 !important;
    font-family: var(--r-font-body) !important;
    font-weight: 400 !important;
    font-size: 15px !important;
    margin: 8px 0 15px 0 !important;
    box-shadow: none !important;
}

/* Grid layout Add-to-cart button */
.woocommerce ul.products li.product .button {
    margin: 10px 0 0 0 !important;
    text-align: center;
    padding: 10px 20px !important;
    font-size: 13px !important;
    background-color: transparent !important;
    color: var(--r-dark) !important;
    border: 1px solid var(--r-dark) !important;
    box-shadow: none !important;
}
.woocommerce ul.products li.product .button:hover {
    background-color: var(--r-dark) !important;
    color: var(--r-white) !important;
    box-shadow: none !important;
}

/* === CATEGORY LIST ON HOMEPAGE === */
.wc-block-product-categories, 
ul.product-categories {
    list-style: none !important;
    padding: 0 !important;
    margin: 30px 0 !important;
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
    gap: 20px !important;
}

.wc-block-product-categories li,
ul.product-categories li {
    background: var(--r-white) !important;
    border: 1px solid var(--r-border) !important;
    color: var(--r-dark) !important;
    padding: 30px 20px !important;
    text-align: center !important;
    box-shadow: 0 5px 15px rgba(0,0,0,0.01) !important;
    transition: all 0.3s ease !important;
}

.wc-block-product-categories li:hover,
ul.product-categories li:hover {
    transform: none !important;
    border-color: var(--r-gold) !important;
    box-shadow: 0 8px 25px rgba(0,0,0,0.03) !important;
}

.wc-block-product-categories li a,
ul.product-categories li a {
    font-family: var(--r-font-heading) !important;
    text-transform: none !important;
    font-weight: 500 !important;
    letter-spacing: 0px !important;
    font-size: 19px !important;
    color: var(--r-dark) !important;
    text-shadow: none !important;
}

.wc-block-product-categories li .count,
ul.product-categories li .count {
    display: block;
    margin-top: 5px;
    font-size: 12px;
    color: var(--r-grey);
    font-family: var(--r-font-body);
}

/* === SINGLE PRODUCT PAGE === */
.woocommerce div.product .product_title {
    font-size: 36px !important;
    margin-bottom: 10px !important;
    line-height: 1.2;
    color: var(--r-dark) !important;
    text-shadow: none !important;
}

/* Main single product price tag */
.woocommerce div.product p.price, 
.woocommerce div.product span.price {
    color: var(--r-gold) !important;
    font-size: 1.8rem !important;
    font-weight: 500 !important;
    margin-bottom: 20px !important;
    text-shadow: none !important;
    font-family: var(--r-font-body) !important;
}

.woocommerce div.product .woocommerce-product-details__short-description {
    font-size: 16px;
    margin-bottom: 30px !important;
    color: var(--r-grey) !important;
}

.woocommerce div.product form.cart {
    margin-bottom: 30px !important;
}

.woocommerce div.product form.cart .quantity .qty {
    width: 65px !important;
    height: 50px !important;
    font-family: var(--r-font-body) !important;
    font-weight: 400 !important;
    border: 1px solid var(--r-border) !important;
    border-radius: 0px !important;
    text-align: center;
    background: var(--r-white) !important;
    color: var(--r-dark) !important;
    margin-right: 15px !important;
}

.woocommerce div.product form.cart .single_add_to_cart_button {
    height: 50px !important;
    padding: 0 35px !important;
    line-height: 46px !important;
}

/* Classy Gallery images */
.woocommerce div.product div.images img {
    border: 1px solid var(--r-border) !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.02) !important;
}

/* Product Tabs Classy */
.woocommerce div.product .woocommerce-tabs ul.tabs {
    border-bottom: 1px solid var(--r-border) !important;
    padding-left: 0 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    border: 1px solid var(--r-border) !important;
    border-bottom: none !important;
    background: var(--r-light-bg) !important;
    border-radius: 0 !important;
    margin-right: 5px !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
    background: var(--r-white) !important;
    border-bottom: 1px solid var(--r-white) !important;
    position: relative;
    top: 1px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    font-family: var(--r-font-body) !important;
    text-transform: uppercase !important;
    font-weight: 500 !important;
    letter-spacing: 1px !important;
    font-size: 13px;
    color: var(--r-grey) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: var(--r-dark) !important;
}

.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel {
    background: var(--r-white) !important;
    border: 1px solid var(--r-border) !important;
    padding: 30px !important;
    box-shadow: none !important;
    color: var(--r-grey) !important;
}

.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel h2,
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel p,
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel li {
    color: var(--r-grey) !important;
    text-shadow: none !important;
}

.woocommerce-products-header__title,
.woocommerce-breadcrumb,
.woocommerce-result-count,
.woocommerce-ordering select {
    color: var(--r-dark) !important;
}
.woocommerce-ordering select {
    border-color: var(--r-border) !important;
    background: var(--r-white) !important;
    color: var(--r-dark) !important;
}

/* === CHECKOUT & CART === */
.woocommerce-cart table.cart, 
.woocommerce-checkout #order_review,
.woocommerce-checkout form.checkout_coupon,
.woocommerce-checkout form.login,
.woocommerce-checkout form.register,
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
    background: var(--r-white) !important;
    border: 1px solid var(--r-border) !important;
    border-radius: 0 !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.02) !important;
    padding: 30px !important;
    color: var(--r-grey) !important;
    margin-bottom: 30px !important;
}

.woocommerce-cart table.cart th, 
.woocommerce-cart table.cart td,
.woocommerce-checkout #order_review th,
.woocommerce-checkout #order_review td {
    border-bottom: 1px solid var(--r-border) !important;
    padding: 15px !important;
    color: var(--r-grey) !important;
}

.woocommerce-cart table.cart th,
.woocommerce-checkout #order_review th {
    background: var(--r-light-bg) !important;
    color: var(--r-dark) !important;
    font-family: var(--r-font-body) !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    border: 1px solid var(--r-border) !important;
    text-shadow: none !important;
}

.woocommerce-cart table.cart td a,
.woocommerce-checkout #order_review td a {
    color: var(--r-dark) !important;
}

.woocommerce-cart table.cart td a:hover,
.woocommerce-checkout #order_review td a:hover {
    color: var(--r-gold) !important;
}

.cart-collaterals, .cart-collaterals .cart_totals {
    background: var(--r-white) !important;
    border: 1px solid var(--r-border) !important;
    color: var(--r-grey) !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.02) !important;
    padding: 25px !important;
}
.cart-collaterals .cart_totals h2,
.cart-collaterals .cart_totals table th,
.cart-collaterals .cart_totals table td {
    color: var(--r-dark) !important;
    border-color: var(--r-border) !important;
    text-shadow: none !important;
}

/* Form inputs styling */
input[type="text"], input[type="email"], input[type="tel"], input[type="password"], textarea, select {
    border: 1px solid #c0bfba !important;
    border-radius: 0px !important;
    background-color: var(--r-white) !important;
    padding: 12px 16px !important;
    font-family: var(--r-font-body) !important;
    color: var(--r-dark) !important;
    font-weight: 400 !important;
    transition: border-color 0.2s ease;
}

input[type="text"]:focus, input[type="email"]:focus, input[type="tel"]:focus, input[type="password"]:focus, textarea:focus, select:focus {
    border-color: var(--r-gold) !important;
    outline: none !important;
}

/* Checkout notices */
.woocommerce-error, .woocommerce-info, .woocommerce-message {
    background: var(--r-white) !important;
    border: 1px solid var(--r-border) !important;
    border-left: 4px solid var(--r-gold) !important;
    border-radius: 0px !important;
    font-family: var(--r-font-body) !important;
    font-weight: 500;
    color: var(--r-grey) !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.02) !important;
}

/* === LIFESTYLE IMAGES === */
.wp-block-image img {
    border: 1px solid var(--r-border) !important;
    box-shadow: 0 15px 45px rgba(0,0,0,0.03) !important;
    transition: opacity 0.3s ease;
}
.wp-block-image img:hover {
    box-shadow: 0 20px 50px rgba(0,0,0,0.05) !important;
    opacity: 0.95;
    transform: none !important;
}

/* === CLASSY FAQ ACCORDION === */
.r-faq-container {
    max-width: 800px;
    margin: 80px auto !important;
    padding: 0 20px;
}

.r-faq-title {
    text-align: center;
    margin-bottom: 40px !important;
    font-family: var(--r-font-heading) !important;
}

.r-faq-accordion {
    display: flex;
    flex-direction: column;
    gap: 0px;
}

.r-faq-item {
    background: transparent !important;
    border: none !important;
    border-bottom: 1px solid var(--r-border) !important;
    box-shadow: none !important;
    transition: none !important;
}

.r-faq-item:hover {
    transform: none !important;
    box-shadow: none !important;
}

.r-faq-item summary {
    font-family: var(--r-font-heading) !important;
    font-size: 19px !important;
    font-weight: 500 !important;
    text-transform: none !important;
    letter-spacing: 0px;
    color: var(--r-dark) !important;
    padding: 20px 0 !important;
    cursor: pointer;
    list-style: none; /* Hide default summary arrow */
    display: flex;
    justify-content: space-between;
    align-items: center;
    outline: none;
    user-select: none;
}

.r-faq-item summary::-webkit-details-marker {
    display: none; /* Webkit browser default arrow hide */
}

/* Custom indicator icon */
.r-faq-item summary::after {
    content: '+';
    font-size: 20px;
    font-weight: 300;
    transition: transform 0.25s ease;
    color: var(--r-gold);
}

.r-faq-item[open] summary::after {
    transform: rotate(45deg);
    color: var(--r-gold-hover);
}

.r-faq-content {
    padding: 0 0 20px 0 !important;
    color: var(--r-grey) !important;
    font-family: var(--r-font-body) !important;
    font-size: 15px;
    line-height: 1.7;
    border-top: none !important;
    margin-top: 0;
}
.r-faq-content p {
    color: var(--r-grey) !important;
    margin-bottom: 0 !important;
    text-shadow: none !important;
}

/* === FOOTER === */
.site-footer {
    background-color: var(--r-white) !important;
    color: var(--r-grey) !important;
    border-top: 1px solid var(--r-border) !important;
    padding: 40px 0 20px 0 !important;
}

.site-footer a {
    color: var(--r-grey) !important;
}

.site-footer a:hover {
    color: var(--r-gold) !important;
}

.site-footer .widget-title {
    color: var(--r-dark) !important;
    text-shadow: none !important;
}

/* === RESPONSIVE STYLING === */
@media (max-width: 920px) {
    .wp-block-cover h1, .wp-block-cover h1 strong {
        font-size: 2.5rem !important;
    }
    .wp-block-columns {
        flex-direction: column !important;
        gap: 30px !important;
    }
}

@media (max-width: 768px) {
    .ast-header-break-point .main-header-bar {
        background-color: var(--r-white) !important;
    }
    .ast-header-break-point .main-header-menu .menu-link {
        background-color: var(--r-white) !important;
        color: var(--r-dark) !important;
        border-bottom: 1px solid var(--r-border) !important;
    }
    .ast-header-break-point .main-header-menu .menu-link:hover {
        background-color: var(--r-light-bg) !important;
        color: var(--r-gold) !important;
    }
    .ast-header-break-point .menu-toggle, 
    .ast-header-break-point .menu-toggle:hover {
        color: var(--r-dark) !important;
        background: transparent !important;
        border: none !important;
    }
    .wp-block-cover {
        padding: 40px 20px !important;
        min-height: 50vh !important;
    }
    .wp-block-cover h1, .wp-block-cover h1 strong {
        font-size: 2rem !important;
    }
    .woocommerce ul.products {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
    }
}
