﻿/* ====================================
ROOT VARIABLES
==================================== */

:root {
    --gold: #d8a741;
    --gold-light: #f7cb63;
    --black: #050505;
    --card: #0d0d0d;
    --border: #232323;
    --white: #ffffff;
    --text: #b9b9b9;
    --transition: all .35s ease;
}

/* ====================================
GLOBAL
==================================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:
    "Inter",
    sans-serif;
    background:var(--black);
    color:#fff;
    overflow-x:hidden;
}

img{
    max-width:100%;
    display:block;
}

a{
    text-decoration:none;
}

ul{
    list-style:none;
    padding:0;
    margin:0;
}

.section-padding{
    padding:50px 0;
}

.container{
    max-width:1320px;
}

/* ====================================
CUSTOM SCROLLBAR
==================================== */

::-webkit-scrollbar{
    width:8px;
}

::-webkit-scrollbar-track{
    background:#000;
}

::-webkit-scrollbar-thumb{
    background:var(--gold);
    border-radius:20px;
}

/* ====================================
NAVBAR
==================================== */

.custom-navbar{
    padding:18px 0;
    transition:.4s ease;
    background:
    rgba(0,0,0,.25);
    /*backdrop-filter:blur(12px);*/
    border-bottom:
    1px solid rgba(255,255,255,.08);
    z-index:9999;
}

.custom-navbar.scrolled{
    background:
    rgba(0,0,0,.92);
    padding:12px 0;
}

.logo{
    font-size:34px;
    font-weight:900;
    color:var(--white)!important;
    letter-spacing:2px;
}

.navbar-nav{
    gap:18px;
}

.nav-link{
    color:#fff !important;
    font-weight:600;
    text-transform:uppercase;
    font-size:14px;
    letter-spacing:1px;
    transition:var(--transition);
    position:relative;
}

.nav-link:hover{
    color:var(--gold)!important;
}

.nav-link::after{
    content:'';
    width:0;
    height:2px;
    background:var(--gold);
    position:absolute;
    left:0;
    bottom:-5px;
    transition:.3s;
}

.nav-link:hover::after{
    width:100%;
}

/* ====================================
BUTTONS
==================================== */

.btn-gold{
    background:var(--gold);
    color:#000;
    border:none;
    font-weight:700;
    padding:14px 30px;
    border-radius:50px;
    transition:var(--transition);
}

.btn-gold:hover{
    transform:translateY(-4px);
    background:var(--gold-light);
    color:#000;
    box-shadow:
    0 10px 30px rgba(216,167,65,.35);
}

.btn-outline-custom{
    border:1px solid var(--gold);
    color:var(--gold);
    padding:14px 30px;
    border-radius:50px;
    font-weight:700;
    transition:var(--transition);
}

.btn-outline-custom:hover{
    background:var(--gold);
    color:#000;
    transform:translateY(-4px);
}

/* ====================================
HERO SECTION
==================================== */

.hero-section{
    min-height:100vh;
    position:relative;
    display:flex;
    align-items:center;
    overflow:hidden;
}

.hero-video{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    object-fit:cover;
    z-index:0;
}

.hero-overlay{
    position:absolute;
    inset:0;
    background:
    linear-gradient(
    rgba(0,0,0,.45),
    rgba(0,0,0,.85));
    z-index:1;
}

.hero-section .container{
    position:relative;
    z-index:5;
}

.hero-content{
    max-width:850px;
}

.hero-tag{
    color:var(--gold);
    font-size:22px;
    font-weight:700;
    letter-spacing:3px;
    display:block;
    margin-bottom:15px;
}

.hero-content h1{
    font-size:clamp(70px,12vw,170px);
    line-height:.9;
    font-weight:900;
    text-transform:uppercase;
    margin-bottom:20px;
}

.hero-content p{
    font-size:24px;
    color:#ddd;
    margin-bottom:40px;
}

.hero-buttons{
    display:flex;
    gap:20px;
    flex-wrap:wrap;
}

/* ====================================
SECTION HEADERS
==================================== */

.section-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:40px;
}

.section-header h2{
    font-size:42px;
    font-weight:800;
    text-transform:uppercase;
}

/* ====================================
PRODUCT CARDS
==================================== */

.product-card{
    background:var(--card);
    border:1px solid var(--border);
    border-radius:20px;
    overflow:hidden;
    transition:.4s ease;
    cursor:pointer;
}

.product-card:hover{
    transform:
    translateY(-10px);
    border-color:var(--gold);
    box-shadow:
    0 20px 50px rgba(216,167,65,.18);
}

.product-card img{
    width:100%;
    height:280px;
    object-fit:cover;
    transition:.5s;
}

.product-card:hover img{
    transform:scale(1.08);
}

.product-info{
    padding:25px;
}

.product-info h4{
    font-size:24px;
    margin-bottom:10px;
}

.product-info span{
    color:#b8b8b8;
}

/* ====================================
ABOUT SECTION
==================================== */

.about-section{
    padding:100px 0;
    background:#080808;
}

.about-content{
    padding-left:50px;
}

.about-content span{
    color:var(--gold);
    font-weight:700;
    letter-spacing:2px;
}

.about-content h2{
    font-size:60px;
    font-weight:900;
    margin:15px 0;
}

.about-content p{
    color:var(--text);
    line-height:1.8;
    margin-bottom:30px;
}

/* ====================================
CATEGORY CARDS
==================================== */

.category-card{
    background:#0f0f0f;
    border:1px solid var(--border);
    border-radius:18px;
    padding:20px 15px 24px;
    text-align:center;
    transition:.4s ease;
    height:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:10px;
}

.category-card:hover{
    transform:translateY(-8px);
    border-color:var(--gold);
    box-shadow:0 16px 40px rgba(216,167,65,.15);
}

.category-card__img-wrap{
    width:100%;
    aspect-ratio:1/1;
    overflow:hidden;
    border-radius:10px;
    background:#1a1a1a;
    margin-bottom:4px;
}

.category-card__img-wrap img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .4s ease;
}

.category-card:hover .category-card__img-wrap img{
    transform:scale(1.06);
}

/* Keep legacy img selector working if used without wrapper */
.category-card > img{
    width:90px;
    height:90px;
    object-fit:contain;
    margin:0 auto 10px;
    transition:transform .4s ease;
}

.category-card:hover > img{
    transform:scale(1.06);
}

.category-card__title,
.category-card h5{
    font-size:13px;
    font-weight:700;
    color:#fff;
    line-height:1.3;
    margin:0;
}

.category-card__price{
    font-size:14px;
    font-weight:700;
    color:var(--gold);
    line-height:1;
}

.category-card__price .price{
    color:var(--gold);
}

.category-card__price ins{
    text-decoration:none;
}

.category-card__price del{
    color:rgba(255,255,255,.3);
    font-size:12px;
    font-weight:400;
}

/* ====================================
STRAINS
==================================== */

.strain-card{
    background:#111;
    border-radius:20px;
    padding:20px 20px 24px;
    border:1px solid var(--border);
    text-align:center;
    transition:.4s ease;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:10px;
}

.strain-card:hover{
    transform:translateY(-10px);
    border-color:var(--gold);
    box-shadow:0 20px 48px rgba(216,167,65,.22);
}

.strain-card__img-wrap{
    width:100%;
    aspect-ratio:1/1;
    overflow:hidden;
    border-radius:10px;
    background:#1a1a1a;
    margin-bottom:4px;
}

.strain-card__img-wrap img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .4s ease;
}

.strain-card:hover .strain-card__img-wrap img{
    transform:scale(1.06);
}

/* Legacy img selector */
.strain-card > img{
    height:220px;
    object-fit:contain;
    margin:0 auto 10px;
    transition:transform .4s ease;
}

.strain-card:hover > img{
    transform:scale(1.06);
}

