/*
Theme Name: The Craftman's Story
Theme URI: https://woocommerce.com/storefront/
Description: Child theme for Storefront.
Author: Your Name
Template: storefront
Version: 1.0.0
Text Domain: the-craftmans-story
*/

/* Refactor goal: zero visual change; removed duplicates; single-source sections */

/* =========================================================
   THE CRAFTMAN'S STORY — UNIFIED COLOR SYSTEM (NO IMAGE PAPER TEXTURE)
   Goal:
   - Same “feel” everywhere (page / header / content / cards / filters / forms)
   - Reduce random one-off hexes; route everything through tokens
   - Keep your current layout + header grid + product cards + filters
   ========================================================= */


/* =========================
   1) TOKENS / DESIGN SYSTEM
   ========================= */
   :root{
    /* Page */
    --bg-page:   #F5F0E8;
    --bg-page-2: #EDE6DC;

    /* Surfaces */
    --bg-card:   #FBF8F4;
    --bg-card-2: #F6F0E8;

    /* Brand (lighter wood + soft brass for modern feel) */
    --wood-1:    #D4B896;
    --wood-2:    #B8956E;
    --wood-3:    #8B6340;
    --brass:     #C9AD6A;

    /* Text */
    --text:      #2B1B12;
    --muted:     #6E5747;

    /* Lines / depth (softer for modern) */
    --border:    rgba(43,27,18,.08);
    --border-2:  rgba(43,27,18,.05);
    --shadow:    0 14px 38px rgba(43,27,18,.06);

    /* Layout */
    --container-max: 1440px;

    /* Header sizing */
    --header-pad-x:   12px;
    --header-pad-top: 6px;
    --header-gap-col: 10px;
    --header-gap-row: 8px;
    --wood-height:    16px;
    --logo-max:       190px;
    --menu-font:      16px;

    /* Radii */
    --radius:     14px;
    --radius-lg:  18px;

    /* Engraved text */
    --engrave-hi: rgba(255,255,255,.55);
    --engrave-lo: rgba(0,0,0,.16);
    --engrave-hi-strong: rgba(255,255,255,.70);
    --engrave-lo-strong: rgba(0,0,0,.28);

    /* Product cards */
    --tcs-pcard-border: rgba(42,26,18,.08);
    --tcs-pcard-border-hover: rgba(42,26,18,.12);
    --tcs-pcard-shadow:
            0 10px 22px rgba(42,26,18,.08),
            0  2px  6px rgba(42,26,18,.05);
    --tcs-pcard-shadow-hover:
            0 16px 34px rgba(42,26,18,.10),
            0  4px 10px rgba(42,26,18,.06);
    --tcs-pcard-radius: 16px;

    /* Filter card */
    --tcs-filter-line: rgba(42,26,18,.10);

    /* Wood strip asset */
    --wood-strip: url("assets/images/img_6.png");

    /* =========================
       UNIFIED “SURFACE PALETTE”
       (use these instead of random one-off hexes)
       ========================= */
    --page-bg:
            radial-gradient(circle at 20% 0%,
            #FDFCF9 0%,
            #F8F4EE 55%,
            #EDE6DC 100%);

    --surface-content:
            linear-gradient(180deg, #FEFDFB, #F8F4EE);

    --surface-header:
            linear-gradient(180deg, #FFFEFC, #FAF8F5);

    --surface-popover:
            linear-gradient(180deg, #FEFCFA, #F8F4EE);

    --surface-soft:
            linear-gradient(180deg, rgba(255,254,252,.98), rgba(252,249,245,.98));

    --surface-card:
            linear-gradient(180deg, rgba(255,254,252,.96), rgba(252,249,244,.96));

    --surface-table:
            linear-gradient(180deg, #FEFDFA, #F8F4ED);

    --surface-form:
            linear-gradient(180deg, #FDFAF6, #F6F0E8);

    /* Controls */
    --control-bg: rgba(255,254,252,.99);
    --control-bg-soft: rgba(253,250,246,.95);
    --control-border: rgba(43,27,18,.10);
    --control-ring: rgba(201,173,106,.20);

    /* Links (unified) */
    --link: #9B6340;
    --link-hover: var(--brass);

    /* Accent text (lighter for modern) */
    --accent: rgba(114,82,51,.90);
    --accent-strong: rgba(36,20,14,.96);

    /* Chips / subtle hover */
    --hover-bg: rgba(0,0,0,.028);

    /* Wood-tinted UI (lighter for modern) */
    --wood-focus: rgba(139,99,64,.45);
    --wood-focus-strong: rgba(139,99,64,.55);
    --wood-bg-subtle: rgba(139,99,64,.06);

    /* =========================
       100% CSS TEXTURE SYSTEM (lighter for modern feel)
       ========================= */
    --tcs-bruise-opacity: .04;
    --tcs-grain-opacity:  .04;
    --tcs-fiber-opacity:  .03;
    --tcs-vignette:       .04;
    --tcs-grain-size: 6px;
    --tcs-overlay-opacity: .09;
    --tcs-overlay-filter: contrast(1.01) saturate(.92) brightness(1.02);
    --tcs-surface-filter: brightness(1.01) saturate(.98);
}

/* =========================
   2) BASE / PAGE BACKGROUND
   ========================= */
html, body{ min-height:100%; }
#page{ background: transparent; position:relative; z-index:1; }

body{
    color: var(--text);
    font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    font-size: 15px;
    line-height: 1.55;
    background: var(--page-bg) !important;
    position: relative;
}

/* Global focus baseline: replace Storefront purple with TCS wood/brass states. */
a:focus,
button:focus,
input:focus,
textarea:focus,
select:focus,
summary:focus,
[tabindex]:focus{
    outline-color: rgba(201,173,106,.62) !important;
}

a:focus:not(:focus-visible),
button:focus:not(:focus-visible),
summary:focus:not(:focus-visible),
[tabindex]:focus:not(:focus-visible){
    outline: none !important;
}

a:focus-visible,
button:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible{
    outline: 2px solid rgba(201,173,106,.68) !important;
    outline-offset: 3px;
}

input:focus-visible,
textarea:focus-visible,
select:focus-visible{
    outline: none !important;
    border-color: var(--wood-focus-strong) !important;
    box-shadow:
        inset 0 1px 2px rgba(0,0,0,.08),
        0 0 0 3px var(--control-ring) !important;
}

/* =========================
   2.1) GLOBAL CSS TEXTURE OVERLAY (NO IMAGES)
   ========================= */
body::before{
    content:"";
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 0;

    background-image:
            radial-gradient(380px 260px at 18% 22%, rgba(0,0,0,var(--tcs-bruise-opacity)) 0%, transparent 66%),
            radial-gradient(420px 300px at 78% 28%, rgba(0,0,0,calc(var(--tcs-bruise-opacity) * .75)) 0%, transparent 69%),
            radial-gradient(520px 360px at 56% 78%, rgba(0,0,0,calc(var(--tcs-bruise-opacity) * .6)) 0%, transparent 71%),

            radial-gradient(circle at 1px 1px, rgba(0,0,0,var(--tcs-grain-opacity)) 0 0.55px, transparent 0.6px),
            radial-gradient(circle at 3px 5px, rgba(0,0,0,calc(var(--tcs-grain-opacity) * .6)) 0 0.45px, transparent 0.5px),
            radial-gradient(circle at 6px 2px, rgba(255,255,255,calc(var(--tcs-grain-opacity) * .55)) 0 0.4px, transparent 0.45px),

            repeating-linear-gradient(115deg, rgba(255,255,255,var(--tcs-fiber-opacity)) 0 1px, transparent 1px 6px),
            repeating-linear-gradient(25deg,  rgba(0,0,0,calc(var(--tcs-fiber-opacity) * .75)) 0 1px, transparent 1px 7px),

            radial-gradient(1400px 900px at 50% 12%, transparent 64%, rgba(0,0,0,var(--tcs-vignette)) 100%);

    background-size:
            100% 100%, 100% 100%, 100% 100%,
            var(--tcs-grain-size) var(--tcs-grain-size),
            calc(var(--tcs-grain-size) + 2px) calc(var(--tcs-grain-size) + 2px),
            calc(var(--tcs-grain-size) + 3px) calc(var(--tcs-grain-size) + 3px),
            260px 260px,
            220px 220px,
            100% 100%;

    background-position:
            0 0, 0 0, 0 0,
            0 0, 8px 4px, 40px 12px,
            0 0, 0 0,
            0 0;

    background-repeat:
            no-repeat, no-repeat, no-repeat,
            repeat, repeat, repeat,
            repeat, repeat,
            no-repeat;

    background-blend-mode:
            soft-light, soft-light, soft-light,
            multiply, multiply, soft-light,
            soft-light, soft-light,
            normal;

    opacity: var(--tcs-overlay-opacity) !important;
    filter: var(--tcs-overlay-filter) !important;
}

/* Headings */
h1,h2,h3,.site-title,.woocommerce-loop-product__title{
    font-family: "Noto Sans", Georgia, "Times New Roman", serif;
    letter-spacing: 0.3px;
}
h1,h2,h3,h4,h5{ color: var(--text) !important; }

/* Links */
a{ color: var(--link); }
a:hover{ color: var(--link-hover); }
.entry-content a{ color: var(--text) !important; }

/* =========================
   3) GLOBAL CONTAINER / CONTENT CARD
   ========================= */
.col-full{
    padding: 0 !important;
    max-width: var(--container-max);
}

.site-content{
    background: var(--surface-content) !important;
    border: 1px solid rgba(42,26,18,.14) !important;
    border-top: none !important;
    border-radius: 0 !important;
    box-shadow: 0 16px 40px rgba(42,26,18,.10) !important;
    padding: 18px !important;
    filter: var(--tcs-surface-filter) !important;
}

/* prevent “mystery panels” inside content */
.site-content .hentry,
.site-content .entry,
.site-content .entry-content,
.site-content .entry-summary,
.site-content .woocommerce,
.site-content .woocommerce-products-header,
.site-content .page-header,
.site-content .storefront-sorting,
.site-content .woocommerce-result-count,
.site-content .products{
    background: transparent !important;
    box-shadow: none !important;
}

/* Breadcrumb (unified) */
.tcs-breadcrumb-row{
    display: block;
    clear: both;
    width: 100%;
    margin: 0;
    padding: 0 0 18px;
}
.storefront-breadcrumb{
    display: inline-flex;
    align-items: center;
    gap: 7px;
    width: max-content;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    border: 0;
    border-radius: 0 !important;
    padding: 1px 0 !important;
    margin: 0 !important;
    background: transparent !important;
    box-shadow: none;
}
.storefront-breadcrumb::-webkit-scrollbar{
    display: none;
}
.storefront-breadcrumb > a:first-child::before{
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    margin-right: 7px;
    border-radius: 50%;
    background:
        radial-gradient(circle at 32% 32%, rgba(255,255,255,.92), transparent 44%),
        linear-gradient(180deg, var(--wood-2), var(--wood-3));
    box-shadow: 0 0 0 4px rgba(212,184,150,.12);
    vertical-align: middle;
}
.storefront-breadcrumb > a,
.storefront-breadcrumb .tcs-breadcrumb-current{
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    border-radius: 999px;
    font-size: 14px !important;
    line-height: 1.2;
    white-space: nowrap;
}
.storefront-breadcrumb > a{
    padding: 0 7px;
    color: rgba(43,27,18,.74) !important;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-decoration-color: rgba(139,99,64,.22);
    text-underline-offset: .22em;
    transition:
        transform .18s ease,
        background-color .18s ease,
        color .18s ease,
        text-decoration-color .18s ease,
        box-shadow .18s ease;
}
.storefront-breadcrumb > a:hover{
    transform: translateY(-1px);
    background: linear-gradient(180deg, rgba(255,252,247,.98), rgba(244,233,216,.96)) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.78),
        0 6px 14px rgba(120,82,37,.08);
    color: rgba(43,27,18,.92) !important;
    text-decoration-color: rgba(139,99,64,.56);
}
.storefront-breadcrumb > a:focus-visible{
    outline: none;
    background: linear-gradient(180deg, rgba(255,252,247,.98), rgba(244,233,216,.96)) !important;
    box-shadow:
        0 0 0 2px rgba(201,173,106,.34),
        0 6px 14px rgba(120,82,37,.08);
}
.storefront-breadcrumb .tcs-breadcrumb-current{
    padding: 0 14px;
    background: linear-gradient(180deg, rgba(255,250,245,.99), rgba(241,229,212,.96));
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.82),
        0 8px 18px rgba(120,82,37,.08);
    color: rgba(34,22,15,.97) !important;
    font-weight: 700;
    letter-spacing: .01em;
}
.storefront-breadcrumb .breadcrumb-separator{
    flex: 0 0 auto;
    color: rgba(139,99,64,.3);
    font-size: 11px;
    margin: 0;
}
.post-type-archive-product .tcs-breadcrumb-row,
.tax-product_cat .tcs-breadcrumb-row,
.tax-product_tag .tcs-breadcrumb-row,
[class*="tax-pa_"] .tcs-breadcrumb-row{
    padding-bottom: 18px;
}
body.single-product .tcs-breadcrumb-row{
    padding-bottom: 20px;
}
@media (max-width: 767px){
    .tcs-breadcrumb-row{
        padding-bottom: 14px;
    }

    .storefront-breadcrumb{
        gap: 6px;
    }

    .storefront-breadcrumb > a,
    .storefront-breadcrumb .tcs-breadcrumb-current{
        min-height: 30px;
        font-size: 13px !important;
    }
}

/* Shop/category archives: desktop uses a single premium rail with top quick filters */
@media (min-width: 768px){
    .post-type-archive-product #content .col-full,
    .tax-product_cat #content .col-full,
    .tax-product_tag #content .col-full,
    [class*="tax-pa_"] #content .col-full{
        display: block !important;
        grid-template-columns: minmax(0, 1fr) !important;
        padding-left: 0;
    }

    .post-type-archive-product .widget-area,
    .tax-product_cat .widget-area,
    .tax-product_tag .widget-area,
    [class*="tax-pa_"] .widget-area{
        display: none !important;
    }

    .post-type-archive-product .tcs-breadcrumb-row,
    .tax-product_cat .tcs-breadcrumb-row,
    .tax-product_tag .tcs-breadcrumb-row,
    [class*="tax-pa_"] .tcs-breadcrumb-row,
    .post-type-archive-product .content-area,
    .tax-product_cat .content-area,
    .tax-product_tag .content-area,
    [class*="tax-pa_"] .content-area{
        grid-column: 1 !important;
    }
}

/* =========================
   4) HEADER (GRID + WOOD STRIP)
   ========================= */
.site-header{
    background: var(--surface-header) !important;
    border-bottom: 1px solid rgba(43,27,18,.18);
    box-shadow: 0 8px 24px rgba(0,0,0,.10), 0 2px 8px rgba(0,0,0,.06);
    color: var(--text);
    padding-top: 4px !important;
    padding-bottom: 10px !important;
    filter: var(--tcs-surface-filter) !important;
}

.site-header::after{
    content:"";
    display:block;
    height: 0;
    margin: 0;
    background: none;
}

/* kill floats */
.site-header .site-branding,
.site-header .site-search,
.site-header #site-header-cart{
    float: none !important;
    clear: none !important;
    width: auto !important;
}

/* header grid */
.site-header > .col-full{
    display: grid !important;
    grid-template-columns: 1fr auto;
    grid-template-areas:
        "branding cart"
        "search   search"
        "nav      nav";
    align-items: center !important;
    column-gap: var(--header-gap-col) !important;
    row-gap: var(--header-gap-row) !important;
    padding-left: var(--header-pad-x) !important;
    padding-right: var(--header-pad-x) !important;
    padding-top: var(--header-pad-top) !important;
    padding-bottom: 0 !important;
}

.site-header .site-branding{ grid-area: branding; position: relative; z-index: 2; padding-top: 15px; }
.site-header #site-header-cart{ grid-area: cart; justify-self: end; font-size: 14px !important; }
.site-header .site-search{ grid-area: search; position: relative; z-index: 1; }
.site-header .storefront-primary-navigation{ grid-area: nav; }

/* Logo */
.site-header .site-branding img{
    max-width: var(--logo-max) !important;
    height: auto !important;
}

/* Search pill (unified) */
.site-header .site-search{
    width: 100% !important;
    justify-self: stretch !important;
    max-width: none !important;

    background: rgba(255,252,248,.6) !important;
    border: 1px solid rgba(43,27,18,.10) !important;
    border-radius: 14px !important;
    padding: 6px !important;

    box-shadow:
            inset 0 1px 0 rgba(255,255,255,.35),
            0 10px 22px rgba(43,27,18,.08),
            0 0 0 1px rgba(255,255,255,.22) !important;

    margin: 0 !important;
    filter: var(--tcs-surface-filter) !important;
}

.site-header .site-search .widget,
.site-header .site-search .widget_product_search,
.site-header .site-search form{
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    width: 100% !important;
}

/* input */
.site-header .site-search input[type="search"],
.site-header .site-search .search-field{
    width: 100% !important;
    background: var(--control-bg) !important;
    border: 1px solid var(--control-border) !important;
    border-radius: 12px !important;
    box-shadow: inset 0 1px 2px rgba(0,0,0,.10) !important;
    color: var(--text) !important;

    padding: 10px 12px !important;
    padding-left: 44px !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
}
.site-header .site-search input[type="search"]::placeholder{ color: rgba(43,27,18,.62) !important; }

.site-header .site-search input[type="search"]:focus,
.site-header .site-search .search-field:focus{
    outline: none !important;
    border-color: var(--wood-focus) !important;
    box-shadow:
            inset 0 1px 2px rgba(0,0,0,.10),
            0 0 0 3px var(--control-ring) !important;
}

/* search icon button */
.site-header .site-search form{ position: relative !important; }

.site-header .site-search button,
.site-header .site-search button.search-submit,
.site-header .site-search input[type="submit"]{
    position: absolute !important;
    left: 10px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 32px !important;
    height: 32px !important;
    padding: 0 !important;

    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 10px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    line-height: 1 !important;
    cursor: pointer;
}
.site-header .site-search button:hover,
.site-header .site-search button.search-submit:hover{
    background: rgba(0,0,0,.06) !important;
}
.site-header .site-search button::before,
.site-header .site-search button.search-submit::before{
    position: static !important;
    transform: none !important;
    line-height: 1 !important;
}

/* Mini cart alignment */
.site-header #site-header-cart{ align-self: center !important; }
.site-header #site-header-cart a.cart-contents{
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    line-height: 1.2 !important;
    padding: 6px 8px !important;
}
.site-header #site-header-cart a.cart-contents::after{
    position: static !important;
    transform: none !important;
    margin-left: 6px !important;
    line-height: 1 !important;
    vertical-align: middle !important;
}

/* tablet+ */
@media (min-width: 560px){
    .site-header > .col-full{
        grid-template-columns: auto 1fr auto !important;
        grid-template-areas:
            "branding search cart"
            "nav      nav    nav";
        column-gap: 12px !important;
        row-gap: 6px !important;
    }
}
@media (min-width: 900px){
    .site-header > .col-full{
        grid-template-columns: auto minmax(420px, 1fr) auto !important;
        column-gap: 14px !important;
    }
    .site-header .site-search{
        padding: 4px !important;
        max-width: 520px !important;
        justify-self: center !important;
    }
    .site-header .site-search input[type="search"],
    .site-header .site-search .search-field{
        padding: 9px 12px !important;
        padding-left: 44px !important;
    }
}

/* =========================
   5) NAV / MENU (PILLS + DOTS)
   ========================= */
.site-header a,
.main-navigation ul.menu > li > a{
    color: var(--text) !important;
    font-weight: 600;
}

.site-header .storefront-primary-navigation{
    margin-top: 0 !important;
    padding-bottom: 2px !important;
}
@media (min-width: 900px){
    .site-header .storefront-primary-navigation{ margin-top: -30px !important; }
}

.site-header .storefront-primary-navigation .col-full{
    display: flex !important;
    justify-content: center !important;
}

.storefront-primary-navigation .main-navigation ul.menu,
.storefront-primary-navigation .main-navigation ul.nav-menu{
    display:flex !important;
    justify-content:center !important;
    flex-wrap:wrap !important;
    gap: 8px 12px !important;
    margin:0 !important;
    padding:0 !important;
}

.site-header .main-navigation ul.menu > li > a,
.site-header .main-navigation ul.nav-menu > li > a{
    font-family: "Noto Sans", "Cormorant Garamond", "Playfair Display", Georgia, serif !important;
    font-size: var(--menu-font) !important;
    font-weight: 600 !important;
    letter-spacing: .18px !important;
    line-height: 1.1 !important;

    color: rgba(36,20,14,.92) !important;
    text-shadow: none !important;

    padding: 5px 8px !important;
    border-radius: 999px !important;

    position: relative !important;
    transition: background .15s ease, color .15s ease;
}
@media (min-width: 768px){
    .site-header .main-navigation ul.menu > li > a:hover,
    .site-header .main-navigation ul.nav-menu > li > a:hover{
        background: rgba(0,0,0,.04) !important;
        color: var(--accent) !important;
    }
}
@media (max-width: 767px){
    .site-header .main-navigation ul.menu > li > a:hover,
    .site-header .main-navigation ul.nav-menu > li > a:hover{
        background: transparent !important;
        color: var(--accent) !important;
    }
}

@media (min-width: 768px){
    .site-header .main-navigation .current-menu-item > a,
    .site-header .main-navigation .current_page_item > a,
    .site-header .main-navigation .current-menu-ancestor > a{
        background: rgba(201,173,106,.12) !important;
        color: rgba(36,20,14,1) !important;
    }
}
@media (max-width: 767px){
    .site-header .main-navigation .current-menu-item > a,
    .site-header .main-navigation .current_page_item > a,
    .site-header .main-navigation .current-menu-ancestor > a{
        background: transparent !important;
        color: rgba(36,20,14,1) !important;
    }
}

.storefront-primary-navigation .main-navigation ul.menu > li,
.storefront-primary-navigation .main-navigation ul.nav-menu > li{
    position: relative !important;
}
.storefront-primary-navigation .main-navigation ul.menu > li:not(:last-child)::after,
.storefront-primary-navigation .main-navigation ul.nav-menu > li:not(:last-child)::after{
    content:"•";
    position:absolute;
    right:-9px;
    top:50%;
    transform: translateY(-52%);
    font-size: 14px;
    color: rgba(198,162,74,.85);
    pointer-events:none;
}

@media (max-width: 767px){
    :root{ --menu-font: 15px; }

    /* Default Storefront mobile menu is stacked (not pills). Override header/menu-widget layout on small screens. */
    .site-header .storefront-primary-navigation .col-full{
        display: block !important;
    }

    .storefront-primary-navigation .main-navigation ul.menu,
    .storefront-primary-navigation .main-navigation ul.nav-menu{
        display: block !important;
        justify-content: flex-start !important;
        flex-wrap: nowrap !important;
        gap: 0 !important;
    }

    .storefront-primary-navigation .main-navigation ul.menu > li,
    .storefront-primary-navigation .main-navigation ul.nav-menu > li{
        border-bottom: 1px solid var(--border-2) !important;
    }

    .storefront-primary-navigation .main-navigation ul.menu > li:last-child,
    .storefront-primary-navigation .main-navigation ul.nav-menu > li:last-child{
        border-bottom: 0 !important;
    }

    .site-header .main-navigation ul.menu > li > a,
    .site-header .main-navigation ul.nav-menu > li > a{
        display: block !important;
        padding: 12px 14px !important;
        border-radius: 0 !important;
    }

    .storefront-primary-navigation .main-navigation ul.menu > li:not(:last-child)::after,
    .storefront-primary-navigation .main-navigation ul.nav-menu > li:not(:last-child)::after{
        content: none !important;
    }

    /* Mobile dropdowns: remove “boxed border” look */
    .site-header .main-navigation ul ul{
        border: 0 !important;
        box-shadow: none !important;
        background: transparent !important;
        border-radius: 0 !important;
        filter: none !important;
    }
}

/* Dropdown menus (unified) */
.site-header .main-navigation ul ul{
    background: var(--surface-popover) !important;
    border: 1px solid var(--border) !important;
    box-shadow: 0 16px 34px rgba(43,27,18,.10) !important;
    border-radius: 12px !important;
    overflow: hidden;
    filter: var(--tcs-surface-filter) !important;
}
.site-header .main-navigation ul ul li a{
    font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    letter-spacing: .1px !important;
    color: rgba(36, 20, 14, .92) !important;
}
@media (min-width: 768px){
    .site-header .main-navigation ul ul li a:hover{
        background: rgba(201,173,106,.10) !important;
    }
}
@media (max-width: 767px){
    .site-header .main-navigation ul ul li a:hover{
        background: transparent !important;
    }
}

