:root{
  --black:#0a0a0a;
  --black-soft:#141414;
  --white:#ffffff;
  --gold:#b59677;
  --gold-light:#d3bd9a;
  --gold-dark:#8a6f52;
  --text:#161616;
  --muted:#6f6f6f;
  --line:#e7e7e7;
  --bg:#ffffff;
  --bg-soft:#f7f7f7;
  --radius:10px;
  --shadow:0 10px 30px rgba(0,0,0,.12);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Jost',system-ui,-apple-system,'Segoe UI',sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
a:hover{color:inherit}
button{font-family:inherit;cursor:pointer;border:none;background:none}
img{max-width:100%}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}

@media (hover:none){.social-uniform:hover:not(:active){color:#ddd;border-color:rgba(181,150,119,.4);background:#000}}
.icon-btn{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;color:#eee;transition:background .2s,color .2s}
.icon-btn:hover{background:rgba(255,255,255,.08);color:var(--gold-light)}
.icon-btn svg{width:20px;height:20px}




.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-weight:700;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;padding:.9rem 2rem;border-radius:999px;transition:transform .15s,box-shadow .2s,background .2s}
.btn-gold{background:var(--gold);color:#000}
.btn-gold:hover{background:var(--gold-light);box-shadow:0 6px 20px rgba(181,150,119,.4);transform:translateY(-1px)}
.btn-dark{background:var(--black);color:#fff}
.btn-dark:hover{background:#222}
.btn-outline{border:1.5px solid var(--line);color:var(--text);background:#fff}
.btn-outline:hover{border-color:var(--black)}

/* ---------- Filter bar ---------- */
.filter-wrap{background:#fff;position:sticky;top:0;z-index:150}
.filter-inner{max-width:1280px;margin:0 auto;padding:.8rem 1.25rem}
.filter-toggle-row{display:flex;align-items:center;justify-content:center;width:100%;gap:.75rem;position:relative}
.filter-toggle-row .search-inline{position:absolute;right:0}
.filter-toggle-row .result-count-bar{position:absolute;left:0;font-size:.8rem;color:var(--muted);white-space:nowrap}
.search-inline{color:var(--text);flex-shrink:0}
.search-inline svg{width:20px;height:20px}
.filter-groups{display:flex;flex-wrap:wrap;gap:1.1rem;align-items:flex-end}
.fgroup{display:flex;flex-direction:column;gap:.45rem}
.fgroup-label{font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.pills{display:flex;flex-wrap:wrap;gap:.4rem}
.price-slider{display:flex;align-items:center;gap:.7rem;padding:.15rem 0}
.price-slider input[type=range]{flex:1;min-width:0;accent-color:#b59677;height:28px;cursor:pointer}
.price-val{font-size:.8rem;font-weight:600;white-space:nowrap;color:var(--text)}
#colorPills .dot{width:26px;height:26px}
#colorPills .dot.active{outline:2px solid var(--gold);outline-offset:2px}
.pill{font-size:.78rem;font-weight:600;padding:.45rem .85rem;border:1px solid var(--line);border-radius:999px;color:var(--text);background:#fff;transition:all .18s}
.pill:hover{border-color:var(--black)}
.pill.active{background:var(--gold);border-color:var(--gold);color:#000}
.sort-wrap{margin-left:auto;display:flex;align-items:center;gap:.5rem}
.sort-wrap select{font-family:inherit;font-size:.82rem;font-weight:600;padding:.55rem .8rem;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text)}
.frow{display:flex;gap:1rem;align-items:flex-end;width:100%;padding-bottom:6px}
.frow .fgroup{flex:1 1 0;min-width:0}
.frow .sort-wrap{flex:1 1 0;min-width:0;margin-left:0;flex-direction:column;align-items:stretch;gap:.45rem}
.frow .sort-wrap select{width:100%}
.result-row{display:flex;align-items:center;justify-content:space-between;margin-top:.7rem}

/* ---------- Filter modal ---------- */
.filter-modal{position:fixed;inset:0;z-index:400;visibility:hidden;transition:visibility 0s .35s}
.filter-modal.open{visibility:visible;transition-delay:0s}
.filter-modal-overlay{position:absolute;inset:0;background:rgba(10,10,10,.65);opacity:0;transition:opacity .3s ease}
.filter-modal.open .filter-modal-overlay{opacity:1}
.filter-modal-dialog{position:absolute;background:var(--bg);color:var(--text);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.35)}
.filter-modal-head{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--line);flex-shrink:0}
.filter-modal-head h2{margin:0;font-size:1.05rem;font-weight:700;letter-spacing:.02em}
.filter-modal-close{background:none;border:0;padding:.4rem;margin:-.4rem;cursor:pointer;color:var(--text);display:flex;align-items:center}
.filter-modal-close svg{width:22px;height:22px}
.filter-modal-body{padding:1.1rem 1.25rem;overflow-y:auto;-webkit-overflow-scrolling:touch}
.filter-modal-foot{display:flex;align-items:center;gap:.9rem;padding:.9rem 1.25rem;border-top:1px solid var(--line);background:var(--bg);flex-shrink:0}
.filter-modal-foot .result-count{margin-right:auto}
.filter-modal-foot .btn-solid{white-space:nowrap}
@media(min-width:901px){
  .filter-modal-dialog{top:0;left:0;height:100dvh;width:min(400px,92vw);transform:translateX(-102%);transition:transform .32s ease}
  .filter-modal.open .filter-modal-dialog{transform:translateX(0)}
}
@media(max-width:900px){
  .filter-modal-dialog{inset:0;width:100%;height:100dvh}
  .filter-modal-body{flex:1;min-height:0}
}
.result-count{font-size:.8rem;color:var(--muted)}
.clear-filters{font-size:.78rem;font-weight:700;color:var(--gold-dark);letter-spacing:.04em}
.clear-filters:hover{color:var(--black)}

/* ---------- Product grid ---------- */
html{scroll-snap-type:y proximity}
html.no-snap{scroll-snap-type:none}
.shop{max-width:1280px;margin:0 auto;padding:2rem 1.25rem 3rem}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:box-shadow .25s,transform .25s;position:relative;display:flex;flex-direction:column}
.card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}
.tile{position:relative;aspect-ratio:4/5;display:flex;align-items:center;justify-content:center;overflow:hidden}
.tile::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,rgba(255,255,255,.025) 0 2px,transparent 2px 10px);pointer-events:none}
.tile-1{background:linear-gradient(140deg,#101010 0%,#232323 60%,#2e2a1a 100%)}
.tile-2{background:linear-gradient(140deg,#0d0d0d 0%,#1c1c22 55%,#2b2413 100%)}
.tile-3{background:linear-gradient(140deg,#141414 0%,#262019 60%,#3a3016 100%)}
.tile-4{background:linear-gradient(140deg,#0b0b0e 0%,#1a1a20 60%,#241f10 100%)}
.tile-5{background:linear-gradient(140deg,#121212 0%,#202020 55%,#332b14 100%)}
.tile-6{background:linear-gradient(140deg,#0e0e0e 0%,#1e1c14 60%,#2e2a16 100%)}
.tile-name{color:var(--gold-light);font-weight:900;font-size:1.05rem;letter-spacing:.22em;text-align:center;padding:0 1.2rem;line-height:1.6;text-transform:uppercase;position:relative;z-index:1}
.tile-sub{position:absolute;bottom:.9rem;left:0;right:0;text-align:center;color:rgba(255,255,255,.35);font-size:.62rem;font-weight:600;letter-spacing:.28em;text-transform:uppercase;z-index:1}
.badge-new{position:absolute;top:.7rem;left:.7rem;z-index:2;background:var(--gold);color:#000;font-size:.62rem;font-weight:800;letter-spacing:.14em;padding:.32rem .6rem;border-radius:4px}
.wish-btn{position:absolute;top:.55rem;right:.55rem;z-index:2;width:34px;height:34px;border-radius:50%;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;color:#fff;transition:all .2s;opacity:0}
.card:hover .wish-btn{opacity:1}
.wish-btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2}
.wish-btn.active{opacity:1;color:var(--gold-light)}
.wish-btn.active svg{fill:var(--gold-light);stroke:var(--gold-light)}
.quickview-btn{position:absolute;left:50%;bottom:1rem;transform:translate(-50%,12px);z-index:2;background:#fff;color:#000;border:1px solid var(--gold);font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.7rem 1.5rem;border-radius:999px;opacity:0;transition:all .25s;white-space:nowrap}
.card:hover .quickview-btn{opacity:1;transform:translate(-50%,0)}
.quickview-btn:hover{background:var(--gold)}
.card-body{padding:1rem 1.1rem 1.2rem;display:flex;flex-direction:column;flex:1 1 auto;text-align:center}
.card-name{font-size:.92rem;font-weight:700;margin-bottom:.3rem}
.card-meta{display:block;margin-top:auto;padding-top:.55rem}
.card-price{color:var(--gold-dark);font-weight:800;font-size:1rem}
.swatch-dots{display:flex;gap:.45rem;margin-top:.45rem;flex-wrap:wrap;align-items:center;justify-content:center}
.dot{width:14px;height:14px;border-radius:50%;border:1px solid rgba(0,0,0,.2)}
.swatch-dots .dot{width:18px;height:18px;padding:0;cursor:pointer;background-clip:padding-box}
.swatch-dots .dot:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.dot.black{background:#141414}.dot.white{background:#fff}.dot.grey{background:#9aa0a6}.dot.navy{background:#1b2a4a}
.card-cat{font-size:.68rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.empty-state{text-align:center;padding:1rem 1rem;color:var(--muted)}
.empty-state h3{color:var(--text);font-size:1.1rem;margin-bottom:.35rem}
.empty-state p{margin:.3rem 0}

/* ---------- Trust row ---------- */
.trust{background:var(--bg-soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.trust-inner{max-width:1280px;margin:0 auto;padding:1.75rem 1.25rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem}
.trust-note{width:100%;text-align:center;font-size:.8rem;color:var(--muted);margin-bottom:.4rem}
.trust-note strong{color:var(--text)}
.pay-chip{display:inline-flex;align-items:center;gap:.35rem;background:#fff;border:1px solid var(--line);border-radius:6px;padding:.42rem .7rem;font-size:.72rem;font-weight:800;letter-spacing:.03em;color:#222}
.pay-chip svg{height:14px;width:auto}
@media (max-width:480px){
.trust-inner{display:grid;grid-template-columns:repeat(4,1fr);gap:.3rem;padding-left:.5rem;padding-right:.5rem}
.trust-note{grid-column:1/-1}
.pay-chip{padding:.32rem .3rem;font-size:.66rem;letter-spacing:.02em;justify-content:center;text-align:center}
}

/* ---------- Footer ---------- */
.site-footer{background:var(--black);color:#cfcfcf}
.footer-inner{max-width:1280px;margin:0 auto;padding:2.5rem 1.25rem 1.5rem;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.fcol h4{color:#fff;font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-bottom:1rem}
.fcol a{display:block;font-size:.86rem;padding:.32rem 0;color:#b5b5b5;transition:color .2s}
.fcol a:hover{color:var(--gold-light)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1)}
.footer-bottom-inner{max-width:1280px;margin:0 auto;padding:1.1rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.copyright{font-size:.78rem;color:#8f8f8f;white-space:nowrap}

.qty-ctl{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px}
.qty-ctl button{width:28px;height:28px;font-size:.95rem;color:var(--text);display:flex;align-items:center;justify-content:center}
.qty-ctl button:hover{color:var(--gold-dark)}
.qty-ctl span{min-width:26px;text-align:center;font-size:.82rem;font-weight:700}

.qv-tile{min-height:336px;display:flex;align-items:center;justify-content:center;position:relative}
.qv-tile .tile-name{font-size:1.2rem}
.qv-info{padding:1.6rem}
.qv-info .card-cat{margin-bottom:.4rem}
.qv-info h2{font-size:1.2rem;font-weight:800;margin-bottom:.4rem}
.qv-price{font-size:1.1rem;font-weight:800;color:var(--gold-dark);margin-bottom:1rem}
.qv-desc{font-size:.8rem;color:var(--muted);line-height:1.7;margin-bottom:1.25rem}
.qv-label{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:.5rem}
.qv-sizes{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1.25rem}
.size-pill{min-width:44px;padding:.55rem .6rem;border:1px solid var(--line);border-radius:8px;font-size:.8rem;font-weight:700;text-align:center;transition:all .18s}
.size-pill:hover{border-color:var(--black)}
.size-pill.active{background:var(--black);color:#fff;border-color:var(--black)}
.qv-row{display:flex;gap:.4rem;align-items:center;margin-bottom:1.25rem}
.qv-row .qty-ctl{border-radius:10px;flex:none;zoom:.8}
.qv-row .qv-swatches{margin-bottom:0;gap:.3rem;flex:none}
.qv-row .qty-ctl button{width:20px;height:24px;font-size:.8rem}
.qv-row .qty-ctl span{min-width:16px;font-size:.72rem}
.qv-row .qv-swatches .dot{width:20px;height:20px}
.qv-row .btn-gold{flex:1;white-space:nowrap;min-width:0;padding:.7rem .3rem;font-size:.65rem;letter-spacing:.05em}
.qv-row .btn-gold.icon-only{flex:none;width:46px;height:46px;padding:0;border-radius:50%;letter-spacing:0}
.qv-row .btn-gold.icon-only svg{width:20px;height:20px}
.qv-row .qty-ctl button{width:38px;height:48px}
.qv-row .btn{flex:1}
.qv-meta{font-size:.76rem;color:var(--muted);line-height:1.8;border-top:1px solid var(--line);padding-top:1rem}
.qv-close{position:absolute;top:.8rem;right:.8rem;z-index:2;width:36px;height:36px;border-radius:50%;background:rgba(0,0,0,.5);color:#fff;font-size:1.15rem;display:flex;align-items:center;justify-content:center}
.qv-close:hover{background:#000}


/* ---------- Responsive ---------- */
@media(max-width:1024px){
  .grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:768px){
  .filter-wrap{top:0}
  .filter-groups{flex-direction:column;align-items:stretch}
  .sort-wrap{margin-left:0}
  .grid{grid-template-columns:repeat(2,1fr);gap:.9rem}
  .card-body{padding:.8rem .8rem 1rem}
  .quickview-btn{opacity:1;transform:translate(-50%,0);padding:.55rem 1.1rem;font-size:.68rem}
  .wish-btn{opacity:1}
  .qv-tile{flex:1 1 auto;min-height:140px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:8px}
  .qv-tile:has(.tile-img){background:#fff}
  .qv-tile .tile-img{position:static;display:block;height:100%;width:auto;max-width:100%;object-fit:contain}
  .qv-info{flex:0 0 auto;padding:1rem 1.25rem 1.25rem}
  .qv-price{margin-bottom:.7rem}
  .qv-desc{margin-bottom:.9rem}
  .qv-row{margin-bottom:.9rem}
  .footer-inner{grid-template-columns:1fr 1fr;gap:1.6rem 1rem;padding:2.25rem 1.25rem 1.25rem}
  .footer-inner .fcol:last-child{grid-column:1/-1}
  .copyright{white-space:nowrap;font-size:.6rem}
  .footer-bottom-inner{justify-content:center;text-align:center;padding-left:.5rem;padding-right:.5rem}
}
@media(prefers-reduced-motion:reduce){
  *{transition:none!important;scroll-behavior:auto!important;animation:none!important}
}

/* ---------- v2: art deco typography ---------- */
.hero h1{font-family:'Jost',sans-serif;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.card-name,.qv-info h2{font-family:'Jost',sans-serif;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.card-name{font-size:.8rem}
.btn{font-family:'Jost',sans-serif;font-weight:600;letter-spacing:.14em}
.tile-name{font-family:'Jost',sans-serif;font-weight:600;letter-spacing:.3em}
.badge-new{font-family:'Jost',sans-serif;font-weight:600;letter-spacing:.16em}
.fcol h4{font-family:'Jost',sans-serif;font-weight:600;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase}
.empty-state h3{font-family:'Jost',sans-serif;font-weight:600;letter-spacing:.08em;text-transform:uppercase}

/* ---------- v2: footer brand strip + newsletter ---------- */
.footer-brand-strip{max-width:1280px;margin:0 auto;padding:2.5rem 1.25rem 0;text-align:center}
.footer-brand-strip .wordmark{font-size:1.3rem}
.footer-brand-strip p{color:#9a9a9a;font-size:.9rem;margin-top:.7rem;letter-spacing:.04em}
.news-form{display:flex;gap:.5rem;margin:.9rem 0 1.1rem;max-width:340px}
.news-form input{flex:1;min-width:0;background:#1a1a1a;border:1px solid rgba(255,255,255,.18);color:#fff;padding:.7rem .9rem;border-radius:8px;font-family:inherit;font-size:.85rem}
.news-form input:focus{outline:none;border-color:var(--gold)}
.news-form input::placeholder{color:#666}
.news-form button{background:var(--gold);color:#000;font-family:'Jost',sans-serif;font-weight:600;font-size:.72rem;letter-spacing:.12em;padding:.7rem 1.1rem;border-radius:8px;text-transform:uppercase}
.news-form button:hover{background:var(--gold-light)}
.news-thanks{font-size:.85rem;color:var(--gold-light);margin:.9rem 0 1.1rem}

/* ---------- v2: account modal ---------- */
.acct-modal{position:fixed;inset:0;z-index:500;display:flex;align-items:center;justify-content:center;padding:1rem;opacity:0;pointer-events:none;transition:opacity .3s}
.acct-modal.show{opacity:1;pointer-events:auto}
.acct-box{background:#101010;color:#eee;border:1px solid rgba(181,150,119,.35);border-radius:14px;max-width:420px;width:100%;max-height:92dvh;overflow-y:auto;padding:2.2rem 2rem;position:relative;transform:translateY(16px);transition:transform .3s;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.acct-modal.show .acct-box{transform:translateY(0)}
.acct-title{font-family:'Jost',sans-serif;font-size:1.4rem;font-weight:600;letter-spacing:.16em;text-align:center;color:var(--gold-light);text-transform:uppercase;margin-bottom:.4rem}
.acct-sub{text-align:center;font-size:.85rem;color:#a8a8a8;margin-bottom:1.2rem}
.acct-perks{list-style:none;margin:0 0 1.4rem;display:flex;flex-direction:column;gap:.55rem}
.acct-perks li{font-size:.88rem;color:#cfcfcf;display:flex;gap:.65rem;align-items:center}
.acct-perks li::before{content:"";width:6px;height:6px;background:var(--gold);transform:rotate(45deg);flex-shrink:0}
.acct-tabs{display:flex;border-bottom:1px solid rgba(255,255,255,.12);margin-bottom:1.3rem}
.acct-tab{flex:1;font-family:'Jost',sans-serif;font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#8a8a8a;padding:.7rem;border-bottom:2px solid transparent;margin-bottom:-1px}
.acct-tab.active{color:var(--gold-light);border-bottom-color:var(--gold)}
.acct-field{margin-bottom:.9rem}
.acct-field label{display:block;font-size:.68rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#9a9a9a;margin-bottom:.4rem}
.acct-field input{width:100%;background:#1a1a1a;border:1px solid rgba(255,255,255,.16);color:#fff;padding:.75rem .9rem;border-radius:8px;font-family:inherit;font-size:.9rem}
.acct-field input:focus{outline:none;border-color:var(--gold)}
.acct-box .btn{width:100%;margin-top:.4rem}
.acct-note{text-align:center;font-size:.72rem;color:#777;margin-top:.9rem}
.acct-close{position:absolute;top:.7rem;right:.7rem;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.08);color:#fff;font-size:1.1rem;display:flex;align-items:center;justify-content:center}
.acct-close:hover{background:rgba(255,255,255,.16)}
@media(max-width:768px){
  .footer-brand-strip .wordmark{font-size:1.05rem}
  .acct-box{padding:1.8rem 1.4rem}
}



/* ---------- v3: back to top ---------- */
.to-top{position:fixed;right:1.25rem;bottom:1.25rem;z-index:300;width:48px;height:48px;border-radius:50%;background:var(--gold);color:#000;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(0,0,0,.25);opacity:0;pointer-events:none;transform:translateY(12px);transition:opacity .3s,transform .3s,background .2s}
.to-top.show{opacity:1;pointer-events:auto;transform:translateY(0)}
.to-top:hover{background:var(--gold-light)}
.to-top svg{width:22px;height:22px}

/* ---------- v3: infinite scroll ---------- */
.infinite-wrap{text-align:center;margin:1rem 0 1.5rem;min-height:34px}
.infinite-spinner{display:none;width:26px;height:26px;border-radius:50%;border:2px solid rgba(181,150,119,.25);border-top-color:#b59677;animation:spin .8s linear infinite}
.infinite-wrap.loading .infinite-spinner{display:inline-block}
@keyframes spin{to{transform:rotate(360deg)}}
.loadmore-note{font-size:.72rem;color:var(--muted);margin-top:.7rem;letter-spacing:.04em}
.all-seen{text-align:center;font-family:'Jost',sans-serif;font-weight:600;font-size:.8rem;color:var(--muted);letter-spacing:.1em;margin:1rem 0 1.5rem;text-transform:uppercase}

/* ---------- v5: real product images ---------- */
.tile-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.dot{cursor:pointer;padding:0}
.dot.has-img{width:18px;height:18px}
.dot.sel{outline:2px solid var(--gold);outline-offset:2px}
.qv-swatches{display:flex;gap:.6rem;margin-bottom:1.25rem}
.qv-swatches .dot{width:24px;height:24px}
/* ---------- v5: filter toggle chevron ---------- */
.filter-toggle-row .chev{width:16px;height:16px;transition:transform .3s;flex-shrink:0}
.filter-wrap.expanded .chev{transform:rotate(180deg)}


/* ---------- v7: sale + category dividers ---------- */
.badge-sale{position:absolute;top:.7rem;left:.7rem;z-index:2;background:var(--gold);color:#000;font-size:.62rem;font-weight:800;letter-spacing:.14em;padding:.32rem .6rem;border-radius:4px;text-transform:uppercase}
.sale-price{color:var(--gold-dark);font-weight:800}
.was-price{color:#9aa0a6;text-decoration:line-through;font-weight:600;font-size:.85em;margin-left:.4rem}
.cat-divider{grid-column:1/-1;display:flex;align-items:center;gap:1rem;margin:1.75rem 0 .25rem;scroll-margin-top:70px}
.cat-divider:first-child{margin-top:.25rem}
.cat-divider::before,.cat-divider::after{content:"";flex:1;height:1px;background:rgba(181,150,119,.45)}
.cat-divider span{font-weight:600;font-size:.8rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-dark);white-space:nowrap}


/* ---------- v6: product page ---------- */
.card .tile{cursor:pointer}
.card-name{cursor:pointer;transition:color .18s}
.card-name:hover{color:var(--gold-dark)}
.product-page{background:#fff}
.pp-wrap{max-width:1100px;margin:0 auto;padding:2rem 1.25rem 3rem}
.pp-back{font-size:.82rem;font-weight:700;letter-spacing:.06em;color:var(--gold-dark);margin-bottom:1rem;padding:.4rem 0}
.pp-back:hover{color:#000}
.pp-crumb{font-size:.8rem;color:var(--muted);margin-bottom:1.4rem}
.pp-crumb button{color:var(--gold-dark);font-weight:600;font-size:.8rem}
.pp-crumb button:hover{color:#000}
.pp-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;margin-bottom:3rem}
.pp-img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius);border:1px solid var(--line);display:block}
.pp-tile{aspect-ratio:4/5;border-radius:var(--radius);position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}
.pp-info .card-cat{margin-bottom:.4rem}
.pp-info h1{font-size:1.6rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-bottom:.5rem;line-height:1.25}
.pp-price{font-size:1.4rem;font-weight:800;color:var(--gold-dark);margin-bottom:1rem}
.pp-desc{font-size:.9rem;color:var(--muted);line-height:1.7;margin-bottom:1.25rem}
.pp-label{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:.5rem}
.pp-sizes{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1.25rem}
.pp-swatches{display:flex;gap:.6rem;margin-bottom:1.25rem}
.pp-swatches .dot{width:24px;height:24px;cursor:pointer}
.pp-row{display:flex;gap:.8rem;align-items:stretch;margin-bottom:1.5rem}
.pp-row .qty-ctl{border-radius:10px}
.pp-row .qty-ctl button{width:38px;height:48px}
.pp-row .btn{flex:1}
.pp-acc{border-top:1px solid var(--line)}
.pp-acc:last-of-type{border-bottom:1px solid var(--line)}
.pp-acc summary{padding:1rem 0;font-weight:700;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.pp-acc summary::-webkit-details-marker{display:none}
.pp-acc summary::after{content:"+";color:var(--gold-dark);font-size:1.15rem;font-weight:400}
.pp-acc[open] summary::after{content:"\2212"}
.pp-acc p{font-size:.88rem;color:var(--muted);line-height:1.7;padding:0 0 1.2rem}
.pp-related h2{font-size:1.05rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin-bottom:1.2rem;text-align:center}
.rel-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.rel-card{display:block;width:100%;text-align:left;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:box-shadow .25s}
.rel-card:hover{box-shadow:var(--shadow)}
.rel-tile{aspect-ratio:4/5}
.rel-name{display:block;font-size:.82rem;font-weight:700;padding:.7rem .8rem 0}
.rel-price{display:block;font-size:.82rem;font-weight:800;color:var(--gold-dark);padding:.15rem .8rem .8rem}
@media(max-width:768px){
  .pp-grid{grid-template-columns:1fr;gap:1.5rem}
  .rel-grid{grid-template-columns:repeat(2,1fr)}
  .pp-info h1{font-size:1.3rem}
}


/* ============================================================
   XCLSV BRND THEME ADDITIONS
   Ported design base above; everything below adapts it to the
   real WordPress + WooCommerce build.
   ============================================================ */

/* ---------- Badges: stack SALE above NEW ---------- */
.card-badges{position:absolute;top:.7rem;left:.7rem;z-index:2;display:flex;flex-direction:column;gap:.35rem;align-items:flex-start}
.card-badges .badge-sale,.card-badges .badge-new{position:static}
.badge-sale{background:var(--gold);color:#000;font-size:.62rem;font-weight:800;letter-spacing:.14em;padding:.32rem .6rem;border-radius:4px;text-transform:uppercase;font-family:'Jost',sans-serif}
.ea-new-badge{display:inline-block;background:var(--gold);color:#000;font-size:.62rem;font-weight:600;letter-spacing:.16em;padding:.32rem .6rem;border-radius:4px;text-transform:uppercase;font-family:'Jost',sans-serif;margin:.5rem .5rem 0 0}

/* ---------- Real product images inside tiles ---------- */
.tile{background:#fff}
.tile-img{z-index:1}
.tile .wish-btn,.tile .quickview-btn,.tile .card-badges,.tile .tile-name,.tile .tile-sub{z-index:2}
.card-name a{color:inherit}
.card-name a:hover{color:var(--gold-dark)}
.qv-tile{background:linear-gradient(140deg,#101010,#232323)}
.qv-tile .tile-img{z-index:1}

/* ---------- Price + wishlist share one row ---------- */
.pp-price-row{display:flex;align-items:center;justify-content:center;text-align:center;gap:1rem;margin-bottom:1rem}
.pp-price-row .price{margin-bottom:0!important}

/* ---------- Wishlist heart on single product ---------- */
.ea-single-wish{display:inline-flex;align-items:center;gap:.5rem;margin:.25rem 0 1rem;color:var(--muted);font-size:.82rem;font-weight:600;letter-spacing:.04em}
.ea-single-wish svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}
.ea-single-wish.active{color:var(--gold-dark)}
.ea-single-wish.active svg{fill:var(--gold);stroke:var(--gold)}

/* ---------- WooCommerce: single product layout ---------- */
.ea-wc-wrap{max-width:1280px;margin:0 auto;padding:2rem 1.25rem 1.5rem}
.single-product div.product{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;margin-bottom:2rem}
.single-product .woocommerce-product-gallery{margin-bottom:0!important;float:none!important;width:100%!important}
.single-product div.summary{float:none!important;width:100%!important;margin-bottom:0}
.single-product .woocommerce-product-gallery__image img,.single-product .woocommerce-product-gallery img{border-radius:var(--radius);border:1px solid var(--line)}
.pp-wrap-top{max-width:1280px;margin:0 auto .35rem;padding:.45rem 1.25rem 0}
/* Product title bar: back arrow, centered title, wishlist heart. */
.pp-titlebar{display:flex;align-items:center;gap:1.25rem}
.pp-titlebar .pp-back-arrow{flex:none}
.pp-title{flex:1 1 auto;min-width:0;margin:0;padding:0 .5rem;font-size:1.05rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;text-align:center;line-height:1.3}
.pp-back-arrow{font-size:1.25rem;line-height:1;color:var(--gold-dark);padding:.1rem 0;margin:0;display:inline-block}
.pp-back-arrow:hover{color:#000}
/* Home icon in the title bar (matches the heart's tap target). */
.pp-home{flex:none;width:40px;height:40px;margin:0;padding:0;display:inline-flex;align-items:center;justify-content:center;color:var(--gold-dark)}
.pp-home:hover{color:#000}
.pp-home svg{width:22px;height:22px}
/* Wishlist heart as a plain icon button in the title bar. */
.pp-titlebar .ea-single-wish{flex:none;width:40px;height:40px;margin:0;padding:0;border:0;background:none;display:inline-flex;align-items:center;justify-content:center;color:var(--muted)}
.pp-titlebar .ea-single-wish span{display:none}
.pp-titlebar .ea-single-wish svg{width:22px;height:22px}
/* ---------- Single product: corner buttons + buy grid ---------- */
.single-product .woocommerce-product-gallery{position:relative}
.single-product .corner-btn{position:absolute;top:.75rem;z-index:5;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.94);border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;color:var(--text);box-shadow:0 2px 10px rgba(0,0,0,.14);margin:0;padding:0;cursor:pointer}
.single-product .corner-btn.pp-home{left:.75rem}
.single-product .corner-btn.ea-single-wish{right:.75rem}
.single-product .corner-btn.ea-single-wish span{display:none}
.single-product .corner-btn svg{width:22px;height:22px}
.single-product .corner-btn.ea-single-wish.active{color:var(--gold-dark)}
.single-product .corner-btn.ea-single-wish.active svg{fill:var(--gold);stroke:var(--gold)}
/* Gallery zoom trigger moves to the bottom-right so it never collides with the heart. */
.single-product div.product div.images .woocommerce-product-gallery__trigger{top:auto!important;bottom:.75rem}
/* Buy grid: Layout B (Balanced two-row) is applied via ea_layout_css() in
   inc/setup.php with !important. The rules below are for non-JS fallbacks. */
.single-product form.cart{margin-bottom:1rem}
/* Empty variation-price placeholder takes no space until a variation is picked. */
.single-product .single_variation:empty{display:none}
/* Buy header: product name (left) + price (right) on one line. */
.ea-buy-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 0 .4rem}
.ea-buy-header .pp-title{margin:0!important;padding:0!important;text-align:left!important;font-size:1.05rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;line-height:1.3;flex:1 1 auto;min-width:0}
.ea-buy-header .pp-price-row{margin:0!important;flex:none;border:1px solid var(--line);border-radius:10px;padding:.5rem 1.25rem}
.single-product form.variations_form .woocommerce-variation-add-to-cart .pp-price-row,
.single-product form.cart:not(.variations_form):not(.grouped_form) .pp-price-row{margin:0;border:1px solid var(--line);border-radius:10px;padding:.5rem 1.25rem}
.single-product form.variations_form .woocommerce-variation-add-to-cart .single_add_to_cart_button,
.single-product form.cart:not(.variations_form):not(.grouped_form) .single_add_to_cart_button{width:100%!important;padding:.95rem 1rem!important;white-space:nowrap}
.single-product form.variations_form .woocommerce-variation-add-to-cart .ea-buy-now,
.single-product form.cart:not(.variations_form):not(.grouped_form) .ea-buy-now{margin:0!important;flex:none;width:100%!important}
/* Gallery thumbnail strip. */
.single-product .flex-control-thumbs{display:flex;gap:.5rem;justify-content:center;margin:.6rem 0 0;padding:0;list-style:none}
.single-product .flex-control-thumbs li{flex:0 0 64px;margin:0}
.single-product .flex-control-thumbs img{border-radius:10px;border:1px solid var(--line);cursor:pointer}
.woocommerce-breadcrumb{font-size:.8rem !important;color:var(--muted);margin-bottom:1rem}
.woocommerce-breadcrumb a{color:var(--gold-dark);font-weight:600;text-decoration:none}
.woocommerce-breadcrumb a:hover{color:#000;text-decoration:none}
.ea-page-breadcrumb{font-size:.8rem !important;margin-bottom:1.25rem}
.ea-crumb-sep{margin:0 .4rem}
@media(min-width:769px){.pp-title{font-size:1.25rem}}
.single-product .price{font-size:1.4rem;font-weight:800;color:var(--gold)!important;margin-bottom:.8rem}
.single-product .price del{color:#9aa0a6;font-weight:600;font-size:.85em;margin-right:.5rem}
.single-product .price ins{text-decoration:none}
.single-product .woocommerce-product-details__short-description{font-size:.9rem;color:var(--muted);line-height:1.7;margin-bottom:1rem}
span.onsale{background:var(--gold)!important;color:#000!important;font-family:'Jost',sans-serif;font-weight:600;letter-spacing:.12em;text-transform:uppercase;font-size:.7rem!important;min-height:0!important;line-height:1!important;padding:.45rem .7rem!important;border-radius:4px!important}

/* Variation form: custom swatches and size pills drive the native selects */
.ea-var-hidden{display:none!important}
/* The native WooCommerce variation labels live in th.label cells and are
 * redundant next to the custom row labels, so the native cells are hidden
 * and the rows flatten into clean stacked blocks. */
.single-product table.variations{margin:0;border:0}
.single-product table.variations tbody,.single-product table.variations tr,.single-product table.variations td,.single-product table.variations th{display:block;padding:0;border:0;background:none}
.single-product table.variations th.label{display:none}
/* The "Clear" reset link is unnecessary; the pills/dots are the controls. */
.single-product a.reset_variations{display:none!important}
.ea-opt-label{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:.5rem}
.ea-swatches{display:flex;gap:.6rem;margin-bottom:1.25rem}
.ea-swatches .dot{width:26px;height:26px;cursor:pointer;padding:0;border:1px solid rgba(0,0,0,.2);border-radius:50%}
.ea-swatches .dot.sel{outline:2px solid var(--gold);outline-offset:2px}
.ea-size-pills{display:flex;flex-wrap:nowrap;gap:.4rem;margin-bottom:1.25rem;align-items:center;justify-content:center}
.ea-size-pills .size-pill,.qv-sizes .size-pill{flex:1 1 0;min-width:0;white-space:nowrap;padding:.5rem .3rem;font-size:.75rem}
.qv-sizes{flex-wrap:nowrap}
/* "Also available as" garment switcher (single product, under the title) */
.ea-also{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .6rem;margin:.3rem 0 .9rem}
.ea-also-label{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.ea-also-pills{display:flex;flex-wrap:wrap;gap:.4rem}
.ea-also-pill{font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.4rem .75rem;border:1px solid var(--line);border-radius:999px;color:var(--black);text-decoration:none;transition:border-color .18s,background .18s;white-space:nowrap}
a.ea-also-pill:hover{border-color:var(--black);background:#f7f4ec}
.ea-also-pill.is-current{background:var(--black);color:#fff;border-color:var(--black);cursor:default}
.ea-size-note{font-size:.78rem;color:var(--muted);margin:-.75rem 0 1.25rem}
.single-product .qty-ctl{border-radius:10px;border:1px solid var(--line);display:inline-flex;align-items:center}
.single-product .qty-ctl button{width:38px;height:48px;font-size:.95rem;display:flex;align-items:center;justify-content:center}
.single-product .qty-ctl button:hover{color:var(--gold-dark)}
.single-product .qty-ctl input{width:44px;border:none;text-align:center;font-family:inherit;font-size:.9rem;font-weight:700;background:transparent}
.single-product .qty-ctl input:focus{outline:none}
.single-product form.cart{display:flex;gap:.8rem;align-items:stretch;margin-bottom:1.5rem;flex-wrap:wrap}
.single-product .single_add_to_cart_button{flex:1;background:var(--gold)!important;color:#000!important;font-family:'Jost',sans-serif;font-weight:600;font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;padding:.9rem 2rem!important;border-radius:999px!important;transition:background .2s}
.single-product .single_add_to_cart_button:hover{background:var(--gold-light)!important}
.single-product .single_add_to_cart_button:disabled{opacity:.5;cursor:not-allowed}
.product_meta{font-size:.76rem;color:var(--muted);line-height:1.8;border-top:1px solid var(--line);padding-top:.6rem;margin-top:.5rem}
.product_meta .sku_wrapper,.product_meta .posted_in{display:block}

/* Single product accordion */
.pp-accordion{max-width:1280px;margin:0 auto 1.5rem;padding:0 1.25rem}
.pp-acc{border-top:1px solid var(--line)}
.pp-accordion .pp-acc:last-child{border-bottom:1px solid var(--line)}
.pp-acc-body{font-size:.88rem;color:var(--muted);line-height:1.7;padding:0 0 1.2rem}
.pp-acc-body p{margin-bottom:.8rem}

/* Related products */
.related.products{clear:both}
.related.products > h2{font-size:1.05rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin-bottom:1.2rem;text-align:center}
.related.products ul.products{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.related.products ul.products::before,.related.products ul.products::after{display:none}
.related.products ul.products li.product{float:none!important;width:100%!important;margin:0!important;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;text-align:left}
.related.products ul.products li.product a img{margin-bottom:0;border-radius:0}
.related.products ul.products li.product .woocommerce-loop-product__title{font-size:.82rem;font-weight:700;padding:.7rem .8rem 0}
.related.products ul.products li.product .price{font-size:.82rem;font-weight:800;color:var(--gold-dark);padding:.15rem .8rem .8rem;display:block}
.related.products ul.products li.product .button{display:none}

/* ---------- WooCommerce: notices ---------- */
.woocommerce-message,.woocommerce-info,.woocommerce-error{border-top:3px solid var(--gold);background:var(--bg-soft);font-size:.88rem;padding:1rem 1.25rem 1rem 3rem;margin-bottom:1.5rem;list-style:none;position:relative}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{position:absolute;left:1.1rem;top:1.05rem}
.woocommerce-error{border-top-color:#c0392b}
.woocommerce-message a,.woocommerce-info a{text-decoration:none;color:var(--gold-dark);font-weight:700}

/* ---------- WooCommerce: buttons ---------- */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit{background:var(--black);color:#fff;font-family:'Jost',sans-serif;font-weight:600;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;padding:.85rem 1.8rem;border-radius:999px;border:none}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{background:#222;color:#fff}
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt,.woocommerce #respond input#submit.alt{background:var(--gold);color:#000}
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover{background:var(--gold-light);color:#000}
.woocommerce a.button:disabled,.woocommerce button.button:disabled{opacity:.5}

/* ---------- WooCommerce: cart page ---------- */
.woocommerce-cart table.shop_table{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;font-size:.9rem}
.woocommerce-cart table.shop_table th{font-family:'Jost',sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:1rem}
.woocommerce-cart table.shop_table td{padding:1rem;border-top:1px solid var(--line)}
.woocommerce-cart .cart-collaterals .cart_totals{background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem}
.woocommerce-cart .cart-collaterals h2{font-family:'Jost',sans-serif;font-size:.95rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin-bottom:1rem}
.woocommerce-cart .coupon input.input-text{border:1px solid var(--line);border-radius:8px;padding:.7rem .9rem;font-family:inherit;min-width:160px}

/* ---------- WooCommerce: checkout ---------- */
.woocommerce-checkout h3{font-family:'Jost',sans-serif;font-size:.95rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin:1.5rem 0 1rem}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select{border:1px solid var(--line);border-radius:8px;padding:.75rem .9rem;font-family:inherit;font-size:.9rem;background:#fff}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus,.woocommerce form .form-row select:focus{outline:none;border-color:var(--gold)}
.woocommerce form .form-row label{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
#order_review_heading{margin-top:2rem}
.woocommerce-checkout-review-order{background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem}
#payment{background:#fff;border:1px solid var(--line);border-radius:var(--radius)}
#payment ul.payment_methods{border-bottom:1px solid var(--line);padding:1.25rem}
#payment div.payment_box{background:var(--bg-soft);border-radius:8px}
#payment div.payment_box::before{border-bottom-color:var(--bg-soft)}
.ea-newsletter-row{margin:1rem 0}
.ea-newsletter-row label{display:flex;gap:.6rem;align-items:center;font-size:.85rem;color:var(--text);cursor:pointer}
.ea-newsletter-row input[type="checkbox"]{width:18px;height:18px;accent-color:var(--gold)}

/* Stripe / PayPal containers: style the frame, never the internals */
.wc-stripe-elements-field,.stripe-card-group,#wc-stripe-cc-form,.paypal-buttons,#ppc-button{border-radius:8px}
li.wc_payment_method label{font-weight:600;font-size:.9rem}

/* ---------- WooCommerce: my account ---------- */
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;margin:0 0 2rem;padding:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.woocommerce-account .woocommerce-MyAccount-navigation ul li{border-bottom:1px solid var(--line)}
.woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child{border-bottom:none}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a{display:block;padding:.85rem 1.2rem;font-family:'Jost',sans-serif;font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text)}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover{color:var(--gold-dark);background:var(--bg-soft)}
.woocommerce-account .woocommerce-MyAccount-content{font-size:.92rem;line-height:1.7}
.ea-account-hello{text-align:right;font-size:.85rem;color:var(--muted);margin:0 0 1rem}
.ea-account-hello a{color:var(--gold-dark);font-weight:700}
.woocommerce-message .button,.woocommerce-info .button{order:2;margin:0;flex-shrink:0}
.woocommerce-message,.woocommerce-info{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.ea-same-shipping{display:flex;align-items:center;gap:.5rem;font-size:.85rem;margin:0 0 1rem;cursor:pointer}
.ea-same-shipping input{width:1rem;height:1rem;accent-color:var(--gold-dark)}
.woocommerce-EditAccountForm fieldset{border:0;padding:0;margin:0 0 1.25rem}
.woocommerce-EditAccountForm fieldset legend{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:.45rem;padding:0}
.ea-address-title{margin-top:2.5rem !important}
.ea-address-form{margin-bottom:2rem}
.ea-address-form .form-row{margin-bottom:1rem}
.ea-address-form .button{margin-top:.5rem}
.woocommerce-account .woocommerce-MyAccount-content h2,.woocommerce-account .woocommerce-MyAccount-content h3{font-family:'Jost',sans-serif;letter-spacing:.1em;text-transform:uppercase;font-size:1rem;margin-bottom:1rem}
.woocommerce form.login,.woocommerce form.register{border:1px solid var(--line);border-radius:var(--radius);padding:1.75rem}
.woocommerce form.login .button,.woocommerce form.register .button{width:100%;margin-top:.5rem}

/* ---------- Generic pages ---------- */
.ea-page-inner{max-width:860px;margin:0 auto;padding:2.5rem 1.25rem 3.5rem}
.ea-page-title{font-family:'Jost',sans-serif;font-size:1.6rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin-bottom:1.5rem}
.ea-page-content{font-size:.95rem;line-height:1.75;color:#333}
.ea-page-content p{margin:0 0 1.75rem !important}
.ea-page-content p:last-child{margin-bottom:0 !important}
.ea-page-content h3{margin:2.25rem 0 1rem !important;font-size:1.1rem}
.ea-page-content a{color:var(--gold-dark);font-weight:600}
.ea-post-thumb{margin-bottom:1.5rem}
.ea-post-thumb img{border-radius:var(--radius)}

/* ---------- Contact form ---------- */
.ea-contact-page .ea-page-inner{max-width:680px}
.ea-contact-form{margin-top:1.5rem}
.ea-field{margin-bottom:1.1rem}
.ea-field label{display:block;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:.45rem}
.ea-field input,.ea-field textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:.8rem .95rem;font-family:inherit;font-size:.92rem;background:#fff}
.ea-field input:focus,.ea-field textarea:focus{outline:none;border-color:var(--gold)}
.ea-hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;opacity:0}
.ea-form-msg{margin-top:1rem;font-size:.88rem;min-height:1.4em}
.ea-form-msg.ok{color:#1e7e34}
.ea-form-msg.err{color:#c0392b}
.ea-contact-form .btn{min-width:220px}
.ea-contact-form .btn:disabled{opacity:.6;cursor:wait}

/* ---------- Newsletter feedback ---------- */
.news-msg{font-size:.82rem;min-height:1.2em;margin-top:.4rem}
.news-msg.ok{color:var(--gold-light)}
.news-msg.err{color:#e08a8a}

/* ---------- Filter extras ---------- */
#activeFilterCount{color:var(--gold-dark);font-weight:800}
.grid.loading{opacity:.45;pointer-events:none}
.qv-meta a{color:var(--gold-dark);font-weight:700}
.card .tile:focus-visible{outline:2px solid var(--gold);outline-offset:2px}

/* ---------- Responsive additions ---------- */
@media(max-width:768px){
  .single-product div.product{grid-template-columns:1fr;gap:1.5rem}

  .related.products ul.products{grid-template-columns:repeat(2,1fr)}
  .ea-wc-wrap{padding:1.5rem 1rem 1.5rem}
  .woocommerce-cart table.shop_table{font-size:.8rem}
  .news-form{max-width:none}
}

/* ============================================================
   v1.0.10: Jay's visual pass
   - Manual badges: Popular / Featured / Out of stock (+ single page)
   - Scroll reveal for cards + dividers (replaces card-enter)
   - Heart pop on wishlist toggle
   - Prominent "View full details" button in Quick View
   ============================================================ */

/* ---------- Manual badges ---------- */
.badge-popular,.badge-featured,.badge-outofstock{font-size:.62rem;font-weight:800;letter-spacing:.14em;padding:.32rem .6rem;border-radius:4px;text-transform:uppercase;font-family:'Jost',sans-serif}
.badge-popular{background:#0a0a0a;color:var(--gold-light)}
.badge-featured{background:#fff;color:#000;border:1px solid var(--gold)}
.badge-outofstock{background:#3a3a3a;color:#fff}
.card-badges .badge-popular,.card-badges .badge-featured,.card-badges .badge-outofstock{position:static;align-self:flex-start}

/* Single product badge row */
.ea-single-badges{display:flex;gap:.4rem;flex-wrap:wrap;margin:.5rem 0 0}
.ea-single-badges .ea-new-badge{margin:0}
.ea-popular-badge,.ea-featured-badge,.ea-outofstock-badge{display:inline-block;font-size:.62rem;font-weight:600;letter-spacing:.16em;padding:.32rem .6rem;border-radius:4px;text-transform:uppercase;font-family:'Jost',sans-serif}
.ea-popular-badge{background:#0a0a0a;color:var(--gold-light)}
.ea-featured-badge{background:#fff;color:#000;border:1px solid var(--gold)}
.ea-outofstock-badge{background:#3a3a3a;color:#fff}

/* ---------- Scroll reveal: cards + dividers fade in on scroll ---------- */
.grid.reveal-init .card,.grid.reveal-init .cat-divider{opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .55s ease}
.grid.reveal-init .card.revealed,.grid.reveal-init .cat-divider.revealed{opacity:1;transform:none}

/* ---------- Wishlist heart pop ---------- */
@keyframes heartPop{0%{transform:scale(1)}40%{transform:scale(1.45)}70%{transform:scale(.92)}100%{transform:scale(1)}}
.wish-btn.heart-pop svg,.ea-single-wish.heart-pop svg{animation:heartPop .45s ease}

/* ---------- Quick View: prominent full-details button ---------- */
.qv-full{display:block;text-align:center;margin-top:.5rem;background:var(--black);color:#fff;font-family:'Jost',sans-serif;font-weight:600;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;padding:.85rem 1rem;border-radius:999px;transition:background .2s}
.qv-full:hover{background:#222;color:#fff}

/* ---------- Redesigned purchase block (single product) ----------
 * Stacked labeled rows (COLOR / SIZE / QTY); the add-to-cart button owns
 * its own full-width line so the label always fits on every device. */
.pp-opt{display:flex;align-items:center;gap:.7rem;margin:0 0 .7rem;flex-wrap:wrap}
.pp-opt > .ea-opt-label{margin:0;flex:0 0 3.1rem}
.pp-opt-color .ea-swatches{margin:0}
.pp-color-name{font-size:.8rem;color:var(--muted);font-weight:600;letter-spacing:.05em}
.pp-opt-size .ea-size-pills{margin:0;flex:1 1 0;min-width:0}
.single-product form.variations_form .qty-ctl{flex:none}
.single-product form.variations_form .qty-ctl button{width:32px;height:44px;font-size:.85rem}
.single-product form.variations_form .qty-ctl input{width:36px;font-size:.85rem}
.single-product form.variations_form{margin-bottom:1rem}
.single-product form.variations_form .single_add_to_cart_button{flex:1 1 auto;min-width:0;white-space:nowrap;text-align:center;font-size:.85rem;letter-spacing:.14em;padding:.95rem 1rem!important}
/* Buy Now: secondary full-width button under the buy row. */
.single-product .ea-buy-now{flex:1 1 100%;margin:.6rem 0 0;background:none;border:1.5px solid var(--gold);color:var(--gold-dark);border-radius:999px;padding:.9rem 1rem;font-family:'Jost',sans-serif;font-weight:600;font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:background .2s,color .2s}
.single-product .ea-buy-now:hover{background:var(--gold);color:#000}
.single-product .ea-buy-now:disabled{opacity:.5;cursor:not-allowed}

/* ---------- WooCommerce archive/category pages: match homepage card style ---------- */
.post-type-archive-product .page-title,
.tax-product_cat .page-title {
	font-size: 1.4rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	text-align: center;
	margin-bottom: .5rem;
}
.woocommerce ul.products li.product {
	text-align: center;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: .92rem;
	font-weight: 700;
	margin-bottom: .3rem;
	padding: 0;
}
.woocommerce ul.products li.product .price {
	color: var(--gold-dark);
	font-weight: 800;
	font-size: 1rem;
	margin-bottom: .8rem;
	display: block;
}
.woocommerce ul.products li.product .button {
	margin: 0 auto;
}

/* ---------- Archive pages use the homepage product card ---------- */
.woocommerce ul.products li.product {
	background: none;
	border: none;
	padding: 0;
	margin-bottom: 2rem;
}
.woocommerce ul.products li.product .card {
	height: 100%;
}
/* Hide WooCommerce's default loop elements (the card has its own). */
.woocommerce ul.products li.product .woocommerce-loop-product__link,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .star-rating {
	display: none;
}

/* ---------- Equal-height product cards (archive + homepage) ---------- */
.woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1.5rem;
}
/* WooCommerce's clearfix pseudo-elements become empty grid items; hide them. */
.woocommerce ul.products::before,
.woocommerce ul.products::after {
	content: none !important;
	display: none !important;
}
@media (min-width: 769px) {
	.woocommerce ul.products {
		grid-template-columns: repeat(4, 1fr);
	}
}
.woocommerce ul.products li.product {
	display: flex;
	flex-direction: column;
	height: 100%;
	margin: 0;
	width: auto !important;
	max-width: none !important;
	float: none !important;
}
.woocommerce ul.products li.product .card {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	height: 100%;
}
.woocommerce ul.products li.product .card-body {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
}
.woocommerce ul.products li.product .card-meta {
	margin-top: auto;
}

/* ---------- Themed sort dropdown ---------- */
.woocommerce .woocommerce-ordering {
	float: none;
	text-align: center;
	margin-bottom: 1.5rem;
}
.woocommerce .woocommerce-ordering select {
	font-family: 'Jost', sans-serif;
	font-size: .8rem;
	font-weight: 600;
	letter-spacing: .06em;
	color: var(--text);
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 999px;
	padding: .6rem 2.2rem .6rem 1.1rem;
	cursor: pointer;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23b59677' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 1rem center;
}
.woocommerce .woocommerce-ordering select:focus {
	outline: none;
	border-color: var(--gold);
}

/* ---------- Homepage grid: equal-height cards ---------- */
.grid .card {
	height: 100%;
}

/* ---------- Center the result count on archive pages ---------- */
.woocommerce .woocommerce-result-count {
	text-align: center;
	float: none;
	width: 100%;
	margin-bottom: 1rem;
}

/* ---------- Section welcome tab ---------- */
.ea-section-tab{position:fixed;top:38%;right:0;z-index:120;transform:translateX(110%);transition:transform .35s ease;background:var(--gold);color:#000;border-radius:8px 0 0 8px;padding:.85rem .55rem;font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;writing-mode:vertical-rl;white-space:nowrap;box-shadow:var(--shadow);pointer-events:none}
.ea-section-tab.show{transform:translateX(0)}
@media (prefers-reduced-motion:reduce){.ea-section-tab{transition:none}}

/* ---------- Desktop refinements (2026-10-10) ---------- */
@media(min-width:769px){
  /* Larger quick view modal on desktop, with breathing room inside. */
  #qvModal .qv-box{max-width:960px;padding:25px 10px}
  /* White tile behind the quick view image (matches mobile), so no
     dark bar shows under the thumbnail. */
  .qv-tile:has(.tile-img){background:#fff}
  /* Show the full garment in quick view on desktop (contain, not cover)
     so the shirt is never cropped top/bottom. */
  .qv-tile .tile-img{position:static;width:auto;height:auto;max-width:100%;max-height:62dvh;object-fit:contain}
  /* Product page: title + price header spans full width above the
     image/variants grid. */
  .single-product div.product > .ea-buy-header{grid-column:1/-1;margin-bottom:1rem}
  /* Related products: 3 wider cards, centered. */
  .related.products ul.products{grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:1024px;margin-left:auto;margin-right:auto}
}
/* "View all colors" link removed 2026-10-10: the swatch carousel below
   replaced it. */
@media(max-width:768px){
  .related.products ul.products{grid-template-columns:repeat(2,1fr)}
}

/* ---------- Swatch carousel (2026-10-10) ---------- */
.swatch-carousel{display:inline-flex;align-items:center;gap:.2rem;max-width:100%}
.swatch-carousel .swatch-dots{margin-top:0}
.swatch-window{display:flex;gap:.45rem;align-items:center}
.swatch-arrow{background:none;border:0;color:var(--muted);font-size:1.1rem;line-height:1;padding:.25rem .3rem;cursor:pointer;flex:none}
.swatch-arrow:hover{color:#000}
.swatch-window .dot.sw-hidden{display:none!important}
.qv-swatches.swatch-carousel{margin-bottom:0}

/* ---------- Quick view swatch + buy rows (2026-10-10) ---------- */
.qv-swrow{display:flex;align-items:center;gap:.7rem;margin-bottom:1.25rem}
.qv-swrow .qv-label{margin-bottom:0;flex:none}
.qv-swrow .swatch-carousel{flex:none}
.qv-color-name{font-size:.82rem;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qv-buyrow{display:flex;gap:.6rem;align-items:stretch;margin-bottom:1.25rem}
.qv-buyrow .qty-ctl{flex:none;align-self:center}
.qv-buyrow .btn-gold{flex:1}

/* ---------- Product page swatch carousel (2026-10-10) ---------- */
.ea-swatches.swatch-carousel{display:inline-flex;align-items:center;gap:.2rem;margin-bottom:0}
.pp-opt-color .pp-color-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ---------- Gallery thumbnail carousel (2026-10-10) ---------- */
.sw-hidden{display:none!important}
.thumb-carousel{display:flex;align-items:center;justify-content:center;gap:.3rem;margin-top:.6rem}
.thumb-carousel .flex-control-thumbs{margin:0!important}
.thumb-carousel .thumb-arrow{font-size:1.3rem}

/* ---------- Payment buttons always visible (per Jay 2026-10-10) ---------- */
#wc-stripe-express-checkout-element,
#wc-stripe-payment-request-wrapper,
#wc-stripe-payment-request-button,
.stripe-payment-request-button-wrapper,
.wcpay-payment-request-wrapper,
.wcpay-payment-request-button,
#pay_with_amazon,
.amazon-pay-button-wrapper,
.woocommerce-payments-payment-request-button-wrapper {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
}

/* ---------- Mobile overflow fix (2026-10-12) ---------- */
html, body { overflow-x: hidden; }
html { overflow-x: hidden; }
@media (max-width: 768px) {
	.ea-size-pills { flex-wrap: wrap; justify-content: flex-start; }
	.ea-size-pills .size-pill, .qv-sizes .size-pill { flex: 1 1 calc(33.333% - .4rem); min-width: 0; }
}