.strain-card__title,
.strain-card h4{
    font-size:15px;
    font-weight:800;
    color:#fff;
    line-height:1.3;
    margin:0;
}

.strain-card__type,
.strain-card span{
    font-size:12px;
    font-weight:600;
    letter-spacing:1px;
    text-transform:uppercase;
    color:var(--gold);
}

.strain-card__price{
    font-size:16px;
    font-weight:700;
    color:var(--gold);
    margin-top:4px;
}

.strain-card__price .price{
    color:var(--gold);
}

.strain-card__price ins{
    text-decoration:none;
}

.strain-card__price del{
    color:rgba(255,255,255,.3);
    font-size:13px;
    font-weight:400;
}

/* ====================================
REVIEWS
==================================== */

.review-card{
    background:#0d0d0d;
    border:1px solid var(--border);
    border-radius:20px;
    padding:35px;
    transition:.4s;
}

.review-card:hover{
    transform:translateY(-8px);
    border-color:var(--gold);
}

.review-card p{
    color:#ccc;
    line-height:1.8;
}

.review-card strong{
    display:block;
    margin-top:20px;
    color:var(--gold);
}

/* ====================================
LOCATIONS
==================================== */

.location-card{
    background:#0d0d0d;
    border-radius:20px;
    overflow:hidden;
    border:1px solid var(--border);
    transition:.4s;
}

.location-card:hover{
    transform:translateY(-10px);
    border-color:var(--gold);
}

.location-card img{
    width:100%;
    height:260px;
    object-fit:cover;
}

.location-content{
    padding:25px;
}

.location-content h4{
    font-size:28px;
    margin-bottom:10px;
}

.location-content p{
    color:var(--gold);
}

/* ====================================
NEWSLETTER
==================================== */

.newsletter-section{
    padding:100px 0;
}

.newsletter-box{
    background:
    linear-gradient(
    135deg,
    #111,
    #000);
    border:1px solid rgba(216,167,65,.25);
    border-radius:25px;
    padding:60px;
}

.newsletter-box h2{
    font-size:50px;
    font-weight:900;
    margin-bottom:30px;
}

.newsletter-box form{
    display:flex;
    gap:15px;
    flex-wrap:wrap;
}

.newsletter-box input{
    flex:1;
    min-width:250px;
    height:60px;
    border:none;
    outline:none;
    border-radius:50px;
    padding:0 25px;
    background:#1a1a1a;
    color:#fff;
}

.newsletter-box button{
    border:none;
    background:var(--gold);
    padding:0 35px;
    border-radius:50px;
    font-weight:700;
}

/* ====================================
FOOTER
==================================== */

footer{
    background:#000;
    border-top:1px solid #151515;
    padding:80px 0 40px;
}

footer h3{
    font-size:42px;
    font-weight:900;
}

footer h5{
    margin-bottom:20px;
    color:var(--gold);
}

footer li a{
    margin-bottom:10px;
    color:#bdbdbd;
}

footer li a:hover{
    color:var(--gold);
}

footer p{
    color:#999;
}

/* ====================================
TABLET
==================================== */

@media(max-width:991px){
    .section-padding{
        padding:50px 0;
    }
    .hero-content{
        text-align:center;
        margin:auto;
    }
    .hero-buttons{
        justify-content:center;
    }
    .about-content{
        padding-left:0;
        margin-top:40px;
    }
    .about-content h2{
        font-size:48px;
    }
    .newsletter-box{
        padding:40px;
    }
    .newsletter-box h2{
        font-size:38px;
    }
    .section-header{
        flex-direction:column;
        gap:20px;
        align-items:flex-start;
    }
}

/* ====================================
MOBILE
==================================== */

@media(max-width:767px){
    .hero-section{
        min-height:800px;
    }
    .hero-content h1{
        font-size:70px;
    }
    .hero-tag{
        font-size:16px;
    }
    .hero-content p{
        font-size:18px;
    }
    .section-header h2{
        font-size:32px;
    }
    .about-content h2{
        font-size:38px;
    }
    .newsletter-box{
        padding:30px;
    }
    .newsletter-box h2{
        font-size:28px;
    }
    .newsletter-box form{
        flex-direction:column;
    }
    .newsletter-box input,
    .newsletter-box button{
        width:100%;
        height:55px;
    }
    footer{
        text-align:center;
    }
    footer .col-lg-4{
        margin-bottom:30px;
    }
    .btn-gold,
    .btn-outline-custom{
        width:100%;
    }
    .hero-buttons{
        flex-direction:column;
    }
}

/* ====================================
SMALL MOBILE
==================================== */

@media(max-width:480px){
    .hero-content h1{
        font-size:54px;
    }
    .hero-section{
        min-height:720px;
    }
    .product-card img{
        height:220px;
    }
    .location-card img{
        height:220px;
    }
    .strain-card img{
        height:170px;
    }
}

/* ====================================
PAGE.PHP WRAPPER RESETS
==================================== */

/* These wrappers are added by page.php — ensure they never show a white bg */
.site-main,
.default-content-wrapper,
.page-content-wrapper,
.page-content{
    background:transparent;
}

/* Hide the default page <h1> on WooCommerce pages — each template has its own hero */
.woocommerce-page .entry-header .page-title,
.woocommerce-cart .entry-header,
.woocommerce-checkout .entry-header{
    display:none;
}

/* ====================================
CART PAGE HERO FULL-WIDTH BREAKOUT
==================================== */

/* The hero is injected inside the_content() which is wrapped by the page
   template container. This breaks it out to true viewport width. */
body.woocommerce-cart .shop-hero,
body.woocommerce-checkout .shop-hero{
    width:100vw;
    position:relative;
    left:50%;
    margin-left:-50vw;
    margin-right:-50vw;
}

/* ====================================
NAVBAR ACTIONS (cart icon + search)
==================================== */

.navbar-actions{
    flex-shrink:0;
    display:flex;
    align-items:center;
    gap:20px;
}

/* Cart icon */
.nav-cart-icon{
    position:relative;
    color:#fff;
    display:flex;
    align-items:center;
    text-decoration:none;
    transition:var(--transition);
}

.nav-cart-icon:hover{
    color:var(--gold);
}

.cart-count{
    position:absolute;
    top:-8px;
    right:-10px;
    background:var(--gold);
    color:#000;
    font-size:10px;
    font-weight:700;
    width:18px;
    height:18px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    line-height:1;
}

/* Account icon */
.nav-account-icon{
    position:relative;
    color:#fff;
    display:flex;
    align-items:center;
    text-decoration:none;
    font-size:20px;
    transition:var(--transition);
}

.nav-account-icon:hover{
    color:var(--gold);
}

/* Search toggle button */
.nav-search-toggle{
    background:none;
    border:none;
    padding:0;
    color:#fff;
    display:flex;
    align-items:center;
    cursor:pointer;
    transition:var(--transition);
}

.nav-search-toggle:hover{
    color:var(--gold);
}

/* ====================================
SEARCH OVERLAY
==================================== */

.search-overlay{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.96);
    z-index:99999;
    display:flex;
    align-items:center;
    justify-content:center;
    opacity:0;
    visibility:hidden;
    transition:opacity .3s ease, visibility .3s ease;
}

.search-overlay.is-open{
    opacity:1;
    visibility:visible;
}

.search-overlay-close{
    position:absolute;
    top:28px;
    right:32px;
    background:none;
    border:none;
    color:rgba(255,255,255,.6);
    cursor:pointer;
    padding:4px;
    transition:color .2s;
    line-height:0;
}

.search-overlay-close:hover{
    color:#fff;
}

.search-overlay-inner{
    width:100%;
    max-width:680px;
    padding:0 24px;
    transform:translateY(20px);
    transition:transform .35s ease;
}

.search-overlay.is-open .search-overlay-inner{
    transform:translateY(0);
}