/* Mobile: make dynamic menus look like the default mobile menu */
@media (max-width: 767px){
    /*
     * “Dynamic mobile menu” often comes from:
     * - WooCommerce My Account navigation
     * - Widgets (`widget_nav_menu`)
     * - Custom shortcode lists (e.g. `tcs_category_tree`)
     *
     * Bridge their markup to Storefront’s mobile menu look.
     */
    .woocommerce-account .woocommerce-MyAccount-navigation ul,
    .widget_nav_menu ul.menu,
    .widget_nav_menu ul.nav-menu,
    .tcs-cat-tree__list{
        list-style: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation li,
    .widget_nav_menu ul.menu > li,
    .widget_nav_menu ul.nav-menu > li,
    .tcs-cat-tree__list > li{
        margin: 0 !important;
        padding: 0 !important;
        border-bottom: 1px solid var(--border-2) !important;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation li:last-child,
    .widget_nav_menu ul.menu > li:last-child,
    .widget_nav_menu ul.nav-menu > li:last-child,
    .tcs-cat-tree__list > li:last-child{
        border-bottom: 0 !important;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation a,
    .widget_nav_menu ul.menu > li > a,
    .widget_nav_menu ul.nav-menu > li > a,
    .tcs-cat-tree__list > li > a{
        display: block !important;
        padding: 12px 14px !important;
        border-radius: 0 !important;

        font-family: "Noto Sans", "Cormorant Garamond", "Playfair Display", Georgia, serif !important;
        font-size: 15px !important;
        font-weight: 600 !important;
        letter-spacing: .18px !important;
        line-height: 1.2 !important;

        color: rgba(36,20,14,.92) !important;
        background: transparent !important;
        text-decoration: none !important;
        transition: background .15s ease, color .15s ease;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation a:hover,
    .woocommerce-account .woocommerce-MyAccount-navigation a:focus,
    .widget_nav_menu ul.menu > li > a:hover,
    .widget_nav_menu ul.menu > li > a:focus,
    .widget_nav_menu ul.nav-menu > li > a:hover,
    .widget_nav_menu ul.nav-menu > li > a:focus,
    .tcs-cat-tree__list > li > a:hover,
    .tcs-cat-tree__list > li > a:focus{
        background: rgba(0,0,0,.04) !important;
        color: var(--accent) !important;
        outline: none !important;
    }

    /* Match “current” behavior to header nav */
    .woocommerce-account .woocommerce-MyAccount-navigation .is-active > a,
    .widget_nav_menu .current-menu-item > a,
    .widget_nav_menu .current_page_item > a,
    .tcs-cat-tree__list .current-cat > a,
    .tcs-cat-tree__list .current-cat-parent > a{
        background: rgba(201,173,106,.12) !important;
        color: rgba(36,20,14,1) !important;
    }

    /* Accordion: hide submenus until toggled */
    .widget_nav_menu ul.sub-menu,
    .widget_nav_menu ul.children,
    .tcs-cat-tree__list ul.children,
    .woocommerce-account .woocommerce-MyAccount-navigation ul.sub-menu,
    .woocommerce-account .woocommerce-MyAccount-navigation ul.children{
        display: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    .widget_nav_menu ul.sub-menu.toggled-on,
    .widget_nav_menu ul.children.toggled-on,
    .tcs-cat-tree__list ul.children.toggled-on,
    .woocommerce-account .woocommerce-MyAccount-navigation ul.sub-menu.toggled-on,
    .woocommerce-account .woocommerce-MyAccount-navigation ul.children.toggled-on{
        display: block !important;
    }

    /* Submenu container: visually nest under parent */
    .widget_nav_menu ul.sub-menu.toggled-on,
    .widget_nav_menu ul.children.toggled-on,
    .tcs-cat-tree__list ul.children.toggled-on,
    .woocommerce-account .woocommerce-MyAccount-navigation ul.sub-menu.toggled-on,
    .woocommerce-account .woocommerce-MyAccount-navigation ul.children.toggled-on{
        margin: 0 !important;
        border-left: 0 !important;
        background: transparent !important;
        border-radius: 0 !important;
        overflow: visible !important;
        filter: none !important;
    }

    /* Child items: slightly smaller + indented */
    .widget_nav_menu ul.sub-menu a,
    .widget_nav_menu ul.children a,
    .tcs-cat-tree__list ul.children a,
    .handheld-navigation ul ul a,
    .woocommerce-account .woocommerce-MyAccount-navigation ul.sub-menu a,
    .woocommerce-account .woocommerce-MyAccount-navigation ul.children a{
        padding-left: 14px !important;
        padding-right: 28px !important;
        font-size: 14px !important;
        font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
        letter-spacing: .1px !important;
        text-align: right !important;
    }

    /* Storefront handheld dropdown: only a subtle right-shift (less than widgets/category trees) */
    .handheld-navigation ul ul a{
        padding-left: 18px !important;
        padding-right: 18px !important;
        text-align: left !important;
    }

    /* Handheld level-2+: make dropdown toggle more compact */
    .handheld-navigation ul ul li > a{
        padding-right: 34px !important; /* room for smaller toggle */
    }
    .handheld-navigation ul ul button.dropdown-toggle{
        width: 28px !important;
        height: 28px !important;
        right: 6px !important;
    }
    .handheld-navigation ul ul button.dropdown-toggle::after{
        font-size: 12px !important;
    }

    /*
     * Handheld navigation: make toggle buttons robust.
     * Use a flex row (link + toggle) instead of absolute positioning,
     * so buttons align consistently across submenu levels.
     */
    .handheld-navigation li{
        display: flex !important;
        align-items: center !important;
    }
    .handheld-navigation li > a{
        flex: 1 1 auto !important;
        padding-right: 12px !important; /* no “reserved space” needed */
    }
    .handheld-navigation button.dropdown-toggle{
        position: static !important;
        transform: none !important;
        margin-left: auto !important;
        margin-right: 8px !important;
        top: auto !important;
        right: auto !important;
    }
    .handheld-navigation ul ul button.dropdown-toggle{
        margin-right: 6px !important;
    }

    .widget_nav_menu ul.sub-menu li,
    .widget_nav_menu ul.children li,
    .tcs-cat-tree__list ul.children li,
    .handheld-navigation ul ul li,
    .woocommerce-account .woocommerce-MyAccount-navigation ul.sub-menu li,
    .woocommerce-account .woocommerce-MyAccount-navigation ul.children li{
        border-bottom: 1px solid var(--border-2) !important;
    }
    .widget_nav_menu ul.sub-menu li:last-child,
    .widget_nav_menu ul.children li:last-child,
    .tcs-cat-tree__list ul.children li:last-child,
    .handheld-navigation ul ul li:last-child,
    .woocommerce-account .woocommerce-MyAccount-navigation ul.sub-menu li:last-child,
    .woocommerce-account .woocommerce-MyAccount-navigation ul.children li:last-child{
        border-bottom: 0 !important;
    }

    /* Dropdown toggle button (caret) */
    .widget_nav_menu li,
    .tcs-cat-tree__list li,
    .handheld-navigation li,
    .woocommerce-account .woocommerce-MyAccount-navigation li{
        position: relative !important;
    }

    .widget_nav_menu button.dropdown-toggle,
    .tcs-cat-tree__list button.dropdown-toggle,
    .handheld-navigation button.dropdown-toggle,
    .woocommerce-account .woocommerce-MyAccount-navigation button.dropdown-toggle{
        position: absolute !important;
        right: 8px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        width: 32px !important;
        height: 32px !important;
        padding: 0 !important;
        border-radius: 10px !important;
        background: transparent !important;
        border: 1px solid transparent !important;
        box-shadow: none !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        transition: background .15s ease, border-color .15s ease, transform .15s ease;
    }

    .widget_nav_menu li:hover > button.dropdown-toggle,
    .tcs-cat-tree__list li:hover > button.dropdown-toggle,
    .handheld-navigation li:hover > button.dropdown-toggle,
    .woocommerce-account .woocommerce-MyAccount-navigation li:hover > button.dropdown-toggle,
    .widget_nav_menu button.dropdown-toggle:focus,
    .tcs-cat-tree__list button.dropdown-toggle:focus,
    .handheld-navigation button.dropdown-toggle:focus,
    .woocommerce-account .woocommerce-MyAccount-navigation button.dropdown-toggle:focus{
        background: rgba(0,0,0,.04) !important;
        border-color: rgba(43,27,18,.12) !important;
        outline: none !important;
    }

    .widget_nav_menu button.dropdown-toggle::after,
    .tcs-cat-tree__list button.dropdown-toggle::after,
    .handheld-navigation button.dropdown-toggle::after,
    .woocommerce-account .woocommerce-MyAccount-navigation button.dropdown-toggle::after{
        content: "▾";
        font-size: 14px;
        line-height: 1;
        color: rgba(36,20,14,.85);
        transform: translateY(-1px);
    }

    .widget_nav_menu button.dropdown-toggle.toggled-on::after,
    .tcs-cat-tree__list button.dropdown-toggle.toggled-on::after,
    .handheld-navigation button.dropdown-toggle.toggled-on::after,
    .woocommerce-account .woocommerce-MyAccount-navigation button.dropdown-toggle.toggled-on::after{
        content: "▴";
    }

    /* Ensure anchors leave room for the toggle button */
    .widget_nav_menu li > a,
    .tcs-cat-tree__list li > a,
    .handheld-navigation li > a,
    .woocommerce-account .woocommerce-MyAccount-navigation li > a{
        padding-right: 40px !important;
    }

    /* Force mobile dropdowns to be borderless (override later desktop dropdown styles) */
    .site-header .main-navigation ul ul,
    .handheld-navigation ul ul,
    .widget_nav_menu ul.sub-menu.toggled-on,
    .widget_nav_menu ul.children.toggled-on,
    .tcs-cat-tree__list ul.children.toggled-on,
    .woocommerce-account .woocommerce-MyAccount-navigation ul.sub-menu.toggled-on,
    .woocommerce-account .woocommerce-MyAccount-navigation ul.children.toggled-on{
        border: 0 !important;
        box-shadow: none !important;
        background: transparent !important;
        border-radius: 0 !important;
        filter: none !important;
        outline: 0 !important;
    }
}

/* =========================
   6) FOOTER (TCS custom — modern single row, full-color payment icons)
   ========================= */

.site-footer{
    background: var(--bg-card-2) !important;
    color: var(--text);
    border-top: 1px solid var(--border);
    position: relative !important;
    padding-top: 0 !important;
    margin-top: 0 !important;
}
.site-footer::before{
    display: none !important;
}
.site-footer .col-full{
    padding-top: 0 !important;
}

.tcs-footer{
    padding: 48px 0 24px;
}
.tcs-footer__inner{
    max-width: var(--container-max);
    margin: 0 auto;
    padding: 0 var(--header-pad-x, 12px);
}

.tcs-footer__main{
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 32px 40px;
    margin-bottom: 32px;
}
.tcs-footer__brand{
    flex: 0 0 auto;
    min-width: 0;
}
.tcs-footer__site-name{
    display: inline-block;
    font-family: "Noto Sans", system-ui, sans-serif;
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--text) !important;
    text-decoration: none;
    letter-spacing: 0.02em;
    margin-bottom: 4px;
    transition: color 0.15s ease;
}
.tcs-footer__site-name:hover,
.tcs-footer__site-name:focus-visible{
    color: var(--link-hover) !important;
}
.tcs-footer__tagline{
    font-size: 0.8125rem;
    line-height: 1.5;
    color: var(--muted);
    margin: 0 0 12px;
    max-width: 26ch;
}
.tcs-footer__social{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 12px;
}
.tcs-footer__social-link{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--muted) !important;
    text-decoration: none;
    transition: color 0.15s ease;
}
.tcs-footer__social-link:hover,
.tcs-footer__social-link:focus-visible{
    color: var(--link-hover) !important;
}
.tcs-footer__social-link:focus-visible{
    outline: 2px solid var(--wood-focus);
    outline-offset: 2px;
    border-radius: 4px;
}
.tcs-footer__social-link svg{
    display: block;
    width: 20px;
    height: 20px;
}
.tcs-footer__links-row{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 0;
    column-gap: 24px;
    flex: 1 1 auto;
    min-width: 0;
    justify-content: center;
}
.tcs-footer__links{
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0 20px;
}
.tcs-footer__links--shop{
    position: relative;
    padding-left: 20px;
}
.tcs-footer__links--shop::before{
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 1em;
    background: var(--border);
}
.tcs-footer__links li{
    margin: 0;
}
.tcs-footer__links a{
    color: var(--muted) !important;
    text-decoration: none;
    font-size: 0.9375rem;
    transition: color 0.15s ease;
}
.tcs-footer__links a:hover,
.tcs-footer__links a:focus-visible{
    color: var(--link-hover) !important;
}
.tcs-footer__links a:focus-visible{
    outline: 2px solid var(--wood-focus);
    outline-offset: 2px;
    border-radius: 2px;
}
.tcs-footer__payments{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 12px;
    flex: 0 0 auto;
    padding: 10px 14px;
    background: rgba(255, 255, 255, 0.7);
    border: 1px solid var(--border);
    border-radius: var(--radius);
}
.tcs-footer__payment-icon{
    display: inline-flex;
    align-items: center;
}
.tcs-footer__payment-icon img{
    display: block;
    height: 20px;
    width: auto;
    max-width: 36px;
    object-fit: contain;
}
.tcs-footer__payment-icon img:hover{
    opacity: 0.9;
}

.tcs-footer__bottom{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px 10px;
    padding-top: 20px;
    border-top: 1px solid var(--border);
    font-size: 0.8125rem;
    color: var(--muted);
    text-align: center;
}
.tcs-footer__copyright{
    white-space: nowrap;
}
.tcs-footer__sep{
    color: var(--border);
}
.tcs-footer__legal a{
    color: var(--muted) !important;
    text-decoration: none;
}
.tcs-footer__legal a:hover,
.tcs-footer__legal a:focus-visible{
    color: var(--link-hover) !important;
    text-decoration: underline;
}

@media (max-width: 991px){
    .tcs-footer__main{
        flex-direction: column;
        align-items: flex-start;
        gap: 28px;
        margin-bottom: 28px;
    }
    .tcs-footer__links-row{
        justify-content: flex-start;
        width: 100%;
    }
    .tcs-footer__links--shop::before{
        display: none;
    }
    .tcs-footer__links--shop{
        padding-left: 0;
    }
}

@media (max-width: 600px){
    .tcs-footer{
        padding: 36px 0 20px;
    }
    .tcs-footer__main{
        gap: 24px;
        margin-bottom: 24px;
    }
    .tcs-footer__links-row{
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }
    .tcs-footer__links{
        gap: 0 16px;
    }
    .tcs-footer__payments{
        width: 100%;
        justify-content: center;
    }
    .tcs-footer__bottom{
        padding-top: 16px;
        font-size: 0.8rem;
    }
}

/* =========================
   7) BUTTONS (GLOBAL)
   ========================= */
.button, button, input[type=submit]{
    background: linear-gradient(180deg, var(--wood-2), var(--wood-3)) !important;
    color:#fff !important;
    border-radius:10px !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.22), 0 8px 20px rgba(43,27,18,.08);
    font-size: 14px !important;
    padding: 10px 14px !important;
}
.button:hover, button:hover, input[type=submit]:hover{
    background: linear-gradient(180deg, #E2C97A, var(--brass)) !important;
    color: var(--text) !important;
}

/* =========================
   8) SHOP SORT DROPDOWN (orderby)
   ========================= */
.woocommerce .woocommerce-ordering{
    display: inline-block;
    margin: 0 0 10px !important;
}
.woocommerce .woocommerce-ordering select.orderby,
.tcs-inline-archive-filters select{
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;

    background-color: rgba(255,254,251,.97) !important;
    background-image:
            linear-gradient(45deg, transparent 50%, rgba(94,52,31,.72) 50%),
            linear-gradient(135deg, rgba(94,52,31,.72) 50%, transparent 50%),
            linear-gradient(rgba(255,254,251,.97), rgba(255,254,251,.97)) !important;
    background-position:
            calc(100% - 18px) 50%,
            calc(100% - 12px) 50%,
            0 0;
    background-size: 5px 5px, 5px 5px, auto;
    background-repeat: no-repeat;
    border: 1px solid rgba(122,84,52,.18) !important;
    border-radius: 16px !important;
    color: var(--text) !important;

    font-weight: 600;
    font-size: 13px !important;
    line-height: 1.2 !important;

    padding: 12px 44px 12px 8px !important;
    box-shadow:
            inset 0 1px 0 rgba(255,255,255,.72),
            0 10px 28px rgba(43,27,18,.08) !important;

    cursor: pointer;
    min-height: 48px;
}
.woocommerce .woocommerce-ordering select.orderby:hover,
.tcs-inline-archive-filters select:hover{
    border-color: var(--wood-focus) !important;
}
.woocommerce .woocommerce-ordering select.orderby{
    padding-left: 16px !important;
}
.woocommerce .woocommerce-ordering select.orderby:focus,
.tcs-inline-archive-filters select:focus{
    outline: none !important;
    border-color: var(--wood-focus-strong) !important;
    box-shadow:
            inset 0 1px 0 rgba(255,255,255,.72),
            0 0 0 3px var(--control-ring),
            0 10px 28px rgba(43,27,18,.08) !important;
}
.woocommerce .woocommerce-ordering select.orderby::-ms-expand{ display: none; }

.woocommerce-result-count{ margin: 0; }
.storefront-sorting{ margin: 0 !important; }

/* Inline archive filters inside the premium toolbar */
.tcs-inline-archive-filters{
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 10px 14px;
    flex: 1 1 620px;
    margin: 0;
    position: relative;
    min-width: 0;
}
.tcs-inline-archive-filters > *{
    min-width: 0;
}
.tcs-inline-archive-filters__active{
    display: flex;
    align-items: center;
    gap: 8px 10px;
    flex-wrap: wrap;
    min-width: 0;
    padding-top: 8px;
    border-top: 1px solid rgba(150,105,64,.1);
    flex: 1 1 auto;
}
.tcs-inline-archive-filters__active.is-empty{
    display: none;
}
.tcs-inline-archive-filters__active-label{
    color: rgba(86,58,39,.72);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.tcs-inline-archive-filters__chips{
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1 1 auto;
    flex-wrap: wrap;
    min-width: 0;
}
.tcs-inline-archive-filters__empty{
    color: rgba(95,71,54,.72);
    font-size: .82rem;
}
.tcs-inline-archive-filters__result-text{
    flex: 0 0 auto;
    color: rgba(95,71,54,.74);
    font-size: .82rem;
    line-height: 1.35;
    text-align: center;
    white-space: nowrap;
    padding-top: 2px;
    align-self: center;
}
.tcs-filter-chip{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border: 1px solid rgba(150,105,64,.16);
    border-radius: 999px;
    background: rgba(255,255,255,.78);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.82);
    color: rgba(70,44,28,.88);
    font-size: .86rem;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
}
.tcs-filter-chip:hover,
.tcs-filter-chip:focus{
    border-color: rgba(161,111,58,.28);
    color: var(--link-hover);
}
.tcs-filter-chip__remove{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border-radius: 999px;
    background: rgba(92,57,30,.08);
    font-size: 16px;
    line-height: 1;
}
.tcs-inline-archive-filters__controls{
    display: flex;
    align-items: stretch;
    align-content: flex-start;
    flex-wrap: wrap;
    gap: 8px 10px;
    min-width: 0;
}
.tcs-inline-archive-filters__controls--desktop{
    align-items: stretch;
}
.tcs-facet{
    position: relative;
}
.tcs-facet--desktop{
    flex: 1 1 180px;
    min-width: 168px;
    max-width: 225px;
}
.tcs-facet__trigger{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    min-height: 48px;
    padding: 10px 14px !important;
    border: 1px solid rgba(122,84,52,.18) !important;
    border-radius: 18px !important;
    background: rgba(255,254,251,.96) !important;
    color: var(--text) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.76),
        0 10px 28px rgba(43,27,18,.06) !important;
    text-align: left;
}
.tcs-facet__trigger:hover,
.tcs-facet__trigger:focus{
    border-color: var(--wood-focus) !important;
}
.tcs-facet.is-open .tcs-facet__trigger{
    border-color: var(--wood-focus-strong) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.76),
        0 0 0 3px var(--control-ring),
        0 16px 34px rgba(43,27,18,.09) !important;
}
.tcs-facet__trigger-copy{
    display: grid;
    gap: 4px;
    min-width: 0;
}
.tcs-facet__label{
    color: rgba(96,68,45,.72);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .14em;
    line-height: 1.15;
    text-transform: uppercase;
}
.tcs-facet__summary{
    color: rgba(58,39,27,.92);
    font-size: .88rem;
    font-weight: 700;
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.tcs-facet__chevron,
.tcs-inline-archive-filters__mobile-trigger-icon{
    width: 11px;
    height: 11px;
    border-right: 2px solid rgba(84,57,37,.8);
    border-bottom: 2px solid rgba(84,57,37,.8);
    flex: 0 0 auto;
    transform: rotate(45deg);
    transition: transform .16s ease;
}
.tcs-facet.is-open .tcs-facet__chevron{
    transform: rotate(-135deg) translateY(-1px);
}
.tcs-facet__panel{
    display: grid;
    gap: 14px;
}
.tcs-facet__panel[hidden],
.tcs-inline-archive-filters__overlay[hidden]{
    display: none !important;
}
.tcs-facet--desktop .tcs-facet__panel{
    position: absolute;
    z-index: 25;
    top: calc(100% + 8px);
    left: 0;
    min-width: max(100%, 280px);
    width: clamp(280px, 24vw, 320px);
    max-width: min(340px, calc(100vw - 32px));
    padding: 14px;
    border: 1px solid rgba(150,105,64,.14);
    border-radius: 22px;
    background: linear-gradient(180deg, rgba(255,254,251,.99), rgba(248,242,233,.96));
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.86),
        0 20px 44px rgba(52,33,21,.16);
}
.tcs-facet__panel-head{
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}
.tcs-facet__panel-copy{
    display: grid;
    gap: 4px;
}
.tcs-facet__panel-label{
    color: rgba(56,37,25,.92);
    font-size: .95rem;
    font-weight: 800;
    line-height: 1.2;
}
.tcs-facet__panel-hint{
    color: rgba(97,73,55,.72);
    font-size: .82rem;
    line-height: 1.35;
}
.tcs-facet__clear,
.tcs-inline-archive-filters__reset,
.tcs-inline-archive-filters__drawer-reset{
    color: rgba(108,76,48,.84);
    font-size: .83rem;
    font-weight: 700;
    text-decoration: none;
}
.tcs-facet__clear:hover,
.tcs-facet__clear:focus,
.tcs-inline-archive-filters__reset:hover,
.tcs-inline-archive-filters__reset:focus,
.tcs-inline-archive-filters__drawer-reset:hover,
.tcs-inline-archive-filters__drawer-reset:focus{
    color: var(--link-hover);
}
.tcs-facet__terms{
    display: grid;
    gap: 6px;
    max-height: min(300px, 52vh);
    overflow: auto;
    padding-right: 4px;
}
.tcs-facet-term{
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    padding: 9px 11px;
    border: 1px solid rgba(150,105,64,.12);
    border-radius: 16px;
    background: rgba(255,255,255,.74);
    color: rgba(60,40,28,.88);
    font-size: .86rem;
    line-height: 1.25;
    text-decoration: none;
    transition:
        border-color .16s ease,
        background-color .16s ease,
        box-shadow .16s ease,
        transform .16s ease;
}
.tcs-facet-term:hover,
.tcs-facet-term:focus{
    border-color: rgba(161,111,58,.24);
    background: rgba(255,255,255,.9);
    color: var(--link-hover);
    transform: translateY(-1px);
}
.tcs-facet-term.is-selected{
    border-color: rgba(122,84,52,.24);
    background: linear-gradient(180deg, rgba(255,252,245,.98), rgba(247,239,227,.94));
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.86),
        0 8px 22px rgba(78,52,31,.08);
}
.tcs-facet-term__checkbox{
    position: relative;
    width: 18px;
    height: 18px;
    border: 1px solid rgba(122,84,52,.26);
    border-radius: 6px;
    background: rgba(255,255,255,.82);
}
.tcs-facet-term.is-selected .tcs-facet-term__checkbox{
    border-color: rgba(122,84,52,.48);
    background: linear-gradient(180deg, var(--wood-2), var(--wood-3));
}
.tcs-facet-term.is-selected .tcs-facet-term__checkbox::after{
    content: "";
    position: absolute;
    top: 3px;
    left: 6px;
    width: 4px;
    height: 8px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: rotate(45deg);
}
.tcs-facet-term__name{
    min-width: 0;
    font-weight: 700;
}
.tcs-facet-term__count{
    color: rgba(96,68,45,.76);
    font-size: .8rem;
    font-weight: 800;
}
.tcs-inline-archive-filters__mobile{
    display: none;
}
.tcs-inline-archive-filters.has-no-facets{
    grid-template-columns: minmax(0, 1fr);
}
.tcs-inline-archive-filters__status{
    display: grid;
    gap: 4px;
    align-content: center;
    min-height: 48px;
    padding: 12px 14px;
    border: 1px solid rgba(150,105,64,.13);
    border-radius: 18px;
    background: rgba(255,255,255,.72);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.82);
}
.tcs-inline-archive-filters__status-title{
    color: rgba(58,39,27,.92);
    font-size: .87rem;
    font-weight: 800;
    line-height: 1.2;
}
.tcs-inline-archive-filters__status-copy{
    color: rgba(97,73,55,.76);
    font-size: .79rem;
    line-height: 1.3;
}
.tcs-inline-archive-filters__mobile-status{
    display: grid;
    gap: 3px;
    width: 100%;
    padding: 12px 14px;
    border: 1px solid rgba(150,105,64,.13);
    border-radius: 16px;
    background: rgba(255,255,255,.84);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.82);
}
.tcs-inline-archive-filters__overlay{
    display: none;
}
.is-facets-loading .tcs-inline-archive-filters{
    opacity: .72;
    pointer-events: none;
}

