/* ThreadsXDreads — child theme overrides on top of Astra.
   All selectors are namespaced .txd-* so we don't fight Astra unless we mean to. */

/* ---------- Force the dark base ---------- */
body,
.ast-container,
.site,
.site-content,
#page,
.entry-content {
    background:#0a0a0a !important;
    color:#eaeaea !important;
}
body{
    margin:0;
    font-family:'Inter',system-ui,sans-serif;
    font-weight:300;
    -webkit-font-smoothing:antialiased;
    line-height:1.5;
}

/* Hide Astra's default header/footer when our overrides are in play */
.ast-primary-header-bar,
#masthead.site-header:not(.txd-header),
.ast-above-header,
.ast-below-header,
#ast-mobile-header,
.main-header-bar-wrap,
.ast-mobile-header-wrap,
#colophon:not(.txd-footer){ display:none !important; }

/* Astra search component — kill it; we have our own */
.ast-search-icon,
.astra-search-icon,
.ast-search-menu-icon,
.search-form,
.ast-header-button-1{ display:none !important; }

/* Astra: prevent stray .button or generic <button> styling on our icon SVGs */
.txd-icon svg path,
.txd-icon svg line,
.txd-icon svg circle,
.txd-icon svg polyline{ stroke:#fff !important; fill:none !important; }

img{max-width:100%;display:block}
a{color:inherit;text-decoration:none;transition:opacity .25s ease}
a:hover{opacity:.7}
button{font-family:inherit;cursor:pointer}

h1,h2,h3,h4{
    font-family:'Cormorant Garamond',serif !important;
    font-weight:400;letter-spacing:-.01em;margin:0 0 .5em;color:#fff !important;
}
h1{font-size:clamp(2rem,5vw,3.5rem);line-height:1.1}
h2{font-size:clamp(1.5rem,3.5vw,2.5rem)}
h3{font-size:1.25rem}

.txd-container{max-width:1280px;margin:0 auto;padding:0 24px}

/* ---------- Announcement marquee ---------- */
.txd-announcement{
    background:#fff;color:#0a0a0a;
    font-size:11px;letter-spacing:.18em;font-weight:500;
    padding:8px 0;overflow:hidden;white-space:nowrap;
}
.txd-marquee{display:inline-flex;gap:32px;animation:txd-marquee 30s linear infinite;will-change:transform}
@keyframes txd-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---------- Header ---------- */
.txd-header{
    position:sticky;top:0;z-index:50;
    background:rgba(10,10,10,.85);
    backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
    border-bottom:1px solid rgba(255,255,255,.06);
}
.txd-header-inner{
    display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
    padding:18px 24px;gap:24px;
}
.txd-nav-left{display:flex;align-items:center;gap:14px}
.txd-main-nav{display:flex;gap:28px;list-style:none;margin:0;padding:0;font-size:13px;letter-spacing:.12em;text-transform:uppercase}
.txd-main-nav a{position:relative;padding-bottom:4px;color:#fff !important}
.txd-main-nav a::after{
    content:'';position:absolute;left:0;bottom:0;width:0;height:1px;background:#fff;
    transition:width .35s ease;
}
.txd-main-nav a:hover{opacity:1}
.txd-main-nav a:hover::after{width:100%}

/* Desktop dropdown submenu */
.txd-main-nav li{position:relative}
.txd-main-nav .menu-item-has-children > a{padding-right:14px}
.txd-main-nav .menu-item-has-children > a::before{
    content:'';position:absolute;right:0;top:50%;width:5px;height:5px;
    border-right:1px solid #fff;border-bottom:1px solid #fff;
    transform:translateY(-70%) rotate(45deg);opacity:.7;
    transition:opacity .25s ease;
}
.txd-main-nav .menu-item-has-children:hover > a::before{opacity:1}
.txd-main-nav .sub-menu{
    position:absolute;top:100%;left:-18px;
    list-style:none;margin:0;padding:14px 0;min-width:230px;
    background:rgba(10,10,10,.97);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
    border:1px solid rgba(255,255,255,.1);
    display:flex;flex-direction:column;
    opacity:0;visibility:hidden;transform:translateY(10px);
    transition:opacity .28s ease, transform .28s ease, visibility .28s;
    z-index:60;
}
.txd-main-nav li:hover > .sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.txd-main-nav .sub-menu li{position:relative}
.txd-main-nav .sub-menu a{
    display:block;padding:9px 22px;font-size:11px;letter-spacing:.14em;
    color:rgba(255,255,255,.72) !important;white-space:nowrap;padding-bottom:9px;
    transition:color .2s ease, padding-left .2s ease;
}
.txd-main-nav .sub-menu a::after{display:none}
.txd-main-nav .sub-menu a:hover{color:#fff !important;padding-left:28px}

.txd-logo{
    font-family:'Cormorant Garamond',serif;
    font-size:24px;letter-spacing:.05em;text-align:center;color:#fff !important;
    display:inline-flex;align-items:center;justify-content:center;
    text-decoration:none;
}

/* Brand lockup: icon + name */
.txd-brand{
    display:inline-flex;align-items:center;gap:10px;
    color:inherit;line-height:1;
    flex-direction: column;
}
.txd-brand-img{
    display:block;object-fit:contain;flex-shrink:0;
    background:transparent;
}
.txd-brand-name{
    font-family:'Cormorant Garamond',serif;
    color:#fff;letter-spacing:.03em;
    white-space:nowrap;font-weight:400;
}

/* Header size */
.txd-brand--sm .txd-brand-img{width:84px;height:84px}
.txd-brand--sm .txd-brand-name{font-size:22px}

/* Footer size */
.txd-brand--lg{gap:14px}
.txd-brand--lg .txd-brand-img{width:48px;height:48px}
.txd-brand--lg .txd-brand-name{font-size:1.5rem;letter-spacing:.04em}
.txd-nav-right{display:flex;align-items:center;gap:8px;justify-content:flex-end}
/* Defeat Astra's button defaults for any icon button */
.txd-icon,
button.txd-icon,
a.txd-icon{
    position:relative;display:inline-flex !important;align-items:center;justify-content:center;
    width:40px !important;height:40px !important;min-width:0 !important;min-height:0 !important;
    background:transparent !important;background-image:none !important;
    border:0 !important;border-radius:0 !important;
    color:#fff !important;padding:0 !important;margin:0 !important;
    box-shadow:none !important;text-decoration:none !important;
    transition:transform .25s ease, opacity .25s ease;
    cursor:pointer;line-height:1;
}
.txd-icon svg{display:block;stroke:#fff;transition:stroke .25s ease;width:20px;height:20px}
.txd-icon:hover,
.txd-icon:focus,
.txd-icon:active{background:transparent !important;color:#fff !important;opacity:1;transform:translateY(-1px)}
.txd-icon:hover svg{stroke:rgba(255,255,255,.7)}
.txd-cart-link{margin-left:2px}
.txd-cart-count{
    position:absolute;top:4px;right:2px;
    background:#fff;color:#0a0a0a;font-size:10px;font-family:'Inter',sans-serif;font-weight:600;
    min-width:16px;height:16px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;
    padding:0 4px;letter-spacing:0;line-height:1;
    box-shadow:0 0 0 2px #0a0a0a;
}
.txd-cart-count[data-count="0"]{display:none}
.txd-mobile-toggle{
    background:none;border:0;color:#fff;display:none;
    width:40px;height:40px;align-items:center;justify-content:center;padding:0;cursor:pointer;
}
.txd-mobile-toggle svg{display:block}

/* ---------- Mobile drawer ---------- */
.txd-drawer{
    position:fixed;top:0;left:0;bottom:0;width:min(360px,86vw);z-index:200;
    background:#0a0a0a;border-right:1px solid rgba(255,255,255,.08);
    transform:translateX(-100%);transition:transform .4s cubic-bezier(.65,.05,.36,1);
    display:flex;flex-direction:column;
}
.txd-drawer.is-open{transform:translateX(0)}
.txd-drawer-head{
    display:flex;align-items:center;justify-content:space-between;
    padding:22px 28px;border-bottom:1px solid rgba(255,255,255,.08);
}
.txd-drawer-title{font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.txd-drawer-close{background:none;border:0;color:#fff;cursor:pointer;padding:6px;display:inline-flex}
.txd-drawer-nav{flex:1;padding:32px 28px;overflow-y:auto}
.txd-drawer-menu{
    list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px;
}
.txd-drawer-menu a{
    display:block;padding:14px 0;font-family:'Cormorant Garamond',serif;
    font-size:1.75rem;color:#fff;border-bottom:1px solid rgba(255,255,255,.06);
    transition:padding-left .3s ease;
}
.txd-drawer-menu a:hover{padding-left:8px;opacity:1}
/* Drawer submenu (categories under Shop) — indented, smaller, no bullets */
.txd-drawer-menu .sub-menu{
    list-style:none;margin:0 0 8px;padding:4px 0 4px 16px;
    border-left:1px solid rgba(255,255,255,.12);
    display:flex;flex-direction:column;
}
.txd-drawer-menu .sub-menu a{
    font-family:'Inter',sans-serif;font-size:13px;letter-spacing:.12em;
    text-transform:uppercase;padding:11px 0;color:rgba(255,255,255,.72);
    border-bottom:0;
}
.txd-drawer-menu .sub-menu a:hover{padding-left:6px;color:#fff}
.txd-drawer-foot{
    padding:24px 28px;border-top:1px solid rgba(255,255,255,.08);
    display:flex;flex-direction:column;gap:10px;
    font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.6);
}
.txd-drawer-foot a:hover{color:#fff;opacity:1}

/* ---------- Search overlay ---------- */
.txd-search-overlay{
    position:fixed;top:0;left:0;right:0;z-index:200;
    background:#0a0a0a;border-bottom:1px solid rgba(255,255,255,.08);
    padding:32px 24px 28px;
    transform:translateY(-100%);transition:transform .4s cubic-bezier(.65,.05,.36,1);
}
.txd-search-overlay.is-open{transform:translateY(0)}
.txd-search-form{
    max-width:820px;margin:0 auto;display:flex;align-items:center;gap:14px;
    border-bottom:1px solid rgba(255,255,255,.25);padding-bottom:14px;
}
.txd-search-label{
    font-size:10px;letter-spacing:.3em;color:rgba(255,255,255,.4);
    text-transform:uppercase;font-weight:500;
}
.txd-search-form input[type="search"]{
    flex:1;background:transparent;border:0;color:#fff;
    font-family:'Cormorant Garamond',serif;font-size:clamp(1.3rem,3vw,2rem);
    padding:8px 0;outline:none;font-weight:300;font-style:italic;
}
.txd-search-form input[type="search"]::placeholder{color:rgba(255,255,255,.3);font-style:italic}
.txd-search-submit,.txd-search-close{
    background:none;border:0;color:#fff;cursor:pointer;padding:8px;display:inline-flex;
    transition:opacity .2s ease;
}
.txd-search-submit:hover,.txd-search-close:hover{opacity:.7}
.txd-search-suggestions{
    max-width:820px;margin:18px auto 0;display:flex;flex-wrap:wrap;align-items:center;
    gap:10px;font-size:13px;
}
.txd-search-suggestions a{
    padding:6px 14px;border:1px solid rgba(255,255,255,.15);
    font-size:12px;letter-spacing:.05em;color:rgba(255,255,255,.7);
    transition:all .2s ease;
}
.txd-search-suggestions a:hover{background:#fff;color:#0a0a0a;border-color:#fff;opacity:1}

/* ---------- Overlay background ---------- */
.txd-overlay-bg{
    position:fixed;inset:0;z-index:150;
    background:rgba(0,0,0,.6);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
    opacity:0;pointer-events:none;transition:opacity .35s ease;
}
.txd-overlay-bg.is-visible{opacity:1;pointer-events:auto}

.txd-no-scroll{overflow:hidden}

/* ---------- Category coverflow carousel ---------- */
.txd-cat-carousel{
    position:relative;background:#0a0a0a;
    padding:80px 0 80px;overflow:hidden;
    isolation:isolate; /* contain stacking */
}

/* Intro: forced above any sibling, with breathing room before stage */
.txd-cc-intro{
    position:relative;z-index:30;
    text-align:center;padding:0 24px 70px;
}
.txd-cc-intro small{
    display:block;font-size:11px;letter-spacing:.3em;color:rgba(255,255,255,.5);
    text-transform:uppercase;margin-bottom:12px;
}
.txd-cc-intro h1{
    font-size:clamp(1.75rem, 3.5vw, 2.75rem) !important;
    margin:0;font-style:italic;color:#fff !important;line-height:1.15;
}

.txd-cc-stage{
    position:relative;z-index:1;
    /* Bigger stage so the spotlight is bigger */
    height:clamp(520px, 60vw, 680px);
    display:flex;align-items:center;justify-content:center;
    padding:0 24px;
}

.txd-cc-arrow{
    position:absolute;top:50%;transform:translateY(-50%);z-index:20;
    background:transparent !important;background-image:none !important;
    border:1px solid rgba(255,255,255,.25) !important;border-radius:50% !important;
    color:#fff !important;
    width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;
    cursor:pointer;padding:0 !important;
    transition:background .25s ease, border-color .25s ease, transform .25s ease;
    box-shadow:none !important;
}
.txd-cc-arrow:hover{background:#fff !important;color:#0a0a0a !important;border-color:#fff !important}
.txd-cc-arrow:hover svg{stroke:#0a0a0a}
.txd-cc-prev{left:24px}
.txd-cc-next{right:24px}

.txd-cc-track{
    position:relative;width:100%;height:100%;
    display:flex;align-items:center;justify-content:center;
}

.txd-cc-slide{
    position:absolute;top:50%;left:50%;
    /* Bigger spotlight */
    width:min(560px, 90vw);
    transform:translate(-50%, -50%);
    transition:
        transform .8s cubic-bezier(.65,.05,.36,1),
        opacity .6s ease,
        filter .6s ease;
    will-change:transform, opacity, filter;
    z-index:1;opacity:0;pointer-events:none;
}
.txd-cc-slide .txd-cc-img{
    position:relative;width:100%;aspect-ratio:1;
    background-color:#1a1a1a;background-size:cover;background-position:center;
    overflow:hidden;
}
.txd-cc-badge{
    position:absolute;top:18px;left:18px;
    font-size:10px;letter-spacing:.25em;text-transform:uppercase;
    background:rgba(0,0,0,.4);color:#fff;padding:6px 12px;
    backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
}
.txd-cc-cap{
    text-align:center;padding-top:28px;
    opacity:0;transition:opacity .5s ease .15s;
    pointer-events:none;
}
.txd-cc-cap small{
    display:block;font-size:11px;letter-spacing:.25em;color:rgba(255,255,255,.5);
    text-transform:uppercase;margin-bottom:10px;
}
.txd-cc-cap h2{
    font-family:'Cormorant Garamond',serif !important;
    font-size:clamp(1.75rem,3vw,2.25rem) !important;margin:0 0 10px;color:#fff !important;
}
.txd-cc-cap p{
    color:rgba(255,255,255,.7);max-width:42ch;margin:0 auto 22px;font-size:14px;line-height:1.6;
}
.txd-cc-cap .txd-btn{display:inline-block}

/* States */
.txd-cc-slide.is-active{
    transform:translate(-50%, -50%) scale(1);
    opacity:1;z-index:5;filter:none;pointer-events:auto;
}
.txd-cc-slide.is-active .txd-cc-cap{opacity:1;pointer-events:auto}

/* Side slides — smaller (55%) and more blurred (6px) */
.txd-cc-slide.is-prev{
    transform:translate(calc(-50% - 65%), -50%) scale(.55);
    opacity:.35;filter:blur(6px) brightness(.55);
    z-index:2;cursor:pointer;
}
.txd-cc-slide.is-next{
    transform:translate(calc(-50% + 65%), -50%) scale(.55);
    opacity:.35;filter:blur(6px) brightness(.55);
    z-index:2;cursor:pointer;
}
.txd-cc-slide.is-prev:hover,
.txd-cc-slide.is-next:hover{opacity:.6;filter:blur(4px) brightness(.75)}

/* Hide caption on side slides — only active gets text */
.txd-cc-slide.is-prev .txd-cc-cap,
.txd-cc-slide.is-next .txd-cc-cap,
.txd-cc-slide.is-far .txd-cc-cap{opacity:0 !important;pointer-events:none}

.txd-cc-slide.is-far{
    transform:translate(-50%, -50%) scale(.4);
    opacity:0;filter:blur(10px);
    z-index:1;
}

/* Single-category mode — center, no arrows/dots */
.txd-cat-carousel.is-single .txd-cc-slide{
    position:relative;top:auto;left:auto;
    transform:none !important;opacity:1 !important;
    filter:none !important;z-index:1;pointer-events:auto;
}
.txd-cat-carousel.is-single .txd-cc-slide .txd-cc-cap{opacity:1 !important;pointer-events:auto}
.txd-cat-carousel.is-single .txd-cc-track{
    display:flex;align-items:center;justify-content:center;
    position:relative;
}

/* Dots */
.txd-cc-dots{
    display:flex;justify-content:center;gap:10px;
    margin-top:50px;
}
.txd-cc-dot{
    width:8px;height:8px;border-radius:50%;border:0;padding:0;
    background:rgba(255,255,255,.25);cursor:pointer;
    transition:all .3s ease;
}
.txd-cc-dot:hover{background:rgba(255,255,255,.5)}
.txd-cc-dot.is-active{background:#fff;width:24px;border-radius:4px}

/* Responsive */
@media(max-width:900px){
    .txd-cc-stage{padding:0 12px;height:clamp(420px, 70vw, 540px)}
    .txd-cc-slide{width:min(320px, 72vw)}
    .txd-cc-slide.is-prev{transform:translate(calc(-50% - 70%), -50%) scale(.5);filter:blur(7px) brightness(.5)}
    .txd-cc-slide.is-next{transform:translate(calc(-50% + 70%), -50%) scale(.5);filter:blur(7px) brightness(.5)}
    .txd-cc-arrow{width:40px;height:40px}
    .txd-cc-prev{left:6px}
    .txd-cc-next{right:6px}
    .txd-cc-cap p{font-size:13px}
    .txd-cc-intro{padding:0 24px 50px}
}

/* ---------- Hero slider (legacy, kept for reference) ---------- */
.txd-hero{
    position:relative;height:90vh;min-height:560px;overflow:hidden;background:#0a0a0a;
}
.txd-slides{position:absolute;inset:0}
.txd-slide{
    position:absolute;inset:0;
    background-size:cover;background-position:center;
    opacity:0;transition:opacity 1.2s ease;
    display:flex;align-items:flex-end;justify-content:center;padding:80px 24px;
}
.txd-slide.is-active{opacity:1;z-index:1}
.txd-slide-overlay{
    position:absolute;inset:0;
    background:linear-gradient(180deg,rgba(0,0,0,.2) 0%,rgba(0,0,0,.7) 100%);
}
.txd-slide-content{position:relative;z-index:2;text-align:center;max-width:900px}
.txd-slide-title{
    font-size:clamp(1.5rem,3vw,2.5rem);
    font-style:italic;color:#fff !important;margin-bottom:32px;
    text-shadow:0 2px 20px rgba(0,0,0,.5);
}
.txd-slider-nav{
    position:absolute;bottom:40px;left:50%;transform:translateX(-50%);
    display:flex;align-items:center;gap:20px;z-index:5;
}
.txd-slider-prev,.txd-slider-next{
    background:transparent;border:1px solid rgba(255,255,255,.3);color:#fff;
    width:44px;height:44px;border-radius:50%;font-size:18px;
    transition:all .25s ease;
}
.txd-slider-prev:hover,.txd-slider-next:hover{background:#fff;color:#0a0a0a;border-color:#fff}
.txd-slider-dots{display:flex;gap:10px}
.txd-dot{
    width:8px;height:8px;border-radius:50%;border:0;
    background:rgba(255,255,255,.35);padding:0;transition:all .3s ease;
}
.txd-dot.is-active{background:#fff;width:24px;border-radius:4px}

/* ---------- Buttons ---------- */
.txd-btn{
    display:inline-block;padding:14px 36px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;
    border:1px solid currentColor;background:transparent;color:#fff;
    transition:all .3s ease;cursor:pointer;font-family:inherit;
}
.txd-btn-ghost:hover{background:#fff;color:#0a0a0a;opacity:1}
.txd-btn-solid{background:#fff;color:#0a0a0a;border-color:#fff}
.txd-btn-solid:hover{background:transparent;color:#fff;opacity:1}
.txd-btn-express{
    background:#fff;color:#0a0a0a;width:100%;padding:16px;margin-top:10px;
    border:1px solid #fff;font-weight:500;font-size:12px;letter-spacing:.2em;text-transform:uppercase;
}
.txd-btn-express:hover{background:transparent;color:#fff}

/* ---------- Sections ---------- */
.txd-section-head{text-align:center;margin-bottom:48px}
.txd-section-head small{
    display:block;font-size:11px;letter-spacing:.3em;
    color:rgba(255,255,255,.5);text-transform:uppercase;margin-bottom:8px;
}
.txd-section-head h2{margin:0}

.txd-featured{padding:100px 0}
.txd-brand-strip{padding:80px 0;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06)}
.txd-brand-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;text-align:center}
.txd-brand-icon{display:inline-flex;align-items:center;justify-content:center;margin-bottom:16px;color:#fff}
.txd-brand-icon svg{width:30px;height:30px;stroke:#fff;display:block;transition:transform .4s cubic-bezier(.65,.05,.36,1)}
.txd-brand-cell:hover .txd-brand-icon svg{transform:translateY(-3px)}
.txd-brand-cell h4{margin:0 0 6px;font-size:18px}
.txd-brand-cell p{margin:0;opacity:.6;font-size:13px}

/* "From the studio" — split layout: profile screenshot left, 2x2 image grid right */
.txd-ig{padding:100px 0}
.txd-ig-split{
    display:grid;
    grid-template-columns:1fr 1.1fr;
    gap:32px;align-items:stretch;
}

.txd-ig-profile{
    position:relative;display:flex;flex-direction:column;
    background:#0e0e0e;border:1px solid rgba(255,255,255,.08);
    padding:18px;overflow:hidden;
    transition:border-color .3s ease, transform .3s ease;
}
.txd-ig-profile:hover{
    border-color:rgba(255,255,255,.25);transform:translateY(-2px);opacity:1;
}
.txd-ig-profile img{
    width:100%;
    height:auto;
    display:block;
    object-fit:contain;
}
.txd-ig-follow{
    display:inline-flex;align-items:center;gap:8px;
    margin-top:14px;padding-top:14px;
    letter-spacing:.2em;text-transform:uppercase;color:#fff;
    border-top:1px solid rgba(255,255,255,.08);
    font-size:12px;
}
/* Label with an underline that wipes in from the left on hover */
.txd-ig-follow-label{
    position:relative;display:inline-block;
}
.txd-ig-follow-label::after{
    content:'';position:absolute;left:0;bottom:-3px;
    width:100%;height:1px;background:currentColor;
    transform:scaleX(0);transform-origin:left center;
    transition:transform .4s cubic-bezier(.65,.05,.36,1);
}
.txd-ig-profile:hover .txd-ig-follow-label::after{transform:scaleX(1)}
/* Arrow slides out on hover */
.txd-ig-arrow{
    display:inline-block;
    transition:transform .4s cubic-bezier(.65,.05,.36,1);
}
.txd-ig-profile:hover .txd-ig-arrow{transform:translateX(6px)}
/* Whole link brightens subtly */
.txd-ig-follow{transition:color .3s ease}
.txd-ig-profile:hover .txd-ig-follow{color:#fff}

.txd-ig-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    grid-auto-rows:1fr;
    gap:10px;
}
.txd-ig-tile{
    aspect-ratio:1;background-color:#1a1a1a;
    background-size:cover;background-position:center;
    transition:transform .5s ease, opacity .3s ease;
    overflow:hidden;display:block;
}
.txd-ig-tile:hover{transform:scale(1.03);opacity:.85}

/* ---------- WooCommerce shop overrides ---------- */
.woocommerce-page,
.woocommerce{background:#0a0a0a;color:#eaeaea}

/* Kill Astra's blue button across all WC buttons globally — slim line style */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .button.alt,
.woocommerce a.button.alt,
.woocommerce-page a.button,
.woocommerce-page button.button,
.woocommerce-page input.button{
    background:transparent !important;background-image:none !important;
    color:#fff !important;border:1px solid #fff !important;border-radius:0 !important;
    padding:12px 24px !important;font-size:11px !important;letter-spacing:.18em !important;
    text-transform:uppercase;font-weight:500 !important;
    box-shadow:none !important;text-shadow:none !important;
    transition:background .25s ease, color .25s ease;
    line-height:1.4;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce .button.alt:hover,
.woocommerce-page a.button:hover,
.woocommerce-page button.button:hover,
.woocommerce-page input.button:hover{
    background:#fff !important;color:#0a0a0a !important;border-color:#fff !important;
}

/* Shop layout with sidebar */
.txd-shop-wrap{padding:40px 0 80px}
.txd-shop-head{padding:0 0 40px;text-align:center}
.txd-shop-head .txd-breadcrumbs{justify-content:center;padding:0 0 14px}
.txd-shop-title{font-size:clamp(2rem,4vw,3rem) !important;margin:0 0 12px}
.txd-shop-desc{color:rgba(255,255,255,.6);max-width:55ch;margin:0 auto;font-size:14px;line-height:1.6}

.txd-shop-layout{
    display:grid;grid-template-columns:220px 1fr;gap:60px;align-items:start;
}
.txd-shop-sidebar{
    position:sticky;top:90px;
    display:flex;flex-direction:column;gap:36px;
}
.txd-filter-block h4{
    font-family:'Inter',sans-serif !important;
    font-size:11px !important;letter-spacing:.2em;text-transform:uppercase;
    color:rgba(255,255,255,.5) !important;font-weight:500;margin:0 0 14px;
    padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.08);
}
.txd-cat-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.txd-cat-list a{
    display:flex;justify-content:space-between;align-items:center;
    padding:6px 0;font-size:14px;color:rgba(255,255,255,.75) !important;
    transition:color .2s ease,padding-left .2s ease;
}
.txd-cat-list a:hover{color:#fff !important;padding-left:6px;opacity:1}
.txd-cat-list li.is-active a{color:#fff !important;font-weight:500}
.txd-cat-list li.is-active a::before{
    content:'';display:inline-block;width:14px;height:1px;background:#fff;
    margin-right:8px;vertical-align:middle;
}
.txd-cat-count{font-size:11px;color:rgba(255,255,255,.4);letter-spacing:.05em}
.txd-sort-form select{
    width:100%;background:transparent;border:1px solid rgba(255,255,255,.15);
    color:#fff;padding:10px 12px;font-family:inherit;font-size:13px;
    appearance:none;-webkit-appearance:none;cursor:pointer;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none' stroke='white' stroke-width='1.5'><polyline points='1,1 5,5 9,1'/></svg>");
    background-repeat:no-repeat;background-position:right 12px center;
}
.txd-sort-form select:focus{outline:none;border-color:#fff}
.txd-sort-form option{background:#0a0a0a;color:#fff}
.txd-help-blurb{font-size:13px;color:rgba(255,255,255,.6);line-height:1.6;margin:0}
.txd-help-blurb a{color:#fff;border-bottom:1px solid rgba(255,255,255,.3)}

/* Mobile filter trigger — hidden on desktop. Override Astra defaults. */
.txd-filter-trigger,
button.txd-filter-trigger{
    display:none;align-items:center;gap:10px;
    background:transparent !important;background-image:none !important;
    border:1px solid rgba(255,255,255,.2) !important;color:#fff !important;
    padding:14px 18px !important;font-size:11px !important;
    letter-spacing:.2em;text-transform:uppercase;font-weight:500;
    margin:0 0 24px;cursor:pointer;width:100%;justify-content:center;
    border-radius:0 !important;box-shadow:none !important;
    transition:background .25s ease, color .25s ease;
}
.txd-filter-trigger:hover,
.txd-filter-trigger:focus{background:#fff !important;color:#0a0a0a !important;border-color:#fff !important}
.txd-filter-trigger svg{flex-shrink:0}
.txd-filter-panel-head{display:none}

.txd-shop-toolbar{
    display:flex;justify-content:space-between;align-items:center;
    padding:0 0 24px;border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:32px;
}
.txd-shop-toolbar .woocommerce-result-count{
    color:rgba(255,255,255,.5);font-size:12px;letter-spacing:.1em;
    text-transform:uppercase;margin:0;
}
.txd-empty{padding:80px 0;text-align:center;color:rgba(255,255,255,.6)}
.txd-empty a{color:#fff;border-bottom:1px solid rgba(255,255,255,.3)}

/* Product grid + cards */
.woocommerce ul.products{
    display:grid !important;grid-template-columns:repeat(3,1fr);gap:40px 32px;
    list-style:none;padding:0;margin:0;
}
.woocommerce ul.products li.product{
    width:auto !important;margin:0 !important;float:none !important;text-align:left;background:transparent;
    position:relative;
}
.woocommerce ul.products li.product > a{
    position:relative;display:block;overflow:hidden;
}
.woocommerce ul.products li.product .attachment-woocommerce_thumbnail,
.woocommerce ul.products li.product .wp-post-image{
    background:#1a1a1a;aspect-ratio:4/5;object-fit:cover;width:100%;height:auto;
    transition:transform .8s ease, opacity .5s ease;
    margin:0 !important;
}
.woocommerce ul.products li.product .txd-second-img{
    position:absolute;top:0;left:0;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;
    opacity:0;transition:opacity .5s ease, transform .8s ease;
    pointer-events:none;
}
.woocommerce ul.products li.product:hover .attachment-woocommerce_thumbnail,
.woocommerce ul.products li.product:hover .wp-post-image{opacity:0}
.woocommerce ul.products li.product:hover .txd-second-img{opacity:1;transform:scale(1.02)}
/* If there's no second image, gentle zoom on the first */
.woocommerce ul.products li.product:hover .wp-post-image:only-of-type{opacity:1;transform:scale(1.03)}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
    font-family:'Cormorant Garamond',serif !important;font-size:1.1rem !important;font-weight:400 !important;
    padding:14px 0 4px !important;color:#fff !important;
}
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .price .amount{
    color:#fff !important;font-size:14px;font-weight:400;
}
.woocommerce ul.products li.product .price del{opacity:.4;margin-right:8px}
.woocommerce ul.products li.product .button{
    background:transparent !important;color:#fff !important;border:1px solid #fff !important;
    padding:10px 20px !important;font-size:11px !important;letter-spacing:.15em;text-transform:uppercase;
    border-radius:0 !important;margin-top:8px;font-weight:400;
}
.woocommerce ul.products li.product .button:hover{background:#fff !important;color:#0a0a0a !important}
.woocommerce span.onsale{
    background:#fff !important;color:#0a0a0a !important;border-radius:0 !important;
    font-weight:600;font-size:10px;letter-spacing:.15em;padding:6px 10px;min-height:0;min-width:0;
    line-height:1;top:10px;left:10px;margin:0;
}
.woocommerce-products-header__title{
    font-family:'Cormorant Garamond',serif !important;font-size:2.5rem !important;
    margin-bottom:30px;text-align:center;color:#fff !important;
}
.woocommerce-result-count,.woocommerce-ordering{color:#aaa;font-size:13px;margin-bottom:24px}
/* Hide WC's default ordering dropdown — replaced by sidebar sort */
.txd-shop-layout .woocommerce-ordering{display:none}
.txd-shop-layout > .woocommerce-result-count{display:none}
.woocommerce-pagination{margin-top:60px;text-align:center}
.woocommerce nav.woocommerce-pagination ul{border:0;display:inline-flex;gap:8px}
.woocommerce nav.woocommerce-pagination ul li{border:0}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{
    border:1px solid rgba(255,255,255,.2) !important;background:transparent !important;color:#fff !important;
    padding:10px 14px;
}
.woocommerce nav.woocommerce-pagination ul li span.current{background:#fff !important;color:#0a0a0a !important}

/* ---------- Product page ---------- */
.txd-breadcrumbs{font-size:12px;letter-spacing:.1em;color:rgba(255,255,255,.5);padding:24px 0;text-transform:uppercase}
.txd-breadcrumbs a:hover{color:#fff;opacity:1}
.txd-product-page{padding-bottom:80px}
.txd-product-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:start}
.txd-product-gallery{position:sticky;top:90px}
.txd-product-gallery .woocommerce-product-gallery{width:100% !important;position:relative}
.txd-product-gallery .woocommerce-product-gallery__wrapper img{background:#1a1a1a;border-radius:0;width:100%;height:auto}

/* Horizontal thumbnail strip — kill Astra's <ol> numbered list */
.woocommerce-product-gallery .flex-control-nav.flex-control-thumbs{
    list-style:none !important;
    display:grid !important;
    grid-template-columns:repeat(5,1fr);
    gap:8px;
    margin:14px 0 0 !important;
    padding:0 !important;
    counter-reset:none;
}
.woocommerce-product-gallery .flex-control-thumbs li{
    list-style:none !important;
    margin:0 !important;
    padding:0 !important;
    width:auto !important;float:none !important;
    counter-increment:none;
}
.woocommerce-product-gallery .flex-control-thumbs li::before,
.woocommerce-product-gallery .flex-control-thumbs li::marker{
    content:none !important;display:none !important;
}
.woocommerce-product-gallery .flex-control-thumbs li img{
    width:100% !important;height:auto !important;
    aspect-ratio:1;object-fit:cover;
    opacity:.45;cursor:pointer;
    transition:opacity .25s ease, transform .3s ease;
    border:1px solid transparent;
}
.woocommerce-product-gallery .flex-control-thumbs li img:hover{opacity:.85}
.woocommerce-product-gallery .flex-control-thumbs li img.flex-active{
    opacity:1;border-color:rgba(255,255,255,.4);
}
/* Hide flex-direction-nav arrows that Flexslider injects (use thumbs instead) */
.woocommerce-product-gallery .flex-direction-nav{display:none !important}
/* Hide the zoom/lightbox trigger (magnifier) entirely */
.woocommerce-product-gallery__trigger{display:none !important}
.txd-product-summary{padding:20px 0}
.txd-badge{display:inline-block;padding:5px 10px;font-size:10px;letter-spacing:.2em;background:#fff;color:#0a0a0a;font-weight:600;margin-bottom:14px}
.txd-product-title{font-size:2.5rem !important;line-height:1.1;margin:0 0 16px}
.txd-product-meta-top{display:flex;align-items:center;gap:18px;margin-bottom:20px;font-size:13px;color:rgba(255,255,255,.7);flex-wrap:wrap}
.txd-sold-count{font-size:12px;letter-spacing:.05em}
.txd-product-price-row{display:flex;align-items:center;gap:16px;padding:20px 0;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:24px;flex-wrap:wrap}
.txd-product-price-row .price,
.txd-product-price-row p.price,
.txd-product-price-row .price .amount{font-size:1.75rem !important;color:#fff !important;margin:0 !important;font-family:'Cormorant Garamond',serif !important}
.txd-product-price-row del{opacity:.4;margin-right:10px}
.txd-cod-pill{
    margin-left:auto;font-size:11px;letter-spacing:.15em;
    padding:6px 10px;border:1px solid rgba(255,255,255,.2);text-transform:uppercase;
}
.txd-product-short-desc{font-size:15px;color:rgba(255,255,255,.75);line-height:1.7;margin-bottom:24px}
.txd-low-stock{
    display:flex;align-items:center;gap:10px;
    padding:12px 16px;background:rgba(255,80,80,.08);border:1px solid rgba(255,80,80,.25);
    font-size:13px;letter-spacing:.05em;margin-bottom:24px;
}
.txd-pulse-dot{width:8px;height:8px;border-radius:50%;background:#ff5050;animation:txd-pulse 1.4s ease-in-out infinite}
@keyframes txd-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.4)}}
.txd-form-wrap form.cart{display:flex;gap:12px;align-items:stretch;margin-bottom:8px;flex-wrap:wrap}
.txd-form-wrap .quantity{display:flex;align-items:center}
.txd-form-wrap input.qty{
    width:64px;height:52px;background:transparent !important;border:1px solid rgba(255,255,255,.2) !important;
    color:#fff !important;text-align:center;
}
.txd-form-wrap .single_add_to_cart_button{
    flex:1;background:transparent !important;color:#fff !important;border:1px solid #fff !important;
    padding:0 28px !important;letter-spacing:.2em;font-size:12px !important;text-transform:uppercase;
    border-radius:0 !important;font-weight:500;height:52px;min-width:200px;
}
.txd-form-wrap .single_add_to_cart_button:hover{background:#fff !important;color:#0a0a0a !important}
.txd-express{margin-bottom:24px}
.txd-trust-row{
    list-style:none;padding:20px 0;margin:0 0 24px;
    display:grid;grid-template-columns:1fr 1fr;gap:10px;
    font-size:12px;color:rgba(255,255,255,.7);letter-spacing:.04em;
    border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);
}
.txd-accordion details{border-bottom:1px solid rgba(255,255,255,.08)}
.txd-accordion summary{
    list-style:none;cursor:pointer;padding:18px 0;display:flex;justify-content:space-between;align-items:center;
    font-size:13px;letter-spacing:.15em;text-transform:uppercase;
}
.txd-accordion summary::after{content:'+';font-size:18px;transition:transform .3s ease}
.txd-accordion details[open] summary::after{transform:rotate(45deg)}
.txd-accordion summary::-webkit-details-marker{display:none}
.txd-accordion details > div{padding:0 0 18px;color:rgba(255,255,255,.7);font-size:14px;line-height:1.7}
.txd-share-row{display:flex;gap:14px;align-items:center;margin-top:24px;font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.txd-share-row a{font-weight:600;letter-spacing:.05em}

.txd-ugc{margin-top:100px}
.txd-ugc h3{font-size:1.75rem;margin-bottom:24px;text-align:center}
.txd-ugc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.txd-ugc-tile{aspect-ratio:4/5;background:#1a1a1a;background-size:cover;background-position:center}

.txd-related{margin-top:100px}
.txd-related .related.products > h2,
.related.products > h2,
.upsells > h2{
    font-size:1.75rem !important;margin-bottom:30px;text-align:center;color:#fff !important;
}

/* ---------- Portfolio / My Work ---------- */
button.txd-pf-lb-prev {
    padding: 0px !important;
}
button.txd-pf-lb-next {
    padding: 0px !important;
}
button.txd-pf-lb-close {
    padding: 0px !important;
}

.txd-portfolio{padding:100px 0}

.txd-pf-filters{
    display:flex;flex-wrap:wrap;justify-content:center;gap:10px;
    margin:0 0 40px;
}
.txd-pf-pill{
    background:transparent;border:1px solid rgba(255,255,255,.18);color:rgba(255,255,255,.7);
    padding:9px 20px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;
    cursor:pointer;border-radius:0;transition:all .25s ease;font-family:'Inter',sans-serif;
}
.txd-pf-pill:hover{border-color:#fff;color:#fff}
.txd-pf-pill.is-active{background:#fff;color:#0a0a0a;border-color:#fff}

.txd-pf-grid{
    display:grid;grid-template-columns:repeat(4,1fr);gap:12px;
}
.txd-pf-item{
    margin:0;position:relative;overflow:hidden;
    transition:opacity .4s ease, transform .4s ease;
}
.txd-pf-item.is-hidden{display:none}
.txd-pf-link{
    display:block;position:relative;overflow:hidden;cursor:pointer;
    aspect-ratio:1;background:#1a1a1a;
}
.txd-pf-link img{
    width:100%;height:100%;object-fit:cover;display:block;
    transition:transform .7s cubic-bezier(.2,.7,.2,1);
}
.txd-pf-item:hover .txd-pf-link img{transform:scale(1.06)}
.txd-pf-overlay{
    position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
    background:rgba(10,10,10,.45);opacity:0;transition:opacity .35s ease;
}
.txd-pf-item:hover .txd-pf-overlay{opacity:1}
.txd-pf-zoom{
    width:48px;height:48px;border:1px solid rgba(255,255,255,.7);border-radius:50%;
    display:flex;align-items:center;justify-content:center;color:#fff;
    transform:scale(.8);transition:transform .35s ease;
}
.txd-pf-item:hover .txd-pf-zoom{transform:scale(1)}
.txd-pf-cap{
    font-size:12px;letter-spacing:.05em;color:rgba(255,255,255,.6);
    padding:10px 2px 0;font-family:'Inter',sans-serif;
}
.txd-pf-cta{text-align:center;margin-top:48px}

/* Lightbox */
.txd-pf-lightbox{
    position:fixed;inset:0;z-index:300;
    background:rgba(5,5,5,.94);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
    display:flex;align-items:center;justify-content:center;
    opacity:0;pointer-events:none;transition:opacity .35s ease;
}
.txd-pf-lightbox.is-open{opacity:1;pointer-events:auto}
.txd-pf-lb-stage{margin:0;max-width:86vw;max-height:84vh;display:flex;flex-direction:column;align-items:center;gap:14px}
.txd-pf-lb-stage img{
    max-width:86vw;max-height:78vh;object-fit:contain;display:block;
    box-shadow:0 30px 80px rgba(0,0,0,.6);
}
.txd-pf-lb-stage figcaption{
    color:rgba(255,255,255,.7);font-size:12px;letter-spacing:.1em;text-transform:uppercase;
    text-align:center;
}
.txd-pf-lb-close,.txd-pf-lb-prev,.txd-pf-lb-next{
    position:absolute;background:transparent;border:1px solid rgba(255,255,255,.25);
    color:#fff;width:48px;height:48px;border-radius:50%;cursor:pointer;
    display:flex;align-items:center;justify-content:center;
    transition:background .25s ease,color .25s ease;
}
.txd-pf-lb-close:hover,.txd-pf-lb-prev:hover,.txd-pf-lb-next:hover{background:#fff;color:#0a0a0a}
.txd-pf-lb-close{top:24px;right:24px}
.txd-pf-lb-prev{left:24px;top:50%;transform:translateY(-50%)}
.txd-pf-lb-next{right:24px;top:50%;transform:translateY(-50%)}

@media(max-width:900px){
    .txd-portfolio{padding:70px 0}
    .txd-pf-grid{grid-template-columns:repeat(3,1fr);gap:8px}
    .txd-pf-cap{display:none}
    .txd-pf-lb-prev{left:10px}
    .txd-pf-lb-next{right:10px}
    .txd-pf-lb-close{top:14px;right:14px}
}
@media(max-width:560px){
    .txd-pf-grid{grid-template-columns:repeat(2,1fr)}
    .txd-pf-filters{gap:8px}
    .txd-pf-pill{padding:8px 14px;letter-spacing:.12em}
}

/* Portfolio PAGE — uniform square tiles, 4 per row, scroll after 3 rows.
   --pf-cols: columns per row · --pf-gap: gap. Visible height = 3 rows + 2 gaps. */
.txd-pf-grid--page{
    --pf-cols:4;
    --pf-gap:12px;
    grid-template-columns:repeat(var(--pf-cols),1fr);
    grid-auto-flow:row;
    gap:var(--pf-gap);
    overflow-y:auto;
    padding-right:6px;
    /* max-height is set by JS = 3 rows + 2 gaps (falls back to this if JS off) */
    max-height:none;
}
/* Equal square tiles — no feature spanning */
.txd-pf-grid--page .txd-pf-item{grid-column:auto;grid-row:auto}
.txd-pf-grid--page .txd-pf-cap{display:none}

/* Slim dark scrollbar */
.txd-pf-grid--page::-webkit-scrollbar{width:6px}
.txd-pf-grid--page::-webkit-scrollbar-track{background:rgba(255,255,255,.05)}
.txd-pf-grid--page::-webkit-scrollbar-thumb{background:rgba(255,255,255,.25);border-radius:3px}
.txd-pf-grid--page::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.4)}
.txd-pf-grid--page{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.25) rgba(255,255,255,.05)}

@media(max-width:900px){
    .txd-pf-grid--page{--pf-cols:3;--pf-gap:8px}
}
@media(max-width:560px){
    .txd-pf-grid--page{--pf-cols:2}
}
@media(max-width:380px){
    .txd-pf-grid--page{--pf-cols:1}
}

/* ---------- About — meet the maker ---------- */
.txd-about{padding:100px 0}
.txd-about-layout{
    display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:start;
}
.txd-about-text small{
    display:block;font-size:11px;letter-spacing:.3em;color:rgba(255,255,255,.5);
    text-transform:uppercase;margin-bottom:18px;
}
.txd-about-text h1{
    font-size:clamp(1.8rem,3.2vw,2.6rem) !important;line-height:1.2;
    margin:0 0 28px;max-width:20ch;
}
.txd-about-text p{
    color:rgba(255,255,255,.72);font-size:15px;line-height:1.85;margin:0 0 20px;
    max-width:60ch;
}
.txd-about-sign{
    font-family:'Cormorant Garamond',serif !important;
    font-style:italic;font-size:1.4rem !important;
    color:#fff !important;margin-top:28px !important;
}
.txd-about-media{
    position:sticky;top:100px;
}
.txd-about-media img{
    width:100%;height:auto;display:block;
    background:#1a1a1a;object-fit:cover;
    border:1px solid rgba(255,255,255,.08);
}

/* ---------- About / Contact ---------- */
.txd-about-hero,.txd-contact{padding:100px 0}
.txd-about-hero small,.txd-contact small{
    display:block;font-size:11px;letter-spacing:.3em;color:rgba(255,255,255,.5);
    text-transform:uppercase;margin-bottom:14px;
}
.txd-about-hero h1,.txd-contact h1{max-width:18ch;margin-bottom:24px}
.txd-lede{font-size:1.15rem;color:rgba(255,255,255,.75);max-width:55ch;line-height:1.6}
.txd-two-col{display:grid;grid-template-columns:1fr 1fr;gap:80px}
.txd-about-grid{padding:60px 0 120px}
.txd-about-grid .txd-col{padding:24px 0;border-top:1px solid rgba(255,255,255,.08)}
.txd-contact-list{list-style:none;padding:0;margin:30px 0 0}
.txd-contact-list li{padding:16px 0;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;font-size:14px}
.txd-contact-list strong{letter-spacing:.15em;text-transform:uppercase;font-size:11px;font-weight:500;color:rgba(255,255,255,.5)}
.txd-contact-form{display:flex;flex-direction:column;gap:18px}
.txd-contact-form label{display:flex;flex-direction:column;gap:6px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.txd-contact-form input,.txd-contact-form textarea{
    background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.2);
    padding:12px 0;color:#fff;font-family:inherit;font-size:15px;outline:none;
    transition:border-color .25s ease;
}
.txd-contact-form input:focus,.txd-contact-form textarea:focus{border-color:#fff}

/* ---------- Fluent Forms — dark theme on contact page ---------- */
.txd-fluentform-wrap .fluentform .ff-el-group{margin-bottom:22px}
.txd-fluentform-wrap .fluentform .ff-el-input--label label,
.txd-fluentform-wrap .fluentform label{
    color:rgba(255,255,255,.6) !important;
    font-size:11px !important;letter-spacing:.2em;text-transform:uppercase;
    font-weight:500 !important;font-family:'Inter',sans-serif !important;
    margin-bottom:8px !important;
}
.txd-fluentform-wrap .fluentform .ff-el-is-required.asterisk-right > label:after,
.txd-fluentform-wrap .fluentform .ff-el-is-required.asterisk-left > label:before{color:#ff7070 !important}

/* Inputs, textarea, selects — underline style on dark */
.txd-fluentform-wrap .fluentform input[type="text"],
.txd-fluentform-wrap .fluentform input[type="email"],
.txd-fluentform-wrap .fluentform input[type="tel"],
.txd-fluentform-wrap .fluentform input[type="number"],
.txd-fluentform-wrap .fluentform input[type="url"],
.txd-fluentform-wrap .fluentform input[type="password"],
.txd-fluentform-wrap .fluentform textarea,
.txd-fluentform-wrap .fluentform select,
.txd-fluentform-wrap .fluentform .ff-el-form-control{
    background:transparent !important;
    border:0 !important;border-bottom:1px solid rgba(255,255,255,.2) !important;
    border-radius:0 !important;
    color:#fff !important;font-family:'Inter',sans-serif !important;font-size:15px !important;
    padding:12px 0 !important;box-shadow:none !important;outline:none !important;
    transition:border-color .25s ease;
}
.txd-fluentform-wrap .fluentform textarea{min-height:120px;resize:vertical}
.txd-fluentform-wrap .fluentform .ff-el-form-control:focus,
.txd-fluentform-wrap .fluentform input:focus,
.txd-fluentform-wrap .fluentform textarea:focus,
.txd-fluentform-wrap .fluentform select:focus{
    border-bottom-color:#fff !important;box-shadow:none !important;
}
.txd-fluentform-wrap .fluentform input::placeholder,
.txd-fluentform-wrap .fluentform textarea::placeholder{
    color:rgba(255,255,255,.35) !important;opacity:1;
}
.txd-fluentform-wrap .fluentform select option{background:#0a0a0a;color:#fff}

/* Submit button — slim line style matching the theme */
.txd-fluentform-wrap .fluentform .ff-btn-submit,
.txd-fluentform-wrap .fluentform button[type="submit"],
.txd-fluentform-wrap .fluentform .ff_submit_btn_wrapper button{
    background:#fff !important;background-image:none !important;
    color:#0a0a0a !important;border:1px solid #fff !important;border-radius:0 !important;
    padding:16px 40px !important;font-size:12px !important;
    letter-spacing:.2em !important;text-transform:uppercase;font-weight:600 !important;
    box-shadow:none !important;text-shadow:none !important;cursor:pointer;width:auto;
    transition:background .25s ease, color .25s ease;
}
.txd-fluentform-wrap .fluentform .ff-btn-submit:hover,
.txd-fluentform-wrap .fluentform button[type="submit"]:hover{
    background:transparent !important;color:#fff !important;border-color:#fff !important;
}
.txd-fluentform-wrap .fluentform .ff_submit_btn_wrapper{
    background:transparent !important;padding:8px 0 0 !important;border:0 !important;text-align:left;
}

/* Checkboxes / radios accent */
.txd-fluentform-wrap .fluentform input[type="checkbox"],
.txd-fluentform-wrap .fluentform input[type="radio"]{accent-color:#fff}

/* Validation + success messages */
.txd-fluentform-wrap .fluentform .error,
.txd-fluentform-wrap .fluentform .ff-el-is-error .text-danger,
.txd-fluentform-wrap .fluentform .ff-message-error{color:#ff7070 !important}
.txd-fluentform-wrap .ff-message-success,
.txd-fluentform-wrap .fluentform_success{
    background:rgba(255,255,255,.04) !important;
    border:0 !important;border-left:2px solid #fff !important;
    color:#fff !important;padding:16px 18px !important;border-radius:0 !important;
}

/* ---------- Footer ---------- */
.txd-footer{margin-top:120px;padding:80px 0 30px;border-top:1px solid rgba(255,255,255,.08);background:#050505}
.txd-footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.5fr;gap:60px}
.txd-footer-logo{font-size:1.5rem;margin:0 0 16px;padding:0;display:flex;align-items:center}
.txd-footer-logo .txd-brand{color:#fff}
.txd-footer-col h4{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.5) !important;margin-bottom:16px;font-family:'Inter',sans-serif !important;font-weight:500}
.txd-footer-col ul{list-style:none;padding:0;margin:0;font-size:14px;display:flex;flex-direction:column;gap:10px}
.txd-footer-col p{font-size:14px;color:rgba(255,255,255,.6);margin:0 0 8px}
.txd-newsletter{display:flex;border-bottom:1px solid rgba(255,255,255,.2);margin-top:14px}
.txd-newsletter input{flex:1;background:transparent;border:0;padding:12px 0;color:#fff;outline:none;font-family:inherit}
.txd-newsletter button{background:transparent;border:0;color:#fff;font-size:18px;padding:0 6px}
.txd-footer-bottom{display:flex;justify-content:space-between;padding-top:30px;margin-top:60px;border-top:1px solid rgba(255,255,255,.06);font-size:12px;color:rgba(255,255,255,.4);letter-spacing:.05em}

/* ---------- Cart page ---------- */
.txd-cart-wrap{padding:40px 0 100px}
.txd-cart-head{text-align:center;padding:0 0 50px}
.txd-cart-head .txd-breadcrumbs{justify-content:center;padding:0 0 14px}
.txd-cart-title{font-size:clamp(2rem,4vw,3rem) !important;margin:0 0 12px}
.txd-content-wrapper {
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 10px;
}
.txd-cart-subtitle{color:rgba(255,255,255,.6);margin:0 auto;font-size:14px}


.txd-cart-grid{
    display:grid;grid-template-columns:1.6fr 1fr;gap:60px;align-items:start;
}

/* Reset Woo table look — table semantics stay, but each row uses CSS grid */
.txd-cart-items .shop_table{
    width:100% !important;border:0 !important;border-collapse:collapse !important;
    background:transparent !important;color:#fff;
    margin:0 !important;table-layout:auto;display:block;
}

/* Hide column labels — the new card row doesn't align to them */
.txd-cart-items .shop_table thead{display:none !important}

.txd-cart-items .shop_table tbody{display:block;width:100%}

/* Each cart item = 2-row card */
.txd-cart-items .shop_table tbody tr.cart_item{
    display:grid !important;
    grid-template-columns:120px 1fr 130px 130px;
    grid-template-rows:auto auto;
    grid-template-areas:
        "img name price    subtotal"
        "img name quantity remove";
    column-gap:24px;row-gap:10px;
    align-items:center;
    padding:24px 0 !important;
    background:transparent !important;
    border-bottom:1px solid rgba(255,255,255,.08) !important;
}
.txd-cart-items .shop_table tbody tr.cart_item:first-child{
    border-top:1px solid rgba(255,255,255,.08) !important;
}
.woocommerce-js table.shop_table .product-thumbnail img, .woocommerce-page table.shop_table .product-thumbnail img {
	max-width:none;
}
.txd-cart-items .shop_table tbody tr.cart_item td{
    display:flex !important;
    background:transparent !important;color:#fff !important;
    border:0 !important;padding:0 !important;vertical-align:middle;
	justify-content:end;
}
/* Always hide Woo's data-title pseudo-labels on cart cells */

.txd-cart-items .shop_table tbody tr.cart_item td::before{
    content:none !important;display:none !important;
}
/* Grid placement per cell */
.txd-cart-items .shop_table .product-thumbnail{grid-area:img;align-self:start}
.txd-cart-items .shop_table .product-thumbnail img{
    width:120px !important;height:140px !important;object-fit:cover;background:#1a1a1a;
    margin:0 !important;display:block;
}
.txd-cart-items .shop_table .product-name{
    grid-area:name;align-self:center;
    padding-right:16px !important;
}
.txd-cart-items .shop_table .product-price{
    grid-area:price;align-self:end;text-align:right;
    flex-direction:column;align-items:flex-end;justify-content:center;
    font-size:15px;color:rgba(255,255,255,.9) !important;
    padding-bottom:2px;
}
.txd-cart-items .shop_table .product-subtotal{
    grid-area:subtotal;align-self:end;text-align:right;
    flex-direction:column;align-items:flex-end;justify-content:center;
    font-size:15px;font-weight:500;color:#fff !important;
    padding-bottom:2px;
}
/* Desktop eyebrow labels above Price & Subtotal (high specificity to beat the
   global `td::before{content:none}` rule). Hidden on mobile by the media query. */
.txd-cart-items .shop_table tbody tr.cart_item td.product-price::before{
    content:"Price" !important;display:block !important;
    font-size:10px;letter-spacing:.2em;text-transform:uppercase;
    color:rgba(255,255,255,.45);margin:0 0 6px;font-weight:500;
    font-family:'Inter',sans-serif;
}
.txd-cart-items .shop_table tbody tr.cart_item td.product-subtotal::before{
    content:"Subtotal" !important;display:block !important;
    font-size:10px;letter-spacing:.2em;text-transform:uppercase;
    color:rgba(255,255,255,.45);margin:0 0 6px;font-weight:500;
    font-family:'Inter',sans-serif;
}
.txd-cart-items .shop_table .product-quantity{
    grid-area:quantity;align-self:start;text-align:right;
}
.txd-cart-items .shop_table .product-remove{
    grid-area:remove;align-self:start;text-align:right;
}

.txd-cart-items .product-name a{
    font-family:'Cormorant Garamond',serif;
	font-size:1.3rem;
	color:#fff !important;font-weight:400;
    display:inline-block;line-height:1.3;
}

/* Quantity stepper with − / + buttons */
.txd-cart-items .quantity{
    display:inline-flex !important;align-items:stretch;
    border:1px solid rgba(255,255,255,.18);
    background:transparent;
    overflow:hidden;
}
.txd-cart-items .txd-qty-btn{
    width:36px;height:38px;display:inline-flex;align-items:center;justify-content:center;
    background:transparent !important;background-image:none !important;
    border:0 !important;border-radius:0 !important;
    color:#fff !important;font-size:18px;line-height:1;padding:0 !important;
    cursor:pointer;font-family:inherit;font-weight:400;
    box-shadow:none !important;transition:background .2s ease;
    -webkit-appearance:none;appearance:none;
}
.txd-cart-items .txd-qty-btn:hover,
.txd-cart-items .txd-qty-btn:focus{background:rgba(255,255,255,.06) !important;outline:none}
.txd-cart-items .quantity input.qty{
    width:42px;height:38px;
    background:transparent !important;
    border:0 !important;
    border-left:1px solid rgba(255,255,255,.18) !important;
    border-right:1px solid rgba(255,255,255,.18) !important;
    color:#fff !important;text-align:center;font-family:inherit;font-size:14px;
    -moz-appearance:textfield;
}
.txd-cart-items .quantity input.qty::-webkit-outer-spin-button,
.txd-cart-items .quantity input.qty::-webkit-inner-spin-button{
    -webkit-appearance:none;margin:0;
}
/* Hide screen-reader-only label that Woo injects */
.txd-cart-items .quantity .screen-reader-text{position:absolute;left:-9999px}

/* Trash icon — borderless, just the icon */
.txd-cart-items a.remove,
.txd-cart-items a.txd-trash{
    display:inline-flex !important;align-items:center;justify-content:center;
    width:32px !important;height:32px !important;
    min-width:0 !important;min-height:0 !important;
    color:rgba(255,255,255,.5) !important;
    background:transparent !important;background-image:none !important;
    border:0 !important;border-radius:0 !important;
    box-shadow:none !important;text-decoration:none !important;
    padding:0 !important;margin:0 !important;font-size:0 !important;line-height:1 !important;
    transition:color .2s ease, transform .2s ease;
}
.txd-cart-items a.remove svg,
.txd-cart-items a.txd-trash svg{stroke:currentColor;display:block;transition:stroke .2s ease}
.txd-cart-items a.remove:hover,
.txd-cart-items a.txd-trash:hover{
    color:#ff7070 !important;background:transparent !important;border:0 !important;
    transform:scale(1.08);
}
.txd-cart-items a.remove:hover svg,
.txd-cart-items a.txd-trash:hover svg{stroke:#ff7070}

.txd-cart-items .amount{white-space:nowrap}

/* Actions row (coupon + update cart) — full width below items */
.txd-cart-items .shop_table tbody tr:has(td.actions){
    display:block !important;grid-template-columns:none;grid-template-areas:none;
    padding:0 !important;border:0 !important;
}

/* Quantity input */
.txd-cart-items .quantity{display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.15)}
.txd-cart-items .quantity input.qty{
    width:50px;height:40px;background:transparent !important;border:0 !important;
    color:#fff !important;text-align:center;font-family:inherit;
}
.txd-cart-items .quantity input.qty::-webkit-outer-spin-button,
.txd-cart-items .quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

/* Coupon + Update row — flex layout, coupon left, update right */
.txd-cart-items .shop_table tbody tr td.actions,
.txd-cart-items td.actions{
    display:flex !important;align-items:center;justify-content:space-between;
    flex-wrap:wrap;gap:14px;
    padding:24px 0 !important;
    border:0 !important;border-top:1px solid rgba(255,255,255,.08) !important;
}
.txd-cart-items td.actions .coupon{
    display:flex;gap:10px;align-items:stretch;flex:0 1 auto;
}
.txd-cart-items td.actions input#coupon_code{
    background:transparent !important;border:1px solid rgba(255,255,255,.18) !important;
    color:#fff !important;padding:12px 16px !important;
    font-family:inherit;font-size:13px;letter-spacing:.05em;
    min-width:200px;outline:none;
    height:auto;line-height:1.4;
}
.txd-cart-items td.actions input#coupon_code::placeholder{color:rgba(255,255,255,.4)}
.txd-cart-items td.actions input#coupon_code:focus{border-color:#fff !important}

/* Line-style buttons (Apply + Update cart) — override Astra's button + hover */
.txd-btn-line,
.txd-cart-items td.actions button,
.txd-cart-items td.actions button[name="apply_coupon"],
.txd-cart-items td.actions button[name="update_cart"],
.txd-cart-items td.actions input[type="submit"]{
    background:transparent !important;background-image:none !important;
    color:#fff !important;border:1px solid #fff !important;border-radius:0 !important;
    padding:12px 26px !important;font-size:11px !important;
    letter-spacing:.18em !important;text-transform:uppercase !important;
    font-weight:500 !important;cursor:pointer;line-height:1.4 !important;
    box-shadow:none !important;text-shadow:none !important;
    transition:background .25s ease, color .25s ease;
    -webkit-appearance:none;appearance:none;
}
.txd-btn-line:hover,
.txd-btn-line:focus,
.txd-cart-items td.actions button:hover,
.txd-cart-items td.actions button:focus,
.txd-cart-items td.actions button[name="apply_coupon"]:hover,
.txd-cart-items td.actions button[name="update_cart"]:hover,
.txd-cart-items td.actions input[type="submit"]:hover{
    background:#fff !important;background-image:none !important;
    color:#0a0a0a !important;border-color:#fff !important;
    box-shadow:none !important;outline:none;
}

/* Update Cart auto-fires on qty change — hide the manual button */
.txd-cart-items td.actions button[name="update_cart"],
.txd-cart-items td.actions input[name="update_cart"]{
    display:none !important;
}

/* Subtle loading state on the form while the cart is updating */
.txd-cart-form.is-updating{opacity:.55;pointer-events:none;transition:opacity .2s ease}
.txd-cart-form.is-updating::after{
    content:'';position:fixed;top:0;left:0;width:100%;height:2px;
    background:linear-gradient(90deg, transparent, #fff, transparent);
    background-size:200% 100%;animation:txd-cart-load 1s linear infinite;z-index:9999;
}
@keyframes txd-cart-load{from{background-position:200% 0}to{background-position:-200% 0}}

.txd-cart-continue{
    display:inline-block;margin-top:24px;font-size:12px;letter-spacing:.15em;
    text-transform:uppercase;color:rgba(255,255,255,.7) !important;
    transition:padding-left .25s ease;
}
.txd-cart-continue:hover{padding-left:6px;color:#fff !important;opacity:1}

/* Right column — cart totals */
.txd-cart-summary{position:sticky;top:100px;width:100%}
.txd-cart-summary-inner{
    background:#111;border:0;
    padding:32px;width:100%;box-sizing:border-box;
}

/* Defeat Woo's default float + 48% width on .cart-collaterals / .cart_totals */
.txd-cart-summary .cart-collaterals,
.txd-cart-summary .cart_totals{
    width:100% !important;float:none !important;margin:0 !important;
    background:transparent !important;
	border:none !important;
}
.txd-cart-summary .cart_totals h2{
    background:transparent !important;background-image:none !important;
    font-family:'Cormorant Garamond',serif !important;font-size:1.5rem !important;
    margin:0 0 18px !important;padding:0 0 14px !important;
    color:#fff !important;
    border-bottom:1px solid rgba(255,255,255,.1) !important;
    text-transform:none !important;letter-spacing:0 !important;
}

.txd-cart-summary .cart_totals table{
    width:100% !important;border:0 !important;background:transparent !important;
    border-collapse:collapse !important;table-layout:auto !important;margin:0 !important;
}
.txd-cart-summary .cart_totals table th,
.txd-cart-summary .cart_totals table td{
    background:transparent !important;background-image:none !important;
    border:0 !important;border-top:1px solid rgba(255,255,255,.08) !important;
    padding:14px 0 !important;color:#fff !important;font-size:14px !important;
    line-height:1.4 !important;
}
.txd-cart-summary .cart_totals table tr:first-child th,
.txd-cart-summary .cart_totals table tr:first-child td{border-top:0 !important}
.txd-cart-summary .cart_totals table th{
    font-weight:400 !important;color:rgba(255,255,255,.6) !important;
    font-family:'Inter',sans-serif !important;letter-spacing:.05em;
    text-align:left;white-space:nowrap;
}
.txd-cart-summary .cart_totals table td{text-align:right;white-space:nowrap}
.txd-cart-summary .cart_totals .amount{white-space:nowrap}

.txd-cart-summary .cart_totals .order-total th,
.txd-cart-summary .cart_totals .order-total td{
    font-size:16px !important;color:#fff !important;font-weight:500 !important;
    padding-top:18px !important;
}
.txd-cart-summary .cart_totals .order-total .amount{
    font-family:'Cormorant Garamond',serif !important;font-size:1.5rem !important;
    white-space:nowrap;
}

.txd-cart-summary .wc-proceed-to-checkout{padding:24px 0 0 !important}
.txd-cart-summary .checkout-button,
.txd-cart-summary a.checkout-button{
    background:#fff !important;color:#0a0a0a !important;border:1px solid #fff !important;
    border-radius:0 !important;padding:16px 20px !important;
    font-size:11px !important;letter-spacing:.18em !important;text-transform:uppercase;font-weight:600 !important;
    width:100%;text-align:center;display:block;
    box-shadow:none !important;
    white-space:nowrap;
    transition:all .25s ease;
}
.txd-cart-summary .checkout-button:hover,
.txd-cart-summary a.checkout-button:hover{background:transparent !important;color:#fff !important}

.txd-cart-summary .shipping-calculator-form input,
.txd-cart-summary .shipping-calculator-form select{
    background:transparent;border:1px solid rgba(255,255,255,.15);color:#fff;
    padding:10px;width:100%;margin-bottom:8px;font-family:inherit;outline:none;
}
.txd-cart-summary a.shipping-calculator-button{color:#fff;border-bottom:1px solid rgba(255,255,255,.3);font-size:13px}
.txd-cart-summary .woocommerce-shipping-methods{list-style:none;padding:0;margin:0;font-size:13px}
.txd-cart-summary .woocommerce-shipping-methods li{padding:4px 0}

.txd-cart-trust{
    list-style:none !important;padding:18px 0 0 !important;margin:18px 0 0 !important;
    display:flex;flex-direction:column;gap:10px;
    border-top:1px solid rgba(255,255,255,.08);
    font-size:12px;color:rgba(255,255,255,.6);letter-spacing:.02em;
}
.txd-cart-trust li{
    list-style:none !important;margin:0 !important;padding:0 !important;
    line-height:1.5;
}
.txd-cart-trust li::before,
.txd-cart-trust li::marker{content:none !important;display:none !important}

/* Empty cart */
.cart-empty.woocommerce-info{
    background:transparent !important;border:0 !important;border-top:0 !important;
    text-align:center;padding:80px 0 !important;color:#fff !important;
    font-family:'Cormorant Garamond',serif !important;font-size:1.5rem !important;
}
.return-to-shop{text-align:center;margin-top:20px}
.return-to-shop .button{
    background:#fff !important;color:#0a0a0a !important;border-radius:0 !important;
    padding:14px 36px !important;font-size:12px !important;letter-spacing:.2em;text-transform:uppercase;
}

/* ---------- Checkout page ---------- */
.txd-checkout-wrap{padding:40px 0 100px}
.txd-checkout-head{text-align:center;padding:0 0 50px}
.txd-checkout-head .txd-breadcrumbs{justify-content:center;padding:0 0 14px}
.txd-checkout-title{font-size:clamp(2rem,4vw,3rem) !important;margin:0 0 12px}
.txd-checkout-subtitle{color:rgba(255,255,255,.6);max-width:55ch;margin:0 auto;font-size:14px}

.txd-checkout-grid{
    display:grid;grid-template-columns:1.4fr 1fr;gap:60px;align-items:start;
}
.txd-checkout-main{display:flex;flex-direction:column;gap:40px}
.txd-checkout-section h3{
    font-family:'Cormorant Garamond',serif !important;font-size:1.5rem !important;
    color:#fff !important;margin:0 0 22px;padding-bottom:14px;
    border-bottom:1px solid rgba(255,255,255,.1);
}

/* Form fields */
.txd-checkout-form .form-row{
    margin:0 0 18px !important;padding:0 !important;
    display:flex;flex-direction:column;gap:6px;
}
.txd-checkout-form .form-row-first,
.txd-checkout-form .form-row-last{width:calc(50% - 8px) !important;float:none !important;display:inline-flex;vertical-align:top}
.txd-checkout-form .form-row-first{margin-right:16px !important}
.txd-checkout-form label{
    font-size:11px !important;letter-spacing:.18em;text-transform:uppercase;
    color:rgba(255,255,255,.55) !important;font-weight:500 !important;margin:0;
}
.txd-checkout-form label .required{color:#ff7070;text-decoration:none;border:0}

.txd-checkout-form input[type="text"],
.txd-checkout-form input[type="email"],
.txd-checkout-form input[type="tel"],
.txd-checkout-form input[type="password"],
.txd-checkout-form input[type="number"],
.txd-checkout-form textarea,
.txd-checkout-form select,
.txd-checkout-form .select2-container .select2-selection--single,
.txd-checkout-form .select2-selection{
    background:transparent !important;
    border:0 !important;border-bottom:1px solid rgba(255,255,255,.2) !important;
    border-radius:0 !important;color:#fff !important;
    padding:10px 0 !important;font-family:inherit !important;font-size:15px !important;
    width:100% !important;outline:none !important;box-shadow:none !important;
    height:auto !important;line-height:1.4 !important;
    transition:border-color .25s ease;
}
.txd-checkout-form input:focus,
.txd-checkout-form textarea:focus,
.txd-checkout-form select:focus{border-bottom-color:#fff !important}
.txd-checkout-form textarea{min-height:90px}
.txd-checkout-form .select2-container .select2-selection__rendered{color:#fff !important;padding:0 !important;line-height:1.6 !important}
.txd-checkout-form .select2-container .select2-selection__arrow{top:8px !important}
.txd-checkout-form .select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#fff transparent transparent transparent !important}

/* Select2 dropdown */
.select2-dropdown{background:#0a0a0a !important;border-color:rgba(255,255,255,.2) !important;border-radius:0 !important}
.select2-search__field{background:#1a1a1a !important;color:#fff !important;border:0 !important;padding:8px !important}
.select2-results__option{color:#fff !important;padding:10px 14px !important}
.select2-container--default .select2-results__option--highlighted[aria-selected]{background:#fff !important;color:#0a0a0a !important}

/* Checkbox for "Create an account" / "Ship to different address" */
.txd-checkout-form .woocommerce-form__label-for-checkbox{
    display:flex;align-items:center;gap:10px;cursor:pointer;
    font-size:13px;color:rgba(255,255,255,.85) !important;letter-spacing:0;
    text-transform:none;font-weight:400 !important;
}
.txd-checkout-form input[type="checkbox"]{
    appearance:none;-webkit-appearance:none;
    width:16px;height:16px;border:1px solid rgba(255,255,255,.4);
    background:transparent;cursor:pointer;position:relative;flex-shrink:0;
}
.txd-checkout-form input[type="checkbox"]:checked{background:#fff;border-color:#fff}
.txd-checkout-form input[type="checkbox"]:checked::after{
    content:'';position:absolute;left:4px;top:1px;width:5px;height:9px;
    border:solid #0a0a0a;border-width:0 1.5px 1.5px 0;transform:rotate(45deg);
}

#ship-to-different-address label{
    font-family:'Cormorant Garamond',serif !important;font-size:1.5rem !important;
    color:#fff !important;letter-spacing:0;text-transform:none;font-weight:400 !important;
    cursor:pointer;display:flex;align-items:center;gap:12px;
}

/* Right column — order summary */
.txd-checkout-side{
    position:sticky;top:100px;width:100%;
    display:flex;flex-direction:column;gap:18px;
}
.txd-checkout-side-inner{
    background:#111;border:1px solid rgba(255,255,255,.06);
    padding:30px;width:100%;box-sizing:border-box;
    display:block;
}

/* Defeat Woo's default white box around #order_review */
.txd-checkout-side #order_review,
.txd-checkout-side .woocommerce-checkout-review-order,
.txd-checkout-side .woocommerce-checkout-review-order-table{
    background:transparent !important;background-image:none !important;
    border:0 !important;box-shadow:none !important;
    padding:0 !important;margin:0 !important;width:100% !important;
    float:none !important;display:block !important;
}

/* Force the side heading to sit full-width on top, no floats */
.txd-checkout-side h3,
.txd-checkout-side h3#order_review_heading,
.txd-checkout-side .txd-side-heading{
    background:transparent !important;background-image:none !important;
    font-family:'Cormorant Garamond',serif !important;font-size:1.5rem !important;
    color:#fff !important;font-weight:400 !important;
    margin:0 0 18px !important;padding:0 0 14px !important;
    border:0 !important;border-bottom:1px solid rgba(255,255,255,.1) !important;
    text-transform:none !important;letter-spacing:0 !important;
    display:block !important;width:100% !important;float:none !important;
    text-align:left !important;line-height:1.2 !important;
}

/* Order table — flat, dark, no Woo white background */
.txd-checkout-side .shop_table,
.txd-checkout-side table.shop_table_responsive{
    width:100% !important;border:0 !important;background:transparent !important;
    color:#fff;margin:0 !important;border-collapse:collapse !important;
    table-layout:auto !important;
}
.txd-checkout-side .shop_table thead{display:none !important}
.txd-checkout-side .shop_table tr,
.txd-checkout-side .shop_table tbody tr,
.txd-checkout-side .shop_table tfoot tr{
    background:transparent !important;border:0 !important;
}
.txd-checkout-side .shop_table th,
.txd-checkout-side .shop_table td{
    background:transparent !important;background-image:none !important;
    border:0 !important;border-top:1px solid rgba(255,255,255,.06) !important;
    color:#fff !important;padding:14px 0 !important;font-size:14px !important;
    line-height:1.5 !important;vertical-align:top;
}
.txd-checkout-side .shop_table tr:first-child th,
.txd-checkout-side .shop_table tr:first-child td{border-top:0 !important;padding-top:6px !important}

/* Line items */
.txd-checkout-side .shop_table .cart_item .product-name{
    font-family:'Cormorant Garamond',serif !important;font-size:15px !important;
    color:#fff !important;font-weight:400 !important;text-align:left;
}
.txd-checkout-side .shop_table .cart_item .product-name .product-quantity{
    color:rgba(255,255,255,.45) !important;font-size:12px !important;
    margin-left:6px;font-weight:400 !important;font-family:'Inter',sans-serif !important;
}
.txd-checkout-side .shop_table .cart_item .product-total{
    text-align:right;color:#fff !important;font-size:14px !important;
    white-space:nowrap;font-family:'Inter',sans-serif !important;
}

/* Subtotals + shipping + total rows */
.txd-checkout-side .shop_table tfoot tr th,
.txd-checkout-side .shop_table tfoot tr td{
    padding:14px 0 !important;color:rgba(255,255,255,.7) !important;font-weight:400 !important;
    font-family:'Inter',sans-serif !important;font-size:14px !important;
}
.txd-checkout-side .shop_table tfoot tr th{text-align:left;letter-spacing:.02em}
.txd-checkout-side .shop_table tfoot tr td{text-align:right;white-space:nowrap}
.txd-checkout-side .shop_table tfoot .order-total th,
.txd-checkout-side .shop_table tfoot .order-total td{
    color:#fff !important;font-size:16px !important;padding-top:20px !important;font-weight:500 !important;
    border-top:1px solid rgba(255,255,255,.12) !important;
}
.txd-checkout-side .shop_table tfoot .order-total .amount{
    font-family:'Cormorant Garamond',serif !important;font-size:1.5rem !important;
    color:#fff !important;
}
.txd-checkout-side .shop_table .amount{white-space:nowrap}

/* Payment methods */
#payment.woocommerce-checkout-payment{background:transparent !important;border-radius:0 !important;margin-top:24px}
#payment ul.payment_methods{
    background:transparent !important;border-bottom:1px solid rgba(255,255,255,.1) !important;
    padding:0 0 18px !important;list-style:none !important;margin:0 !important;
}
#payment ul.payment_methods li{padding:10px 0 !important;margin:0 !important;border:0 !important;background:transparent !important;list-style:none !important}
#payment ul.payment_methods li::before{display:none !important;content:none !important}
#payment ul.payment_methods li label{
    color:#fff !important;letter-spacing:.05em;font-size:14px !important;
    text-transform:none;font-weight:400 !important;display:inline-flex;gap:10px;align-items:center;
    margin-left:6px;
}
#payment ul.payment_methods input[type="radio"]{
    appearance:none;-webkit-appearance:none;
    width:16px;height:16px;border:1px solid rgba(255,255,255,.4);border-radius:50%;
    background:transparent;cursor:pointer;position:relative;
}
#payment ul.payment_methods input[type="radio"]:checked{border-color:#fff}
#payment ul.payment_methods input[type="radio"]:checked::after{
    content:'';position:absolute;left:3px;top:3px;width:8px;height:8px;border-radius:50%;background:#fff;
}
#payment div.payment_box{
    background:rgba(255,255,255,.03) !important;color:rgba(255,255,255,.7) !important;
    padding:14px !important;font-size:13px;border-radius:0 !important;margin:8px 0 0 !important;
}
#payment div.payment_box::before{display:none !important}

/* Place order button */
#payment #place_order,
.woocommerce-checkout #place_order{
    background:#fff !important;color:#0a0a0a !important;border:1px solid #fff !important;
    border-radius:0 !important;width:100%;
    padding:18px !important;margin-top:18px !important;
    font-size:13px !important;letter-spacing:.25em;text-transform:uppercase;font-weight:600 !important;
    cursor:pointer;transition:all .25s ease;box-shadow:none !important;
}
#payment #place_order:hover,
.woocommerce-checkout #place_order:hover{background:transparent !important;color:#fff !important}

/* Terms */
.woocommerce-terms-and-conditions-wrapper{margin-top:18px;font-size:12px;color:rgba(255,255,255,.7)}
.woocommerce-terms-and-conditions-wrapper a{color:#fff;border-bottom:1px solid rgba(255,255,255,.3)}

/* Trust list — outside the dark card, below it */
.txd-checkout-trust{
    list-style:none !important;
    padding:18px 22px !important;margin:0 !important;
    display:flex !important;flex-direction:column;gap:8px;
    border:1px solid rgba(255,255,255,.06);
    background:transparent;
    font-size:12px;color:rgba(255,255,255,.55);letter-spacing:.02em;
    width:100%;box-sizing:border-box;
}
.txd-checkout-trust li{
    list-style:none !important;margin:0 !important;padding:0 !important;line-height:1.5;
}
.txd-checkout-trust li::before,
.txd-checkout-trust li::marker{content:none !important;display:none !important}

/* "No payment methods available" / generic checkout notices in side card */
.txd-checkout-side .woocommerce-notice,
.txd-checkout-side .woocommerce-NoticeGroup,
.txd-checkout-side .woocommerce-error,
.txd-checkout-side .woocommerce-info{
    background:rgba(255,255,255,.04) !important;
    border:0 !important;border-left:2px solid rgba(255,255,255,.4) !important;
    color:rgba(255,255,255,.85) !important;
    padding:14px 16px !important;margin:14px 0 0 !important;
    font-size:13px !important;line-height:1.6 !important;
    list-style:none !important;
}
.txd-checkout-side .woocommerce-notice a,
.txd-checkout-side .woocommerce-info a{color:#fff !important;border-bottom:1px solid rgba(255,255,255,.3) !important}

/* Strip any padding/border Astra puts on #payment when there are no methods */
.txd-checkout-side #payment{
    background:transparent !important;border:0 !important;
    padding:0 !important;margin:18px 0 0 !important;
}

/* Login + coupon prompts above checkout */
.woocommerce-form-login-toggle .woocommerce-info,
.woocommerce-form-coupon-toggle .woocommerce-info{
    background:#111 !important;border-top:0 !important;border:1px solid rgba(255,255,255,.08) !important;
    color:rgba(255,255,255,.85) !important;padding:14px 18px !important;font-size:13px !important;
    margin-bottom:24px;
}
.woocommerce-form-login-toggle .woocommerce-info a,
.woocommerce-form-coupon-toggle .woocommerce-info a{color:#fff !important;border-bottom:1px solid rgba(255,255,255,.3) !important}

.woocommerce-form-login,
.woocommerce-form-coupon{
    background:#111 !important;border:1px solid rgba(255,255,255,.08) !important;
    padding:24px !important;margin-bottom:24px !important;
}
.woocommerce-form-login p,
.woocommerce-form-coupon p{margin:0 0 12px !important}
.woocommerce-form-coupon .form-row.form-row-first input{width:100% !important}

/* ---------- Sticky buy bar (CRO) ---------- */
.txd-sticky-buy{
    position:fixed;left:0;right:0;bottom:0;z-index:60;
    background:rgba(10,10,10,.95);backdrop-filter:blur(12px);
    border-top:1px solid rgba(255,255,255,.1);
    transform:translateY(110%);transition:transform .35s ease;
}
.txd-sticky-buy.is-visible{transform:translateY(0)}
.txd-sticky-buy .inner{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;gap:24px;max-width:1280px;margin:0 auto}
.txd-sticky-buy .info{display:flex;flex-direction:column;font-size:13px}
.txd-sticky-buy .info strong{font-family:'Cormorant Garamond',serif;font-size:16px;font-weight:400}
.txd-sticky-buy .info span{opacity:.7;font-size:13px}
.txd-viewing{font-size:12px;letter-spacing:.05em;color:rgba(255,255,255,.6)}

/* ---------- Reveal animation base ----------
   Only hide when JS is active (html.txd-js). If JS fails or never finishes,
   content stays visible — prevents the "blank product page on mobile" bug. */
.txd-js .txd-reveal{opacity:0;transform:translateY(40px)}
.txd-reveal{opacity:1;transform:none}

/* ---------- My Account + Order received — dark theme ---------- */
.woocommerce-account .woocommerce,
.woocommerce-account .woocommerce p,
.woocommerce-account .woocommerce td,
.woocommerce-account .woocommerce th,
.woocommerce-account .woocommerce li,
.woocommerce-account .woocommerce address,
.woocommerce-order-details,
.woocommerce-order-details p,
.woocommerce-customer-details,
.woocommerce-customer-details p,
.woocommerce-thankyou-order-received,
.woocommerce-order-overview li{
    color:#eaeaea !important;
}

/* Section headings that sit on the BLACK background → white serif */
.woocommerce .woocommerce-MyAccount-content h1,
.woocommerce .woocommerce-MyAccount-content h2,
.woocommerce .woocommerce-MyAccount-content h3,
.woocommerce-order-details__title,
.woocommerce-order-details h2{
    background:transparent !important;background-image:none !important;
    color:#fff !important;
    font-family:'Cormorant Garamond',serif !important;font-weight:400 !important;
}

/* Title BARS Astra renders on a WHITE background → dark text so they're readable.
   (Billing/Shipping address titles, order-received column titles.)
   High specificity to beat the .woocommerce-MyAccount-content h3 white rule above. */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title h2,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title h3,
.woocommerce-Address-title,
header.woocommerce-Address-title,
.woocommerce-Address-title h2,
.woocommerce-Address-title h3,
.woocommerce .woocommerce-column__title,
.woocommerce-customer-details .woocommerce-column__title{
    color:#1a1a1a !important;
    font-family:'Cormorant Garamond',serif !important;font-weight:400 !important;
}
.woocommerce-Address-title,
header.woocommerce-Address-title{
    display:flex;justify-content:space-between;align-items:baseline;gap:16px;
}
.woocommerce-Address-title .edit{
    color:#555 !important;font-family:'Inter',sans-serif !important;
    font-size:12px;letter-spacing:.05em;text-transform:uppercase;
}
.woocommerce-Address-title .edit:hover{color:#000 !important}

/* Address content boxes — restore the border */
.woocommerce-account address,
.woocommerce-customer-details address{
    color:#eaeaea !important;font-style:normal;line-height:1.7;
    border:1px solid rgba(255,255,255,.15) !important;
    padding:18px 20px !important;margin:0 !important;
}

/* Account tables: orders list, downloads, order details — keep white header,
   dark header text, restore borders. */
.woocommerce-account .woocommerce table.shop_table,
.woocommerce-order-details table.shop_table,
.woocommerce table.shop_table.order_details,
.woocommerce table.woocommerce-orders-table,
.woocommerce table.woocommerce-table--order-details{
    color:#fff !important;
    border:1px solid rgba(255,255,255,.15) !important;
    border-collapse:collapse !important;
}
.woocommerce-account .woocommerce table.shop_table thead th,
.woocommerce-order-details table.shop_table thead th,
.woocommerce table.woocommerce-orders-table thead th{
    color:#1a1a1a !important;
    font-family:'Inter',sans-serif !important;font-size:11px !important;
    letter-spacing:.15em;text-transform:uppercase;font-weight:600 !important;
    border:1px solid rgba(0,0,0,.12) !important;
}
.woocommerce-account .woocommerce table.shop_table td,
.woocommerce-account .woocommerce table.shop_table th,
.woocommerce-order-details table.shop_table td,
.woocommerce-order-details table.shop_table th,
.woocommerce table.woocommerce-orders-table td{
    background:transparent !important;color:#fff !important;
    border:1px solid rgba(255,255,255,.12) !important;
}
.woocommerce-account .woocommerce table.shop_table a,
.woocommerce-order-details a{color:#fff !important}

/* "Order # was placed on … and is currently …" highlights */
.woocommerce mark,
.woocommerce-order-overview mark{
    background:transparent !important;color:#fff !important;font-weight:600;
}
.woocommerce-order-overview{
    border-color:rgba(255,255,255,.12) !important;
}
.woocommerce-order-overview li{
    border-color:rgba(255,255,255,.12) !important;color:rgba(255,255,255,.7) !important;
}
.woocommerce-order-overview li strong{color:#fff !important}

/* Edit Account / address forms */
.woocommerce-account .woocommerce form .form-row label,
.woocommerce-EditAccountForm label,
.woocommerce-address-fields label,
.woocommerce fieldset legend{
    color:rgba(255,255,255,.65) !important;
    font-family:'Inter',sans-serif !important;
}
.woocommerce-EditAccountForm fieldset,
.woocommerce-address-fields fieldset{
    border:0 !important;border-top:1px solid rgba(255,255,255,.12) !important;
    margin-top:24px;padding-top:8px;
}
.woocommerce-EditAccountForm fieldset legend,
.woocommerce-address-fields fieldset legend{
    color:#fff !important;font-family:'Cormorant Garamond',serif !important;
    font-size:1.25rem !important;padding:0;
}
.woocommerce-account .woocommerce form input.input-text,
.woocommerce-account .woocommerce form input[type="text"],
.woocommerce-account .woocommerce form input[type="email"],
.woocommerce-account .woocommerce form input[type="tel"],
.woocommerce-account .woocommerce form input[type="password"],
.woocommerce-account .woocommerce form select,
.woocommerce-account .woocommerce form textarea{
    background:transparent !important;
    border:1px solid rgba(255,255,255,.2) !important;border-radius:0 !important;
    color:#fff !important;box-shadow:none !important;
}
.woocommerce-account .woocommerce form input:focus,
.woocommerce-account .woocommerce form select:focus,
.woocommerce-account .woocommerce form textarea:focus{
    border-color:#fff !important;box-shadow:none !important;outline:none;
}
.woocommerce-account .woocommerce form .description,
.woocommerce-account .woocommerce form span em{
    color:rgba(255,255,255,.5) !important;font-style:italic;
}
/* Password "show" eye toggle */
.woocommerce-account .show-password-input{color:rgba(255,255,255,.6)}
.woocommerce-account .show-password-input::after{color:rgba(255,255,255,.6)}

/* Kill the browser autofill white/blue background */
.woocommerce-account input:-webkit-autofill,
.woocommerce-account input:-webkit-autofill:hover,
.woocommerce-account input:-webkit-autofill:focus{
    -webkit-box-shadow:0 0 0 1000px #0a0a0a inset !important;
    -webkit-text-fill-color:#fff !important;
    caret-color:#fff !important;
}

/* ---------- My Account — mobile breathing room ---------- */
@media(max-width:768px){
    form.woocommerce-EditAccountForm.edit-account {
    padding: 0px 20px !important;
}
    .woocommerce-account .woocommerce-MyAccount-content{
        padding:8px 4px 50px;
    }
    .woocommerce-account .woocommerce-MyAccount-navigation{
        margin-bottom:28px;
    }

    /* Orders / downloads: each row becomes a spaced card */
    .woocommerce-account table.shop_table_responsive,
    .woocommerce-account table.woocommerce-orders-table{
        border:0 !important;
    }
    .woocommerce-account table.shop_table_responsive tbody tr,
    .woocommerce-account table.woocommerce-orders-table tbody tr{
        display:block;
        border:1px solid rgba(255,255,255,.15) !important;
        padding:6px 18px;margin:0 0 22px;
    }
    .woocommerce-account table.shop_table_responsive tbody td,
    .woocommerce-account table.woocommerce-orders-table tbody td{
        padding:14px 0 !important;border:0 !important;
        border-bottom:1px solid rgba(255,255,255,.08) !important;
        display:flex;justify-content:space-between;align-items:center;gap:16px;
    }
    .woocommerce-account table.shop_table_responsive tbody tr td:last-child,
    .woocommerce-account table.woocommerce-orders-table tbody tr td:last-child{
        border-bottom:0 !important;
    }
    .woocommerce-account table.shop_table_responsive td::before{
        color:rgba(255,255,255,.55) !important;font-weight:600;
        font-size:11px;letter-spacing:.12em;text-transform:uppercase;
    }
    .woocommerce-account table.shop_table_responsive td .button{margin:0}

    /* Address cards: space them out + pad the inner content */
    .woocommerce-account .addresses .u-column1,
    .woocommerce-account .addresses .u-column2,
    .woocommerce-account .addresses .col-1,
    .woocommerce-account .addresses .col-2{
        margin-bottom:30px;float:none !important;width:100% !important;
    }
    .woocommerce-account .woocommerce-Address-title{
        padding:14px 16px !important;margin-bottom:0 !important;
    }
    .woocommerce-account address{
        padding:18px !important;
    }
}

/* ---------- WooCommerce notices ---------- */
.woocommerce-message,.woocommerce-info,.woocommerce-error{
    background:#1a1a1a !important;border-top:2px solid #fff !important;color:#fff !important;padding:18px 24px !important;
}
.woocommerce-message a.button,.woocommerce-info a.button{
    background:#fff !important;color:#0a0a0a !important;border-radius:0 !important;
    padding:8px 16px !important;font-size:11px !important;letter-spacing:.15em;
}
.woocommerce-js table.shop_table .product-thumbnail img, .woocommerce-page table.shop_table .product-thumbnail img{
		max-width:none;
		
	}
/* ---------- Responsive ---------- */
@media(max-width:900px){
	.woocommerce-js table.shop_table .product-thumbnail img, .woocommerce-page table.shop_table .product-thumbnail img{
		max-width:none;
		
	}
    .txd-header-inner{grid-template-columns:auto 1fr auto;gap:12px;padding:14px 18px}
    .txd-nav-left{display:flex;justify-content:flex-start}
    .txd-main-nav{display:none}
    .txd-mobile-toggle{display:inline-flex}
    a.txd-account-link,
    .txd-icon.txd-account-link,
    .txd-nav-right .txd-account-link{display:none !important}
    .txd-logo{font-size:0}
    .txd-brand--sm{gap:0}
    .txd-brand--sm .txd-brand-img{
        width:auto !important;height:84px !important;
        max-width:none !important;
    }
    .txd-brand--sm .txd-brand-name{display:none !important}
    .txd-nav-right{gap:4px}
    .txd-product-grid{grid-template-columns:1fr;gap:40px}
    .txd-product-gallery{position:static}
    .txd-two-col{grid-template-columns:1fr;gap:40px}

    /* About — stack, image on top */
    .txd-about{padding:60px 0}
    .txd-about-layout{grid-template-columns:1fr;gap:36px}
    .txd-about-media{position:static;order:-1}
    .txd-about-text h1{font-size:1.6rem !important}
    .txd-about-text p{font-size:14px;line-height:1.8}

    .txd-brand-strip{padding:50px 0}
    .txd-brand-grid{grid-template-columns:repeat(3,1fr);gap:10px;padding:0 12px;text-align:center}
    .txd-brand-cell h4{font-size:14px;margin:0 0 4px}
    .txd-brand-cell p{font-size:11px;line-height:1.4}
    .txd-brand-icon{margin-bottom:10px}
    .txd-brand-icon svg{width:24px;height:24px}

    /* IG section stacks: profile on top, 2x2 grid below */
    .txd-ig{padding:70px 0}
    .txd-ig-split{grid-template-columns:1fr;gap:24px}
    .txd-ig-profile{padding:14px}
    .txd-ig-grid{gap:8px}
    .txd-footer-grid{grid-template-columns:1fr 1fr;gap:40px}
    .woocommerce ul.products{
        grid-template-columns:repeat(2,1fr) !important;
        gap:30px 14px !important;
        padding:0 16px !important;
    }
    .txd-shop-wrap{padding:30px 0 80px}
    .txd-shop-head{padding:0 16px 30px}
    .txd-filter-trigger{margin:0 16px 24px;width:calc(100% - 32px)}
    .txd-shop-toolbar{padding:0 16px 20px;margin-bottom:24px}
    .txd-filter-trigger{display:inline-flex}
    .txd-filter-panel-head{display:flex}
    .txd-shop-layout{grid-template-columns:1fr;gap:0}
    .txd-shop-sidebar{
        position:fixed;left:0;right:0;bottom:0;top:auto;z-index:200;
        background:#0a0a0a;border-top:1px solid rgba(255,255,255,.08);
        max-height:85vh;overflow-y:auto;padding:24px 24px 32px;gap:28px;
        transform:translateY(110%);transition:transform .4s cubic-bezier(.65,.05,.36,1);
        border-radius:18px 18px 0 0;
    }
    .txd-shop-sidebar.is-open{transform:translateY(0)}
    .txd-filter-panel-head{
        display:flex;justify-content:space-between;align-items:center;
        padding:0 0 18px;border-bottom:1px solid rgba(255,255,255,.08);
        font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.6);
    }
    .txd-filter-close{background:none;border:0;color:#fff;cursor:pointer;padding:4px;display:inline-flex}
    .txd-ig-grid{grid-template-columns:repeat(3,1fr)}
    .txd-ugc-grid{grid-template-columns:repeat(2,1fr)}
    .txd-product-title{font-size:1.75rem !important}
    .txd-hero{height:80vh;min-height:480px}

    /* Cart mobile — 60% image / 40% text, no auto-labels, custom qty stepper */
    .txd-cart-grid{grid-template-columns:1fr;gap:30px}
    .txd-cart-summary{position:static}

    /* Side padding on the whole cart container */
    .txd-cart-wrap{padding:30px 16px 70px}
    .txd-cart-head{padding:0 0 30px}

    .txd-cart-items .shop_table tbody tr.cart_item{
        grid-template-columns:40% 1fr !important;
        grid-template-rows:auto auto auto auto auto !important;
        grid-template-areas:
            "img name"
            "img price"
            "img quantity"
            "img remove"
            "subtotal subtotal" !important;
        column-gap:18px !important;row-gap:12px !important;
        padding:22px 0 !important;
        align-items:start !important;
    }

    /* Cart sub text  */
    .txd-content-wrapper {
        flex-direction: column;
        justify-content: center;
        gap: 2px;
    }

    .txd-content-wrapper p{
        padding: 0px !important;
        margin: 0px !important;
    }
    /* Kill all in-row eyebrow labels on mobile (high specificity to beat desktop labels) */
    .txd-cart-items .shop_table tbody tr.cart_item td::before,
    .txd-cart-items .shop_table tbody tr.cart_item td.product-price::before,
    .txd-cart-items .shop_table .product-name::before,
    .txd-cart-items .shop_table .product-quantity::before,
    .txd-cart-items .shop_table .product-remove::before,
    .txd-cart-items .shop_table .product-price::before{
        content:none !important;display:none !important;
    }

    /* Image — fills 60% column with 4:5 ratio */
    .txd-cart-items .shop_table .product-thumbnail{
        grid-area:img !important;align-self:start !important;width:100%;
    }
    .txd-cart-items .shop_table .product-thumbnail img{
        width:100% !important;height:auto !important;
        aspect-ratio:4/5;object-fit:cover;
    }

    /* Name */
    .txd-cart-items .shop_table .product-name{
        grid-area:name !important;
        padding-right:0 !important;align-self:start !important;
        margin-bottom:0;
    }
    .txd-cart-items .product-name a{
/*         font-size:1rem !important; */
		line-height:1.35;
    }

    /* Price */
    .txd-cart-items .shop_table .product-price{
        grid-area:price !important;
        text-align:left !important;align-self:center !important;
        font-size:14px;color:#fff !important;font-weight:400;
        padding:0 !important;
    }

    /* Quantity stepper cell */
    .txd-cart-items .shop_table .product-quantity{
        grid-area:quantity !important;
        text-align:left !important;align-self:center !important;
        padding:0 !important;
    }

    /* Trash icon */
    .txd-cart-items .shop_table .product-remove{
        grid-area:remove !important;
        text-align:left !important;align-self:center !important;
        padding:0 !important;
    }
    .txd-cart-items a.remove,
    .txd-cart-items a.txd-trash{
        width:30px !important;height:30px !important;margin-left:-6px !important;
    }

    /* Subtotal — full-width footer row, label left + value right */
    .txd-cart-items .shop_table .product-subtotal{
        grid-area:subtotal !important;
        display:flex !important;flex-direction:row !important;
        align-items:center !important;justify-content:space-between !important;
        padding:14px 0 0 !important;margin-top:14px !important;
        border-top:1px solid rgba(255,255,255,.08) !important;
        font-size:15px !important;color:#fff !important;font-weight:500 !important;
    }
    .txd-cart-items .shop_table tbody tr.cart_item td.product-subtotal::before{
        content:"Subtotal" !important;display:inline-block !important;
        font-size:11px;letter-spacing:.2em;text-transform:uppercase;
        color:rgba(255,255,255,.55) !important;font-weight:500;
        margin:0 !important;
    }

    /* Coupon + Update row stacks on mobile */
    .txd-cart-items td.actions{
        flex-direction:column !important;align-items:stretch !important;
        gap:12px !important;
    }
    .txd-cart-items td.actions .coupon{
        flex-direction:column !important;width:100% !important;gap:10px;
    }
    .txd-cart-items td.actions input#coupon_code{min-width:0 !important;width:100%}
    .txd-cart-items td.actions button[name="update_cart"]{margin-left:0 !important;width:100%}
    .txd-cart-items td.actions .coupon button{width:100%}

    /* Checkout mobile */
    .txd-checkout-grid{grid-template-columns:1fr;gap:30px;padding:0 16px}
    .txd-checkout-head{padding:0 16px 30px}
    .txd-checkout-side{position:static;gap:14px}
    .txd-checkout-side-inner{padding:24px}
    .txd-checkout-form .form-row-first,
    .txd-checkout-form .form-row-last{width:100% !important;margin-right:0 !important}
}
@media(max-width:560px){
    .txd-footer-grid{grid-template-columns:1fr}
    .txd-trust-row{grid-template-columns:1fr}
    /* Brand strip stays 3-up, just tighter */
    .txd-brand-grid{grid-template-columns:repeat(3,1fr);gap:6px;padding:0 8px}
    .txd-brand-cell h4{font-size:12px;letter-spacing:0}
    .txd-brand-cell p{font-size:10px;letter-spacing:0;line-height:1.3}
    .txd-brand-icon{margin-bottom:8px}
    .txd-brand-icon svg{width:20px;height:20px}
}



.woocommerce-error::before {
    content: "\e016";
    color: #b81c23;
    display: none;
}