.search-overlay-label{
    color:rgba(255,255,255,.45);
    font-size:13px;
    font-weight:600;
    letter-spacing:2px;
    text-transform:uppercase;
    margin-bottom:20px;
}

.search-overlay .search-form{
    display:flex;
    align-items:center;
    border-bottom:2px solid rgba(255,255,255,.25);
    padding-bottom:12px;
    gap:12px;
}

.search-overlay .search-field{
    flex:1;
    background:none;
    border:none;
    outline:none;
    color:#fff;
    font-size:clamp(22px,4vw,38px);
    font-weight:300;
    letter-spacing:.5px;
}

.search-overlay .search-field::placeholder{
    color:rgba(255,255,255,.25);
}

.search-overlay .search-submit{
    background:none;
    border:none;
    cursor:pointer;
    padding:0;
    color:var(--gold);
    flex-shrink:0;
    line-height:0;
    transition:opacity .2s;
}

.search-overlay .search-submit:hover{
    opacity:.75;
}

/* ====================================
SHOP PAGE
==================================== */

/* Hero banner */
.shop-hero{
    padding:120px 0 60px;
    background:linear-gradient(180deg,#0d0d0d 0%,var(--black) 100%);
    border-bottom:1px solid var(--border);
    text-align:center;
}

.shop-hero__title{
    font-size:clamp(32px,5vw,56px);
    font-weight:800;
    letter-spacing:2px;
    text-transform:uppercase;
    margin-bottom:12px;
}

.shop-hero__breadcrumb .woocommerce-breadcrumb{
    color:var(--text);
    font-size:13px;
}

.shop-hero__breadcrumb .woocommerce-breadcrumb a{
    color:var(--gold);
}

/* Mobile filter toggle */
.shop-filter-toggle{
    display:flex;
    align-items:center;
    gap:8px;
    background:var(--card);
    border:1px solid var(--border);
    color:#fff;
    font-size:13px;
    font-weight:600;
    letter-spacing:1px;
    text-transform:uppercase;
    padding:10px 20px;
    border-radius:4px;
    cursor:pointer;
    margin-bottom:24px;
    transition:var(--transition);
}

.shop-filter-toggle:hover{
    border-color:var(--gold);
    color:var(--gold);
}

/* Sidebar */
.shop-sidebar{
    display:flex;
    flex-direction:column;
    gap:32px;
    /* position:sticky; */
    top:90px;
}

.shop-widget{
    background:var(--card);
    border:1px solid var(--border);
    border-radius:8px;
    padding:24px;
}

.shop-widget__title{
    font-size:13px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
    color:#fff;
    margin-bottom:20px;
    padding-bottom:12px;
    border-bottom:1px solid var(--border);
}

/* Search in sidebar */
.shop-search-form{
    display:flex;
    align-items:center;
    background:rgba(255,255,255,.05);
    border:1px solid var(--border);
    border-radius:4px;
    overflow:hidden;
}

.shop-search-input{
    flex:1;
    background:none;
    border:none;
    outline:none;
    color:#fff;
    font-size:13px;
    padding:10px 14px;
}

.shop-search-input::placeholder{
    color:rgba(255,255,255,.3);
}

.shop-search-btn{
    background:none;
    border:none;
    color:var(--gold);
    padding:10px 14px;
    cursor:pointer;
    line-height:0;
    flex-shrink:0;
    transition:opacity .2s;
}

.shop-search-btn:hover{
    opacity:.7;
}

/* Price filter */
.shop-price-inputs{
    display:flex;
    align-items:center;
    gap:10px;
}

.shop-price-field{
    flex:1;
    display:flex;
    flex-direction:column;
    gap:6px;
}

.shop-price-field label{
    font-size:11px;
    font-weight:600;
    letter-spacing:1px;
    text-transform:uppercase;
    color:var(--text);
}

.shop-price-field input{
    background:rgba(255,255,255,.05);
    border:1px solid var(--border);
    border-radius:4px;
    color:#fff;
    font-size:14px;
    padding:9px 12px;
    outline:none;
    width:100%;
    transition:border-color .2s;
}

.shop-price-field input:focus{
    border-color:var(--gold);
}

.shop-price-sep{
    color:var(--text);
    flex-shrink:0;
    margin-top:20px;
}

.shop-clear-price{
    display:block;
    text-align:center;
    color:var(--text);
    font-size:12px;
    margin-top:10px;
    transition:color .2s;
}

.shop-clear-price:hover{
    color:var(--gold);
}

/* Categories list */
.shop-cat-list li{
    border-bottom:1px solid var(--border);
}

.shop-cat-list li:last-child{
    border-bottom:none;
}

.shop-cat-list a{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:11px 0;
    color:var(--text);
    font-size:14px;
    transition:color .2s;
}

.shop-cat-list a:hover,
.shop-cat-list li.is-active a{
    color:var(--gold);
}

.shop-cat-list a span{
    background:rgba(255,255,255,.06);
    border-radius:20px;
    font-size:11px;
    font-weight:600;
    padding:2px 8px;
    color:var(--text);
}

.shop-cat-list li.is-active a span{
    background:var(--gold);
    color:#000;
}

/* Sort bar */
.shop-sortbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:12px;
    background:var(--card);
    border:1px solid var(--border);
    border-radius:8px;
    padding:14px 20px;
    margin-bottom:28px;
}

.shop-sortbar .woocommerce-result-count{
    color:var(--text);
    font-size:13px;
    margin:0;
}

.shop-sortbar .woocommerce-ordering select{
    background:rgba(255,255,255,.05);
    border:1px solid var(--border);
    border-radius:4px;
    color:#fff;
    font-size:13px;
    padding:8px 32px 8px 12px;
    outline:none;
    cursor:pointer;
    appearance:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23b9b9b9' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:right 10px center;
    transition:border-color .2s;
}

.shop-sortbar .woocommerce-ordering select:focus{
    border-color:var(--gold);
}

.shop-sortbar .woocommerce-ordering select option{
    background:#1a1a1a;
    color:#fff;
}

/* Product cards */
.klutch-product-card{
    background:var(--card);
    border:1px solid var(--border);
    border-radius:10px;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    transition:border-color .3s, transform .3s;
    height:100%;
}

.klutch-product-card:hover{
    border-color:var(--gold);
    transform:translateY(-4px);
}

.klutch-product-card__img-wrap{
    display:block;
    position:relative;
    overflow:hidden;
    aspect-ratio:1/1;
    background:#111;
}

.klutch-product-card__img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .4s ease;
}

.klutch-product-card:hover .klutch-product-card__img{
    transform:scale(1.05);
}

.klutch-product-card__badge{
    position:absolute;
    top:12px;
    left:12px;
    background:rgba(0,0,0,.75);
    color:var(--text);
    font-size:10px;
    font-weight:700;
    letter-spacing:1px;
    text-transform:uppercase;
    padding:4px 10px;
    border-radius:20px;
    border:1px solid var(--border);
}

.klutch-product-card__badge--sale{
    background:var(--gold);
    color:#000;
    border-color:var(--gold);
}

.klutch-product-card__body{
    padding:18px 20px 20px;
    display:flex;
    flex-direction:column;
    flex:1;
    gap:6px;
}

.klutch-product-card__cat{
    font-size:11px;
    font-weight:600;
    letter-spacing:1.5px;
    text-transform:uppercase;
    color:var(--gold);
}

.klutch-product-card__title{
    font-size:15px;
    font-weight:600;
    line-height:1.4;
    margin:0;
}

.klutch-product-card__title a{
    color:#fff;
    transition:color .2s;
}

.klutch-product-card__title a:hover{
    color:var(--gold);
}

.klutch-product-card__footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:10px;
    margin-top:auto;
    padding-top:14px;
    border-top:1px solid var(--border);
}

.klutch-product-card__price .price,
.klutch-product-card__price{
    font-size:16px;
    font-weight:700;
    color:var(--gold);
}

.klutch-product-card__price ins{
    text-decoration:none;
}