/* Shop/category archive toolbar: one premium surface */
@media (min-width: 768px){
    .post-type-archive-product .content-area .storefront-sorting,
    .tax-product_cat .content-area .storefront-sorting,
    .tax-product_tag .content-area .storefront-sorting,
    [class*="tax-pa_"] .content-area .storefront-sorting{
        --tcs-toolbar-side-col: clamp(220px, 20vw, 250px);
        display: grid;
        grid-template-columns: var(--tcs-toolbar-side-col) minmax(0, 1fr) auto;
        align-items: flex-start;
        gap: 12px 18px;
        width: 100%;
        margin: 0 0 18px !important;
        padding: 14px 18px !important;
        float: none !important;
        /* border: 1px solid rgba(122,84,52,.18); */
        border-radius: 26px;
        background:
            linear-gradient(135deg, rgba(255,254,251,.98), rgba(251,246,239,.95) 56%, rgba(244,236,224,.9));
        box-shadow:
            inset 0 1px 0 rgba(255,255,255,.72),
            0 16px 40px rgba(78,52,31,.08);
        transform: none !important;
    }

    .post-type-archive-product .content-area .storefront-sorting > *,
    .tax-product_cat .content-area .storefront-sorting > *,
    .tax-product_tag .content-area .storefront-sorting > *,
    [class*="tax-pa_"] .content-area .storefront-sorting > *{
        min-width: 0;
    }

    .post-type-archive-product .content-area .storefront-sorting .woocommerce-ordering,
    .tax-product_cat .content-area .storefront-sorting .woocommerce-ordering,
    .tax-product_tag .content-area .storefront-sorting .woocommerce-ordering,
    [class*="tax-pa_"] .content-area .storefront-sorting .woocommerce-ordering{
        margin: 0 !important;
        float: none !important;
        min-width: 0;
        width: 100%;
        grid-column: 1;
        grid-row: 1;
    }

    .post-type-archive-product .content-area .storefront-sorting .woocommerce-result-count,
    .tax-product_cat .content-area .storefront-sorting .woocommerce-result-count,
    .tax-product_tag .content-area .storefront-sorting .woocommerce-result-count,
    [class*="tax-pa_"] .content-area .storefront-sorting .woocommerce-result-count{
        display: none;
    }

    .post-type-archive-product .content-area .storefront-sorting .tcs-inline-archive-filters,
    .tax-product_cat .content-area .storefront-sorting .tcs-inline-archive-filters,
    .tax-product_tag .content-area .storefront-sorting .tcs-inline-archive-filters,
    [class*="tax-pa_"] .content-area .storefront-sorting .tcs-inline-archive-filters{
        margin: 0 !important;
        display: contents;
    }

    .tcs-inline-archive-filters.has-no-facets .tcs-inline-archive-filters__mobile{
        display: none;
    }

    .tcs-inline-archive-filters__mobile,
    .tcs-facet--mobile{
        display: none;
    }

    .post-type-archive-product .content-area .storefront-sorting .woocommerce-ordering select.orderby,
    .tax-product_cat .content-area .storefront-sorting .woocommerce-ordering select.orderby,
    .tax-product_tag .content-area .storefront-sorting .woocommerce-ordering select.orderby,
    [class*="tax-pa_"] .content-area .storefront-sorting .woocommerce-ordering select.orderby{
        width: 100%;
    }

    .post-type-archive-product .content-area,
    .tax-product_cat .content-area,
    .tax-product_tag .content-area,
    [class*="tax-pa_"] .content-area{
        padding-top: 0;
    }

    .tcs-inline-archive-filters__controls{
        display: grid;
        grid-auto-flow: column;
        grid-auto-columns: minmax(0, 1fr);
        align-items: stretch;
        gap: 10px;
        grid-column: 2;
        grid-row: 1;
        min-width: 0;
    }

    .tcs-inline-archive-filters__result-text{
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 48px;
        grid-column: 3;
        grid-row: 1;
        padding-top: 0;
        white-space: normal;
        text-align: center;
        min-width: clamp(120px, 11vw, 170px);
        max-width: 18ch;
        line-height: 1.45;
        overflow-wrap: anywhere;
    }

    .tcs-inline-archive-filters.has-single-facet .tcs-inline-archive-filters__controls,
    .tcs-inline-archive-filters[data-facet-count="2"] .tcs-inline-archive-filters__controls{
        grid-auto-columns: minmax(170px, 220px);
    }

    .tcs-inline-archive-filters__meta{
        display: grid;
        grid-column: 1 / -1;
        grid-row: 2;
        min-width: 0;
        padding-top: 12px;
        border-top: 1px solid rgba(150,105,64,.1);
    }

    .tcs-inline-archive-filters__active{
        grid-column: 1 / -1;
        padding-top: 0;
        border-top: 0;
    }

    .tcs-facet--desktop{
        flex: 1 1 auto;
        min-width: 0;
        max-width: none;
    }

    /* Storefront also adds pagination to the before-loop sorting wrapper; surface it as a centered catalog nav. */
    .post-type-archive-product .content-area .storefront-sorting .woocommerce-pagination,
    .tax-product_cat .content-area .storefront-sorting .woocommerce-pagination,
    .tax-product_tag .content-area .storefront-sorting .woocommerce-pagination,
    [class*="tax-pa_"] .content-area .storefront-sorting .woocommerce-pagination{
        display: flex;
        justify-content: center;
        order: 4;
        flex: 0 0 100%;
        width: 100%;
        margin: 4px 0 0;
        padding: 14px 0 0;
        border-top: 1px solid rgba(150,105,64,.09);
    }
}

/* Shop/category archive pagination */
.post-type-archive-product .content-area .woocommerce-pagination,
.tax-product_cat .content-area .woocommerce-pagination,
.tax-product_tag .content-area .woocommerce-pagination,
[class*="tax-pa_"] .content-area .woocommerce-pagination{
    float: none;
    clear: both;
    width: 100%;
    margin: 26px 0 10px;
    text-align: center;
}

.post-type-archive-product .content-area ul.products + .woocommerce-pagination,
.tax-product_cat .content-area ul.products + .woocommerce-pagination,
.tax-product_tag .content-area ul.products + .woocommerce-pagination,
[class*="tax-pa_"] .content-area ul.products + .woocommerce-pagination{
    margin-top: 34px;
    margin-bottom: 22px;
}

.post-type-archive-product .content-area .woocommerce-pagination ul.page-numbers,
.tax-product_cat .content-area .woocommerce-pagination ul.page-numbers,
.tax-product_tag .content-area .woocommerce-pagination ul.page-numbers,
[class*="tax-pa_"] .content-area .woocommerce-pagination ul.page-numbers{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 7px;
    border: 1px solid rgba(150,105,64,.11);
    border-radius: 999px;
    background:
        linear-gradient(135deg, rgba(255,254,251,.98), rgba(249,242,233,.95));
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.86),
        inset 0 -1px 0 rgba(129,86,50,.04),
        0 1px 2px rgba(129,86,50,.06),
        0 12px 26px rgba(78,52,31,.09);
}

.post-type-archive-product .content-area .woocommerce-pagination ul.page-numbers li,
.tax-product_cat .content-area .woocommerce-pagination ul.page-numbers li,
.tax-product_tag .content-area .woocommerce-pagination ul.page-numbers li,
[class*="tax-pa_"] .content-area .woocommerce-pagination ul.page-numbers li{
    display: block;
    margin: 0;
    border: 0;
}

.post-type-archive-product .content-area .woocommerce-pagination .page-numbers,
.tax-product_cat .content-area .woocommerce-pagination .page-numbers,
.tax-product_tag .content-area .woocommerce-pagination .page-numbers,
[class*="tax-pa_"] .content-area .woocommerce-pagination .page-numbers{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    min-height: 40px;
    padding: 8px 13px;
    border: 1px solid transparent;
    border-radius: 999px;
    background: rgba(255,255,255,.62);
    color: rgba(67,45,30,.82);
    font-size: 14px;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
    box-shadow: none;
    transition:
        background-color .16s ease,
        border-color .16s ease,
        color .16s ease,
        box-shadow .16s ease,
        transform .16s ease;
}

.post-type-archive-product .content-area .woocommerce-pagination a.page-numbers:hover,
.post-type-archive-product .content-area .woocommerce-pagination a.page-numbers:focus,
.tax-product_cat .content-area .woocommerce-pagination a.page-numbers:hover,
.tax-product_cat .content-area .woocommerce-pagination a.page-numbers:focus,
.tax-product_tag .content-area .woocommerce-pagination a.page-numbers:hover,
.tax-product_tag .content-area .woocommerce-pagination a.page-numbers:focus,
[class*="tax-pa_"] .content-area .woocommerce-pagination a.page-numbers:hover,
[class*="tax-pa_"] .content-area .woocommerce-pagination a.page-numbers:focus{
    border-color: rgba(161,111,58,.36);
    background: rgba(255,252,246,.96);
    color: var(--link-hover);
    outline: none;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.84),
        0 0 0 3px var(--control-ring),
        0 10px 20px rgba(78,52,31,.09);
    transform: translateY(-1px);
}

.post-type-archive-product .content-area .woocommerce-pagination .page-numbers.current,
.tax-product_cat .content-area .woocommerce-pagination .page-numbers.current,
.tax-product_tag .content-area .woocommerce-pagination .page-numbers.current,
[class*="tax-pa_"] .content-area .woocommerce-pagination .page-numbers.current{
    border-color: rgba(92,57,30,.44);
    background:
        linear-gradient(135deg, var(--wood-2), var(--wood-1));
    color: #fffaf1;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.18),
        0 8px 18px rgba(70,42,24,.18);
}

.post-type-archive-product .content-area .woocommerce-pagination .prev,
.post-type-archive-product .content-area .woocommerce-pagination .next,
.tax-product_cat .content-area .woocommerce-pagination .prev,
.tax-product_cat .content-area .woocommerce-pagination .next,
.tax-product_tag .content-area .woocommerce-pagination .prev,
.tax-product_tag .content-area .woocommerce-pagination .next,
[class*="tax-pa_"] .content-area .woocommerce-pagination .prev,
[class*="tax-pa_"] .content-area .woocommerce-pagination .next{
    min-width: 44px;
    font-size: 18px;
}

@media (max-width: 767px){
    .post-type-archive-product .content-area .storefront-sorting,
    .tax-product_cat .content-area .storefront-sorting,
    .tax-product_tag .content-area .storefront-sorting,
    [class*="tax-pa_"] .content-area .storefront-sorting{
        display: grid;
        gap: 8px;
        margin: 0 0 14px !important;
        padding: 10px 12px !important;
        justify-items: stretch;
        text-align: left;
        border: 1px solid rgba(122,84,52,.16);
        border-radius: 18px;
        background: linear-gradient(180deg, rgba(255,254,251,.97), rgba(248,241,232,.93));
        box-shadow: 0 10px 24px rgba(78,52,31,.06);
        overflow: hidden;
    }

    .post-type-archive-product .content-area .storefront-sorting .woocommerce-ordering,
    .tax-product_cat .content-area .storefront-sorting .woocommerce-ordering,
    .tax-product_tag .content-area .storefront-sorting .woocommerce-ordering,
    [class*="tax-pa_"] .content-area .storefront-sorting .woocommerce-ordering{
        margin: 0 !important;
        width: 100%;
        display: flex;
        justify-content: stretch;
        justify-self: stretch;
    }

    .post-type-archive-product .content-area .storefront-sorting .woocommerce-ordering select.orderby,
    .tax-product_cat .content-area .storefront-sorting .woocommerce-ordering select.orderby,
    .tax-product_tag .content-area .storefront-sorting .woocommerce-ordering select.orderby,
    [class*="tax-pa_"] .content-area .storefront-sorting .woocommerce-ordering select.orderby{
        width: 100%;
        max-width: 100%;
        text-align: left;
        text-align-last: left;
    }

    .post-type-archive-product .content-area .storefront-sorting .tcs-inline-archive-filters,
    .tax-product_cat .content-area .storefront-sorting .tcs-inline-archive-filters,
    .tax-product_tag .content-area .storefront-sorting .tcs-inline-archive-filters,
    [class*="tax-pa_"] .content-area .storefront-sorting .tcs-inline-archive-filters{
        width: 100%;
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 10px;
    }

    .tcs-inline-archive-filters__active,
    .tcs-inline-archive-filters__status{
        width: 100%;
        grid-column: 1;
        grid-row: 3;
    }

    .tcs-inline-archive-filters__active.is-empty{
        display: none;
    }

    .tcs-inline-archive-filters__result-text{
        width: 100%;
        grid-column: 1;
        grid-row: 2;
        text-align: center;
        white-space: normal;
        padding-top: 0;
    }

    .tcs-inline-archive-filters__controls--desktop,
    .tcs-inline-archive-filters__actions{
        display: none;
    }

    .tcs-inline-archive-filters__mobile{
        display: block;
        width: 100%;
        max-width: 100%;
        grid-column: 1;
        grid-row: 1;
    }

    .tcs-inline-archive-filters__mobile-trigger{
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        min-height: 48px;
        padding: 12px 14px !important;
        border-radius: 16px !important;
        background: rgba(255,255,255,.94) !important;
        text-align: left;
        box-sizing: border-box;
    }

    .tcs-inline-archive-filters__mobile-trigger-icon{
        width: 10px;
        height: 10px;
    }

    .tcs-inline-archive-filters__mobile-trigger-copy{
        display: grid;
        gap: 3px;
        min-width: 0;
    }

    .tcs-inline-archive-filters__mobile-trigger-label{
        color: rgba(56,37,25,.92);
        font-size: .9rem;
        font-weight: 800;
        line-height: 1.2;
    }

    .tcs-inline-archive-filters__mobile-trigger-count{
        color: rgba(97,73,55,.76);
        font-size: .78rem;
        font-weight: 700;
        line-height: 1.3;
    }

    .tcs-inline-archive-filters__mobile--status{
        display: block;
    }

    .tcs-facets-enhanced .post-type-archive-product .widget-area,
    .tcs-facets-enhanced .tax-product_cat .widget-area,
    .tcs-facets-enhanced .tax-product_tag .widget-area,
    .tcs-facets-enhanced [class*="tax-pa_"] .widget-area{
        display: none !important;
    }

    .tcs-facets-enhanced .tcs-inline-archive-filters__overlay{
        position: fixed;
        inset: 0;
        z-index: 10020;
        display: block;
        padding: 0;
        background: rgba(23,15,11,.42);
        backdrop-filter: blur(4px);
    }

    .tcs-inline-archive-filters__drawer{
        position: absolute;
        right: 0;
        bottom: 0;
        left: 0;
        display: grid;
        grid-template-rows: auto minmax(0, 1fr) auto;
        gap: 14px;
        height: min(88vh, 760px);
        max-height: min(88vh, 760px);
        padding: 16px 16px calc(18px + env(safe-area-inset-bottom));
        border-radius: 24px 24px 0 0;
        background: linear-gradient(180deg, rgba(255,254,251,.99), rgba(245,236,223,.97));
        box-shadow: 0 -16px 42px rgba(23,15,11,.28);
        overflow: hidden;
    }

    .tcs-inline-archive-filters__drawer-head,
    .tcs-inline-archive-filters__drawer-actions{
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
    }

    .tcs-inline-archive-filters__drawer-eyebrow{
        display: block;
        color: rgba(101,69,43,.72);
        font-size: .72rem;
        font-weight: 800;
        letter-spacing: .14em;
        text-transform: uppercase;
    }

    .tcs-inline-archive-filters__drawer-title{
        margin: 4px 0 0;
        color: rgba(56,37,25,.94);
        font-size: 1.2rem;
        line-height: 1.2;
    }

    .tcs-inline-archive-filters__drawer-close{
        width: 42px;
        height: 42px;
        padding: 0 !important;
        border-radius: 999px !important;
        font-size: 24px !important;
        line-height: 1 !important;
    }

    .tcs-inline-archive-filters__drawer-body{
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
        min-height: 0;
        overflow: auto;
        padding-right: 2px;
        padding-bottom: 4px;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
    }

    .tcs-facet--mobile{
        flex: 0 0 auto;
        border: 1px solid rgba(150,105,64,.12);
        border-radius: 18px;
        background: rgba(255,255,255,.72);
        box-shadow: inset 0 1px 0 rgba(255,255,255,.84);
        overflow: hidden;
    }

    .tcs-facet--mobile .tcs-facet__trigger{
        min-height: 52px;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .tcs-facet--mobile .tcs-facet__panel{
        padding: 0 14px 14px;
    }

    .tcs-facet--mobile .tcs-facet__panel-head{
        padding: 4px 2px 0;
    }

    .tcs-facet--mobile .tcs-facet__panel-copy{
        padding-right: 8px;
    }

    .tcs-facet--mobile .tcs-facet__panel-hint{
        padding-top: 4px;
    }

    .tcs-facet--mobile .tcs-facet__clear{
        padding: 4px 2px;
    }

    .tcs-facet--mobile .tcs-facet__panel-label{
        display: none;
    }

    .tcs-facet--mobile .tcs-facet__terms{
        max-height: none;
    }

    .post-type-archive-product .content-area .storefront-sorting .woocommerce-result-count,
    .tax-product_cat .content-area .storefront-sorting .woocommerce-result-count,
    .tax-product_tag .content-area .storefront-sorting .woocommerce-result-count,
    [class*="tax-pa_"] .content-area .storefront-sorting .woocommerce-result-count{
        display: none;
    }

    .post-type-archive-product .content-area .storefront-sorting > *,
    .tax-product_cat .content-area .storefront-sorting > *,
    .tax-product_tag .content-area .storefront-sorting > *,
    [class*="tax-pa_"] .content-area .storefront-sorting > *{
        min-width: 0;
        max-width: 100%;
        box-sizing: border-box;
    }

    .post-type-archive-product .content-area .storefront-sorting .woocommerce-pagination,
    .tax-product_cat .content-area .storefront-sorting .woocommerce-pagination,
    .tax-product_tag .content-area .storefront-sorting .woocommerce-pagination,
    [class*="tax-pa_"] .content-area .storefront-sorting .woocommerce-pagination{
        display: none;
    }

    .post-type-archive-product .content-area .woocommerce-pagination ul.page-numbers,
    .tax-product_cat .content-area .woocommerce-pagination ul.page-numbers,
    .tax-product_tag .content-area .woocommerce-pagination ul.page-numbers,
    [class*="tax-pa_"] .content-area .woocommerce-pagination ul.page-numbers{
        max-width: 100%;
        border-radius: 18px;
    }

    .post-type-archive-product .content-area .woocommerce-pagination .page-numbers,
    .tax-product_cat .content-area .woocommerce-pagination .page-numbers,
    .tax-product_tag .content-area .woocommerce-pagination .page-numbers,
    [class*="tax-pa_"] .content-area .woocommerce-pagination .page-numbers{
        min-width: 38px;
        min-height: 38px;
        padding: 8px 11px;
    }

    html.is-facets-drawer-open,
    html.is-facets-drawer-open body{
        overflow: hidden;
    }
}

/* =========================
   9) MINI CART (COLORING ONLY)
   ========================= */
/* Mini cart dropdown: wider, aligned right so it extends left (no overflow). Only when open. */
@media (min-width: 768px){
    .site-header #site-header-cart:hover .widget_shopping_cart,
    .site-header #site-header-cart.focus .widget_shopping_cart{
        right: 0 !important;
        left: auto !important;
        width: 300px !important;
        min-width: 300px !important;
    }
    .site-header #site-header-cart:hover .widget_shopping_cart_content,
    .site-header #site-header-cart.focus .widget_shopping_cart_content{
        width: 100% !important;
        min-width: 0 !important;
    }
}
.site-header #site-header-cart .widget_shopping_cart{
    background: var(--surface-form) !important;
    border: 1px solid rgba(43,27,18,.10) !important;
    box-shadow: 0 14px 30px rgba(43,27,18,.10) !important;
    border-radius: 14px !important;
    color: var(--text) !important;
    filter: var(--tcs-surface-filter) !important;
}
.site-header #site-header-cart .widget_shopping_cart,
.site-header #site-header-cart .widget_shopping_cart a{
    color: rgba(36,20,14,.92) !important;
}
.site-header #site-header-cart .widget_shopping_cart a:hover{ color: var(--brass) !important; }
.site-header #site-header-cart .widget_shopping_cart .woocommerce-mini-cart-item,
.site-header #site-header-cart .widget_shopping_cart .woocommerce-mini-cart__total{
    border-color: rgba(43,27,18,.10) !important;
}
.site-header #site-header-cart .widget_shopping_cart .woocommerce-mini-cart__total{
    background: var(--wood-bg-subtle) !important;
}
.site-header #site-header-cart .widget_shopping_cart a.button{
    background: linear-gradient(180deg, var(--wood-2), var(--wood-3)) !important;
    color: #fff !important;
    border-radius: 12px !important;
}
.site-header #site-header-cart .widget_shopping_cart a.button:hover{
    background: linear-gradient(180deg, #E2C97A, var(--brass)) !important;
    color: var(--text) !important;
}

/* =========================
   10) PRODUCT GRID / CARDS
   ========================= */
.woocommerce ul.products,
ul.products{ display:block !important; } /* keep sliders/grids intact */

.woocommerce ul.products li.product,
ul.products li.product{
    position:relative !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:flex-start;
    box-sizing:border-box;

    min-height: 410px !important;
    margin-bottom: 28px !important;

    border-radius: var(--tcs-pcard-radius) !important;
    border: 1px solid rgba(124,86,53,.16) !important;
    box-shadow:
        0 18px 38px rgba(63,41,24,.08),
        0 2px 10px rgba(63,41,24,.04) !important;
    overflow:hidden !important;

    background:
        linear-gradient(180deg, rgba(255,255,253,.98), rgba(251,246,239,.95) 42%, rgba(246,238,228,.93)) !important;

    transform: translateY(0) !important;
    transition:
            transform .16s ease,
            box-shadow .16s ease,
            border-color .16s ease,
            filter .16s ease !important;
}
.woocommerce ul.products li.product:hover,
ul.products li.product:hover{
    transform: translateY(-6px) !important;
    box-shadow:
        0 22px 46px rgba(63,41,24,.11),
        0 4px 12px rgba(63,41,24,.05) !important;
    border-color: var(--tcs-pcard-border-hover) !important;
}

/* subtle inner highlight rim */
.woocommerce ul.products li.product::before,
ul.products li.product::before{
    content:"" !important;
    position:absolute !important;
    inset: 0 !important;
    border-radius: inherit !important;
    pointer-events:none !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.55) !important;
    opacity: .9 !important;
}
.woocommerce ul.products li.product::after,
ul.products li.product::after{
    content:none !important;
    display:none !important;
}

/* remove engraved inside cards */
.woocommerce ul.products li.product *,
ul.products li.product *{
    text-shadow: none !important;
}

/* link wrappers */
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
.woocommerce ul.products li.product a.woocommerce-loop-product__link,
ul.products li.product a.woocommerce-LoopProduct-link,
ul.products li.product a.woocommerce-loop-product__link{
    padding:0 !important;
    border:0 !important;
    outline:0 !important;
    box-shadow:none !important;
    background:transparent !important;
    position: relative !important;
}

/* tiny divider under image */
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link::after,
.woocommerce ul.products li.product a.woocommerce-loop-product__link::after,
ul.products li.product a.woocommerce-LoopProduct-link::after,
ul.products li.product a.woocommerce-loop-product__link::after{
    content:"";
    position:absolute;
    left: 14px;
    right: 14px;
    bottom: -1px;
    height: 1px;
    background: rgba(42,26,18,.08) !important;
}

/* image: full-bleed */
.woocommerce ul.products li.product a img,
ul.products li.product a img{
    height: 250px !important;
    width: 100% !important;
    object-fit: cover !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    display: block !important;
}

/* titles + price (unified) */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
ul.products li.product .woocommerce-loop-product__title{
    display: -webkit-box;
    margin: 18px 18px 8px !important;
    min-height: 3.15em !important;
    overflow: hidden;
    text-align:center !important;
    font-size: 1.05rem !important;
    line-height: 1.32 !important;
    color: rgba(32,11,5,.96) !important;
    font-weight:700 !important;
    letter-spacing: .2px;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.woocommerce ul.products li.product .price,
ul.products li.product .price{
    margin: 0 18px 14px !important;
    min-height: 1.7em !important;
    text-align:center !important;
    font-size: 1rem !important;
    font-weight: 800 !important;
    color: var(--accent) !important;
}
.price, .onsale{
    color: var(--wood-3) !important;
    border-color: var(--wood-3);
    font-weight:700;
}

/* add to cart pinned */
.woocommerce ul.products li.product .button,
ul.products li.product .button{
    margin-top: auto !important;
    width: calc(100% - 36px) !important;
    margin-left: 18px !important;
    margin-right: 18px !important;
    margin-bottom: 18px !important;
    padding: 12px 14px !important;

    border-radius: 14px !important;
    border: 1px solid rgba(42,26,18,.10) !important;
    background: linear-gradient(180deg, var(--wood-2), var(--wood-3)) !important;
    box-shadow: 0 10px 18px rgba(42,26,18,.10) !important;

    font-size: 14px !important;
    font-weight: 700 !important;
}
.woocommerce ul.products li.product .button:hover,
ul.products li.product .button:hover{
    background: linear-gradient(180deg, #E2C97A, var(--brass)) !important;
    color: rgba(36,20,14,.96) !important;
    box-shadow: 0 12px 22px rgba(42,26,18,.12) !important;
}

/* Sale badge on image */
.woocommerce ul.products li.product span.onsale,
ul.products li.product span.onsale{
    position: absolute !important;
    top: 14px !important;
    right: 14px !important;
    left: auto !important;
    z-index: 5 !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    padding: 8px 12px !important;
    line-height: 1 !important;

    border-radius: 999px !important;
    border: 1px solid rgba(42,26,18,.10) !important;

    background: linear-gradient(180deg, #E2C97A, var(--brass)) !important;
    color: rgba(36,20,14,.95) !important;

    font-weight: 800 !important;
    font-size: 11px !important;
    letter-spacing: .08em !important;
    text-transform: uppercase;

    box-shadow: 0 10px 18px rgba(42,26,18,.10) !important;
}

/* Premium archive grid rhythm */
.post-type-archive-product ul.products li.product,
.tax-product_cat ul.products li.product,
.tax-product_tag ul.products li.product,
[class*="tax-pa_"] ul.products li.product{
    min-height: 420px !important;
}

@media (min-width: 1200px){
    .post-type-archive-product ul.products.columns-4 li.product,
    .tax-product_cat ul.products.columns-4 li.product,
    .tax-product_tag ul.products.columns-4 li.product,
    [class*="tax-pa_"] ul.products.columns-4 li.product{
        clear: none !important;
        margin-right: 2.4% !important;
        width: 23.2% !important;
    }

    .post-type-archive-product ul.products.columns-4 li.product:nth-child(4n),
    .tax-product_cat ul.products.columns-4 li.product:nth-child(4n),
    .tax-product_tag ul.products.columns-4 li.product:nth-child(4n),
    [class*="tax-pa_"] ul.products.columns-4 li.product:nth-child(4n){
        margin-right: 0 !important;
    }

    .post-type-archive-product ul.products.columns-4 li.product:nth-child(4n+1),
    .tax-product_cat ul.products.columns-4 li.product:nth-child(4n+1),
    .tax-product_tag ul.products.columns-4 li.product:nth-child(4n+1),
    [class*="tax-pa_"] ul.products.columns-4 li.product:nth-child(4n+1){
        clear: both !important;
    }
}

@media (min-width: 768px) and (max-width: 1199px){
    .post-type-archive-product ul.products.columns-4 li.product,
    .tax-product_cat ul.products.columns-4 li.product,
    .tax-product_tag ul.products.columns-4 li.product,
    [class*="tax-pa_"] ul.products.columns-4 li.product{
        clear: none !important;
        margin-right: 2.6% !important;
        width: 31.6% !important;
    }

    .post-type-archive-product ul.products.columns-4 li.product:nth-child(3n),
    .tax-product_cat ul.products.columns-4 li.product:nth-child(3n),
    .tax-product_tag ul.products.columns-4 li.product:nth-child(3n),
    [class*="tax-pa_"] ul.products.columns-4 li.product:nth-child(3n){
        margin-right: 0 !important;
    }

    .post-type-archive-product ul.products.columns-4 li.product:nth-child(3n+1),
    .tax-product_cat ul.products.columns-4 li.product:nth-child(3n+1),
    .tax-product_tag ul.products.columns-4 li.product:nth-child(3n+1),
    [class*="tax-pa_"] ul.products.columns-4 li.product:nth-child(3n+1){
        clear: both !important;
    }
}

@media (max-width: 767px){
    .post-type-archive-product ul.products li.product,
    .tax-product_cat ul.products li.product,
    .tax-product_tag ul.products li.product,
    [class*="tax-pa_"] ul.products li.product{
        clear: none !important;
        margin-right: 3.6% !important;
        min-height: 360px !important;
        width: 48.2% !important;
    }

    .post-type-archive-product ul.products li.product:nth-child(2n),
    .tax-product_cat ul.products li.product:nth-child(2n),
    .tax-product_tag ul.products li.product:nth-child(2n),
    [class*="tax-pa_"] ul.products li.product:nth-child(2n){
        margin-right: 0 !important;
    }

    .post-type-archive-product ul.products li.product:nth-child(2n+1),
    .tax-product_cat ul.products li.product:nth-child(2n+1),
    .tax-product_tag ul.products li.product:nth-child(2n+1),
    [class*="tax-pa_"] ul.products li.product:nth-child(2n+1){
        clear: both !important;
    }

    .post-type-archive-product ul.products li.product a img,
    .tax-product_cat ul.products li.product a img,
    .tax-product_tag ul.products li.product a img,
    [class*="tax-pa_"] ul.products li.product a img{
        height: 196px !important;
    }

    .post-type-archive-product ul.products li.product .woocommerce-loop-product__title,
    .tax-product_cat ul.products li.product .woocommerce-loop-product__title,
    .tax-product_tag ul.products li.product .woocommerce-loop-product__title,
    [class*="tax-pa_"] ul.products li.product .woocommerce-loop-product__title{
        margin: 15px 15px 8px !important;
        font-size: .98rem !important;
    }

    .post-type-archive-product ul.products li.product .price,
    .tax-product_cat ul.products li.product .price,
    .tax-product_tag ul.products li.product .price,
    [class*="tax-pa_"] ul.products li.product .price{
        margin: 0 15px 12px !important;
        font-size: .95rem !important;
    }

    .post-type-archive-product ul.products li.product .button,
    .tax-product_cat ul.products li.product .button,
    .tax-product_tag ul.products li.product .button,
    [class*="tax-pa_"] ul.products li.product .button{
        width: calc(100% - 30px) !important;
        margin-left: 15px !important;
        margin-right: 15px !important;
        margin-bottom: 15px !important;
    }
}

@media (max-width: 600px){
    .post-type-archive-product ul.products li.product,
    .tax-product_cat ul.products li.product,
    .tax-product_tag ul.products li.product,
    [class*="tax-pa_"] ul.products li.product{
        float: none !important;
        clear: none !important;
        width: 100% !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
        margin-bottom: 22px !important;
        min-height: 0 !important;
    }

    .post-type-archive-product ul.products li.product:nth-child(2n),
    .post-type-archive-product ul.products li.product:nth-child(2n+1),
    .tax-product_cat ul.products li.product:nth-child(2n),
    .tax-product_cat ul.products li.product:nth-child(2n+1),
    .tax-product_tag ul.products li.product:nth-child(2n),
    .tax-product_tag ul.products li.product:nth-child(2n+1),
    [class*="tax-pa_"] ul.products li.product:nth-child(2n),
    [class*="tax-pa_"] ul.products li.product:nth-child(2n+1){
        clear: none !important;
        margin-right: 0 !important;
    }

    .post-type-archive-product ul.products li.product a img,
    .tax-product_cat ul.products li.product a img,
    .tax-product_tag ul.products li.product a img,
    [class*="tax-pa_"] ul.products li.product a img{
        height: 228px !important;
    }

    .post-type-archive-product ul.products li.product .woocommerce-loop-product__title,
    .tax-product_cat ul.products li.product .woocommerce-loop-product__title,
    .tax-product_tag ul.products li.product .woocommerce-loop-product__title,
    [class*="tax-pa_"] ul.products li.product .woocommerce-loop-product__title{
        margin: 18px 18px 10px !important;
        min-height: 0 !important;
        font-size: 1.05rem !important;
    }

    .post-type-archive-product ul.products li.product .price,
    .tax-product_cat ul.products li.product .price,
    .tax-product_tag ul.products li.product .price,
    [class*="tax-pa_"] ul.products li.product .price{
        margin: 0 18px 14px !important;
        font-size: 1rem !important;
    }

    .post-type-archive-product ul.products li.product .button,
    .tax-product_cat ul.products li.product .button,
    .tax-product_tag ul.products li.product .button,
    [class*="tax-pa_"] ul.products li.product .button{
        width: calc(100% - 36px) !important;
        margin-left: 18px !important;
        margin-right: 18px !important;
        margin-bottom: 18px !important;
        padding: 13px 16px !important;
    }
}

/* Category tiles tweak */
#main > section > div > ul > li.product-category.product{
    min-height: 220px !important;
}

/* grid spacing desktop */
@media (min-width:768px){
    body:not(.post-type-archive-product):not(.tax-product_cat):not(.tax-product_tag):not([class*="tax-pa_"]) .woocommerce ul.products li.product,
    body:not(.post-type-archive-product):not(.tax-product_cat):not(.tax-product_tag):not([class*="tax-pa_"]) ul.products li.product{ margin-right:0.8% !important; }
}

/* sliders */
.slick-track, .swiper-wrapper{ display:flex !important; align-items:stretch !important; }
.slick-slide, .swiper-slide{ height:auto !important; padding:0 14px !important; }
.slick-slide > div{ height:100% !important; }
.slick-list, .swiper{ margin:0 -14px !important; }

@media (max-width: 520px){
    .woocommerce ul.products li.product a img,
    ul.products li.product a img{ height: 200px !important; }
}

/* =========================
   11) SHOP LAYOUT — SINGLE PREMIUM RAIL
   ========================= */
@media (min-width: 768px){
    .post-type-archive-product #content .col-full,
    .tax-product_cat #content .col-full,
    .tax-product_tag #content .col-full,
    [class*="tax-pa_"] #content .col-full{
        display: block !important;
        padding-left: 0;
        box-sizing: border-box;
    }

    .post-type-archive-product .tcs-breadcrumb-row,
    .tax-product_cat .tcs-breadcrumb-row,
    .tax-product_tag .tcs-breadcrumb-row,
    [class*="tax-pa_"] .tcs-breadcrumb-row{
        width: 100% !important;
        padding-left: 0;
        padding-bottom: 18px;
    }

    .post-type-archive-product .widget-area,
    .tax-product_cat .widget-area,
    .tax-product_tag .widget-area,
    [class*="tax-pa_"] .widget-area{
        display: none !important;
        margin: 0 !important;
        max-width: none;
        position: static;
        top: auto;
        width: 0 !important;
    }

    .post-type-archive-product .content-area,
    .tax-product_cat .content-area,
    .tax-product_tag .content-area,
    [class*="tax-pa_"] .content-area{
        width: 100% !important;
        float: none !important;
        clear: both !important;
        margin: 0 !important;
        min-width: 0;
        transform: none !important;
    }
}

/* Defaults outside shop/archive pages */
body:not(.post-type-archive-product):not(.tax-product_cat):not(.tax-product_tag):not([class*="tax-pa_"]) .content-area,
body:not(.post-type-archive-product):not(.tax-product_cat):not(.tax-product_tag):not([class*="tax-pa_"]) .widget-area{
    float:none;
}
body:not(.post-type-archive-product):not(.tax-product_cat):not(.tax-product_tag):not([class*="tax-pa_"]) .content-area{
    width:100% !important;
    margin-right:0 !important;
}
/* spacing between sorting row and product grid (inside content area) */
.woocommerce .storefront-sorting + ul.products,
.woocommerce .woocommerce-result-count + ul.products,
.woocommerce .woocommerce-ordering + ul.products{
    margin-top: 0;
}

/* =========================
   12) FILTERS — MOBILE OVERLAY SURFACE
   ========================= */
#secondary{
    border-bottom: none !important;
}

@media (min-width: 768px){
    #secondary{ margin-left: 0 !important; }

    .post-type-archive-product .wc-block-product-filters,
    .tax-product_cat .wc-block-product-filters,
    .tax-product_tag .wc-block-product-filters,
    [class*="tax-pa_"] .wc-block-product-filters{
        display: none !important;
    }
}

/* flatten sidebar wrappers */
.post-type-archive-product .widget-area,
.tax-product_cat .widget-area,
.tax-product_tag .widget-area,
[class*="tax-pa_"] .widget-area{
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
}

.widget-block,
#secondary .widget,
#secondary .widget > *{
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.wc-block-product-filters{
    border: 1px solid var(--tcs-filter-line) !important;
    border-radius: 22px !important;
    padding: 14px !important;

    background: linear-gradient(180deg, rgba(255,254,251,.98), rgba(248,240,230,.94)) !important;

    box-shadow:
            0 12px 28px rgba(42,26,18,.08),
            0  2px  6px rgba(42,26,18,.06) !important;

    filter: var(--tcs-surface-filter) !important;
}

/* titles: typographic */
.wc-block-product-filters .wc-block-product-filter__title,
.wc-block-product-filters .wc-block-product-filter-style__title,
.wc-block-product-filters .wp-block-heading{
    font-family: "Noto Sans", Georgia, "Times New Roman", serif !important;
    font-size: 18px !important;
    line-height: 1.15 !important;
    letter-spacing: .25px !important;
    color: rgba(36,20,14,.94) !important;

    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;

    margin: 0 0 10px !important;
    padding: 4px 0 8px !important;
    border-bottom: 1px solid rgba(42,26,18,.10) !important;
}

/* section rhythm */
.wc-block-product-filters .wc-block-product-filter{ padding: 10px 0 12px !important; }
.wc-block-product-filters .wc-block-product-filter:first-child{ padding-top: 2px !important; }
.wc-block-product-filters .wc-block-product-filter:last-child{ padding-bottom: 2px !important; }
.wc-block-product-filters .wc-block-product-filter:not(:last-child)::after{ content:none !important; }

/* checkbox rows */
.wc-block-product-filter-checkbox-list__items{
    padding: 6px 2px 2px !important;
    margin: 0 !important;
}
.wc-block-product-filter-checkbox-list__item{ margin: 8px 0 !important; }

.wc-block-product-filter-checkbox-list__label,
.wc-block-product-filter-checkbox-list__label *{
    font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
    font-size: 14px !important;
    color: rgba(36,20,14,.90) !important;
    text-shadow: none !important;
}

/* checkbox */
.wc-block-product-filter-checkbox-list__input{
    width: 16px !important;
    height: 16px !important;
    border-radius: 5px !important;
    border: 1px solid rgba(42,26,18,.12) !important;
    background: rgba(255,255,255,.88) !important;
    box-shadow: inset 0 1px 2px rgba(0,0,0,.08) !important;
    accent-color: var(--brass);
}
.wc-block-product-filter-checkbox-list__input:focus{
    outline: none !important;
    box-shadow:
            inset 0 1px 2px rgba(0,0,0,.08),
            0 0 0 3px var(--control-ring) !important;
}

/* hover row (NO padding/margin jumps) */
.wc-block-product-filter-checkbox-list__label:hover{
    background: var(--hover-bg) !important;
    border-radius: 10px !important;
}

/* category nesting */
.tcs-hier-cat__children{
    border-left: 1px solid rgba(42,26,18,.10) !important;
    margin-left: 14px !important;
    padding-left: 10px !important;
}

/* taxonomy toggle */
.wc-block-product-filter-taxonomy button.tcs-hier-cat__toggle{
    all: unset !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 22px !important;
    height: 22px !important;
    margin-left: auto !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    color: rgba(36,20,14,.85) !important;
}
.wc-block-product-filter-taxonomy button.tcs-hier-cat__toggle:hover{
    background: rgba(0,0,0,.06) !important;
}
.wc-block-product-filter-taxonomy .tcs-hier-cat__chev{
    display: inline-block !important;
    font-size: 12px !important;
    opacity: .85 !important;
    transition: transform .15s ease, opacity .15s ease;
}
.wc-block-product-filter-taxonomy button.tcs-hier-cat__toggle[aria-expanded="true"] .tcs-hier-cat__chev{
    transform: rotate(90deg) !important;
    opacity: 1 !important;
}

/* removable chips */
.wc-block-product-filter-removable-chips__items{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:8px !important;
    margin: 10px 0 12px !important;
    padding:0 !important;
    list-style:none !important;
}
.wc-block-product-filter-removable-chips__item{
    display:inline-flex !important;
    align-items:center !important;
    gap:10px !important;
    min-height: 32px !important;
    padding: 6px 10px !important;
    border-radius:999px !important;
    border:1px solid rgba(42,26,18,.10) !important;
    background: rgba(255,255,255,.35) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.55) !important;
}
.wc-block-product-filter-removable-chips__label{
    font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    color: rgba(36,20,14,.90) !important;
    white-space: nowrap !important;
}
button.wc-block-product-filter-removable-chips__remove{
    all: unset !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width: 24px !important;
    height: 24px !important;
    border-radius: 999px !important;
    cursor: pointer !important;
    background: transparent !important;
    border: 1px solid rgba(42,26,18,.14) !important;
}
button.wc-block-product-filter-removable-chips__remove:hover{
    background: rgba(198,162,74,.12) !important;
    border-color: rgba(42,26,18,.16) !important;
}
button.wc-block-product-filter-removable-chips__remove:focus-visible{
    outline: 2px solid rgba(198,162,74,.22) !important;
    outline-offset: 2px !important;
}
button.wc-block-product-filter-removable-chips__remove svg{
    width: 14px !important;
    height: 14px !important;
    display:block !important;
    fill: currentColor !important;
    color: rgba(36,20,14,.75) !important;
}
button.wc-block-product-filter-removable-chips__remove .screen-reader-text{
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    padding:0 !important;
    margin:-1px !important;
    overflow:hidden !important;
    clip:rect(0,0,0,0) !important;
    white-space:nowrap !important;
    border:0 !important;
}

/* =========================
   13) WOOCOMMERCE NOTICES (unified)
   ========================= */
.woocommerce-info, .woocommerce-message, .woocommerce-error{
    position:relative !important;
    border-radius: var(--radius) !important;
    padding:16px 20px !important;
    padding-left:56px !important;

    border:1px solid rgba(43,27,18,.14) !important;
    box-shadow:0 10px 22px rgba(43,27,18,.10) !important;

    color: var(--text) !important;
    font-weight:600;
    margin: 10px 0px !important;
}
.woocommerce-info{
    background: linear-gradient(180deg, rgba(198,162,74,.24), rgba(198,162,74,.14)) !important;
    border-left:4px solid var(--brass) !important;
}
.woocommerce-message{
    background: linear-gradient(180deg, rgba(122,143,58,.20), rgba(122,143,58,.12)) !important;
    border-left:6px solid #7A8F3A !important;
    display:flex !important;
    align-items:center !important;
    flex-wrap:wrap !important;
    gap:12px 18px !important;
    line-height:1.5 !important;
}
.woocommerce-error{
    background: linear-gradient(180deg, rgba(138,58,43,.18), rgba(138,58,43,.10)) !important;
    border-left:6px solid #8A3A2B !important;
}

.woocommerce-info::before, .woocommerce-message::before, .woocommerce-error::before{
    position:absolute !important;
    left:18px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    font-size:18px !important;
    line-height:1 !important;
    margin:0 !important;
    color: var(--text) !important;
}
.woocommerce-info a, .woocommerce-message a, .woocommerce-error a{
    color: var(--wood-3) !important;
    text-decoration:underline;
}
.woocommerce-info a:hover, .woocommerce-message a:hover, .woocommerce-error a:hover{
    color: var(--text) !important;
}
.woocommerce-message .button.wc-forward{
    margin:0 0 0 auto !important;
    float:none !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:44px !important;
    padding:11px 18px !important;
    border:1px solid rgba(43,27,18,.10) !important;
    border-radius:12px !important;
    background: linear-gradient(180deg, var(--wood-2), var(--wood-3)) !important;
    box-shadow:0 10px 18px rgba(43,27,18,.14) !important;
    color:#fff !important;
    text-decoration:none !important;
    white-space:nowrap !important;
}
.woocommerce-message .button.wc-forward:hover,
.woocommerce-message .button.wc-forward:focus-visible{
    background: linear-gradient(180deg, #E2C97A, var(--brass)) !important;
    color: var(--text) !important;
}

@media (max-width: 782px){
    .woocommerce-message{
        align-items:flex-start !important;
    }

    .woocommerce-message .button.wc-forward{
        margin-left:0 !important;
    }
}

/* Reviews “no reviews” notice */
.woocommerce #reviews p.woocommerce-noreviews,
.woocommerce p.woocommerce-noreviews,
.woocommerce .woocommerce-noreviews{
    position:relative !important;
    border-radius: var(--radius) !important;
    padding:16px 20px !important;
    padding-left:56px !important;

    background: linear-gradient(180deg, rgba(198,162,74,.24), rgba(198,162,74,.14)) !important;
    border:1px solid rgba(43,27,18,.14) !important;
    border-left:6px solid var(--brass) !important;

    color: var(--text) !important;
    font-weight:600;

    box-shadow:0 10px 22px rgba(43,27,18,.10) !important;
    border-top:0 !important;
}
.woocommerce #reviews p.woocommerce-noreviews::before{
    content:"\f05a" !important;
    font-family: "Font Awesome 5 Free", serif !important;
    font-weight:900 !important;
    position:absolute !important;
    left:18px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    line-height:1 !important;
    margin:0 !important;
    color: var(--text) !important;
}

/* =========================
   14) CART / CHECKOUT / ACCOUNT TABLES + FORMS (unified)
   ========================= */
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce{
    background: linear-gradient(180deg, var(--bg-card), var(--bg-card-2));
    border:1px solid var(--border);
    border-radius: var(--radius-lg);
    padding:18px;
    box-shadow: var(--shadow);
    filter: var(--tcs-surface-filter) !important;
}

.woocommerce-cart table.shop_table,
.woocommerce-checkout table.shop_table,
.woocommerce-account .woocommerce-MyAccount-content table.shop_table,
.woocommerce-account .woocommerce-MyAccount-content table.my_account_orders{
    background: var(--surface-table) !important;
    border:1px solid var(--border) !important;
    border-radius: var(--radius) !important;
    overflow:hidden !important;
    box-shadow:0 12px 26px rgba(43,27,18,.08) !important;
    filter: var(--tcs-surface-filter) !important;
}

.woocommerce-cart table.shop_table th,
.woocommerce-cart table.shop_table td,
.woocommerce-checkout table.shop_table th,
.woocommerce-checkout table.shop_table td,
.woocommerce-account .woocommerce-MyAccount-content table.shop_table th,
.woocommerce-account .woocommerce-MyAccount-content table.shop_table td,
.woocommerce-account .woocommerce-MyAccount-content table.my_account_orders th,
.woocommerce-account .woocommerce-MyAccount-content table.my_account_orders td{
    background:transparent !important;
    color: var(--text) !important;
    border-top:1px solid var(--border-2) !important;
}

.woocommerce-cart table.shop_table thead th,
.woocommerce-checkout table.shop_table thead th,
.woocommerce-account .woocommerce-MyAccount-content table.shop_table thead th,
.woocommerce-account .woocommerce-MyAccount-content table.my_account_orders thead th{
    background: rgba(139,99,64,.08) !important;
    font-weight:700 !important;
    border-bottom:1px solid var(--border) !important;
}
.woocommerce-cart table.shop_table tbody tr:nth-child(even) td,
.woocommerce-account .woocommerce-MyAccount-content table.shop_table tbody tr:nth-child(even) td,
.woocommerce-account .woocommerce-MyAccount-content table.my_account_orders tbody tr:nth-child(even) td{
    background: rgba(255,255,255,.18) !important;
}

/* cart inputs */
.woocommerce-cart .quantity input.qty,
.woocommerce-cart #coupon_code{
    background: var(--control-bg-soft) !important;
    border:1px solid rgba(43,27,18,.14) !important;
    border-radius:12px !important;
    box-shadow: inset 0 1px 2px rgba(0,0,0,.10);
    color: var(--text) !important;
}
.woocommerce-cart .quantity input.qty:focus,
.woocommerce-cart #coupon_code:focus{
    outline: none !important;
    box-shadow:
            inset 0 1px 2px rgba(0,0,0,.10),
            0 0 0 3px var(--control-ring) !important;
}

/* remove button */
.woocommerce-cart a.remove{
    color: var(--wood-3) !important;
    background: rgba(255,255,255,.32) !important;
    border:1px solid var(--border) !important;
}
.woocommerce-cart a.remove:hover{
    color:#fff !important;
    background: var(--wood-3) !important;
}

/* totals (surface overridden later by cart glass block) */
.woocommerce-cart .cart-collaterals .cart_totals{
    padding:16px;
    filter: var(--tcs-surface-filter) !important;
    border:none !important;
    background: var(--surface-content) !important;
    transform: translateY(0) !important;
    transition:
            transform .16s ease,
            box-shadow .16s ease,
            border-color .16s ease,
            filter .16s ease !important;
    box-shadow: var(--tcs-pcard-shadow) !important;
    border-radius: 10px !important;
}

/* checkout sections */
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields{
    background: var(--surface-form);
    border:1px solid rgba(43,27,18,.16);
    border-radius: var(--radius) !important;
    padding:18px;
    margin-bottom:24px;
    filter: var(--tcs-surface-filter) !important;
}

/* checkout inputs */
.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea,
.woocommerce-checkout select{
    background: rgba(252,248,242,.94) !important;
    border:1px solid rgba(43,27,18,.14) !important;
    border-radius:12px !important;
    color: var(--text) !important;
    box-shadow: inset 0 1px 2px rgba(0,0,0,.12);
}
.woocommerce-checkout input:focus,
.woocommerce-checkout textarea:focus,
.woocommerce-checkout select:focus{
    outline: none !important;
    background: rgba(255,252,248,.98) !important;
    border-color: var(--wood-focus) !important;
    box-shadow:
            inset 0 1px 2px rgba(0,0,0,.12),
            0 0 0 3px var(--control-ring) !important;
}
.woocommerce-checkout label{ color: var(--text); font-weight:600; }

/* review + payment */
.woocommerce-checkout #order_review{
    background: var(--surface-table) !important;
    border:1px solid var(--border) !important;
    border-radius: var(--radius-lg) !important;
    padding:18px !important;
    box-shadow:0 12px 26px rgba(43,27,18,.08) !important;
    filter: var(--tcs-surface-filter) !important;
}
.woocommerce-checkout #payment{
    background: var(--surface-form) !important;
    border:1px solid var(--border) !important;
    border-radius: var(--radius) !important;
    padding:16px;
    filter: var(--tcs-surface-filter) !important;
}
.woocommerce-checkout #payment ul.payment_methods li{
    background: rgba(255,255,255,.28);
    border:1px solid rgba(43,27,18,.10);
    border-radius:12px;
    padding:12px;
    margin-bottom:12px;
}
.woocommerce-checkout #payment label{ font-weight:700; color: var(--text); }