.klutch-product-card__price del{
    color:rgba(255,255,255,.3);
    font-size:13px;
    font-weight:400;
}

.klutch-product-card a.button,
.klutch-product-card button.button,
.klutch-product-card .button,
.klutch-product-card .add_to_cart_button,
.klutch-product-card a.add_to_cart_button,
.klutch-product-card .product_type_simple,
.klutch-product-card .ajax_add_to_cart{
    display:inline-flex!important;
    align-items:center!important;
    gap:6px!important;
    background:var(--gold)!important;
    border:none!important;
    color:#000!important;
    font-family:inherit!important;
    font-size:12px!important;
    font-weight:700!important;
    letter-spacing:1px!important;
    text-transform:uppercase!important;
    padding:10px 20px!important;
    border-radius:50px!important;
    cursor:pointer!important;
    transition:var(--transition)!important;
    white-space:nowrap!important;
    text-decoration:none!important;
    line-height:1!important;
    box-shadow:none!important;
}

.klutch-product-card a.button:hover,
.klutch-product-card button.button:hover,
.klutch-product-card .button:hover,
.klutch-product-card .add_to_cart_button:hover,
.klutch-product-card .ajax_add_to_cart:hover{
    background:var(--gold-light)!important;
    color:#000!important;
    transform:translateY(-2px)!important;
    box-shadow:0 6px 20px rgba(216,167,65,.35)!important;
}

.klutch-product-card .add_to_cart_button.loading{
    opacity:.7!important;
    pointer-events:none!important;
}

.klutch-product-card .added_to_cart{
    display:inline-flex!important;
    align-items:center!important;
    font-family:inherit!important;
    font-size:11px!important;
    font-weight:700!important;
    letter-spacing:1px!important;
    text-transform:uppercase!important;
    color:var(--gold)!important;
    padding:6px 0!important;
    text-decoration:none!important;
    background:transparent!important;
    border:none!important;
    box-shadow:none!important;
    transition:opacity .2s!important;
}

.klutch-product-card .added_to_cart:hover{
    opacity:.75!important;
    transform:none!important;
    background:transparent!important;
}

/* Pagination */
.shop-pagination{
    margin-top:48px;
    display:flex;
    justify-content:center;
}

.shop-pagination ul{
    display:flex;
    gap:8px;
    list-style:none;
    padding:0;
    margin:0;
}

.shop-pagination li a,
.shop-pagination li span{
    display:flex;
    align-items:center;
    justify-content:center;
    width:40px;
    height:40px;
    border:1px solid var(--border);
    border-radius:4px;
    color:var(--text);
    font-size:14px;
    font-weight:600;
    transition:var(--transition);
    background:var(--card);
}

.shop-pagination li a:hover,
.shop-pagination li span.current{
    background:var(--gold);
    border-color:var(--gold);
    color:#000;
}

.shop-no-products{
    background:var(--card);
    border:1px solid var(--border);
    border-radius:8px;
    padding:60px 24px;
    text-align:center;
    color:var(--text);
}

@media(max-width:991px){
    #shopSidebar{ display:none; }
    #shopSidebar.is-open{ display:block; }
    .shop-sidebar{ position:static; margin-bottom:8px; }
}

@media(max-width:575px){
    .shop-sortbar{ flex-direction:column; align-items:flex-start; }
}

/* ====================================
SINGLE PRODUCT PAGE
==================================== */

.product-detail-section{
    padding-top:60px;
}

/* Gallery */
.product-gallery__main{
    background:var(--card);
    border:1px solid var(--border);
    border-radius:10px;
    overflow:hidden;
    aspect-ratio:1/1;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:16px;
}

.product-gallery__zoom{
    display:block;
    width:100%;
    height:100%;
}

.product-gallery__img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .4s ease;
    display:block;
}

.product-gallery__main:hover .product-gallery__img{
    transform:scale(1.04);
}