/* place order */
.woocommerce-checkout #place_order{
    background: linear-gradient(180deg, var(--wood-2), var(--wood-3)) !important;
    color:#fff !important;
    border-radius:14px !important;
    padding:14px 26px !important;
    font-size:18px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 12px 26px rgba(43,27,18,.10);
}
.woocommerce-checkout #place_order:hover{
    background: linear-gradient(180deg, #E2C97A, var(--brass)) !important;
    color: var(--text) !important;
}

/* =========================
   15) HERO TOP GAP (IF USED)
   ========================= */
.home.page-template-template-homepage #content{ padding-top:0 !important; }
.home.page-template-template-homepage:not(.has-post-thumbnail) .site-main{ padding-top:0 !important; }
.home .home-hero{ margin-top:50px !important; padding-top:0 !important; }
.home .home-hero .n2-ss-slider,
.home .home-hero .n2-ss-section-main-content{ margin-top:-50px !important; }

/* =========================
   16) SMALL HELPERS
   ========================= */
.slider-heading{ margin-top:50px; }
.widget_media_gallery { display:none; }

/* =========================
   17) ENGRAVED TEXT (KEEP, BUT NOT IN CONTENT/CARDS)
   ========================= */
.site-header,
.widget-area{
    text-shadow:
            0  1px 0 var(--engrave-hi),
            0 -1px 0 var(--engrave-lo);
}
.site-header h1, .site-header h2, .site-header h3,
.widget-area .widget-title{
    text-shadow:
            0  1px 0 var(--engrave-hi-strong),
            0 -1px 0 var(--engrave-lo-strong);
}
/* keep links crisp */
.site-header a,
.widget-area a,
.storefront-breadcrumb a{
    text-shadow: none;
}
/* inputs/buttons crisp */
button, .button,
input, select, textarea,
.woocommerce a.button,
.woocommerce input.button{
    text-shadow: none !important;
}
/* content: explicitly no engraved */
.site-content,
.site-content *{
    text-shadow: none !important;
}



/* =========================================================
   WC Blocks Product Filters (MOBILE) — Storefront behavior
   FIX: overlay must be hidden unless .is-overlay-opened is present
   ========================================================= */
@media (max-width: 782px){

    /* 0) Keep your visual filter effects off the trapping ancestors (mobile only) */
    .site-content,
    .site-header,
    .wc-block-product-filters{
        filter: none !important;
    }

    /* 1) DEFAULT STATE: overlay exists but MUST NOT cover the page */
    .wc-block-product-filters__overlay{
        position: fixed !important;
        inset: 0 !important;
        width: 100vw !important;
        height: 100dvh !important;
        z-index: 999999 !important;

        /* key part: hidden/inert by default */
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        background: transparent !important;
    }

    /* 2) OPEN STATE: only when Woo adds .is-overlay-opened */
    .wc-block-product-filters.is-overlay-opened .wc-block-product-filters__overlay{
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        background: rgba(20,12,8,.45) !important;
    }

    /* 3) Wrapper: fixed so overlay not trapped by filter/transform on ancestors */
    .wc-block-product-filters__overlay-wrapper{
        position: fixed !important;
        inset: 0 !important;
        display: flex !important;
        align-items: flex-end !important;
        justify-content: stretch !important;
        overflow: hidden !important;
    }

    /* 4) Dialog bottom sheet — no transform/transition so overlay not trapped */
    .wc-block-product-filters__overlay-dialog{
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        border-radius: 16px 16px 0 0 !important;
        overflow: hidden !important;
        max-height: 92dvh !important;
        background: var(--surface-content) !important;
        display: flex !important;
        flex-direction: column !important;
        transform: none !important;
        transition: none !important;
    }

    /* 5) Header/footer fixed, content scrolls */
    .wc-block-product-filters__overlay-header,
    .wc-block-product-filters__overlay-footer{
        flex: 0 0 auto !important;
    }
    .wc-block-product-filters__overlay-content{
        flex: 1 1 auto !important;
        min-height: 0 !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }

    /* 6) Avoid nested scroll */
    .wc-block-product-filters__overlay-content .wc-block-product-filter__controls,
    .wc-block-product-filters__overlay-content .wc-block-product-filter-checkbox-list,
    .wc-block-product-filters__overlay-content .wc-block-product-filter-checkbox-list__items{
        max-height: none !important;
        overflow: visible !important;
    }
    #page, .site, #content, .site-main, .content-area, #secondary, .widget-area {
        transform: none !important;
    }
}

/* =========================================================
   MOBILE HEADER LAYOUT — logo left + menu right, no cart/search
   ========================================================= */
@media (max-width: 767px){
    .site-header #site-header-cart,
    .site-header .site-search{
        display: none !important;
    }

    body:not(.tcs-mobile-sticky-active) .site-header{
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: center !important;
        column-gap: 12px !important;
        row-gap: 8px !important;
        width: 100% !important;
        max-width: 100vw !important;
        overflow-x: clip !important;
        box-sizing: border-box !important;
        padding: 8px var(--header-pad-x) !important;
    }
    body:not(.tcs-mobile-sticky-active) .site-header > .col-full{
        display: contents !important;
    }

    body:not(.tcs-mobile-sticky-active) .site-header .site-branding{
        grid-column: 1 !important;
        grid-row: 1 !important;
        justify-self: start !important;
        min-width: 0 !important;
        padding-top: 0 !important;
        margin: 0 !important;
    }
    body:not(.tcs-mobile-sticky-active) .site-header .site-branding img{
        max-width: min(var(--logo-max), 48vw) !important;
    }

    body:not(.tcs-mobile-sticky-active) .site-header .primary-navigation,
    body:not(.tcs-mobile-sticky-active) .site-header .handheld-navigation{
        grid-column: 1 / -1 !important;
        grid-row: 2 !important;
        width: 100% !important;
    }

    body:not(.tcs-mobile-sticky-active) #site-navigation{
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-rows: 106px auto !important;
        align-items: center !important;
        max-width: 100% !important;
        width: 100% !important;
        clear: none !important;
    }
    body:not(.tcs-mobile-sticky-active) .site-header > .storefront-primary-navigation{
        grid-column: 1 / -1 !important;
        grid-row: 1 / span 2 !important;
        justify-self: stretch !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        clear: none !important;
    }
    body:not(.tcs-mobile-sticky-active) .site-header .storefront-primary-navigation > .col-full{
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body:not(.tcs-mobile-sticky-active) .menu-toggle {
        grid-column: 2 !important;
        grid-row: 1 !important;
        justify-self: end !important;
        align-self: center !important;
        display: block !important;
        width: auto !important;
        max-width: none !important;
        text-align: center !important;
        padding: 12px 5px !important;
        margin: 0 !important;
        border: none !important;
        box-sizing: border-box !important;
    }
}

/* =========================================================
   MOBILE STICKY HEADER (scroll-down compact header)
   - Activated by `body.tcs-mobile-sticky-active` (JS)
   - Mobile only; desktop/tablet unaffected
   -
   - Storefront header DOM (with child-theme priority changes):
   -   .site-header
   -     > .col-full            (branding + cart)
   -     > .storefront-primary-navigation > .col-full > nav > .menu-toggle
   - These are SIBLINGS, so the grid must be on .site-header itself
   - with `display:contents` on wrappers to flatten the hierarchy.
   ========================================================= */
@media (max-width: 767px){
    body{
        --tcs-mobile-sticky-height: 64px;
        --tcs-mobile-sticky-spacer: var(--tcs-mobile-sticky-height);
    }

    /* Admin bar offsets */
    body.admin-bar.tcs-mobile-sticky-active .site-header{ top: 46px !important; }
    body:not(.admin-bar).tcs-mobile-sticky-active .site-header{ top: 0 !important; }

    /* Pin header and make IT the grid container (logo left, menu center) */
    body.tcs-mobile-sticky-active .site-header{
        position: fixed !important;
        left: 0 !important;
        right: 0 !important;
        z-index: 10000 !important;
        display: grid !important;
        grid-template-columns: 1fr auto 1fr !important;
        align-items: center !important;
        column-gap: 10px !important;
        padding: 6px var(--header-pad-x) !important;
        min-height: var(--tcs-mobile-sticky-height) !important;
    }
    body.tcs-mobile-sticky-active .site-header::after{
        display: none !important;
    }

    /* Flatten all wrapper divs so their children join the .site-header grid */
    body.tcs-mobile-sticky-active .site-header > .col-full,
    body.tcs-mobile-sticky-active .site-header > .storefront-primary-navigation,
    body.tcs-mobile-sticky-active .storefront-primary-navigation > .col-full,
    body.tcs-mobile-sticky-active #site-navigation{
        display: contents !important;
    }

    /* Reserve the normal mobile header height so content doesn't jump when the header becomes fixed. */
    body.tcs-mobile-sticky-active #page{
        padding-top: var(--tcs-mobile-sticky-spacer) !important;
        overflow-anchor: none;
    }
    body.admin-bar.tcs-mobile-sticky-active #page{
        padding-top: calc(var(--tcs-mobile-sticky-spacer) + 46px) !important;
    }

    /* === Left: compact logo === */
    body.tcs-mobile-sticky-active .site-branding{
        grid-area: auto !important;
        grid-column: 1 !important;
        grid-row: 1 !important;
        justify-self: start !important;
        padding-top: 0 !important;
        margin: 0 !important;
    }
    body.tcs-mobile-sticky-active .site-branding img{
        max-width: 140px !important;
        max-height: 36px !important;
        width: auto !important;
        height: auto !important;
    }

    /* === Center: menu toggle (with visible "Menu" text) === */
    body.tcs-mobile-sticky-active .menu-toggle{
        grid-column: 2 !important;
        grid-row: 1 !important;
        justify-self: center !important;
        position: static !important;
        width: auto !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 10px 16px !important;
        min-height: 40px !important;
        border-radius: 12px !important;
        border: 1px solid rgba(122,86,53,.22) !important;
        background: linear-gradient(180deg, #b99165 0%, #a17c54 100%) !important;
        box-shadow:
            inset 0 1px 0 rgba(255,255,255,.24) !important,
            0 10px 20px rgba(92,60,31,.16) !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        color: #f8f0e5 !important;
        float: none !important;
        text-align: center !important;
    }
    body.tcs-mobile-sticky-active .menu-toggle::before{
        content: "" !important;
        display: inline-block !important;
        position: static !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        width: 14px !important;
        height: 10px !important;
        margin-top: 0 !important;
        border-radius: 0 !important;
        background:
            linear-gradient(rgba(43,27,18,.92), rgba(43,27,18,.92)) top center / 14px 2px no-repeat,
            linear-gradient(rgba(43,27,18,.92), rgba(43,27,18,.92)) center center / 14px 2px no-repeat,
            linear-gradient(rgba(43,27,18,.92), rgba(43,27,18,.92)) bottom center / 14px 2px no-repeat !important;
        flex: 0 0 auto !important;
        align-self: center !important;
        vertical-align: middle !important;
        transform: none !important;
    }
    body.tcs-mobile-sticky-active .menu-toggle::after{
        display: none !important;
    }
    body.tcs-mobile-sticky-active .menu-toggle span::before{
        display: none !important;
    }
    body.tcs-mobile-sticky-active .menu-toggle span{
        display: inline-block !important;
        font-size: .95em !important;
        font-family: inherit !important;
        font-weight: 600 !important;
        letter-spacing: normal !important;
        color: currentColor !important;
        position: static !important;
        padding-left: 0 !important;
        text-indent: 0 !important;
        width: auto !important;
        height: auto !important;
        overflow: visible !important;
        line-height: 1 !important;
        vertical-align: middle !important;
        clip: auto !important;
        clip-path: none !important;
    }

    /* === Hide non-sticky content (cart already hidden by mobile header rule above) === */
    body.tcs-mobile-sticky-active .site-search,
    body.tcs-mobile-sticky-active .primary-navigation,
    body.tcs-mobile-sticky-active .handheld-navigation,
    body.tcs-mobile-sticky-active #site-header-cart{
        display: none !important;
    }
}

/* =========================================================
   CART — CLASSY / COMPACT (fits TCS surfaces)
   Paste at END of stylesheet
   ========================================================= */

.woocommerce-cart .entry-header h1,
.woocommerce-cart .cart_totals h2{
    font-family: "Noto Sans", Georgia, "Times New Roman", serif !important;
    letter-spacing: .25px !important;
}

/* Tighten page spacing a bit */
.woocommerce-cart .site-main{
    padding-top: 6px !important;
}

/* --- Cart wrapper card (keep subtle, not “heavy box”) --- */
.woocommerce-cart .woocommerce{
    background: transparent !important; /* let table + totals be the cards */
    box-shadow: none !important;
    border: 0 !important;
}

/* --- Main cart table --- */
.woocommerce-cart table.shop_table.shop_table_responsive.cart{
    background: var(--surface-table) !important;
    border: 1px solid rgba(42,26,18,.12) !important;
    border-radius: var(--radius-lg) !important;
    overflow: hidden !important;
    box-shadow: 0 14px 32px rgba(42,26,18,.08) !important;
}

/* Header: lighter + slimmer */
.woocommerce-cart table.shop_table thead th{
    background: var(--wood-bg-subtle) !important;
    border-bottom: 1px solid rgba(42,26,18,.10) !important;
    padding: 12px 14px !important;
    font-size: 13px !important;
    letter-spacing: .12px !important;
    text-transform: none !important;
}

/* Cells: reduce padding & soften separators */
.woocommerce-cart table.shop_table td{
    padding: 12px 14px !important;
    border-top: 1px solid rgba(42,26,18,.10) !important;
    vertical-align: middle !important;
}

/* Remove strong zebra if you want “simpler” */
.woocommerce-cart table.shop_table tbody tr:nth-child(even) td{
    background: rgba(255,255,255,.18) !important;
}

/* Product cell layout: tighter */
.woocommerce-cart td.product-thumbnail{
    width: 72px !important;
}
.woocommerce-cart td.product-thumbnail img{
    width: 80px !important;
    /*height: 80px !important;*/
    object-fit: cover !important;
    border-radius: 10px !important;
    border: 1px solid rgba(42,26,18,.10) !important;
    box-shadow: 0 8px 16px rgba(42,26,18,.06) !important;
}

/* Product name: nicer weight + less “browser default” */
.woocommerce-cart td.product-name a{
    color: rgba(36,20,14,.94) !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}
.woocommerce-cart td.product-name a:hover{
    color: var(--brass) !important;
}

/* Price/total columns: slightly stronger */
.woocommerce-cart td.product-price,
.woocommerce-cart td.product-subtotal{
    font-weight: 700 !important;
    color: rgba(36,20,14,.92) !important;
    white-space: nowrap !important;
}

/* Quantity input: compact “pill” */
.woocommerce-cart .quantity{
    display: inline-flex !important;
    align-items: center !important;
}
.woocommerce-cart .quantity input.qty{
    width: 64px !important;
    min-height: 36px !important;
    padding: 6px 10px !important;
    border-radius: 12px !important;
    text-align: center !important;
    font-weight: 700 !important;
    background: var(--control-bg) !important;
    border: 1px solid rgba(43,27,18,.14) !important;
    box-shadow: inset 0 1px 2px rgba(0,0,0,.06) !important;
}

/* Remove button: smaller + cleaner (less “in your face”) */
.woocommerce-cart a.remove{
    width: 28px !important;
    height: 28px !important;
    line-height: 26px !important;
    border-radius: 999px !important;
    font-size: 18px !important;
    border: 1px solid rgba(42,26,18,.12) !important;
    background: rgba(255,255,255,.38) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.50) !important;
}
.woocommerce-cart a.remove:hover{
    background: var(--wood-3) !important;
    border-color: rgba(42,26,18,.24) !important;
}

/* --- Coupon + Update row --- */
.woocommerce-cart table.shop_table td.actions{
    padding: 14px !important;
    background: rgba(255,255,255,.16) !important;
    border-top: 1px solid rgba(42,26,18,.10) !important;
}

/* Coupon input */
.woocommerce-cart #coupon_code{
    min-height: 38px !important;
    border-radius: 12px !important;
    padding: 8px 10px !important;
    width: 180px !important;
}

/* Buttons in actions row: slightly smaller */
.woocommerce-cart td.actions .button,
.woocommerce-cart td.actions button,
.woocommerce-cart td.actions input[type="submit"]{
    padding: 10px 14px !important;
    border-radius: 12px !important;
    font-weight: 800 !important;
}

/* Update cart button: less “floating” look */
.woocommerce-cart button[name="update_cart"]{
    box-shadow: 0 10px 18px rgba(42,26,18,.10) !important;
}

/* --- Totals card: simpler & consistent --- */
.woocommerce-cart .cart-collaterals .cart_totals{
    background: var(--surface-soft) !important;
    border: 1px solid rgba(42,26,18,.12) !important;
    border-radius: var(--radius-lg) !important;
    box-shadow: 0 16px 36px rgba(42,26,18,.08) !important;
    padding: 16px !important;
}

/* Totals title: clean divider */
.woocommerce-cart .cart_totals h2{
    margin: 0 0 12px !important;
    padding: 4px 0 10px !important;
    border-bottom: 1px solid rgba(42,26,18,.10) !important;
    font-size: 19px !important;
}

/* Totals table inside card */
.woocommerce-cart .cart_totals table.shop_table{
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}
.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td{
    padding: 10px 0 !important;
    border-top: 1px solid rgba(42,26,18,.10) !important;
    background: transparent !important;
}
.woocommerce-cart .cart_totals table.shop_table th{
    color: rgba(36,20,14,.86) !important;
    font-weight: 700 !important;
}
.woocommerce-cart .cart_totals table.shop_table td{
    font-weight: 800 !important;
}

/* Shipping text: make it less cramped */
.woocommerce-cart .cart_totals .woocommerce-shipping-destination{
    color: rgba(36,20,14,.82) !important;
    font-weight: 600 !important;
}

/* Checkout button: “primary CTA” */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
    width: 100% !important;
    border-radius: 14px !important;
    padding: 14px 16px !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    letter-spacing: .2px !important;
}

/* --- Mobile: keep things readable and not airy --- */
@media (max-width: 782px){
    .woocommerce-cart table.shop_table td{
        padding: 10px 12px !important;
    }
    .woocommerce-cart td.product-thumbnail{
        width: 64px !important;
    }
    .woocommerce-cart td.product-thumbnail img{
        width: 52px !important;
        height: 52px !important;
    }
    .woocommerce-cart #coupon_code{
        width: 100% !important;
        margin-bottom: 10px !important;
    }
    .woocommerce-cart td.actions .coupon{
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }
    .woocommerce-cart td.actions .coupon .button{
        width: 100% !important;
    }
}

/* =========================================================
   CART — SINGLE SOURCE OF TRUTH (DESKTOP)
   Put this at the VERY END and delete earlier cart layout blocks
   ========================================================= */
@media (min-width: 992px){

    /* Whole cart area: centered + 2 columns */
    .woocommerce-cart .site-content .woocommerce{
        /*max-width: 1180px !important;*/
        margin: 0 auto !important;

        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 380px !important;
        gap: 22px !important;
        align-items: start !important;
    }

    /* Notices full width */
    .woocommerce-cart .site-content .woocommerce > .woocommerce-notices-wrapper{
        grid-column: 1 / -1 !important;
    }

    /* Kill Storefront float layout completely */
    .woocommerce-cart form.woocommerce-cart-form,
    .woocommerce-cart .cart-collaterals,
    .woocommerce-cart .cart-collaterals .cart_totals{
        float: none !important;
        clear: none !important;
        width: auto !important;
        max-width: none !important;
    }

    /* Left column fills */
    .woocommerce-cart form.woocommerce-cart-form{
        grid-column: 1 !important;
        min-width: 0 !important;
    }
    .woocommerce-cart table.shop_table.shop_table_responsive.cart{
        width: 100% !important;
    }

    /* Right column: totals card MUST fill column */
    .woocommerce-cart .cart-collaterals{
        grid-column: 2 !important;
        justify-self: stretch !important; /* important */
        align-self: start !important;
        position: sticky !important;
        top: 14px !important;
        margin: 0 !important;
    }
    .woocommerce-cart .cart-collaterals .cart_totals{
        width: 100% !important;          /* important */
    }

    /* Totals table: force normal 2-col table (no “mobile stacked” rules) */
    .woocommerce-cart .cart_totals table.shop_table th,
    .woocommerce-cart .cart_totals table.shop_table td{
        display: table-cell !important;
        float: none !important;
        width: auto !important;
    }
    .woocommerce-cart .cart_totals table.shop_table th{
        width: 55% !important;
        text-align: left !important;
        padding-right: 14px !important;
    }
    .woocommerce-cart .cart_totals table.shop_table td{
        text-align: left !important;
    }
}

/* Mobile stays stacked */
@media (max-width: 991px){
    .woocommerce-cart .site-content .woocommerce{
        max-width: none !important;
        margin: 0 !important;
        display: block !important;
    }
}


/* =========================
   CART — ALIGN RIGHT (DESKTOP)
   Paste at END
   ========================= */
@media (min-width: 992px){
    .woocommerce-cart .site-content .woocommerce{
        margin-left: 0 !important;
        margin-right: auto !important; /* stick to right */
    }
}

.woocommerce {
    padding: 0 !important;
    border: 0 !important;
}

.entry-title {
    padding: 0 !important;
    margin:10px 0px !important;
    margin-bottom: 20px !important;
    text-align: center !important;
}

/* =========================================================
   CART — “ALMOST TRANSPARENT” PANELS (same material as page)
   Paste at VERY END (overrides all prior cart/table/totals styling)
   ========================================================= */

:root{
    /* Transparent surfaces */
    --tcs-glass-1: rgba(255,255,255,.22);  /* main panel */
    --tcs-glass-2: rgba(255,255,255,.14);  /* secondary (head/alt) */

    /* Borders / separators */
    --tcs-glass-border: rgba(43,27,18,.18);
    --tcs-glass-line:   rgba(43,27,18,.10);

    /* Shadows (keep subtle!) */
    --tcs-glass-shadow: 0 10px 26px rgba(43,27,18,.10);

    /* Optional: “glass” blur */
    --tcs-glass-blur: blur(6px);
}

/* Make the cart page wrapper NOT introduce its own background */
.woocommerce-cart .woocommerce{
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important; /* you already force .woocommerce { padding:0 } */
}

/* Cart table = transparent panel */
.woocommerce-cart table.shop_table.shop_table_responsive.cart{
    background: var(--tcs-glass-1) !important;
    border: 1px solid var(--tcs-glass-border) !important;
    border-radius: var(--radius-lg) !important;
    box-shadow: var(--tcs-glass-shadow) !important;
    overflow: hidden !important;

    -webkit-backdrop-filter: var(--tcs-glass-blur) !important;
    backdrop-filter: var(--tcs-glass-blur) !important;
}

/* Totals box = same transparent material */
.woocommerce-cart .cart-collaterals .cart_totals{
    background: var(--tcs-glass-1) !important;
    border: 1px solid var(--tcs-glass-border) !important;
    border-radius: var(--radius-lg) !important;
    box-shadow: var(--tcs-glass-shadow) !important;

    -webkit-backdrop-filter: var(--tcs-glass-blur) !important;
    backdrop-filter: var(--tcs-glass-blur) !important;
}

/* Kill any inner table “surface-table” backgrounds */
.woocommerce-cart table.shop_table th,
.woocommerce-cart table.shop_table td{
    background: transparent !important;
}

/* Header row: barely tinted */
.woocommerce-cart table.shop_table thead th{
    background: var(--tcs-glass-2) !important;
    border-bottom: 1px solid var(--tcs-glass-border) !important;
}

/* Row separators */
.woocommerce-cart table.shop_table td{
    border-top: 1px solid var(--tcs-glass-line) !important;
}

/* Ultra-subtle zebra (optional) */
.woocommerce-cart table.shop_table tbody tr:nth-child(even) td{
    background: rgba(255,255,255,.06) !important;
}

/* Totals inner table should not look like a second box */
.woocommerce-cart .cart_totals table.shop_table{
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}
.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td{
    border-top: 1px solid var(--tcs-glass-line) !important;
    background: transparent !important;
}

/* Reduce “heaviness” of inputs inside cart */
.woocommerce-cart .quantity input.qty,
.woocommerce-cart #coupon_code{
    background: rgba(255,255,255,.30) !important;
    border: 1px solid rgba(43,27,18,.18) !important;
    box-shadow: inset 0 1px 2px rgba(0,0,0,.08) !important;
}

/* If you want the totals to feel even less boxed */
.woocommerce-cart .cart-collaterals{
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

@media (min-width: 900px){
    #secondary {
        background: var(--surface-content) !important;
        transform: translateY(0) !important;
        transition:
                transform .16s ease,
                box-shadow .16s ease,
                border-color .16s ease,
                filter .16s ease !important;

        box-shadow: var(--tcs-pcard-shadow) !important;
        border-radius: 10px !important;


    }
}


.cart_totals{
    background: var(--surface-header) !important;
    transform: translateY(0) !important;
    transition:
            transform .16s ease,
            box-shadow .16s ease,
            border-color .16s ease,
            filter .16s ease !important;

    box-shadow: var(--tcs-pcard-shadow) !important;
    border-radius: 40px !important;
}


.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    color: #FFFFFF !important;
}

/* Remove column: allow room for 28px button (was 20px and clipped the button) */
.woocommerce-cart table.shop_table.shop_table_responsive.cart td.product-remove {
    width: 40px !important;
    min-width: 40px !important;
    max-width: none !important;
    vertical-align: middle !important;
    text-align: center !important;
}
/* Remove button: centered × icon (desktop + mobile) */
.woocommerce-cart table.shop_table.shop_table_responsive.cart td.product-remove a.remove {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    text-decoration: none !important;
}

/* Desktop only: avoid thumbnail shrinking (mobile uses its own sizing below) */
@media (min-width: 783px) {
    table.cart .product-thumbnail img {
        min-width: 100px !important;
    }
}

/* =========================================================
   CHECKOUT — MATCH CART COLOR SCHEME (glass / subtle panels)
   Paste at VERY END (overrides section 14 checkout styling)
   ========================================================= */

/* Checkout wrapper: same as cart — no heavy box */
.woocommerce-checkout .woocommerce{
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
}

/* Billing / shipping / additional fields: same glass as cart table */
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields{
    background: var(--tcs-glass-1) !important;
    border: 1px solid var(--tcs-glass-border) !important;
    border-radius: var(--radius-lg) !important;
    box-shadow: var(--tcs-glass-shadow) !important;
    -webkit-backdrop-filter: var(--tcs-glass-blur) !important;
    backdrop-filter: var(--tcs-glass-blur) !important;
}

/* Order review (right column): same glass panel */
.woocommerce-checkout #order_review{
    background: var(--tcs-glass-1) !important;
    border: 1px solid var(--tcs-glass-border) !important;
    box-shadow: var(--tcs-glass-shadow) !important;
    -webkit-backdrop-filter: var(--tcs-glass-blur) !important;
    backdrop-filter: var(--tcs-glass-blur) !important;
}

/* Payment box: same glass, slightly secondary feel (optional: use tcs-glass-2 for more subtle) */
.woocommerce-checkout #payment{
    background: var(--tcs-glass-2) !important;
    border: 1px solid var(--tcs-glass-border) !important;
    box-shadow: none !important;
}

/* Payment method items: very subtle, like zebra rows */
.woocommerce-checkout #payment ul.payment_methods li{
    background: rgba(255,255,255,.12) !important;
    border: 1px solid var(--tcs-glass-line) !important;
}

/* Checkout inputs: match cart input look (light, soft) */
.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea,
.woocommerce-checkout select{
    background: rgba(255,255,255,.30) !important;
    border: 1px solid rgba(43,27,18,.18) !important;
    box-shadow: inset 0 1px 2px rgba(0,0,0,.08) !important;
}
.woocommerce-checkout input:focus,
.woocommerce-checkout textarea:focus,
.woocommerce-checkout select:focus{
    background: rgba(255,255,255,.40) !important;
    border-color: var(--wood-focus) !important;
    box-shadow: inset 0 1px 2px rgba(0,0,0,.08), 0 0 0 3px var(--control-ring) !important;
}

/* Checkout tables (if any inside order review): transparent like cart totals table */
.woocommerce-checkout #order_review table.shop_table,
.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td{
    background: transparent !important;
    border-top-color: var(--tcs-glass-line) !important;
}
.woocommerce-checkout #order_review table.shop_table thead th{
    background: var(--tcs-glass-2) !important;
    border-bottom: 1px solid var(--tcs-glass-border) !important;
}

/* WooCommerce select dropdowns: same look as shop orderby (custom arrow, borders, shadow) */
.woocommerce select{
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    background-color: rgba(255,255,255,.30) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='%235E341F' d='M5.3 7.3a1 1 0 0 1 1.4 0L10 10.6l3.3-3.3a1 1 0 1 1 1.4 1.4l-4 4a1 1 0 0 1-1.4 0l-4-4a1 1 0 0 1 0-1.4z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
    background-size: 12px 12px !important;
    padding: 2px 44px 2px 12px !important;
    border: 1px solid rgba(43,27,18,.28) !important;
    border-radius: 7px !important;
    box-shadow: inset 0 1px 2px rgba(0,0,0,.10), 0 10px 22px rgba(43,27,18,.10) !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    color: var(--text) !important;
    cursor: pointer !important;
    min-height: 30px !important;
}
.woocommerce select:hover{
    border-color: var(--wood-focus) !important;
}
.woocommerce select:focus{
    outline: none !important;
    border-color: var(--wood-focus-strong) !important;
    box-shadow: inset 0 1px 2px rgba(0,0,0,.10), 0 0 0 3px var(--control-ring), 0 10px 22px rgba(43,27,18,.10) !important;
}
.woocommerce select::-ms-expand{ display: none !important; }

/* SelectWoo/Select2 replacement UI: match theme select (orderby look) so it doesn't revert to default after JS runs */
.woocommerce .select2-container--default .select2-selection--single{
    background-color: rgba(255,255,255,.30) !important;
    border: 1px solid rgba(43,27,18,.28) !important;
    border-radius: 7px !important;
    box-shadow: inset 0 1px 2px rgba(0,0,0,.10), 0 10px 22px rgba(43,27,18,.10) !important;
    padding: 2px 44px 2px 12px !important;
    min-height: 30px !important;
    height: auto !important;
}
.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered{
    color: var(--text) !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    line-height: 2.5 !important;
    padding-left: 0 !important;
}
.woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow{
    height: 100% !important;
    right: 12px !important;
    top: 0 !important;
}
.woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow b{
    border: none !important;
    margin: 0 !important;
    left: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 12px !important;
    height: 12px !important;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='%235E341F' d='M5.3 7.3a1 1 0 0 1 1.4 0L10 10.6l3.3-3.3a1 1 0 1 1 1.4 1.4l-4 4a1 1 0 0 1-1.4 0l-4-4a1 1 0 0 1 0-1.4z'/%3E%3C/svg%3E") no-repeat center / 12px 12px !important;
}
.woocommerce .select2-container--default .select2-selection--single:hover{
    border-color: var(--wood-focus) !important;
}
.woocommerce .select2-container--default.select2-container--focus .select2-selection--single,
.woocommerce .select2-container--default.select2-container--open .select2-selection--single{
    outline: none !important;
    border-color: var(--wood-focus-strong) !important;
    box-shadow: inset 0 1px 2px rgba(0,0,0,.10), 0 0 0 3px var(--control-ring), 0 10px 22px rgba(43,27,18,.10) !important;
}
.woocommerce .select2-dropdown{
    background: rgba(255,255,255,.95) !important;
    border: 1px solid rgba(43,27,18,.28) !important;
    border-radius: 7px !important;
    box-shadow: 0 10px 22px rgba(43,27,18,.12) !important;
}
.woocommerce .select2-container--default .select2-results__option--highlighted[aria-selected],
.woocommerce .select2-container--default .select2-results__option--highlighted[data-selected]{
    background-color: rgba(139,99,64,.12) !important;
    color: var(--text) !important;
}
.woocommerce .select2-container--default .select2-results__option[aria-selected=true],
.woocommerce .select2-container--default .select2-results__option[data-selected=true]{
    background-color: var(--wood-bg-subtle) !important;
    color: var(--text) !important;
}

.woocommerce .woocommerce-checkout{

    margin-top: 25px !important;
}


.select2-container--default .select2-results__option--highlighted[aria-selected],.select2-container--default .select2-results__option--highlighted[data-selected] {
    background-color: var(--wood-2);
    color: #fff
}

#payment .payment_methods li input[type=radio]:first-child:checked+label:before {
    color: #875027;
}

.addresses {
    margin-top: 20px !important;
}

.wc-proceed-to-checkout {
    margin-bottom: 0 !important;
}

.woocommerce-loop-category__title {
    padding-top: 10px !important;
}

/* My Account form inputs only — same as cart/checkout */
body.woocommerce-account #customer_login input.input-text,
body.woocommerce-account #customer_login input[type="text"],
body.woocommerce-account #customer_login input[type="email"],
body.woocommerce-account #customer_login input[type="password"] {
    background: rgba(255,255,255,.30) !important;
    border: 1px solid rgba(43,27,18,.18) !important;
    border-radius: 12px !important;
    box-shadow: inset 0 1px 2px rgba(0,0,0,.08) !important;
    color: var(--text) !important;
}
body.woocommerce-account #customer_login input.input-text:focus,
body.woocommerce-account #customer_login input[type="text"]:focus,
body.woocommerce-account #customer_login input[type="email"]:focus,
body.woocommerce-account #customer_login input[type="password"]:focus {
    outline: none !important;
    background: rgba(255,255,255,.40) !important;
    border-color: var(--wood-focus) !important;
    box-shadow: inset 0 1px 2px rgba(0,0,0,.08), 0 0 0 3px var(--control-ring) !important;
}

/* Edit account form inputs — same as cart/checkout */
body.woocommerce-account .woocommerce-EditAccountForm input.input-text,
body.woocommerce-account .woocommerce-EditAccountForm input[type="text"],
body.woocommerce-account .woocommerce-EditAccountForm input[type="email"],
body.woocommerce-account .woocommerce-EditAccountForm input[type="password"] {
    background: rgba(255,255,255,.30) !important;
    border: 1px solid rgba(43,27,18,.18) !important;
    border-radius: 12px !important;
    box-shadow: inset 0 1px 2px rgba(0,0,0,.08) !important;
    color: var(--text) !important;
}
body.woocommerce-account .woocommerce-EditAccountForm input.input-text:focus,
body.woocommerce-account .woocommerce-EditAccountForm input[type="text"]:focus,
body.woocommerce-account .woocommerce-EditAccountForm input[type="email"]:focus,
body.woocommerce-account .woocommerce-EditAccountForm input[type="password"]:focus {
    outline: none !important;
    background: rgba(255,255,255,.40) !important;
    border-color: var(--wood-focus) !important;
    box-shadow: inset 0 1px 2px rgba(0,0,0,.08), 0 0 0 3px var(--control-ring) !important;
}

/* Edit address form inputs — same as cart/checkout */
body.woocommerce-account .woocommerce-EditAddressForm input.input-text,
body.woocommerce-account .woocommerce-EditAddressForm input[type="text"],
body.woocommerce-account .woocommerce-EditAddressForm input[type="email"],
body.woocommerce-account .woocommerce-EditAddressForm select,
body.woocommerce-account form.edit-address input.input-text,
body.woocommerce-account form.edit-address input[type="text"],
body.woocommerce-account form.edit-address input[type="email"],
body.woocommerce-account form.edit-address select,
body.woocommerce-account .woocommerce-address-fields input.input-text,
body.woocommerce-account .woocommerce-address-fields input[type="text"],
body.woocommerce-account .woocommerce-address-fields input[type="email"],
body.woocommerce-account .woocommerce-address-fields select {
    background: rgba(255,255,255,.30) !important;
    border: 1px solid rgba(43,27,18,.18) !important;
    border-radius: 12px !important;
    box-shadow: inset 0 1px 2px rgba(0,0,0,.08) !important;
    color: var(--text) !important;
}
body.woocommerce-account .woocommerce-EditAddressForm input.input-text:focus,
body.woocommerce-account .woocommerce-EditAddressForm input[type="text"]:focus,
body.woocommerce-account .woocommerce-EditAddressForm input[type="email"]:focus,
body.woocommerce-account .woocommerce-EditAddressForm select:focus,
body.woocommerce-account form.edit-address input.input-text:focus,
body.woocommerce-account form.edit-address input[type="text"]:focus,
body.woocommerce-account form.edit-address input[type="email"]:focus,
body.woocommerce-account form.edit-address select:focus,
body.woocommerce-account .woocommerce-address-fields input.input-text:focus,
body.woocommerce-account .woocommerce-address-fields input[type="text"]:focus,
body.woocommerce-account .woocommerce-address-fields input[type="email"]:focus,
body.woocommerce-account .woocommerce-address-fields select:focus {
    outline: none !important;
    background: rgba(255,255,255,.40) !important;
    border-color: var(--wood-focus) !important;
    box-shadow: inset 0 1px 2px rgba(0,0,0,.08), 0 0 0 3px var(--control-ring) !important;
}

/* =========================================================
   TCS — FADING LINE BEFORE + AFTER TEXT (ornament divider)
   Usage:
   - Add class="tcs-fade-line" to any heading or text element
   - Or use the auto selectors below for common Woo headings
   ========================================================= */

   :root{
    /* tweakable knobs */
    --tcs-line-thickness: 1px;
    --tcs-line-gap: 14px;        /* space between text and line */
    --tcs-line-max: 18rem;       /* max line length on each side */
    --tcs-line-alpha: .22;       /* overall line intensity */
    --tcs-line-glow: .20;        /* subtle highlight overlay */
  }
  
  /* Core utility */
  .tcs-fade-line{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--tcs-line-gap);
    text-align: center;
    position: relative;
  }
  
  .tcs-fade-line::before,
  .tcs-fade-line::after{
    content: "";
    flex: 1 1 auto;
    max-width: var(--tcs-line-max);
    height: var(--tcs-line-thickness);
    border-radius: 999px;
  
    /* base line that fades out */
    background: linear-gradient(
      to right,
      transparent,
      rgba(43,27,18,var(--tcs-line-alpha)),
      transparent
    );
  
    /* tiny “brass kiss” in the middle */
    box-shadow: 0 0 0 1px rgba(198,162,74,.06) inset;
  }
  
  .tcs-fade-line::before{
    /* fade direction feels nicer if mirrored */
    background: linear-gradient(
      to right,
      transparent,
      rgba(43,27,18,var(--tcs-line-alpha)),
      rgba(198,162,74,.16),
      transparent
    );
  }
  .tcs-fade-line::after{
    background: linear-gradient(
      to right,
      transparent,
      rgba(198,162,74,.16),
      rgba(43,27,18,var(--tcs-line-alpha)),
      transparent
    );
  }
  
  /* Optional: slightly “engraved” vibe without getting noisy */
  .tcs-fade-line{
    text-shadow: 0 1px 0 rgba(255,255,255,.25);
  }
  
  /* Mobile: shorter lines */
  @media (max-width: 520px){
    :root{ --tcs-line-max: 9rem; --tcs-line-gap: 10px; }
  }
  
  /* ---------------------------------------------------------
     AUTO-APPLY (optional)
     Pick the ones you want; delete anything you don’t.
     --------------------------------------------------------- */
  
  /* Page titles */
  .entry-title{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--tcs-line-gap);
    text-align: center;
  }
  .entry-title::before,
  .entry-title::after{
    content: "";
    flex: 1 1 auto;
    max-width: var(--tcs-line-max);
    height: var(--tcs-line-thickness);
    border-radius: 999px;
    background: linear-gradient(to right, transparent, rgba(43,27,18,var(--tcs-line-alpha)), transparent);
  }
  .entry-title::before{
    background: linear-gradient(to right, transparent, rgba(43,27,18,var(--tcs-line-alpha)), rgba(198,162,74,.16), transparent);
  }
  .entry-title::after{
    background: linear-gradient(to right, transparent, rgba(198,162,74,.16), rgba(43,27,18,var(--tcs-line-alpha)), transparent);
  }


  h2.section-title{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--tcs-line-gap);
    text-align: center;
  }
  h2.section-title::before,
  h2.section-title::after{
    content: "";
    flex: 1 1 auto;
    max-width: var(--tcs-line-max);
    height: var(--tcs-line-thickness);
    border-radius: 999px;
    background: linear-gradient(to right, transparent, rgba(43,27,18,var(--tcs-line-alpha)), transparent);
  }
  h2.section-title::before{
    background: linear-gradient(to right, transparent, rgba(43,27,18,var(--tcs-line-alpha)), rgba(198,162,74,.16), transparent);
  }
  h2.section-title::after{
    background: linear-gradient(to right, transparent, rgba(198,162,74,.16), rgba(43,27,18,var(--tcs-line-alpha)), transparent);
  }



  .product_title::before,
  .product_title::after {
    background: none !important;
  }
  
  /* Cart totals title (if you like it there too) */
  .woocommerce-cart .cart_totals h2{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    text-align: center;
    border-bottom: 0 !important; /* remove your old divider line if needed */
    padding-bottom: 10px !important;
  }
  .woocommerce-cart .cart_totals h2::before,
  .woocommerce-cart .cart_totals h2::after{
    content:"";
    flex: 1 1 auto;
    max-width: 12rem;
    height: 1px;
    border-radius: 999px;
    background: linear-gradient(to right, transparent, rgba(43,27,18,.18), transparent);
  }
  

  .product_title.entry-title {
    display: flex;
    align-items: flex-start;
    justify-content: left;
    gap: var(--tcs-line-gap);
    text-align: left;
  }


  .product_title.entry-title::before,
  .product_title.entry-title::after {
    display: none !important;
  }



  /* =========================================================
   FIX: 3rd level dropdown (submenu inside submenu) not showing
   Cause: overflow:hidden on ul ul clips the flyout
   ========================================================= */

/* Allow nested submenu to render outside the 2nd-level panel */
.site-header .main-navigation ul ul{
    overflow: visible !important;
  }
  
  /* Make sure the parent <li> is positioning context */
  .site-header .main-navigation ul ul li{
    position: relative !important;
  }
  
  /* Position 3rd level as a flyout to the right */
  .site-header .main-navigation ul ul ul{
    top: 0 !important;
    left: 100% !important;
  }
  
  /* Show 3rd level on hover (desktop) */
  .site-header .main-navigation ul ul li:hover > ul{
    left: 100% !important;
  }
  
  /* Show 3rd level when Storefront adds .focus (mobile/keyboard) */
  .site-header .main-navigation ul ul li.focus > ul{
    left: 100% !important;
  }
  
  /* Small safety: don’t let Storefront “hide” it with left:-999em */
  .site-header .main-navigation ul ul ul{
    right: auto !important;
  }
  


  /* =========================================================
   FIX: dropdown visible without hover
   Enforce Storefront-like "hidden by default" + show on hover/focus
   (Desktop only)
   ========================================================= */
@media (min-width: 783px){

    /* 1) ALL submenus hidden by default */
    .site-header .main-navigation ul ul{
      position: absolute !important;
      top: 100% !important;
      left: -999em !important;
      min-width: 220px !important;
      width: max-content !important;
      max-width: min(320px, calc(100vw - 48px)) !important;
  
      opacity: 0 !important;
      visibility: hidden !important;
      pointer-events: none !important;
  
      /* keep your styling intact */
      display: block !important;
    }
  
    /* 2) Show 2nd level on hover/focus */
    .site-header .main-navigation ul li:hover > ul,
    .site-header .main-navigation ul li.focus > ul{
      left: 0 !important;
  
      opacity: 1 !important;
      visibility: visible !important;
      pointer-events: auto !important;
    }
  
    /* 3) 3rd level: flyout to the right, only when its parent is hover/focus */
    .site-header .main-navigation ul ul ul{
      top: 0 !important;
      left: -999em !important; /* hidden by default */
    }
  
    .site-header .main-navigation ul ul li:hover > ul,
    .site-header .main-navigation ul ul li.focus > ul{
      left: 100% !important;
  
      opacity: 1 !important;
      visibility: visible !important;
      pointer-events: auto !important;
    }

    /* Keep desktop submenu-parent arrows aligned inline with their labels. */
    .site-header .main-navigation ul ul li{
      width: 100% !important;
    }

    .site-header .main-navigation ul ul li > a{
      width: 100% !important;
      box-sizing: border-box !important;
    }

    .site-header .main-navigation ul ul li.menu-item-has-children > a{
      display: flex !important;
      align-items: center !important;
      justify-content: space-between !important;
      gap: 12px !important;
    }

    .site-header .main-navigation ul ul li.menu-item-has-children > a::after{
      margin-left: 12px !important;
      flex: 0 0 auto !important;
      display: inline-flex !important;
      align-items: center !important;
      line-height: 1 !important;
    }
  }
  

  .woocommerce-form-login__submit {
    margin-top: 15px !important;
  }

  #customer_login {
    margin-top: 30px !important;
  }


  .entry-header {
    margin-bottom: 30px !important;
  }


/* =========================================================
   EMPTY CART: align notice + button, fix button text color
   Scoped to empty cart only (no PHP/markup changes).
   ========================================================= */
.woocommerce-cart .woocommerce:has(.wc-empty-cart-message) {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}
.woocommerce-cart .woocommerce:has(.wc-empty-cart-message) .wc-empty-cart-message,
.woocommerce-cart .woocommerce:has(.wc-empty-cart-message) .return-to-shop {
  width: 100% !important;
  max-width: 400px !important;
}
.woocommerce-cart .woocommerce:has(.wc-empty-cart-message) .return-to-shop {
  margin-top: 8px !important;
  text-align: center !important;
}
.woocommerce-cart .return-to-shop a.button.wc-backward {
  color: #fff !important;
}
.woocommerce-cart .return-to-shop a.button.wc-backward:hover {
  color: var(--text) !important;
}