.product-gallery__thumbs{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

.product-gallery__thumb{
    width:72px;
    height:72px;
    border:2px solid var(--border);
    border-radius:6px;
    overflow:hidden;
    cursor:pointer;
    background:var(--card);
    padding:0;
    transition:border-color .2s;
    flex-shrink:0;
}

.product-gallery__thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.product-gallery__thumb:hover,
.product-gallery__thumb.is-active{
    border-color:var(--gold);
}

/* Product info panel */
.product-info-wrap{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.product-info__cat{
    font-size:11px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
    color:var(--gold);
}

.product-info__title{
    font-size:clamp(24px,3vw,36px);
    font-weight:800;
    line-height:1.2;
    color:#fff;
    margin:0;
}

.product-info__rating{
    display:flex;
    align-items:center;
    gap:10px;
}

.product-info__rating .star-rating{
    font-size:14px;
    color:var(--gold);
}

.product-info__review-count{
    font-size:13px;
    color:var(--text);
}

.product-info__price{
    font-size:28px;
    font-weight:700;
    color:var(--gold);
    line-height:1;
}

.product-info__price .price{ color:var(--gold); }
.product-info__price ins{ text-decoration:none; }
.product-info__price del{
    font-size:18px;
    color:rgba(255,255,255,.3);
    font-weight:400;
    margin-right:8px;
}

.product-info__badge{
    display:inline-block;
    font-size:11px;
    font-weight:700;
    letter-spacing:1px;
    text-transform:uppercase;
    padding:4px 14px;
    border-radius:20px;
}

.product-info__badge--in{
    background:rgba(72,199,142,.12);
    border:1px solid rgba(72,199,142,.3);
    color:#48c78e;
}

.product-info__badge--out{
    background:rgba(255,80,80,.1);
    border:1px solid rgba(255,80,80,.25);
    color:#ff5050;
}

.product-info__excerpt{
    color:var(--text);
    font-size:15px;
    line-height:1.7;
    padding-bottom:18px;
    border-bottom:1px solid var(--border);
}

/* Add-to-cart form */
.klutch-atc-form{ margin:0; }

.klutch-atc-row{
    display:flex;
    align-items:center;
    gap:16px;
    flex-wrap:wrap;
}

.klutch-qty{
    display:flex;
    align-items:center;
    border:1px solid var(--border);
    border-radius:50px;
    overflow:hidden;
    background:var(--card);
    height:52px;
}

.klutch-qty__btn{
    background:none;
    border:none;
    color:var(--text);
    width:44px;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    flex-shrink:0;
    transition:color .2s;
}

.klutch-qty__btn:hover{ color:var(--gold); }

.klutch-qty__input{
    width:50px;
    background:none;
    border:none;
    border-left:1px solid var(--border);
    border-right:1px solid var(--border);
    color:#fff;
    font-size:16px;
    font-weight:600;
    text-align:center;
    height:100%;
    outline:none;
    -moz-appearance:textfield;
    appearance:textfield;
}

.klutch-qty__input::-webkit-inner-spin-button,
.klutch-qty__input::-webkit-outer-spin-button{
    -webkit-appearance:none;
    margin:0;
}

.klutch-atc-btn{
    display:inline-flex;
    align-items:center;
    gap:10px;
    height:52px;
    padding:0 32px;
    font-size:13px;
    font-weight:700;
    letter-spacing:1px;
    text-transform:uppercase;
    border-radius:50px;
    border:none;
    cursor:pointer;
    transition:var(--transition);
    white-space:nowrap;
}

.klutch-atc-btn:hover{
    transform:translateY(-2px);
    box-shadow:0 8px 24px rgba(216,167,65,.3);
}

/* Product meta */
.product-info__meta{
    display:flex;
    flex-direction:column;
    gap:10px;
    padding-top:18px;
    border-top:1px solid var(--border);
}

.product-info__meta-row{
    display:flex;
    gap:12px;
    font-size:13px;
    color:var(--text);
}

.product-info__meta-label{
    font-weight:700;
    color:#fff;
    min-width:80px;
    text-transform:uppercase;
    font-size:11px;
    letter-spacing:1px;
}

/* Product tabs */
.product-tabs-section{
    padding:60px 0;
    border-top:1px solid var(--border);
    border-bottom:1px solid var(--border);
    background:var(--card);
}

.product-tabs__nav{
    display:flex;
    border-bottom:1px solid var(--border);
    margin-bottom:36px;
    /*overflow-x:auto;*/
}

.product-tabs__btn{
    background:none;
    border:none;
    border-bottom:2px solid transparent;
    color:var(--text);
    font-size:13px;
    font-weight:700;
    letter-spacing:1px;
    text-transform:uppercase;
    padding:14px 24px;
    cursor:pointer;
    transition:color .2s, border-color .2s;
    white-space:nowrap;
    margin-bottom:-1px;
}

.product-tabs__btn:hover{ color:#fff; }

.product-tabs__btn.is-active{
    color:var(--gold);
    border-bottom-color:var(--gold);
}

.product-tabs__panel{ display:none; }
.product-tabs__panel.is-active{ display:block; }

.product-tabs__text{
    color:var(--text);
    font-size:15px;
    line-height:1.8;
    max-width:1200px;
}

.product-attrs-table{
    width:100%;
    border-collapse:collapse;
    max-width:600px;
}

.product-attrs-table tr{ border-bottom:1px solid var(--border); }

.product-attrs-table th{
    text-align:left;
    padding:12px 20px 12px 0;
    font-size:12px;
    font-weight:700;
    letter-spacing:1px;
    text-transform:uppercase;
    color:#fff;
    width:40%;
}

.product-attrs-table td{
    padding:12px 0;
    color:var(--text);
    font-size:14px;
}

/* Related products */
.related-products-section{ padding-top:60px; }

.related-products__heading{
    font-size:clamp(22px,3vw,32px);
    font-weight:800;
    margin-bottom:32px;
    letter-spacing:1px;
    text-transform:uppercase;
}

/* ====================================
CART PAGE
==================================== */

.cart-page{ padding-top:60px; }

.cart-card{
    background:var(--card);
    border:1px solid var(--border);
    border-radius:12px;
    overflow:hidden;
    margin-bottom:20px;
}

.cart-card__head{
    display:grid;
    grid-template-columns:1fr 120px 120px 120px 48px;
    padding:14px 24px;
    border-bottom:1px solid var(--border);
    font-size:11px;
    font-weight:700;
    letter-spacing:1.5px;
    text-transform:uppercase;
    color:var(--text);
}

.cart-item{
    display:grid;
    grid-template-columns:1fr 120px 120px 120px 48px;
    align-items:center;
    padding:20px 24px;
    border-bottom:1px solid var(--border);
    transition:background .2s;
}

.cart-item:last-child{ border-bottom:none; }
.cart-item:hover{ background:rgba(255,255,255,.02); }

.cart-item__product{
    display:flex;
    align-items:center;
    gap:16px;
}

.cart-item__img{
    flex-shrink:0;
    width:72px;
    height:72px;
    border-radius:8px;
    overflow:hidden;
    border:1px solid var(--border);
    background:#111;
}

.cart-item__img img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.cart-item__info{
    display:flex;
    flex-direction:column;
    gap:4px;
}

.cart-item__name{
    font-size:14px;
    font-weight:600;
    color:#fff;
}

.cart-item__name a{ color:#fff; transition:color .2s; }
.cart-item__name a:hover{ color:var(--gold); }

.cart-item__price{
    font-size:14px;
    font-weight:600;
    color:#fff;
}

.cart-item__qty .quantity{
    display:inline-flex;
    align-items:center;
    border:1px solid var(--border);
    border-radius:6px;
    overflow:hidden;
    background:rgba(255,255,255,.04);
}

.cart-item__qty .input-text.qty{
    width:48px;
    text-align:center;
    background:transparent;
    border:none;
    color:#fff;
    font-size:14px;
    font-weight:600;
    padding:8px 4px;
    outline:none;
    -moz-appearance:textfield;
    appearance:textfield;
}

.cart-item__qty .input-text.qty::-webkit-inner-spin-button,
.cart-item__qty .input-text.qty::-webkit-outer-spin-button{
    -webkit-appearance:none;
}

.cart-item__subtotal{
    font-size:15px;
    font-weight:700;
    color:var(--gold);
}

.cart-item__subtotal .woocommerce-Price-amount{ color:var(--gold); }

.cart-item__remove{
    display:flex;
    justify-content:center;
}

.cart-remove-btn{
    display:flex;
    align-items:center;
    justify-content:center;
    width:32px;
    height:32px;
    background:rgba(255,60,60,.08);
    border:1px solid rgba(255,60,60,.18);
    border-radius:50%;
    color:rgba(255,80,80,.7);
    transition:all .2s;
    flex-shrink:0;
}

.cart-remove-btn:hover{
    background:rgba(255,60,60,.2);
    border-color:rgba(255,60,60,.5);
    color:#ff5050;
}

/* Actions bar */
.cart-actions-bar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:14px;
    padding:4px 0 8px;
}

.cart-coupon{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
}

.cart-coupon__input{
    background:rgba(255,255,255,.05);
    border:1px solid var(--border);
    border-radius:50px;
    color:#fff;
    font-size:13px;
    padding:11px 20px;
    outline:none;
    transition:border-color .2s;
    min-width:200px;
}

.cart-coupon__input:focus{ border-color:var(--gold); }
.cart-coupon__input::placeholder{ color:rgba(255,255,255,.3); }

.cart-coupon__btn,
.cart-update-btn{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size:12px;
    font-weight:700;
    letter-spacing:1px;
    text-transform:uppercase;
    padding:11px 24px;
    border-radius:50px;
    transition:var(--transition);
}

/* Cart summary */
.cart-summary{
    position:sticky;
    top:90px;
}

.cart-summary .cart_totals{
    background:var(--card);
    border:1px solid var(--border);
    border-radius:12px;
    overflow:hidden;
}

.cart-summary .cart_totals > h2{
    font-size:13px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
    color:#fff;
    padding:20px 24px;
    border-bottom:1px solid var(--border);
    margin:0;
}

.cart-summary .shop_table{
    width:100%;
    border-collapse:collapse;
}

.cart-summary .shop_table tr{ border-bottom:1px solid var(--border); }
.cart-summary .shop_table tr:last-child{ border-bottom:none; }

.cart-summary .shop_table th,
.cart-summary .shop_table td{
    padding:16px 24px;
    font-size:14px;
    color:var(--text);
    vertical-align:middle;
    text-align:left;
    background:transparent;
}

.cart-summary .shop_table th{
    font-size:11px;
    font-weight:700;
    letter-spacing:1px;
    text-transform:uppercase;
    color:#fff;
    width:45%;
    white-space:nowrap;
}

.cart-summary .shop_table .woocommerce-Price-amount{
    color:var(--gold);
    font-weight:700;
}

.cart-summary .shop_table .order-total th,
.cart-summary .shop_table .order-total td{
    padding-top:20px;
    padding-bottom:20px;
}

.cart-summary .shop_table .order-total .woocommerce-Price-amount{
    font-size:22px;
}

.cart-summary .wc-proceed-to-checkout{ padding:20px 24px; }

.cart-summary .checkout-button{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    background:var(--gold);
    color:#000 !important;
    text-align:center;
    font-size:13px;
    font-weight:700;
    letter-spacing:1.5px;
    text-transform:uppercase;
    padding:15px 24px;
    border-radius:50px;
    border:none;
    cursor:pointer;
    transition:var(--transition);
    text-decoration:none !important;
}

.cart-summary .checkout-button:hover{
    background:var(--gold-light);
    transform:translateY(-2px);
    box-shadow:0 10px 28px rgba(216,167,65,.35);
}

.cart-summary .shipping-calculator-button{
    display:inline-block;
    color:var(--gold);
    font-size:12px;
    font-weight:600;
    margin-top:6px;
    text-decoration:none;
    transition:opacity .2s;
}

.cart-summary .shipping-calculator-button:hover{ opacity:.75; }

@media(max-width:991px){
    .cart-summary{ position:static; }
}

@media(max-width:767px){
    .cart-card__head{ display:none; }
    .cart-item{
        grid-template-columns:1fr 48px;
        grid-template-rows:auto auto auto;
        gap:12px;
        padding:16px;
    }
    .cart-item__product{ grid-column:1/2; grid-row:1; }
    .cart-item__remove{ grid-column:2/3; grid-row:1; align-self:start; justify-content:flex-end; }
    .cart-item__price,
    .cart-item__qty,
    .cart-item__subtotal{ grid-column:1/3; }
    .cart-actions-bar{ flex-direction:column; align-items:stretch; }
    .cart-coupon{ width:100%; }
    .cart-coupon__input{ flex:1; min-width:0; }
    .cart-update-btn{ justify-content:center; }
}

/* ====================================
MY ACCOUNT PAGE
==================================== */

/* Page.php wrapper resets — scoped to account only */
body.woocommerce-account .site-main,
body.woocommerce-account .default-content-wrapper,
body.woocommerce-account .page-content-wrapper,
body.woocommerce-account .page-content{
    background:transparent!important;
    padding:0!important;
    margin:0!important;
    border:none!important;
    box-shadow:none!important;
    border-radius:0!important;
}

body.woocommerce-account .entry-header,
body.woocommerce-account .post-thumbnail{
    display:none!important;
}

/* Full-width hero breakout */
body.woocommerce-account .shop-hero{
    width:100vw;
    position:relative;
    left:50%;
    margin-left:-50vw;
    margin-right:-50vw;
}

/* Outer container padding & background */
body.woocommerce-account .woocommerce{
    padding:60px 16px 100px;
    max-width:1320px;
    margin:0 auto;
    background:transparent;
    /* Clear floats from child elements */
}

body.woocommerce-account .woocommerce::after{
    content:'';
    display:table;
    clear:both;
}

/* Notices span full width above the two columns */
body.woocommerce-account .woocommerce .woocommerce-notices-wrapper{
    width:100%;
    float:none;
    clear:both;
}

/* ---- Navigation sidebar ---- */
body.woocommerce-account .woocommerce-MyAccount-navigation{
    float:left;
    width:230px;
    margin-right:32px;
    background:var(--card);
    border:1px solid var(--border);
    border-radius:12px;
    overflow:hidden;
    position:sticky;
    top:90px;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul{
    list-style:none;
    padding:0;
    margin:0;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li{
    border-bottom:1px solid var(--border);
}

body.woocommerce-account .woocommerce-MyAccount-navigation li:last-child{
    border-bottom:none;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li a{
    display:block;
    padding:14px 20px;
    color:var(--text);
    font-size:13px;
    font-weight:600;
    letter-spacing:.5px;
    text-decoration:none;
    transition:var(--transition);
    border-left:3px solid transparent;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{
    color:#fff;
    background:rgba(255,255,255,.03);
    border-left-color:var(--border);
}

body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
body.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--active a{
    color:var(--gold);
    background:rgba(216,167,65,.06);
    border-left-color:var(--gold);
}

/* Logout link — subtle red tint */
body.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a{
    color:rgba(255,80,80,.7);
}

body.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a:hover{
    color:#ff5050;
    background:rgba(255,60,60,.06);
    border-left-color:#ff5050;
}

/* ---- Content area ---- */
body.woocommerce-account .woocommerce-MyAccount-content{
    overflow:hidden; /* BFC — takes all remaining width next to the floated nav */
    color:#fff;
    background:transparent;
    min-width:0;
}

body.woocommerce-account .woocommerce-MyAccount-content p{
    color:var(--text);
    font-size:14px;
    line-height:1.7;
    margin-bottom:16px;
}

body.woocommerce-account .woocommerce-MyAccount-content a{
    color:var(--gold);
    transition:opacity .2s;
}

body.woocommerce-account .woocommerce-MyAccount-content a:hover{
    opacity:.8;
}

/* Section headings inside content */
body.woocommerce-account .woocommerce-MyAccount-content h2,
body.woocommerce-account .woocommerce-MyAccount-content h3{
    font-size:16px;
    font-weight:700;
    letter-spacing:1px;
    text-transform:uppercase;
    color:#fff;
    margin-bottom:20px;
    padding-bottom:12px;
    border-bottom:1px solid var(--border);
}

/* ---- Orders table ---- */
body.woocommerce-account .woocommerce-orders-table,
body.woocommerce-account .shop_table{
    width:100%;
    border-collapse:collapse;
    background:var(--card);
    border:1px solid var(--border);
    border-radius:10px;
    overflow:hidden;
}

body.woocommerce-account .woocommerce-orders-table thead th,
body.woocommerce-account .shop_table thead th{
    padding:14px 18px;
    font-size:11px;
    font-weight:700;
    letter-spacing:1.5px;
    text-transform:uppercase;
    color:var(--text);
    background:transparent;
    border-bottom:1px solid var(--border);
    text-align:left;
}

body.woocommerce-account .woocommerce-orders-table tbody tr,
body.woocommerce-account .shop_table tbody tr{
    border-bottom:1px solid var(--border);
    transition:background .2s;
}

body.woocommerce-account .woocommerce-orders-table tbody tr:last-child,
body.woocommerce-account .shop_table tbody tr:last-child{
    border-bottom:none;
}

body.woocommerce-account .woocommerce-orders-table tbody tr:hover,
body.woocommerce-account .shop_table tbody tr:hover{
    background:rgba(255,255,255,.02);
}

body.woocommerce-account .woocommerce-orders-table td,
body.woocommerce-account .shop_table td{
    padding:16px 18px;
    font-size:14px;
    color:var(--text);
    background:transparent;
    vertical-align:middle;
}

body.woocommerce-account .woocommerce-orders-table td a,
body.woocommerce-account .shop_table td a{
    color:#fff;
    font-weight:600;
    transition:color .2s;
}

body.woocommerce-account .woocommerce-orders-table td a:hover,
body.woocommerce-account .shop_table td a:hover{
    color:var(--gold);
}

/* Order total */
body.woocommerce-account .woocommerce-orders-table .woocommerce-Price-amount,
body.woocommerce-account .shop_table .woocommerce-Price-amount{
    color:var(--gold);
    font-weight:700;
}

/* Order status badges */
body.woocommerce-account .woocommerce-orders-table__cell-order-status mark,
body.woocommerce-account mark.order-status{
    background:transparent;
    padding:4px 12px;
    border-radius:20px;
    font-size:11px;
    font-weight:700;
    letter-spacing:1px;
    text-transform:uppercase;
}

body.woocommerce-account mark.order-status.status-completed{
    background:rgba(72,199,142,.12);
    border:1px solid rgba(72,199,142,.3);
    color:#48c78e;
}

body.woocommerce-account mark.order-status.status-processing{
    background:rgba(216,167,65,.1);
    border:1px solid rgba(216,167,65,.3);
    color:var(--gold);
}

body.woocommerce-account mark.order-status.status-pending{
    background:rgba(255,255,255,.06);
    border:1px solid var(--border);
    color:var(--text);
}

body.woocommerce-account mark.order-status.status-cancelled,
body.woocommerce-account mark.order-status.status-failed,
body.woocommerce-account mark.order-status.status-refunded{
    background:rgba(255,80,80,.1);
    border:1px solid rgba(255,80,80,.25);
    color:#ff5050;
}

/* View order button */
body.woocommerce-account .woocommerce-button,
body.woocommerce-account .button{
    display:inline-flex;
    align-items:center;
    background:transparent;
    border:1px solid var(--border);
    color:var(--text);
    font-size:11px;
    font-weight:700;
    letter-spacing:1px;
    text-transform:uppercase;
    padding:7px 16px;
    border-radius:4px;
    text-decoration:none;
    transition:var(--transition);
    cursor:pointer;
}

body.woocommerce-account .woocommerce-button:hover,
body.woocommerce-account .button:hover{
    border-color:var(--gold);
    color:var(--gold);
    background:rgba(216,167,65,.06);
}

body.woocommerce-account .woocommerce-button.button-primary,
body.woocommerce-account .button.btn-gold,
body.woocommerce-account input[type="submit"]{
    background:var(--gold);
    border-color:var(--gold);
    color:#000;
    padding:12px 28px;
    border-radius:50px;
    font-size:12px;
}

body.woocommerce-account .woocommerce-button.button-primary:hover,
body.woocommerce-account input[type="submit"]:hover{
    background:var(--gold-light);
    border-color:var(--gold-light);
    color:#000;
    transform:translateY(-2px);
    box-shadow:0 8px 24px rgba(216,167,65,.3);
}

/* ---- Account forms (address, account details) ---- */
body.woocommerce-account .woocommerce-address-fields,
body.woocommerce-account .woocommerce-EditAccountForm,
body.woocommerce-account .woocommerce-form{
    background:transparent;
}

body.woocommerce-account .woocommerce-address-fields label,
body.woocommerce-account .woocommerce-EditAccountForm label,
body.woocommerce-account .woocommerce-form label,
body.woocommerce-account .form-row label{
    display:block;
    font-size:11px;
    font-weight:700;
    letter-spacing:1px;
    text-transform:uppercase;
    color:#fff;
    margin-bottom:6px;
}

body.woocommerce-account .woocommerce-address-fields .required,
body.woocommerce-account .form-row .required{
    color:var(--gold);
}

body.woocommerce-account .woocommerce-address-fields input,
body.woocommerce-account .woocommerce-address-fields select,
body.woocommerce-account .woocommerce-address-fields textarea,
body.woocommerce-account .woocommerce-EditAccountForm input,
body.woocommerce-account .woocommerce-EditAccountForm select,
body.woocommerce-account .woocommerce-EditAccountForm textarea,
body.woocommerce-account .form-row input[type="text"],
body.woocommerce-account .form-row input[type="email"],
body.woocommerce-account .form-row input[type="password"],
body.woocommerce-account .form-row input[type="tel"],
body.woocommerce-account .form-row select,
body.woocommerce-account .form-row textarea{
    width:100%;
    background:rgba(255,255,255,.05);
    border:1px solid var(--border);
    border-radius:6px;
    color:#fff;
    font-size:14px;
    padding:12px 16px;
    outline:none;
    transition:border-color .2s;
    appearance:none;
}

body.woocommerce-account .form-row input:focus,
body.woocommerce-account .form-row select:focus,
body.woocommerce-account .form-row textarea:focus,
body.woocommerce-account .woocommerce-EditAccountForm input:focus,
body.woocommerce-account .woocommerce-EditAccountForm select:focus{
    border-color:var(--gold);
}

body.woocommerce-account .form-row input::placeholder,
body.woocommerce-account .woocommerce-EditAccountForm input::placeholder{
    color:rgba(255,255,255,.25);
}

body.woocommerce-account .form-row select option,
body.woocommerce-account .woocommerce-address-fields select option{
    background:#1a1a1a;
    color:#fff;
}

body.woocommerce-account .form-row{
    margin-bottom:18px;
}

/* Fieldsets (address sections) */
body.woocommerce-account .woocommerce-address-fields fieldset,
body.woocommerce-account fieldset{
    border:none;
    padding:0;
    margin:0;
}

/* ---- Address cards on addresses page ---- */
body.woocommerce-account .woocommerce-Addresses .woocommerce-Address{
    background:var(--card);
    border:1px solid var(--border);
    border-radius:12px;
    padding:28px;
    transition:border-color .3s;
}

body.woocommerce-account .woocommerce-Addresses .woocommerce-Address:hover{
    border-color:var(--gold);
}

body.woocommerce-account .woocommerce-Addresses .woocommerce-Address-title{
    display:flex;
    align-items:center;
    justify-content:space-between;
    border-bottom:1px solid var(--border);
    padding-bottom:12px;
    margin-bottom:16px;
}

body.woocommerce-account .woocommerce-Addresses .woocommerce-Address-title h3{
    font-size:13px;
    font-weight:700;
    letter-spacing:1px;
    text-transform:uppercase;
    color:#fff;
    margin:0;
    padding:0;
    border:none;
}

body.woocommerce-account .woocommerce-Addresses address{
    font-style:normal;
    color:var(--text);
    font-size:14px;
    line-height:1.8;
}

/* ---- Dashboard page ---- */
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-notices-wrapper + p,
body.woocommerce-account .woocommerce-MyAccount-content > p:first-of-type{
    background:var(--card);
    border:1px solid var(--border);
    border-radius:10px;
    padding:20px 24px;
    color:var(--text);
    font-size:14px;
    line-height:1.7;
}

/* ---- Notices ---- */
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error{
    background:var(--card);
    border:1px solid var(--border);
    border-top:4px solid var(--gold);
    color:#fff;
    border-radius:0 0 8px 8px;
    padding:16px 20px;
    list-style:none;
    margin-bottom:24px;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error{
    border-top-color:#ff5050;
}

/* ---- Responsive ---- */
@media(max-width:991px){
    body.woocommerce-account .woocommerce-MyAccount-navigation{
        float:none;
        width:100%;
        margin-right:0;
        margin-bottom:24px;
        position:static;
    }
    body.woocommerce-account .woocommerce-MyAccount-content{
        overflow:visible;
    }
}

@media(max-width:767px){
    body.woocommerce-account .woocommerce-orders-table thead{
        display:none;
    }
    body.woocommerce-account .woocommerce-orders-table tbody tr{
        display:flex;
        flex-wrap:wrap;
        padding:16px;
        gap:8px;
    }
    body.woocommerce-account .woocommerce-orders-table td{
        padding:4px 0;
        font-size:13px;
    }
    body.woocommerce-account .woocommerce-orders-table td::before{
        content:attr(data-title) ": ";
        font-size:10px;
        font-weight:700;
        text-transform:uppercase;
        letter-spacing:1px;
        color:var(--text);
        margin-right:4px;
    }
}

/* ====================================
CONTACT PAGE
==================================== */

.contact-page{
    padding-top:60px;
}

/* Info panel */
.contact-info{
    display:flex;
    flex-direction:column;
    gap:0;
}

.contact-info__heading{
    font-size:clamp(22px,3vw,30px);
    font-weight:800;
    color:#fff;
    margin-bottom:12px;
    text-transform:uppercase;
    letter-spacing:1px;
}

.contact-info__sub{
    color:var(--text);
    font-size:14px;
    line-height:1.7;
    margin-bottom:32px;
}

.contact-info__item{
    display:flex;
    align-items:flex-start;
    gap:16px;
    padding:20px 0;
    border-bottom:1px solid var(--border);
}

.contact-info__item:last-child{
    border-bottom:none;
}

.contact-info__icon{
    width:44px;
    height:44px;
    background:rgba(216,167,65,.1);
    border:1px solid rgba(216,167,65,.25);
    border-radius:8px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--gold);
    font-size:16px;
    flex-shrink:0;
}

.contact-info__label{
    font-size:11px;
    font-weight:700;
    letter-spacing:1.5px;
    text-transform:uppercase;
    color:#fff;
    margin-bottom:4px;
}

.contact-info__text{
    color:var(--text);
    font-size:14px;
    line-height:1.6;
    margin:0;
}

.contact-info__text a{
    color:var(--text);
    transition:color .2s;
}

.contact-info__text a:hover{
    color:var(--gold);
}

/* Form panel */
.contact-form-wrap{
    background:var(--card);
    border:1px solid var(--border);
    border-radius:16px;
    padding:40px;
}

.contact-form-wrap__heading{
    font-size:clamp(20px,2.5vw,28px);
    font-weight:800;
    color:#fff;
    margin-bottom:8px;
    text-transform:uppercase;
    letter-spacing:1px;
}

.contact-form-wrap__sub{
    color:var(--text);
    font-size:14px;
    line-height:1.7;
    margin-bottom:32px;
}

.contact-form__field{
    display:flex;
    flex-direction:column;
    gap:8px;
}

.contact-form__field label{
    font-size:11px;
    font-weight:700;
    letter-spacing:1px;
    text-transform:uppercase;
    color:#fff;
}

.contact-form__field input,
.contact-form__field textarea{
    background:rgba(255,255,255,.05);
    border:1px solid var(--border);
    border-radius:8px;
    color:#fff;
    font-size:14px;
    padding:13px 16px;
    outline:none;
    transition:border-color .2s;
    width:100%;
    font-family:inherit;
}

.contact-form__field input:focus,
.contact-form__field textarea:focus{
    border-color:var(--gold);
}

.contact-form__field input::placeholder,
.contact-form__field textarea::placeholder{
    color:rgba(255,255,255,.25);
}

.contact-form__field textarea{
    resize:vertical;
    min-height:140px;
}

.contact-form__submit{
    font-size:13px;
    padding:14px 36px;
    display:inline-flex;
    align-items:center;
}

.contact-form__response{
    margin-top:16px;
    font-size:14px;
    color:var(--gold);
}

@media(max-width:767px){
    .contact-form-wrap{
        padding:24px 20px;
    }
}

/* ====================================
ABOUT PAGE
==================================== */

/* Story image */
.about-page__img-wrap{
    position:relative;
    display:inline-block;
    width:100%;
}

.about-page__img{
    width:100%;
    border-radius:16px;
    object-fit:cover;
    max-height:520px;
}

.about-page__img-badge{
    position:absolute;
    bottom:28px;
    right:-20px;
    background:var(--gold);
    color:#000;
    border-radius:12px;
    padding:18px 22px;
    text-align:center;
    min-width:110px;
}

.about-page__badge-number{
    display:block;
    font-size:32px;
    font-weight:900;
    line-height:1;
}

.about-page__badge-text{
    display:block;
    font-size:12px;
    font-weight:700;
    line-height:1.3;
    margin-top:4px;
}

/* Check list */
.about-page__checks{
    display:flex;
    flex-direction:column;
    gap:12px;
    margin:24px 0 28px;
}

.about-page__check-item{
    display:flex;
    align-items:center;
    gap:10px;
    font-size:14px;
    font-weight:600;
    color:#fff;
}

.about-page__check-item i{
    color:var(--gold);
    font-size:16px;
    flex-shrink:0;
}

/* Stats bar */
.about-stats-section{
    padding:60px 0;
    background:#080808;
    border-top:1px solid var(--border);
    border-bottom:1px solid var(--border);
}

.about-stat{
    text-align:center;
    padding:24px 20px;
    border-right:1px solid var(--border);
}

.about-stat:last-child{
    border-right:none;
}

.about-stat__number{
    display:block;
    font-size:clamp(40px,5vw,60px);
    font-weight:900;
    color:var(--gold);
    line-height:1;
    margin-bottom:8px;
}

.about-stat__label{
    display:block;
    font-size:13px;
    font-weight:600;
    letter-spacing:1px;
    text-transform:uppercase;
    color:var(--text);
}

/* Process steps */
.about-step{
    background:var(--card);
    border:1px solid var(--border);
    border-radius:16px;
    padding:36px 28px;
    height:100%;
    transition:border-color .3s, transform .3s;
}

.about-step:hover{
    border-color:var(--gold);
    transform:translateY(-6px);
}

.about-step__number{
    font-size:48px;
    font-weight:900;
    color:var(--gold);
    opacity:.25;
    line-height:1;
    margin-bottom:16px;
}

.about-step__title{
    font-size:18px;
    font-weight:800;
    color:#fff;
    margin-bottom:12px;
    text-transform:uppercase;
    letter-spacing:1px;
}

.about-step__text{
    color:var(--text);
    font-size:14px;
    line-height:1.8;
    margin:0;
}

/* Stars in review cards */
.about-stars{
    color:var(--gold);
    font-size:18px;
    letter-spacing:2px;
    margin-bottom:14px;
}

/* CTA banner */
.about-cta{
    padding:80px 0;
    background:linear-gradient(135deg,#0d0d0d 0%,#111 100%);
    border-top:1px solid var(--border);
}

.about-cta__inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:32px;
    flex-wrap:wrap;
}

.about-cta__title{
    font-size:clamp(24px,3vw,36px);
    font-weight:900;
    color:#fff;
    text-transform:uppercase;
    letter-spacing:1px;
    margin-bottom:8px;
}

.about-cta__sub{
    color:var(--text);
    font-size:15px;
    margin:0;
}

.about-cta__btn{
    flex-shrink:0;
    font-size:14px;
    padding:16px 40px;
}

/* Responsive */
@media(max-width:991px){
    .about-stat{
        border-right:none;
        border-bottom:1px solid var(--border);
    }
    .about-stat:last-child{
        border-bottom:none;
    }
    .about-page__img-badge{
        right:12px;
    }
}

@media(max-width:767px){
    .about-cta__inner{
        flex-direction:column;
        text-align:center;
    }
    .about-cta__btn{
        width:100%;
        justify-content:center;
    }
    .about-page__img-badge{
        position:static;
        display:inline-flex;
        gap:12px;
        align-items:center;
        border-radius:8px;
        margin-top:16px;
    }
}

/* ====================================
SEARCH RESULTS PAGE
==================================== */

.search-results-page{
    padding-top:60px;
}

/* Count + search bar */
.search-results-bar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:16px;
    background:var(--card);
    border:1px solid var(--border);
    border-radius:8px;
    padding:14px 20px;
    margin-bottom:36px;
}

.search-results-bar__count{
    color:var(--text);
    font-size:13px;
    margin:0;
}

.search-results-bar__form{
    display:flex;
    align-items:center;
    background:rgba(255,255,255,.05);
    border:1px solid var(--border);
    border-radius:50px;
    overflow:hidden;
    transition:border-color .2s;
}

.search-results-bar__form:focus-within{
    border-color:var(--gold);
}

.search-results-bar__input{
    background:none;
    border:none;
    outline:none;
    color:#fff;
    font-size:13px;
    padding:9px 16px;
    min-width:220px;
}

.search-results-bar__input::placeholder{
    color:rgba(255,255,255,.3);
}

.search-results-bar__btn{
    background:none;
    border:none;
    color:var(--gold);
    padding:9px 16px;
    cursor:pointer;
    transition:opacity .2s;
    flex-shrink:0;
}

.search-results-bar__btn:hover{
    opacity:.75;
}

/* No results */
.search-no-results{
    text-align:center;
    padding:80px 24px;
    background:var(--card);
    border:1px solid var(--border);
    border-radius:12px;
}

.search-no-results__icon{
    width:72px;
    height:72px;
    background:rgba(216,167,65,.1);
    border:1px solid rgba(216,167,65,.2);
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto 24px;
    font-size:28px;
    color:var(--gold);
}

.search-no-results__title{
    font-size:clamp(20px,3vw,28px);
    font-weight:800;
    color:#fff;
    margin-bottom:12px;
    text-transform:uppercase;
    letter-spacing:1px;
}

.search-no-results__text{
    color:var(--text);
    font-size:15px;
    margin-bottom:28px;
}

@media(max-width:575px){
    .search-results-bar{
        flex-direction:column;
        align-items:stretch;
    }
    .search-results-bar__input{
        min-width:0;
        width:100%;
    }
}