/* TCS — Mobile Cart: Bigger Square Thumbnails + better divided items */
@media (max-width: 782px) {
    .woocommerce-cart table.shop_table_responsive.cart td.product-thumbnail {
        width: 120px !important;
        min-width: 120px !important;
    }
    .woocommerce-cart table.shop_table_responsive.cart td.product-thumbnail img {
        width: 104px !important;
        height: 104px !important;
        min-width: 104px !important;
        min-height: 104px !important;
        object-fit: cover !important;
        border-radius: 12px !important;
    }
    .woocommerce-cart table.shop_table_responsive.cart tbody tr {
        padding-right: 16px !important;
    }
    .woocommerce-cart table.shop_table_responsive.cart tbody tr td {
        padding-top: 14px !important;
        padding-bottom: 14px !important;
    }
    /* Clear division between cart items */
    .woocommerce-cart table.shop_table_responsive.cart tbody tr {
        border-bottom: 1px solid rgba(42, 26, 18, 0.12) !important;
    }
    .woocommerce-cart table.shop_table_responsive.cart tbody tr:last-child {
        border-bottom: none !important;
    }
    .woocommerce-cart table.shop_table_responsive.cart tbody tr td {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
}

/* Changelog (refactor): • Merged two mobile filter overlay blocks into one (hidden unless .is-overlay-opened; wrapper position fixed). • Removed CART SUBTLE SURFACE block (overridden by glass). • Consolidated .woocommerce { padding:0; border:0 } into one rule. • Single #customer_login margin-top: 30px. • Fixed typo align-items: lefz → flex-start. • Removed commented-out blocks in cart_totals, #secondary, section 14 totals. • Overlay dialog: transform/transition none to avoid trapped overlay. • Preserved winning cascade (glass cart/checkout, submenu, empty cart). */



/* Legacy mini-cart flex/variation overrides removed.
   The active redesign is implemented in the later "MINI CART — approved redesign implementation" block. */




.sub-menu {
    background: var(--surface-form) !important;
    border: 1px solid rgba(43,27,18,.22) !important;
    box-shadow: 0 14px 30px rgba(43,27,18,.16) !important;
    border-radius: 14px !important;
    color: var(--text) !important;
    filter: var(--tcs-surface-filter) !important;
    margin-left: 2px !important;
}



/* =========================================================
   SINGLE PRODUCT TABS — FORCE HORIZONTAL TOP (Storefront-like)
   Put at VERY END of stylesheet
   ========================================================= */

body.single-product.woocommerce div.product .woocommerce-tabs{
  width: 100% !important;
}

/* Kill any "sidebar tabs" flex layout */
body.single-product.woocommerce div.product .woocommerce-tabs.wc-tabs-wrapper{
  display: block !important;         /* instead of flex */
}

/* Tabs row on top */
body.single-product.woocommerce div.product .woocommerce-tabs ul.tabs{
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 16px 0 !important;
  padding: 0 !important;

  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 10px !important;

  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Tabs items */
body.single-product.woocommerce div.product .woocommerce-tabs ul.tabs li{
  float: none !important;            /* Storefront sometimes floats tabs */
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;

  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Links look like “pills” (optional but nice with your theme) */
body.single-product.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  display: inline-block !important;
  padding: 8px 12px !important;
  border-radius: 999px !important;
  font-weight: 800 !important;
  text-decoration: none !important;

  background: rgba(255,255,255,.18) !important;
  border: 1px solid rgba(43,27,18,.14) !important;
}

/* Active tab */
body.single-product.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{
  background: rgba(198,162,74,.16) !important;
  border-color: rgba(198,162,74,.28) !important;
}

/* Content panels full width below */
body.single-product.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel{
  width: 100% !important;
  margin: 0 !important;
  padding-top: 0 !important;
}

/* Hide duplicate panel headings while keeping the tab navigation labels visible. */
body.single-product.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel > h2:first-child,
body.single-product.woocommerce div.product .woocommerce-tabs #reviews #comments > .woocommerce-Reviews-title:first-child{
  display: none !important;
}

/* If Storefront adds decorative lines/triangles */
body.single-product.woocommerce div.product .woocommerce-tabs ul.tabs::before,
body.single-product.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
body.single-product.woocommerce div.product .woocommerce-tabs ul.tabs li::after{
  display: none !important;
  content: none !important;
}

/* SINGLE PRODUCT TABS — spacing between tabs row and content */
body.single-product.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel{
    margin-top: 25px !important;   /* your requested margin */
    /*padding-top: 30px !important;  /* your requested top padding */
  }


/* =========================================================
   SINGLE PRODUCT — MAIN IMAGE BOX (border + centered image + thumbs)
   Desktop only (min-width: 783px). Mobile keeps default gallery look.
   ========================================================= */

@media (min-width: 783px) {
  /* Border around the box where the main/zoomed image is shown */
  body.single-product .woocommerce-product-gallery > .flex-viewport,
  body.single-product .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper {
    border: 1px solid var(--tcs-pcard-border) !important;
    border-radius: var(--tcs-pcard-radius) !important;
    overflow: hidden !important;
    padding: 14px !important;
    box-sizing: content-box !important; /* so FlexSlider inline height = content only; padding stays visible on slide change */
  }

  /* Zoomed image (hover) — slightly rounded */
  body.single-product .woocommerce-product-gallery .zoomImg {
    border-radius: var(--radius) !important;
  }

  body.single-product .woocommerce-product-gallery__image {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  /* Center additional images (thumbnails) below the main image box */
  body.single-product .woocommerce-product-gallery .flex-control-thumbs {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 8px !important;
    margin: 12px 0 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }
}





/* =========================================================
   SINGLE PRODUCT — "ADDITIONAL INFORMATION" ATTRIBUTES TABLE
   Matches TCS surfaces (glass/surface), rounded, tidy rows
   Paste at VERY END
   ========================================================= */

   body.single-product .woocommerce-product-attributes.shop_attributes{
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
  
    /* panel look */
    background: var(--tcs-glass-1) !important;
    border: 1px solid var(--tcs-glass-border) !important;
    border-radius: var(--radius-lg) !important;
    box-shadow: var(--tcs-glass-shadow) !important;
    overflow: hidden !important;
  
    -webkit-backdrop-filter: var(--tcs-glass-blur) !important;
    backdrop-filter: var(--tcs-glass-blur) !important;
  }
  
  /* Remove any theme default borders */
  body.single-product .woocommerce-product-attributes.shop_attributes,
  body.single-product .woocommerce-product-attributes.shop_attributes th,
  body.single-product .woocommerce-product-attributes.shop_attributes td{
    border: 0 !important;
  }
  
  /* Row separators */
  body.single-product .woocommerce-product-attributes.shop_attributes tr + tr th,
  body.single-product .woocommerce-product-attributes.shop_attributes tr + tr td{
    border-top: 1px solid var(--tcs-glass-line) !important;
  }
  
  /* Left labels */
  body.single-product .woocommerce-product-attributes-item__label{
    width: 34% !important;
    padding: 12px 14px !important;
  
    background: var(--tcs-glass-2) !important;
    color: rgba(36,20,14,.92) !important;
  
    font-family: "Noto Sans", Georgia, "Times New Roman", serif !important;
    font-weight: 800 !important;
    letter-spacing: .15px !important;
    text-transform: none !important;
  
    vertical-align: top !important;
  }
  
  /* Right values */
  body.single-product .woocommerce-product-attributes-item__value{
    padding: 12px 14px !important;
    background: transparent !important;
  
    color: rgba(36,20,14,.86) !important;
    font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
    font-weight: 650 !important;
    line-height: 1.45 !important;
  }
  
  /* Kill default <p> margins inside value cells */
  body.single-product .woocommerce-product-attributes-item__value p{
    margin: 0 !important;
  }
  
  /* Optional: make comma-separated values breathe a bit */
  body.single-product .woocommerce-product-attributes-item__value{
    word-break: break-word;
  }
  
  /* Rounded corners for the first/last cells (since we use separate borders) */
  body.single-product .woocommerce-product-attributes.shop_attributes tr:first-child th{
    border-top-left-radius: var(--radius-lg) !important;
  }
  body.single-product .woocommerce-product-attributes.shop_attributes tr:first-child td{
    border-top-right-radius: var(--radius-lg) !important;
  }
  body.single-product .woocommerce-product-attributes.shop_attributes tr:last-child th{
    border-bottom-left-radius: var(--radius-lg) !important;
  }
  body.single-product .woocommerce-product-attributes.shop_attributes tr:last-child td{
    border-bottom-right-radius: var(--radius-lg) !important;
  }
  
  /* Mobile: stack label/value for better readability */
  @media (max-width: 620px){
    body.single-product .woocommerce-product-attributes.shop_attributes,
    body.single-product .woocommerce-product-attributes.shop_attributes tbody,
    body.single-product .woocommerce-product-attributes.shop_attributes tr,
    body.single-product .woocommerce-product-attributes-item__label,
    body.single-product .woocommerce-product-attributes-item__value{
      display: block !important;
      width: 100% !important;
    }
  
    body.single-product .woocommerce-product-attributes.shop_attributes tr{
      padding: 10px 12px !important;
    }
  
    body.single-product .woocommerce-product-attributes-item__label{
      border-radius: 12px !important;
      padding: 10px 12px !important;
      margin-bottom: 6px !important;
    }
  
    body.single-product .woocommerce-product-attributes-item__value{
      padding: 0 12px 10px 12px !important;
    }
  
    /* Replace row borders with a subtle divider between stacked items */
    body.single-product .woocommerce-product-attributes.shop_attributes tr + tr{
      border-top: 1px solid var(--tcs-glass-line) !important;
    }
    body.single-product .woocommerce-product-attributes.shop_attributes tr + tr th,
    body.single-product .woocommerce-product-attributes.shop_attributes tr + tr td{
      border-top: 0 !important;
    }
  }


body.single-product 
.woocommerce-product-attributes.shop_attributes{
    box-shadow: none !important;
}

.woocommerce-tabs {
    padding-top: 0px !important;
}










  /* =========================================================
   WooPSPro sliders: full-bleed product images (SAFE for Slick)
   - does NOT change slick-slide widths
   - cancels card padding only for the image
   ========================================================= */

:root{
    /* set this to whatever padding your cards use (often 12px / 14px / 16px) */
    --tcs-card-pad: 14px;
  }
  
  /* Make sure the product link doesn't add its own padding */
  .woopspro-product-slider ul.products li.product > a.woocommerce-loop-product__link,
  .woopspro-product-slider ul.products li.product > a.woocommerce-LoopProduct-link{
    display: block;
    padding: 0 !important;
    margin: 0 !important;
  }
  
  /* Full-bleed image: negate card padding only for the image area */
  .woopspro-product-slider ul.products li.product > a.woocommerce-loop-product__link > img,
  .woopspro-product-slider ul.products li.product > a.woocommerce-LoopProduct-link > img{
    display: block !important;
    padding: 0 !important;
  
    /* this is the trick */
    margin: calc(-1 * var(--tcs-card-pad)) calc(-1 * var(--tcs-card-pad)) 0 !important;
    width: calc(100% + (var(--tcs-card-pad) * 2)) !important;
    max-width: none !important;
  }
  
  /* Optional: if your cards have rounded corners, keep image corners matching */
  .woopspro-product-slider ul.products li.product{
    overflow: hidden; /* remove this line if you notice any clipping issues */
  }

/* =========================================================
   SINGLE PRODUCT — PURCHASE FORM CONTROLS
   Keep variation selects, custom fields, quantity, and CTA
   in one shared control family without touching other Woo forms.
   ========================================================= */

body.single-product.woocommerce div.product form.cart{
  --tcs-product-control-height: 52px;
  --tcs-product-control-radius: 12px;
  --tcs-product-control-padding-x: 14px;
  --tcs-product-control-gap: 20px;
  --tcs-product-cta-separation: 10px;
  --tcs-product-quantity-width: 152px;
  --tcs-product-cta-width: 320px;
  margin-top: 1.6rem;
}

body.single-product.woocommerce div.product form.cart table.variations{
  width: 100%;
  margin: 0 0 .9rem;
  border: 0;
}

body.single-product.woocommerce div.product form.cart table.variations tbody,
body.single-product.woocommerce div.product form.cart table.variations tr,
body.single-product.woocommerce div.product form.cart table.variations th,
body.single-product.woocommerce div.product form.cart table.variations td{
  display: block;
  width: 100%;
}

body.single-product.woocommerce div.product form.cart table.variations td{
  padding: 0;
  border: 0;
}

body.single-product.woocommerce div.product form.cart table.variations th.label,
body.single-product.woocommerce div.product form.cart table.variations td.label{
  padding: 0 0 7px;
}

body.single-product.woocommerce div.product form.cart table.variations td.value{
  display: grid;
  gap: 8px;
  margin: 0;
}

body.single-product.woocommerce div.product form.cart table.variations .label label,
body.single-product.woocommerce div.product form.cart .tcs-wcpf-field-label{
  display: block;
  margin: 0;
  color: rgba(36,20,14,.96);
  font-size: 1rem;
  font-weight: 800 !important;
  line-height: 1.45;
}

body.single-product.woocommerce div.product form.cart table.variations td.value .reset_variations{
  display: inline-flex;
  align-items: center;
  width: fit-content;
  color: var(--wood-3);
  margin-top: 2px;
  font-size: .9rem;
  font-weight: 700;
  line-height: 1.3;
  text-decoration: none;
}

body.single-product.woocommerce div.product form.cart table.variations td.value .reset_variations:hover{
  color: var(--brass);
}

body.single-product.woocommerce div.product form.cart table.variations select,
body.single-product.woocommerce div.product form.cart .tcs-wcpf-input,
body.single-product.woocommerce div.product form.cart .quantity .qty{
  width: 100%;
  max-width: none;
  color: var(--text) !important;
  border: 1px solid rgba(43,27,18,.18) !important;
  border-radius: var(--tcs-product-control-radius) !important;
  background-color: rgba(255,255,255,.30) !important;
  box-shadow: inset 0 1px 2px rgba(0,0,0,.08) !important;
  transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}

body.single-product.woocommerce div.product form.cart table.variations select,
body.single-product.woocommerce div.product form.cart .tcs-wcpf-field-text .tcs-wcpf-input,
body.single-product.woocommerce div.product form.cart .tcs-wcpf-field-file .tcs-wcpf-file,
body.single-product.woocommerce div.product form.cart .quantity .qty{
  min-height: var(--tcs-product-control-height) !important;
}

body.single-product.woocommerce div.product form.cart table.variations select{
  padding: 0 48px 0 var(--tcs-product-control-padding-x) !important;
  background-position: right 16px center !important;
  background-size: 14px 14px !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  border-radius: var(--tcs-product-control-radius) !important;
}

body.single-product.woocommerce div.product form.cart .tcs-wcpf-field-text .tcs-wcpf-input,
body.single-product.woocommerce div.product form.cart .tcs-wcpf-field-file .tcs-wcpf-file,
body.single-product.woocommerce div.product form.cart .quantity .qty{
  padding: 12px var(--tcs-product-control-padding-x) !important;
  font-size: 1rem !important;
  line-height: 1.35 !important;
}

body.single-product.woocommerce div.product form.cart .tcs-wcpf-product-fields{
  gap: var(--tcs-product-control-gap);
  width: 100%;
  align-self: stretch;
}

body.single-product.woocommerce div.product form.cart .tcs-wcpf-product-fields .tcs-wcpf-field{
  gap: 9px;
  width: 100%;
  align-self: stretch;
}

body.single-product.woocommerce div.product form.cart .tcs-wcpf-field-textarea .tcs-wcpf-input{
  min-height: 138px;
  padding: 14px var(--tcs-product-control-padding-x) !important;
  font-size: 1rem !important;
  line-height: 1.55 !important;
  resize: vertical;
}

body.single-product.woocommerce div.product form.cart .tcs-wcpf-input::placeholder{
  color: rgba(110,87,71,.88);
  opacity: 1;
}

body.single-product.woocommerce div.product form.cart table.variations select:hover,
body.single-product.woocommerce div.product form.cart .tcs-wcpf-input:hover,
body.single-product.woocommerce div.product form.cart .quantity .qty:hover{
  border-color: rgba(139,99,64,.30) !important;
}

body.single-product.woocommerce div.product form.cart table.variations select:focus,
body.single-product.woocommerce div.product form.cart .tcs-wcpf-input:focus,
body.single-product.woocommerce div.product form.cart .quantity .qty:focus{
  background-color: rgba(255,255,255,.40) !important;
  border-color: var(--wood-focus) !important;
  box-shadow: inset 0 1px 2px rgba(0,0,0,.08), 0 0 0 3px var(--control-ring) !important;
}

body.single-product.woocommerce div.product form.cart .tcs-wcpf-field-file .tcs-wcpf-file{
  padding-inline-end: 12px !important;
}

body.single-product.woocommerce div.product form.cart .tcs-wcpf-field-file .tcs-wcpf-file::file-selector-button,
body.single-product.woocommerce div.product form.cart .tcs-wcpf-field-file .tcs-wcpf-file::-webkit-file-upload-button{
  margin-inline-end: 12px;
  padding: 10px 16px;
  border: 0;
  border-radius: 12px;
  background: linear-gradient(180deg, var(--wood-2), var(--wood-3));
  color: #fff;
  font-weight: 700;
  cursor: pointer;
}

body.single-product.woocommerce div.product form.cart .tcs-wcpf-field-file .tcs-wcpf-file:hover::file-selector-button,
body.single-product.woocommerce div.product form.cart .tcs-wcpf-field-file .tcs-wcpf-file:hover::-webkit-file-upload-button{
  background: linear-gradient(180deg, #e2c97a, var(--brass));
  color: rgba(36,20,14,.96);
}

body.single-product.woocommerce div.product form.cart .tcs-wcpf-file-preview{
  margin-top: 12px;
  padding: 14px;
}

body.single-product.woocommerce div.product form.cart .tcs-wcpf-file-preview-inner{
  gap: 12px;
}

body.single-product.woocommerce div.product form.cart .single_variation_wrap{
  margin-top: 0;
}

body.single-product.woocommerce div.product form.cart .single_variation{
  margin: 0;
}

body.single-product.woocommerce div.product form.cart .single_variation:empty{
  display: none;
}

body.single-product.woocommerce div.product form.cart .single_variation:not(:empty){
  display: block;
  margin: 8px 0 14px;
  text-align: center;
}

body.single-product.woocommerce div.product form.cart .single_variation .woocommerce-variation-price{
  display: block;
}

body.single-product.woocommerce div.product form.cart .single_variation .price{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .3rem;
  margin: 0 auto;
  color: var(--accent) !important;
  font-size: 1.45rem !important;
  font-weight: 800 !important;
  line-height: 1.2;
}

body.single-product.woocommerce div.product form.cart .single_variation .price .amount{
  font-size: inherit !important;
}

body.single-product.woocommerce div.product form.cart .variations_button{
  display: grid !important;
  grid-template-columns: var(--tcs-product-quantity-width) minmax(0, 1fr);
  gap: var(--tcs-product-control-gap);
  align-items: end;
  justify-content: stretch;
  justify-items: stretch;
  width: 100%;
}

body.single-product.woocommerce div.product form.cart .variations_button > .woocommerce-variation,
body.single-product.woocommerce div.product form.cart .variations_button > .woocommerce-variation-description,
body.single-product.woocommerce div.product form.cart .variations_button > .woocommerce-variation-price,
body.single-product.woocommerce div.product form.cart .variations_button > .woocommerce-variation-availability,
body.single-product.woocommerce div.product form.cart .variations_button > .tcs-wcpf-product-fields,
body.single-product.woocommerce div.product form.cart .variations_button > input[name="variation_id"]{
  grid-column: 1 / -1;
}

body.single-product.woocommerce div.product form.cart .tcs-wcpf-product-fields{
  margin: 0;
  width: 100%;
  justify-self: stretch;
}

body.single-product.woocommerce div.product form.cart .tcs-wcpf-product-fields .tcs-wcpf-field,
body.single-product.woocommerce div.product form.cart .tcs-wcpf-product-fields .tcs-wcpf-input{
  width: 100%;
}

body.single-product.woocommerce div.product form.variations_form .variations_button > .tcs-wcpf-product-fields{
  margin-top: -2px;
}

body.single-product.woocommerce div.product form.cart .quantity{
  width: 100%;
  max-width: var(--tcs-product-quantity-width);
  margin: var(--tcs-product-cta-separation) 0 0;
  justify-self: stretch;
}

body.single-product.woocommerce div.product form.cart .tcs-quantity-stepper{
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 44px;
  align-items: stretch;
  width: 100%;
  min-height: var(--tcs-product-control-height);
  border: 1px solid rgba(43,27,18,.18);
  border-radius: var(--tcs-product-control-radius);
  background: rgba(255,255,255,.32);
  box-shadow: inset 0 1px 2px rgba(0,0,0,.08);
  overflow: hidden;
  transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}

body.single-product.woocommerce div.product form.cart .tcs-quantity-stepper:hover{
  border-color: rgba(139,99,64,.30);
}

body.single-product.woocommerce div.product form.cart .tcs-quantity-stepper:focus-within{
  background-color: rgba(255,255,255,.40);
  border-color: var(--wood-focus);
  box-shadow: inset 0 1px 2px rgba(0,0,0,.08), 0 0 0 3px var(--control-ring);
}

body.single-product.woocommerce div.product form.cart .tcs-quantity-stepper__button{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 100%;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: linear-gradient(180deg, rgba(185,145,101,.18), rgba(161,124,84,.12));
  color: rgba(36,20,14,.94);
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  transition: background-color .18s ease, color .18s ease, opacity .18s ease;
}

body.single-product.woocommerce div.product form.cart .tcs-quantity-stepper__button + .qty{
  border-left: 1px solid rgba(43,27,18,.12) !important;
}

body.single-product.woocommerce div.product form.cart .tcs-quantity-stepper .qty + .tcs-quantity-stepper__button{
  border-left: 1px solid rgba(43,27,18,.12);
}

body.single-product.woocommerce div.product form.cart .tcs-quantity-stepper__button:hover:not(:disabled),
body.single-product.woocommerce div.product form.cart .tcs-quantity-stepper__button:focus-visible{
  background: linear-gradient(180deg, rgba(226,201,122,.42), rgba(193,150,72,.28));
  color: rgba(36,20,14,.98);
  outline: none;
}

body.single-product.woocommerce div.product form.cart .tcs-quantity-stepper__button:disabled{
  opacity: .45;
  cursor: not-allowed;
}

body.single-product.woocommerce div.product form.cart .quantity .qty{
  width: 100%;
  min-width: 0;
  padding: 12px 8px !important;
  text-align: center;
  font-weight: 700 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  appearance: textfield;
  -moz-appearance: textfield;
}

body.single-product.woocommerce div.product form.cart .quantity .qty::-webkit-outer-spin-button,
body.single-product.woocommerce div.product form.cart .quantity .qty::-webkit-inner-spin-button{
  -webkit-appearance: none;
  margin: 0;
}

body.single-product.woocommerce div.product form.cart .single_add_to_cart_button{
  min-height: var(--tcs-product-control-height);
  margin: var(--tcs-product-cta-separation) 0 0 !important;
  padding: 12px 30px !important;
  width: 100% !important;
  min-width: 0;
  max-width: none;
  justify-self: stretch;
}

@media (min-width: 783px){
  body.single-product.woocommerce div.product form.cart:not(.variations_form){
    display: grid;
    grid-template-columns: var(--tcs-product-quantity-width) minmax(0, 1fr);
    gap: var(--tcs-product-control-gap);
    align-items: end;
    justify-items: stretch;
    width: 100%;
    justify-content: stretch;
  }

  body.single-product.woocommerce div.product form.cart:not(.variations_form) .tcs-wcpf-product-fields{
    grid-column: 1 / -1;
    justify-self: stretch;
  }

  body.single-product.woocommerce div.product form.cart:not(.variations_form) .quantity{
    width: 100%;
    max-width: var(--tcs-product-quantity-width);
  }

  body.single-product.woocommerce div.product form.cart:not(.variations_form) .single_add_to_cart_button{
    width: min(100%, var(--tcs-product-cta-width)) !important;
    max-width: var(--tcs-product-cta-width);
    justify-self: start;
  }

  body.single-product.woocommerce div.product form.cart .variations_button .single_add_to_cart_button{
    width: min(100%, var(--tcs-product-cta-width)) !important;
    max-width: var(--tcs-product-cta-width);
    justify-self: start;
  }

  body.single-product.woocommerce div.product form.cart.tcs-cart--quantity-only{
    grid-template-columns: var(--tcs-product-quantity-width) minmax(0, var(--tcs-product-cta-width));
    column-gap: var(--tcs-product-control-gap);
    row-gap: 0;
    justify-content: start;
    justify-items: stretch;
  }

  body.single-product.woocommerce div.product form.cart.tcs-cart--quantity-only .quantity{
    grid-column: 1;
    margin-top: 0;
    justify-self: start;
  }

  body.single-product.woocommerce div.product form.cart.tcs-cart--quantity-only .single_add_to_cart_button{
    grid-column: 2;
    margin-top: 0 !important;
    width: min(100%, var(--tcs-product-cta-width)) !important;
    max-width: var(--tcs-product-cta-width);
    justify-self: start;
  }
}

@media (max-width: 782px){
  body.single-product.woocommerce div.product div.images,
  body.single-product.woocommerce div.product div.summary{
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    clear: both !important;
  }

  body.single-product.woocommerce div.product form.cart{
    --tcs-product-control-height: 52px;
    --tcs-product-control-radius: 12px;
    --tcs-product-control-padding-x: 14px;
    --tcs-product-control-gap: 24px;
    --tcs-product-cta-separation: 14px;
  }

  body.single-product.woocommerce div.product form.cart:not(.variations_form){
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
    row-gap: 24px;
  }

  body.single-product.woocommerce div.product form.cart .variations_button{
    grid-template-columns: minmax(0, 1fr);
    row-gap: 24px;
  }

  body.single-product.woocommerce div.product form.cart .quantity{
    max-width: none;
  }

  body.single-product.woocommerce div.product form.cart .single_add_to_cart_button{
    width: 100% !important;
    min-width: 0;
  }
}


/* =========================================================
   SINGLE PRODUCT REVIEWS — FORM INPUTS
   Match checkout / My Account input look (glass, soft surface).
   Only form controls inside #review_form; no review list or buttons.
   ========================================================= */

.woocommerce #review_form textarea,
.woocommerce #review_form input.input-text,
.woocommerce #review_form input[type="text"],
.woocommerce #review_form input[type="email"],
.woocommerce #review_form select {
  background: rgba(255,255,255,.30) !important;
  border: 1px solid rgba(43,27,18,.18) !important;
  border-radius: 12px !important;
  box-shadow: inset 0 1px 2px rgba(0,0,0,.08) !important;
  color: var(--text) !important;
}

.woocommerce #review_form textarea:focus,
.woocommerce #review_form input.input-text:focus,
.woocommerce #review_form input[type="text"]:focus,
.woocommerce #review_form input[type="email"]:focus,
.woocommerce #review_form select:focus {
  outline: none !important;
  background: rgba(255,255,255,.40) !important;
  border-color: var(--wood-focus) !important;
  box-shadow: inset 0 1px 2px rgba(0,0,0,.08), 0 0 0 3px var(--control-ring) !important;
}


/* =========================================================
   SINGLE PRODUCT — REVIEW STAR RATING COLOR
   Replace WooCommerce default purple with theme brass/gold.
   Covers: product review display, review form selector, loops.
   ========================================================= */

/* Read-only star rating (product page, loops): empty track */
.woocommerce .star-rating {
  color: var(--wood-3) !important;
}

/* Read-only: filled portion */
.woocommerce .star-rating span::before {
  color: var(--brass) !important;
}

/* Review form: star selector — empty state (subtle brown/gold) */
.woocommerce p.stars a::before {
  color: var(--wood-3) !important;
}

/* Review form: hover — brighter brass */
.woocommerce p.stars:hover a::before {
  color: var(--brass) !important;
}

/* Review form: selected/active star */
.woocommerce p.stars.selected a.active::before,
.woocommerce p.stars a.active::before {
  color: var(--brass) !important;
}

/* =========================================================
   STOREFRONT HANDHELD FOOTER BAR — BRANDED ICON COLOR
   ========================================================= */
@media (max-width: 767px){
  .storefront-handheld-footer-bar ul li > a::before{
    color: var(--wood-3) !important;
  }

  .storefront-handheld-footer-bar ul li > a:hover::before,
  .storefront-handheld-footer-bar ul li > a:focus-visible::before,
  .storefront-handheld-footer-bar ul li.search.active > a::before{
    color: var(--brass) !important;
  }
}

/* =========================================================
   MOBILE MENU (handheld) — compact + consistent
   - Last-in-file overrides to avoid cascade fights
   ========================================================= */
@media (max-width: 767px){
  :root{
    --tcs-handheld-toggle-size: 32px;
  }

  /* Keep header/nav alignment consistent (don’t remove container padding) */
  #site-navigation{
    width: 100% !important;
  }

  body:not(.tcs-mobile-sticky-active) #site-navigation{
    width: 100% !important;
  }

  body:not(.tcs-mobile-sticky-active) #site-navigation > .menu-toggle{
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    align-self: center !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: max-content !important;
    max-width: calc(100% - 32px) !important;
    min-width: 96px !important;
    min-height: 40px !important;
    margin: 0 12px 0 0 !important;
    padding: 10px 16px 10px 44px !important;
    border-radius: 12px !important;
    border: 1px solid rgba(122,86,53,.22) !important;
    background: linear-gradient(180deg, #b99165 0%, #a17c54 100%) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.24),
      0 10px 20px rgba(92,60,31,.16) !important;
    box-sizing: border-box !important;
    color: #f8f0e5 !important;
    text-align: left !important;
    float: none !important;
  }

  body:not(.tcs-mobile-sticky-active) #site-navigation > .menu-toggle::before,
  body:not(.tcs-mobile-sticky-active) #site-navigation > .menu-toggle::after,
  body:not(.tcs-mobile-sticky-active) #site-navigation > .menu-toggle span::before{
    left: 16px !important;
  }

  body:not(.tcs-mobile-sticky-active) #site-navigation.toggled .primary-navigation,
  body:not(.tcs-mobile-sticky-active) #site-navigation.toggled .handheld-navigation{
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    margin-top: 8px !important;
    width: 100% !important;
  }

  body:not(.tcs-mobile-sticky-active) #site-navigation > .menu-toggle span{
    display: inline-block !important;
    font-size: .95em !important;
    font-family: inherit !important;
    font-weight: 600 !important;
    letter-spacing: normal !important;
    color: currentColor !important;
    position: static !important;
    padding-left: 0 !important;
    text-indent: 0 !important;
    width: auto !important;
    height: auto !important;
    overflow: visible !important;
    line-height: 1 !important;
    vertical-align: middle !important;
    clip: auto !important;
    clip-path: none !important;
  }

  /* Center mobile menu block (avoids “cut off” feel if menu isn't full viewport width) */
  #site-navigation.toggled .primary-navigation ul,
  .handheld-navigation ul{
    max-width: 560px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Primary navigation (Storefront) on mobile: ensure selected row is full width */
  #site-navigation.toggled .primary-navigation,
  #site-navigation.toggled .primary-navigation ul{
    width: 100% !important;
  }
  #site-navigation.toggled .primary-navigation ul{
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    display: block !important;
  }
  #site-navigation.toggled .primary-navigation li{
    width: 100% !important;
    position: relative !important;
    display: block !important;
  }
  #site-navigation.toggled .primary-navigation li > a{
    display: block !important;
    width: 100% !important;
    background: transparent !important;
    border-radius: 0 !important;
  }
  #site-navigation.toggled .primary-navigation li.current-menu-item::before,
  #site-navigation.toggled .primary-navigation li.current_page_item::before{
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background: #F3EBDC !important;
    z-index: 0 !important;
    pointer-events: none !important;
  }
  #site-navigation.toggled .primary-navigation li.current-menu-item > a,
  #site-navigation.toggled .primary-navigation li.current_page_item > a{
    position: relative !important;
    z-index: 1 !important;
  }
  /* Override Storefront “current item” link background so it can’t cut off */
  #site-navigation.toggled .primary-navigation .current-menu-item > a,
  #site-navigation.toggled .primary-navigation .current_page_item > a,
  #site-navigation.toggled .primary-navigation .current-menu-ancestor > a{
    background: transparent !important;
  }

  /* Container */
  .handheld-navigation{
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Reset list spacing */
  .handheld-navigation ul{
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
  }

  /* Each row: label + toggle button */
  .handheld-navigation li{
    display: grid !important;
    grid-template-columns: 1fr var(--tcs-handheld-toggle-size) !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    border-bottom: 1px solid var(--border-2) !important;
    position: relative !important;
  }
  .handheld-navigation li:last-child{
    border-bottom: 0 !important;
  }

  .handheld-navigation li > a{
    display: flex !important;
    align-items: center !important;
    padding: 11px 12px !important;
    padding-right: 6px !important;
    margin: 0 !important;
    border-radius: 0 !important;
    text-decoration: none !important;

    font-family: "Noto Sans", "Cormorant Garamond", "Playfair Display", Georgia, serif !important;
    font-size: 15px !important;
    font-weight: 650 !important;
    letter-spacing: .14px !important;
    line-height: 1.1 !important;
    color: rgba(36,20,14,.92) !important;
    background: transparent !important;
  }

  .handheld-navigation li > a:hover,
  .handheld-navigation li > a:focus{
    background: transparent !important;
    color: var(--accent) !important;
    outline: none !important;
  }

  /* Selected background as full-width layer (prevents “cut off” on the right) */
  .handheld-navigation li.current-menu-item::before,
  .handheld-navigation li.current_page_item::before,
  .handheld-navigation li.current-menu-ancestor::before{
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background: #F3EBDC !important;
    z-index: 0 !important;
    pointer-events: none !important;
  }
  /* Don’t highlight dropdown parents as “selected” */
  .handheld-navigation li.current-menu-ancestor::before{
    background: transparent !important;
  }
  /* Ensure “current” styles don’t paint only the <a> width */
  .handheld-navigation li.current-menu-item > a,
  .handheld-navigation li.current_page_item > a,
  .handheld-navigation li.current-menu-ancestor > a{
    background: transparent !important;
    position: relative !important;
    z-index: 1 !important;
  }
  .handheld-navigation li.current-menu-item > button.dropdown-toggle,
  .handheld-navigation li.current_page_item > button.dropdown-toggle,
  .handheld-navigation li.current-menu-ancestor > button.dropdown-toggle{
    background: transparent !important;
    position: static !important;
    top: auto !important;
    right: auto !important;
    z-index: 1 !important;
  }

  /* Toggle button (caret) */
  .handheld-navigation button.dropdown-toggle{
    position: static !important;
    width: var(--tcs-handheld-toggle-size) !important;
    height: var(--tcs-handheld-toggle-size) !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 10px !important;
    background: transparent !important;
    border: 1px solid transparent !important;
    box-shadow: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    justify-self: end !important;
    align-self: center !important;
    box-sizing: border-box !important;
    transform: translateY(1px) !important; /* optical alignment with text */
  }
  .handheld-navigation button.dropdown-toggle:focus,
  .handheld-navigation button.dropdown-toggle:hover{
    border-color: rgba(43,27,18,.14) !important;
    outline: none !important;
  }
  .handheld-navigation button.dropdown-toggle::after{
    content: "▾" !important;
    font-size: 13px !important;
    line-height: 1 !important;
    color: rgba(36,20,14,.85) !important;
    transform: none !important;
  }
  .handheld-navigation button.dropdown-toggle.toggled-on::after{
    content: "▴" !important;
  }

  /* Submenus: compact dropdown-like indentation, no boxed border */
  .handheld-navigation ul ul{
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    border-radius: 0 !important;
    filter: none !important;
  }

  /* Storefront toggles submenus with .toggled-on on the <ul> */
  .handheld-navigation ul ul{
    display: none !important;
  }
  .handheld-navigation ul ul.toggled-on{
    display: block !important;
  }

  /* Indent child rows slightly to feel like dropdown */
  .handheld-navigation ul ul > li{
    border-bottom: 1px solid rgba(43,27,18,.08) !important;
  }
  .handheld-navigation ul ul > li > a{
    font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: .08px !important;
    padding: 10px 12px !important;
    padding-left: 22px !important; /* subtle “dropdown” offset */
  }

  /* Third level: slightly more offset */
  .handheld-navigation ul ul ul > li > a{
    padding-left: 30px !important;
  }
}

/* =========================================================
   MINI CART — approved redesign implementation
   ========================================================= */
@media (min-width: 768px){
    .site-header #site-header-cart:hover .widget_shopping_cart,
    .site-header #site-header-cart.focus .widget_shopping_cart{
        width: 520px !important;
        min-width: 520px !important;
    }
}

.site-header #site-header-cart .widget_shopping_cart{
    display: flex !important;
    flex-direction: column !important;
    max-height: min(78vh, calc(100vh - 96px)) !important;
    border-radius: 28px !important;
    box-shadow: 0 28px 80px rgba(43,27,18,.18) !important;
    overflow: hidden !important;
}

.site-header #site-header-cart .widget_shopping_cart .widget_shopping_cart_content{
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    min-height: 0 !important;
    padding: 0 !important;
}

.site-header #site-header-cart .widget_shopping_cart .woocommerce-mini-cart{
    flex: 1 1 auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 20px 24px 0 !important;
    list-style: none !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
}

.site-header #site-header-cart .widget_shopping_cart .woocommerce-mini-cart-item{
    position: relative !important;
    display: grid !important;
    grid-template-columns: 104px minmax(0,1fr) auto !important;
    gap: 18px !important;
    align-items: start !important;
    padding: 20px 0 !important;
    margin: 0 !important;
    border-top: 1px solid rgba(43,27,18,.08) !important;
    list-style: none !important;
}

.site-header #site-header-cart .widget_shopping_cart ul.product_list_widget li img,
.site-header #site-header-cart .widget_shopping_cart ul.cart_list li img{
    float: none !important;
    max-width: none !important;
    width: 104px !important;
    margin: 0 !important;
}

.site-header #site-header-cart .widget_shopping_cart ul.product_list_widget li > a:not(.remove),
.site-header #site-header-cart .widget_shopping_cart ul.cart_list li > a:not(.remove){
    margin: 0 !important;
    padding: 0 !important;
    line-height: inherit !important;
    text-decoration: none !important;
}

.site-header #site-header-cart .widget_shopping_cart .woocommerce-mini-cart-item:first-child{
    border-top: 0 !important;
    padding-top: 4px !important;
}

.site-header #site-header-cart .widget_shopping_cart .tcs-mini-cart__media-link{
    display: block !important;
    width: 104px !important;
    margin: 0 !important;
    padding: 0 !important;
    text-decoration: none !important;
}

.site-header #site-header-cart .widget_shopping_cart .tcs-mini-cart__media-link img{
    display: block !important;
    width: 104px !important;
    height: 118px !important;
    object-fit: cover !important;
    border-radius: 24px !important;
    border: 1px solid rgba(43,27,18,.08) !important;
    box-shadow: 0 14px 28px rgba(43,27,18,.10) !important;
}

.site-header #site-header-cart .widget_shopping_cart .tcs-mini-cart__content{
    grid-column: 2 !important;
    margin-top: 2px !important;
    min-width: 0 !important;
}

.site-header #site-header-cart .widget_shopping_cart .tcs-mini-cart__topline{
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 14px !important;
    padding-right: 0 !important;
}

.site-header #site-header-cart .widget_shopping_cart .tcs-mini-cart__title-wrap{
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

.site-header #site-header-cart .widget_shopping_cart .tcs-mini-cart__title{
    display: inline-block !important;
    color: var(--text) !important;
    font-family: "Noto Sans", Georgia, "Times New Roman", serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.28 !important;
    margin: 0 !important;
    padding: 2px 0 0 !important;
    text-decoration: none !important;
}

.site-header #site-header-cart .widget_shopping_cart .tcs-mini-cart__title:hover{
    color: var(--wood-3) !important;
}

.site-header #site-header-cart .widget_shopping_cart .tcs-mini-cart__price-stack{
    flex-shrink: 0 !important;
    min-width: 66px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    gap: 6px !important;
    margin-left: auto !important;
    padding-left: 12px !important;
    text-align: right !important;
}

.site-header #site-header-cart .widget_shopping_cart .tcs-mini-cart__price{
    display: block !important;
    color: var(--text) !important;
    font-size: 15px !important;
    line-height: 1.2 !important;
}

.site-header #site-header-cart .widget_shopping_cart .tcs-mini-cart__qty{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 30px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    background: var(--wood-bg-subtle) !important;
    color: var(--wood-3) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
}

.site-header #site-header-cart .widget_shopping_cart .tcs-mini-cart__meta{
    margin-top: 14px !important;
    min-width: 0 !important;
}

.site-header #site-header-cart .widget_shopping_cart .tcs-mini-cart__meta a{
    line-height: inherit !important;
    overflow-wrap: anywhere !important;
}

.site-header #site-header-cart .widget_shopping_cart .tcs-mini-cart__meta dl.variation{
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.site-header #site-header-cart .widget_shopping_cart .tcs-mini-cart__meta dl.variation dt,
.site-header #site-header-cart .widget_shopping_cart .tcs-mini-cart__meta dl.variation dd{
    display: block !important;
    margin: 0 !important;
    min-width: 0 !important;
    width: 100% !important;
}

.site-header #site-header-cart .widget_shopping_cart .tcs-mini-cart__meta dl.variation dt{
    color: var(--muted) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    white-space: normal !important;
}

.site-header #site-header-cart .widget_shopping_cart .tcs-mini-cart__meta dl.variation dd,
.site-header #site-header-cart .widget_shopping_cart .tcs-mini-cart__meta dl.variation dd p{
    color: rgba(36,20,14,.82) !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
}

.site-header #site-header-cart .widget_shopping_cart .tcs-mini-cart__meta dl.variation dd p{
    margin: 0 !important;
}

.site-header #site-header-cart .widget_shopping_cart .tcs-mini-cart__meta dl.variation dt + dd{
    margin-top: -4px !important;
}

.site-header #site-header-cart .widget_shopping_cart a.remove.tcs-mini-cart__remove{
    grid-column: 3 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    align-self: start !important;
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    z-index: auto !important;
    float: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    min-height: 34px !important;
    margin: 0 !important;
    padding: 0 12px 0 10px !important;
    border: 1px solid rgba(144,74,47,.18) !important;
    border-radius: 999px !important;
    background: rgba(255,248,244,.92) !important;
    color: #8c4a32 !important;
    font-size: 13px !important;
    line-height: 1 !important;
    text-indent: 0 !important;
    white-space: nowrap !important;
    overflow: visible !important;
    max-width: none !important;
    text-decoration: none !important;
    opacity: 1 !important;
}

.site-header #site-header-cart .widget_shopping_cart .tcs-mini-cart__media-link{
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
}

.site-header #site-header-cart .widget_shopping_cart .tcs-mini-cart__content{
    grid-column: 2 !important;
    grid-row: 1 / span 2 !important;
}

.site-header #site-header-cart .widget_shopping_cart .woocommerce-mini-cart-item > a.remove:not(.tcs-mini-cart__remove){
    display: none !important;
}

.site-header #site-header-cart .widget_shopping_cart a.remove.tcs-mini-cart__remove::before,
.site-header #site-header-cart .widget_shopping_cart a.remove.tcs-mini-cart__remove::after{
    content: none !important;
    display: none !important;
}

.site-header #site-header-cart .widget_shopping_cart a.remove.tcs-mini-cart__remove:hover{
    border-color: rgba(144,74,47,.38) !important;
    background: rgba(255,239,231,1) !important;
    color: #6f2f1c !important;
    transform: translateY(-1px) !important;
}

.site-header #site-header-cart .widget_shopping_cart .tcs-mini-cart__remove-icon{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 18px !important;
    height: 18px !important;
    border-radius: 50% !important;
    background: rgba(140,74,50,.12) !important;
    font-size: 16px !important;
}

.site-header #site-header-cart .widget_shopping_cart .tcs-mini-cart__remove-label{
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
}

.site-header #site-header-cart .widget_shopping_cart .tcs-mini-cart__title:focus-visible,
.site-header #site-header-cart .widget_shopping_cart .tcs-mini-cart__meta a:focus-visible,
.site-header #site-header-cart .widget_shopping_cart a.remove.tcs-mini-cart__remove:focus-visible,
.site-header #site-header-cart .widget_shopping_cart a.button:focus-visible{
    outline: 2px solid rgba(201,173,106,.78) !important;
    outline-offset: 3px !important;
}

.site-header #site-header-cart .widget_shopping_cart .woocommerce-mini-cart__total{
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    margin: 20px 0 0 !important;
    padding: 18px 30px 10px !important;
    border-top: 1px solid rgba(43,27,18,.08) !important;
    background: linear-gradient(180deg, rgba(255,255,255,.24), rgba(245,237,227,.72)) !important;
    color: var(--text) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
}

.site-header #site-header-cart .widget_shopping_cart .woocommerce-mini-cart__total strong{
    font-size: 18px !important;
}

.site-header #site-header-cart .widget_shopping_cart .woocommerce-mini-cart__buttons{
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 12px !important;
    margin: 0 !important;
    padding: 18px 24px 24px !important;
    background: linear-gradient(180deg, rgba(255,255,255,.24), rgba(245,237,227,.72)) !important;
}

.site-header #site-header-cart .widget_shopping_cart .woocommerce-mini-cart__buttons a.button{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 52px !important;
    margin: 0 !important;
    padding: 0 18px !important;
    border-radius: 16px !important;
    font-weight: 700 !important;
}

.site-header #site-header-cart .widget_shopping_cart .woocommerce-mini-cart__buttons a.button.checkout{
    box-shadow: 0 12px 22px rgba(105,71,41,.16) !important;
}

.site-header #site-header-cart .widget_shopping_cart .woocommerce-mini-cart__buttons a.button:not(.checkout){
    background: rgba(255,255,255,.76) !important;
    border: 1px solid rgba(43,27,18,.18) !important;
    color: var(--text) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.70) !important;
}

.site-header #site-header-cart .widget_shopping_cart .woocommerce-mini-cart__empty-message{
    margin: 0 !important;
    padding: 24px !important;
}

@media (max-width: 767px){
    .site-header #site-header-cart .widget_shopping_cart{
        max-height: min(82vh, calc(100vh - 72px)) !important;
    }

    .site-header #site-header-cart .widget_shopping_cart .woocommerce-mini-cart{
        padding: 18px 18px 0 !important;
    }

    .site-header #site-header-cart .widget_shopping_cart .woocommerce-mini-cart-item{
        grid-template-columns: 88px minmax(0,1fr) !important;
        padding: 18px 0 !important;
    }

    .site-header #site-header-cart .widget_shopping_cart .tcs-mini-cart__media-link,
    .site-header #site-header-cart .widget_shopping_cart .tcs-mini-cart__media-link img{
        width: 88px !important;
    }

    .site-header #site-header-cart .widget_shopping_cart .tcs-mini-cart__media-link img{
        height: 102px !important;
        border-radius: 20px !important;
    }

    .site-header #site-header-cart .widget_shopping_cart .tcs-mini-cart__topline{
        flex-direction: column !important;
    }

    .site-header #site-header-cart .widget_shopping_cart .tcs-mini-cart__price-stack{
        align-items: flex-start !important;
        text-align: left !important;
    }

    .site-header #site-header-cart .widget_shopping_cart a.remove.tcs-mini-cart__remove{
        grid-column: 2 !important;
        justify-self: start !important;
        margin-top: 6px !important;
    }

    .site-header #site-header-cart .widget_shopping_cart .tcs-mini-cart__remove-label{
        display: none !important;
    }

    .site-header #site-header-cart .widget_shopping_cart .woocommerce-mini-cart__total{
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    .site-header #site-header-cart .widget_shopping_cart .woocommerce-mini-cart__buttons{
        grid-template-columns: 1fr !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
    }
}

/* =========================================================
   CART REMOVE BUTTON — match mini-cart labeled pill
   ========================================================= */

.woocommerce-cart table.shop_table.shop_table_responsive.cart td.product-remove {
    width: 108px !important;
    min-width: 108px !important;
    max-width: 108px !important;
    vertical-align: middle !important;
    text-align: right !important;
}

.woocommerce-cart table.shop_table.shop_table_responsive.cart th.product-remove {
    width: 108px !important;
    min-width: 108px !important;
    text-align: right !important;
}

.woocommerce-cart table.shop_table.shop_table_responsive.cart td.product-remove a.remove.tcs-cart-remove {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    min-height: 34px !important;
    margin: 0 auto !important;
    padding: 0 12px 0 10px !important;
    border: 1px solid rgba(144,74,47,.18) !important;
    border-radius: 999px !important;
    background: rgba(255,248,244,.92) !important;
    color: #8c4a32 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: .04em !important;
    text-decoration: none !important;
    text-indent: 0 !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    box-shadow: 0 8px 18px rgba(43,27,18,.06) !important;
    overflow: visible !important;
    opacity: 1 !important;
}

@media (min-width: 783px) {
    .woocommerce-cart table.shop_table.shop_table_responsive.cart th.product-remove,
    .woocommerce-cart table.shop_table.shop_table_responsive.cart td.product-remove {
        width: 132px !important;
        min-width: 132px !important;
        max-width: 132px !important;
        padding-right: 16px !important;
    }

    .woocommerce-cart table.shop_table.shop_table_responsive.cart td.product-remove a.remove.tcs-cart-remove {
        min-height: 36px !important;
        margin: 0 0 0 auto !important;
        padding: 0 14px 0 12px !important;
        font-size: 13px !important;
        box-shadow: 0 10px 20px rgba(43,27,18,.08) !important;
    }
}

.woocommerce-cart table.shop_table.shop_table_responsive.cart td.product-remove a.remove.tcs-cart-remove::before,
.woocommerce-cart table.shop_table.shop_table_responsive.cart td.product-remove a.remove.tcs-cart-remove::after {
    content: none !important;
    display: none !important;
}

.woocommerce-cart .tcs-cart-remove__icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 18px !important;
    height: 18px !important;
    border-radius: 50% !important;
    background: rgba(140,74,50,.12) !important;
    font-size: 16px !important;
}

.woocommerce-cart .tcs-cart-remove__label {
    display: inline-block !important;
}

.woocommerce-checkout #ship-to-different-address,
.woocommerce-checkout #ship-to-different-address label,
.woocommerce-checkout #ship-to-different-address .woocommerce-form__label,
.woocommerce-checkout #ship-to-different-address .woocommerce-form__label span {
    font-family: inherit !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
}

.woocommerce-checkout #ship-to-different-address {
    margin: 0 0 1rem !important;
}

.woocommerce-checkout #ship-to-different-address .woocommerce-form__label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.65rem !important;
}

.woocommerce-cart table.shop_table.shop_table_responsive.cart td.product-remove a.remove.tcs-cart-remove:hover {
    border-color: rgba(144,74,47,.38) !important;
    background: rgba(255,239,231,1) !important;
    color: #6f2f1c !important;
    transform: translateY(-1px) !important;
}

.woocommerce-cart table.shop_table.shop_table_responsive.cart td.product-remove a.remove.tcs-cart-remove:focus-visible {
    outline: 2px solid rgba(201,173,106,.78) !important;
    outline-offset: 3px !important;
}

.woocommerce-cart .cart_totals .shipping td,
.woocommerce-cart .cart_totals .shipping td *,
.woocommerce-cart .cart_totals .woocommerce-shipping-destination,
.woocommerce-cart .cart_totals ul#shipping_method,
.woocommerce-cart .cart_totals ul#shipping_method li {
    text-align: left !important;
}

@media (max-width: 782px) {
    .woocommerce-cart .cart_totals .shipping td,
    .woocommerce-cart .cart_totals .shipping td *,
    .woocommerce-cart .cart_totals .woocommerce-shipping-destination,
    .woocommerce-cart .cart_totals ul#shipping_method,
    .woocommerce-cart .cart_totals ul#shipping_method li {
        text-align: left !important;
    }

    .woocommerce-cart .cart_totals .shipping td > span:first-child,
    .woocommerce-cart .cart_totals .shipping td > label:first-child,
    .woocommerce-cart .cart_totals .shipping td > ul#shipping_method:first-child {
        display: inline-block !important;
        margin-left: 8px !important;
        font-weight: 700 !important;
    }

    .woocommerce-cart table.shop_table_responsive.cart td.product-remove {
        position: absolute !important;
        top: 66px !important;
        right: 16px !important;
        left: auto !important;
        transform: translateY(-50%) !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: calc(100% - 152px) !important;
        display: flex !important;
        justify-content: flex-end !important;
        text-align: right !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        z-index: 2 !important;
    }

    .woocommerce-cart table.shop_table_responsive.cart td.product-remove::before {
        display: none !important;
    }

    .woocommerce-cart table.shop_table_responsive.cart td.product-remove a.remove.tcs-cart-remove {
        margin: 0 !important;
        min-height: 32px !important;
        padding: 0 10px 0 8px !important;
        gap: 6px !important;
        font-size: 11px !important;
    }

    .woocommerce-cart table.shop_table_responsive.cart tbody tr {
        position: relative !important;
        padding-right: 12px !important;
        margin-bottom: 14px !important;
        border-bottom: 1px solid rgba(42, 26, 18, 0.18) !important;
        box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.38) !important;
    }

    .woocommerce-cart table.shop_table_responsive.cart tbody tr:last-child {
        margin-bottom: 0 !important;
        border-bottom: 0 !important;
        box-shadow: none !important;
    }

    .woocommerce-cart table.shop_table_responsive.cart td.product-thumbnail {
        padding-right: 148px !important;
        padding-bottom: 10px !important;
    }

    .woocommerce-cart table.shop_table_responsive.cart td.product-name {
        padding-top: 12px !important;
        text-align: left !important;
    }

    .woocommerce-cart table.shop_table_responsive.cart td.product-name::before {
        display: none !important;
    }

    .woocommerce-cart table.shop_table_responsive.cart td.product-name,
    .woocommerce-cart table.shop_table_responsive.cart td.product-name a,
    .woocommerce-cart table.shop_table_responsive.cart td.product-name .variation,
    .woocommerce-cart table.shop_table_responsive.cart td.product-name .variation *,
    .woocommerce-cart table.shop_table_responsive.cart td.product-name .wc-item-meta,
    .woocommerce-cart table.shop_table_responsive.cart td.product-name .wc-item-meta * {
        text-align: left !important;
    }

    .woocommerce-cart table.shop_table_responsive.cart td.product-name a {
        display: inline-block !important;
    }

    .woocommerce-cart table.shop_table_responsive.cart td.product-name .variation,
    .woocommerce-cart table.shop_table_responsive.cart td.product-name .wc-item-meta {
        margin-top: 8px !important;
    }

    .woocommerce-cart table.shop_table_responsive.cart td.product-name .variation dt,
    .woocommerce-cart table.shop_table_responsive.cart td.product-name .variation dd,
    .woocommerce-cart table.shop_table_responsive.cart td.product-name .wc-item-meta dt,
    .woocommerce-cart table.shop_table_responsive.cart td.product-name .wc-item-meta dd {
        float: none !important;
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .woocommerce-cart table.shop_table_responsive.cart td.product-name .variation dt,
    .woocommerce-cart table.shop_table_responsive.cart td.product-name .wc-item-meta dt {
        margin-top: 8px !important;
    }

    .woocommerce-cart table.shop_table_responsive.cart td.product-name .variation dd,
    .woocommerce-cart table.shop_table_responsive.cart td.product-name .wc-item-meta dd {
        margin-top: 2px !important;
    }
}
