/*
Theme Name: LUX ANGNER
Theme URI: https://huabuyu.shop
Author: LUX ANGNER Studio
Description: Luxury occasionwear & party dress storefront for WooCommerce. Editorial layout, occasion-led merchandising, quick-add product cards.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: luxangner
Tags: e-commerce, fashion, woocommerce, luxury, custom-colors
WC requires at least: 7.0
WC tested up to: 9.9
*/

/* ============================================================
   0. TOKENS
   ============================================================ */
:root{
  --ink:#0B0B0C;
  --ink-2:#17171A;
  --ink-3:#26262B;
  --paper:#FFFFFF;
  --cream:#FAF7F4;
  --sand:#F1EAE3;
  --gold:#C6A87C;
  --gold-deep:#A88C5F;
  --blush:#E7D2CB;
  --wine:#6B2737;
  --muted:#8C8580;
  --line:#E7E0D8;
  --line-dark:#2E2E33;

  --font-display:"Playfair Display","Didot","Bodoni MT",Georgia,"Times New Roman",serif;
  --font-body:"Jost","Helvetica Neue",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;

  --container:1360px;
  --gutter:28px;
  --radius:2px;
  --radius-lg:4px;
  --shadow:0 18px 44px rgba(11,11,12,.10);
  --shadow-sm:0 6px 18px rgba(11,11,12,.07);
  --ease:cubic-bezier(.22,.61,.36,1);
  --header-h:78px;
}

/* ============================================================
   1. RESET
   ============================================================ */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-body);
  font-size:15px;
  line-height:1.65;
  color:var(--ink);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;}
input,select,textarea{font:inherit;color:inherit;}
ul{list-style:none;margin:0;padding:0;}
h1,h2,h3,h4,h5{margin:0;font-family:var(--font-display);font-weight:400;letter-spacing:.005em;line-height:1.15;}
p{margin:0 0 1em;}
.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 var(--gutter);}
.container--narrow{max-width:900px;}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}

/* ============================================================
   2. TYPE HELPERS
   ============================================================ */
.eyebrow{
  font-size:10.5px;letter-spacing:.28em;text-transform:uppercase;
  font-weight:500;color:var(--gold-deep);
}
.section{padding:86px 0;}
.section--tight{padding:58px 0;}
.section--cream{background:var(--cream);}
.section--sand{background:var(--sand);}
.section--ink{background:var(--ink);color:#EDE9E4;}
.section--ink .section__sub{color:#A9A29B;}
.section--ink .section__title{color:#fff;}

.section__head{text-align:center;max-width:640px;margin:0 auto 44px;}
.section__head--split{
  display:flex;align-items:flex-end;justify-content:space-between;
  gap:24px;max-width:none;text-align:left;
}
.section__title{
  font-size:clamp(27px,3.1vw,40px);
  letter-spacing:.01em;
}
.section__title--sm{font-size:clamp(22px,2.2vw,28px);}
.section__sub{margin:10px 0 0;color:var(--muted);font-size:14.5px;}
.section__link{
  font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;
  border-bottom:1px solid var(--ink);padding-bottom:3px;white-space:nowrap;
  transition:opacity .25s var(--ease);
}
.section__link:hover{opacity:.55;}

/* ============================================================
   3. BUTTONS
   ============================================================ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:14px 30px;border-radius:var(--radius);
  font-size:11.5px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;
  background:var(--ink);color:#fff;border:1px solid var(--ink);
  transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease),transform .3s var(--ease);
  cursor:pointer;white-space:nowrap;
}
.btn:hover{background:var(--ink-3);border-color:var(--ink-3);}
.btn--light{background:#fff;color:var(--ink);border-color:#fff;}
.btn--light:hover{background:var(--gold);border-color:var(--gold);color:var(--ink);}
.btn--gold{background:var(--gold);border-color:var(--gold);color:var(--ink);}
.btn--gold:hover{background:var(--gold-deep);border-color:var(--gold-deep);color:#fff;}
.btn--outline{background:transparent;color:var(--ink);border-color:var(--ink);}
.btn--outline:hover{background:var(--ink);color:#fff;}
.btn--outline-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.7);}
.btn--outline-light:hover{background:#fff;color:var(--ink);border-color:#fff;}
.btn--sm{padding:10px 18px;font-size:10.5px;letter-spacing:.16em;}
.btn--block{width:100%;}

/* ============================================================
   4. ANNOUNCEMENT BAR
   ============================================================ */
.announce{
  background:var(--ink);color:#EDE6DC;
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  height:38px;display:flex;align-items:center;overflow:hidden;
}
.announce__track{
  display:flex;align-items:center;justify-content:center;gap:0;
  width:100%;position:relative;height:38px;
}
.announce__item{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  opacity:0;transform:translateY(8px);transition:opacity .5s var(--ease),transform .5s var(--ease);
  padding:0 16px;text-align:center;
}
.announce__item.is-active{opacity:1;transform:none;}
.announce strong{color:var(--gold);font-weight:600;letter-spacing:.18em;}

/* ============================================================
   5. HEADER
   ============================================================ */
.site-header{
  position:sticky;top:0;z-index:120;background:#fff;
  border-bottom:1px solid var(--line);
  transition:box-shadow .3s var(--ease);
}
.site-header.is-stuck{box-shadow:0 6px 24px rgba(11,11,12,.07);}
.site-header__inner{
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  height:var(--header-h);gap:20px;
}
.logo{
  font-family:var(--font-display);
  font-size:25px;letter-spacing:.34em;text-transform:uppercase;
  white-space:nowrap;line-height:1;padding-left:.34em;
}
.logo span{color:var(--gold-deep);}
.logo--light{color:#fff;}
.logo--light span{color:var(--gold);}
.logo__tag{
  display:block;font-family:var(--font-body);font-size:8px;
  letter-spacing:.42em;color:var(--muted);margin-top:5px;text-align:center;
}

/* nav */
.main-nav{justify-self:start;}
.main-nav ul{display:flex;align-items:center;gap:26px;}
.main-nav li{position:relative;}
.main-nav a{
  display:block;padding:28px 0;
  font-size:11.5px;letter-spacing:.19em;text-transform:uppercase;font-weight:400;
  position:relative;transition:color .25s var(--ease);
}
.main-nav > ul > li > a::after{
  content:"";position:absolute;left:0;right:100%;bottom:22px;height:1px;
  background:var(--ink);transition:right .35s var(--ease);
}
.main-nav > ul > li:hover > a::after{right:0;}
.main-nav .menu-item-sale > a,
.main-nav a[href*="sale"]{color:var(--wine);}

/* dropdown */
.main-nav ul ul{
  position:absolute;top:100%;left:-22px;min-width:228px;
  background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);
  padding:14px 0;display:block;flex-direction:column;gap:0;
  opacity:0;visibility:hidden;transform:translateY(8px);
  transition:opacity .25s var(--ease),transform .25s var(--ease),visibility .25s;
  z-index:60;
}
.main-nav li:hover > ul{opacity:1;visibility:visible;transform:none;}
.main-nav ul ul li{width:100%;}
.main-nav ul ul a{
  padding:9px 24px;letter-spacing:.1em;font-size:11.5px;text-transform:none;
  font-family:var(--font-body);color:var(--ink);
}
.main-nav ul ul a:hover{background:var(--cream);color:var(--gold-deep);}
.main-nav ul ul ul{top:0;left:100%;}

/* header actions */
.header-actions{
  justify-self:end;display:flex;align-items:center;gap:6px;
}
.icon-btn{
  width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;
  border-radius:50%;position:relative;transition:background .25s var(--ease);
}
.icon-btn:hover{background:var(--cream);}
.cart-count{
  position:absolute;top:3px;right:1px;min-width:17px;height:17px;padding:0 4px;
  background:var(--gold);color:var(--ink);border-radius:9px;
  font-size:9.5px;font-weight:600;line-height:17px;text-align:center;
}
.nav-toggle{display:none;}
.header-actions__label{
  font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);
  padding:0 6px 0 10px;
}
.header-actions__reg{
  font-family:var(--font-body);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--gold-deep);border:1px solid var(--gold);border-radius:var(--radius);
  padding:8px 15px;line-height:1;white-space:nowrap;transition:background .25s var(--ease),color .25s var(--ease);
}
.header-actions__reg:hover{background:var(--gold);color:var(--ink);}

/* search drawer */
.search-drawer{
  position:absolute;left:0;right:0;top:100%;background:#fff;
  border-bottom:1px solid var(--line);padding:0;overflow:hidden;
  max-height:0;transition:max-height .4s var(--ease);
}
.search-drawer.is-open{max-height:180px;}
.search-drawer__inner{padding:26px 0 30px;display:flex;gap:12px;align-items:center;}
.search-drawer input[type="search"],
.search-drawer input[type="text"]{
  flex:1;border:0;border-bottom:1px solid var(--line);padding:12px 2px;
  font-size:19px;font-family:var(--font-display);background:transparent;outline:none;
}
.search-drawer input:focus{border-color:var(--ink);}

/* mobile drawer */
.mobile-drawer{
  position:fixed;inset:0 0 0 auto;width:min(88vw,380px);background:#fff;z-index:200;
  transform:translateX(100%);transition:transform .4s var(--ease);
  display:flex;flex-direction:column;padding:22px;overflow-y:auto;
}
.mobile-drawer.is-open{transform:none;}
.mobile-drawer__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;}
.mobile-drawer ul{display:block;}
.mobile-drawer li{border-bottom:1px solid var(--line);}
.mobile-drawer a{
  display:block;padding:15px 2px;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;
}
.mobile-drawer ul ul{padding-left:14px;}
.mobile-drawer ul ul li{border-bottom:0;}
.mobile-drawer ul ul a{
  padding:9px 2px;font-size:12px;letter-spacing:.05em;text-transform:none;color:var(--muted);
}
.drawer-backdrop{
  position:fixed;inset:0;background:rgba(11,11,12,.45);z-index:190;
  opacity:0;visibility:hidden;transition:opacity .35s var(--ease),visibility .35s;
}
.drawer-backdrop.is-open{opacity:1;visibility:visible;}

/* ============================================================
   6. HERO
   ============================================================ */
.hero{position:relative;}
.carousel{position:relative;height:clamp(460px,78vh,760px);overflow:hidden;background:var(--ink);}
.slide{
  position:absolute;inset:0;display:flex;align-items:center;
  opacity:0;transition:opacity 1s var(--ease);
  background:linear-gradient(120deg,var(--g1,#111) 0%,var(--g2,#333) 100%);
  background-size:cover;background-position:center;
}
.slide.is-active{opacity:1;}
.slide.is-active .slide__content > *{animation:heroUp .9s var(--ease) both;}
.slide.is-active .slide__content > *:nth-child(2){animation-delay:.09s;}
.slide.is-active .slide__content > *:nth-child(3){animation-delay:.18s;}
.slide.is-active .slide__content > *:nth-child(4){animation-delay:.27s;}
@keyframes heroUp{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:none;}}
.slide__overlay{
  position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(11,11,12,.62) 0%,rgba(11,11,12,.28) 52%,rgba(11,11,12,.05) 100%);
}
.slide__content{position:relative;z-index:2;color:#fff;max-width:620px;}
.slide__eyebrow{
  display:inline-block;font-size:10.5px;letter-spacing:.34em;text-transform:uppercase;
  color:var(--gold);margin-bottom:18px;
}
.slide__title{
  font-size:clamp(38px,6vw,74px);line-height:1.03;color:#fff;margin-bottom:16px;
  letter-spacing:.005em;
}
.slide__text{font-size:15.5px;color:rgba(255,255,255,.86);max-width:440px;margin-bottom:28px;}
.slide__cta{display:flex;gap:12px;flex-wrap:wrap;}
.carousel__arrow{
  position:absolute;top:50%;transform:translateY(-50%);z-index:5;
  width:46px;height:46px;border:1px solid rgba(255,255,255,.4);border-radius:50%;
  color:#fff;font-size:20px;display:flex;align-items:center;justify-content:center;
  transition:background .3s var(--ease),border-color .3s var(--ease);
}
.carousel__arrow:hover{background:rgba(255,255,255,.16);border-color:#fff;}
.carousel__arrow--prev{left:22px;}
.carousel__arrow--next{right:22px;}
.carousel__dots{
  position:absolute;left:0;right:0;bottom:26px;z-index:5;
  display:flex;justify-content:center;gap:9px;
}
.carousel__dots button{
  width:34px;height:2px;background:rgba(255,255,255,.38);border-radius:0;
  transition:background .3s var(--ease);
}
.carousel__dots button.is-active{background:var(--gold);}

/* ============================================================
   7. TRUST BAR
   ============================================================ */
.trust{border-bottom:1px solid var(--line);background:#fff;}
.trust__grid{
  display:grid;grid-template-columns:repeat(4,1fr);
}
.trust__item{
  display:flex;align-items:center;justify-content:center;gap:11px;
  padding:20px 14px;text-align:left;border-right:1px solid var(--line);
}
.trust__item:last-child{border-right:0;}
.trust__item svg{flex:0 0 auto;color:var(--gold-deep);}
.trust__item strong{
  display:block;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;
}
.trust__item span{display:block;font-size:12px;color:var(--muted);letter-spacing:.02em;}

/* ============================================================
   8. OCCASION GRID
   ============================================================ */
.occasion-grid{
  display:grid;grid-template-columns:repeat(6,1fr);gap:14px;
}
.occasion-card{
  position:relative;aspect-ratio:3/4.2;overflow:hidden;border-radius:var(--radius);
  background:linear-gradient(160deg,var(--g1,#222),var(--g2,#555));
  background-size:cover;background-position:center;
  display:flex;align-items:flex-end;justify-content:center;
  padding:20px 12px;text-align:center;color:#fff;
  transition:transform .5s var(--ease);
}
.occasion-card::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(to top,rgba(11,11,12,.72) 0%,rgba(11,11,12,.12) 58%,transparent 100%);
  transition:background .45s var(--ease);
}
.occasion-card:hover{transform:translateY(-5px);}
.occasion-card:hover::after{background:linear-gradient(to top,rgba(11,11,12,.82) 0%,rgba(11,11,12,.3) 70%,rgba(11,11,12,.08) 100%);}
.occasion-card__body{position:relative;z-index:2;}
.occasion-card h3{
  font-size:15.5px;letter-spacing:.06em;line-height:1.25;color:#fff;
}
.occasion-card span{
  display:block;margin-top:7px;font-size:9.5px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--gold);
}
.occasion-card__glyph{
  position:absolute;top:16px;left:0;right:0;z-index:2;
  font-size:22px;opacity:.9;
}

/* ============================================================
   9. SILHOUETTE / CATEGORY GRID
   ============================================================ */
.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.cat-card{
  position:relative;overflow:hidden;border-radius:var(--radius);
  aspect-ratio:4/5;background:linear-gradient(150deg,var(--g1,#2b2b30),var(--g2,#585862));
  display:flex;flex-direction:column;justify-content:flex-end;
  padding:24px;color:#fff;transition:transform .5s var(--ease);
}
.cat-card::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(to top,rgba(11,11,12,.7),rgba(11,11,12,.05));
}
.cat-card:hover{transform:translateY(-5px);}
.cat-card__body{position:relative;z-index:2;}
.cat-card h3{font-size:20px;color:#fff;margin-bottom:5px;}
.cat-card__count{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);}
.cat-card__arrow{
  position:relative;z-index:2;margin-top:14px;font-size:11px;letter-spacing:.2em;
  text-transform:uppercase;display:inline-flex;align-items:center;gap:8px;
  opacity:0;transform:translateX(-8px);transition:opacity .4s var(--ease),transform .4s var(--ease);
}
.cat-card:hover .cat-card__arrow{opacity:1;transform:none;}

/* ============================================================
   10. PRODUCT CARD
   ============================================================ */
.product-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:26px 20px;
}
.product-grid--3{grid-template-columns:repeat(3,1fr);}
.product-card{position:relative;}
.product-card__media{
  position:relative;display:block;overflow:hidden;aspect-ratio:3/4;
  background:linear-gradient(155deg,var(--g1,#EFE8E0),var(--g2,#D9CCC2));
  border-radius:var(--radius);
}
.product-card__media img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .8s var(--ease),opacity .4s var(--ease);
}
.product-card:hover .product-card__media img{transform:scale(1.045);}
.product-card__ph{
  position:absolute;inset:0;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:8px;color:rgba(11,11,12,.35);
}
.product-card__ph span:first-child{
  font-family:var(--font-display);font-size:36px;letter-spacing:.1em;
}
.product-card__ph span:last-child{font-size:8.5px;letter-spacing:.34em;text-transform:uppercase;}

.badge{
  position:absolute;top:12px;left:12px;z-index:3;
  padding:5px 11px;font-size:9px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;
  background:#fff;color:var(--ink);border-radius:1px;
}
.badge--sale{background:var(--wine);color:#fff;}
.badge--new{background:var(--ink);color:var(--gold);}
.badge--low{background:var(--gold);color:var(--ink);}

.product-card__wish{
  position:absolute;top:10px;right:10px;z-index:3;width:34px;height:34px;
  display:flex;align-items:center;justify-content:center;border-radius:50%;
  background:rgba(255,255,255,.86);color:var(--ink);
  opacity:0;transform:translateY(-4px);transition:opacity .3s var(--ease),transform .3s var(--ease);
}
.product-card:hover .product-card__wish{opacity:1;transform:none;}
.product-card__wish:hover{background:#fff;color:var(--wine);}

/* quick add */
.quick-add{
  position:absolute;left:10px;right:10px;bottom:10px;z-index:3;
  background:rgba(255,255,255,.96);backdrop-filter:blur(6px);
  padding:11px 12px;border-radius:var(--radius);
  opacity:0;transform:translateY(12px);
  transition:opacity .35s var(--ease),transform .35s var(--ease);
}
.product-card:hover .quick-add{opacity:1;transform:none;}
.quick-add__label{
  font-size:8.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);
  display:block;margin-bottom:7px;text-align:center;
}
.quick-add__sizes{display:flex;gap:5px;justify-content:center;flex-wrap:wrap;}
.quick-add__sizes a,.quick-add__sizes span{
  min-width:32px;padding:5px 4px;text-align:center;
  font-size:10.5px;letter-spacing:.06em;border:1px solid var(--line);
  transition:background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease);
}
.quick-add__sizes a:hover{background:var(--ink);color:#fff;border-color:var(--ink);}
.quick-add__sizes .is-out{color:#C9C2BA;text-decoration:line-through;cursor:not-allowed;}

.product-card__body{padding:14px 2px 0;}
.product-card__name{
  font-family:var(--font-display);font-size:16px;line-height:1.3;margin:0 0 3px;
}
.product-card__name a:hover{color:var(--gold-deep);}
.product-card__meta{
  font-size:11.5px;color:var(--muted);letter-spacing:.03em;margin-bottom:9px;
}
.product-card__swatches{display:flex;gap:6px;margin-bottom:9px;align-items:center;}
.swatch{
  width:14px;height:14px;border-radius:50%;border:1px solid rgba(11,11,12,.16);
  display:inline-block;
}
.swatch--more{
  font-size:10px;color:var(--muted);border:0;width:auto;height:auto;letter-spacing:.04em;
}
.product-card__foot{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.price{font-size:14.5px;letter-spacing:.03em;font-weight:500;}
.price del{color:var(--muted);font-weight:400;margin-right:6px;font-size:13px;}
.price ins{text-decoration:none;color:var(--wine);}
.product-card__rating{
  display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted);margin-bottom:8px;
}
.stars{color:var(--gold-deep);letter-spacing:.09em;font-size:11px;}

/* ============================================================
   11. EDITORIAL SPLIT
   ============================================================ */
.editorial{
  display:grid;grid-template-columns:1.05fr .95fr;align-items:stretch;min-height:520px;
}
.editorial--reverse .editorial__media{order:2;}
.editorial__media{
  background:linear-gradient(150deg,var(--g1,#2A2118),var(--g2,#6E5B44));
  background-size:cover;background-position:center;min-height:440px;position:relative;
}
.editorial__media::after{
  content:attr(data-caption);position:absolute;left:26px;bottom:22px;
  font-size:9.5px;letter-spacing:.26em;text-transform:uppercase;color:rgba(255,255,255,.72);
}
.editorial__body{
  display:flex;flex-direction:column;justify-content:center;
  padding:64px clamp(28px,5vw,88px);background:var(--cream);
}
.editorial--ink .editorial__body{background:var(--ink);color:#EDE9E4;}
.editorial--ink .editorial__body h2{color:#fff;}
.editorial--ink .editorial__body p{color:#A9A29B;}
.editorial__body h2{font-size:clamp(28px,3.4vw,44px);margin:14px 0 16px;}
.editorial__body p{color:var(--muted);max-width:460px;font-size:15px;}
.editorial__list{margin:18px 0 26px;}
.editorial__list li{
  display:flex;gap:10px;align-items:flex-start;
  font-size:13.5px;color:var(--muted);padding:6px 0;
}
.editorial__list li::before{content:"—";color:var(--gold-deep);}
.editorial__cta{display:flex;gap:12px;flex-wrap:wrap;}

/* ============================================================
   12. LOOKBOOK
   ============================================================ */
.lookbook{
  display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:230px;gap:14px;
}
.look{
  position:relative;overflow:hidden;border-radius:var(--radius);
  background:linear-gradient(150deg,var(--g1,#31262B),var(--g2,#6D5560));
  display:flex;align-items:flex-end;padding:22px;color:#fff;
  transition:transform .5s var(--ease);
}
.look::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(to top,rgba(11,11,12,.66),transparent 62%);
}
.look:hover{transform:translateY(-4px);}
.look__body{position:relative;z-index:2;}
.look h3{font-size:19px;color:#fff;}
.look span{font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);}
.look--tall{grid-row:span 2;}
.look--wide{grid-column:span 2;}

/* ============================================================
   13. REVIEWS
   ============================================================ */
.reviews-head{
  display:flex;align-items:center;justify-content:center;gap:14px;
  margin-bottom:8px;flex-wrap:wrap;
}
.reviews-head .stars{font-size:17px;}
.reviews-head strong{font-size:14px;letter-spacing:.06em;}
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.review{
  background:#fff;border:1px solid var(--line);padding:28px 26px;border-radius:var(--radius);
  display:flex;flex-direction:column;gap:12px;
}
.section--cream .review{background:#fff;}
.review__stars{color:var(--gold-deep);font-size:13px;letter-spacing:.12em;}
.review__text{
  font-family:var(--font-display);font-size:17px;line-height:1.5;color:var(--ink);margin:0;
}
.review__foot{
  margin-top:auto;padding-top:12px;border-top:1px solid var(--line);
  font-size:11.5px;color:var(--muted);letter-spacing:.03em;
}
.review__foot strong{display:block;color:var(--ink);font-weight:500;letter-spacing:.08em;font-size:11px;text-transform:uppercase;}
.review__fit{
  display:inline-block;margin-top:6px;font-size:10.5px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--gold-deep);
}

/* ============================================================
   14. UGC
   ============================================================ */
.ugc-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;}
.ugc{
  aspect-ratio:1;position:relative;overflow:hidden;border-radius:var(--radius);
  background:linear-gradient(145deg,var(--g1,#DED2C8),var(--g2,#B9A395));
  display:flex;align-items:center;justify-content:center;
  transition:transform .5s var(--ease);
}
.ugc:hover{transform:scale(1.03);}
.ugc__tag{
  position:absolute;bottom:9px;left:9px;font-size:9.5px;letter-spacing:.1em;
  color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.5);
}
.ugc__icon{color:rgba(255,255,255,.85);}

/* ============================================================
   15. SIZE PROMISE STRIP
   ============================================================ */
.promise{
  display:grid;grid-template-columns:repeat(3,1fr);gap:0;
  border:1px solid var(--line-dark);
}
.section--ink .promise{border-color:var(--line-dark);}
.promise__item{
  padding:34px 30px;border-right:1px solid var(--line-dark);
}
.promise__item:last-child{border-right:0;}
.promise__item h3{font-size:20px;margin:12px 0 8px;color:#fff;}
.promise__item p{font-size:13.5px;color:#A9A29B;margin:0;}
.promise__num{
  font-family:var(--font-display);font-size:13px;letter-spacing:.24em;color:var(--gold);
}

/* ============================================================
   16. NEWSLETTER
   ============================================================ */
.newsletter{
  display:grid;grid-template-columns:1fr auto;align-items:center;gap:40px;
}
.newsletter__text h2{font-size:clamp(25px,2.8vw,36px);margin-bottom:8px;}
.newsletter__text p{color:var(--muted);margin:0;font-size:14px;}
.newsletter__form{display:flex;gap:0;min-width:min(430px,100%);}
.newsletter__form input{
  flex:1;padding:15px 18px;border:1px solid var(--ink);border-right:0;
  background:transparent;outline:none;font-size:13.5px;letter-spacing:.04em;
}
.newsletter__form input::placeholder{color:var(--muted);}
.newsletter__form .btn{border-radius:0;}
.newsletter__note{font-size:11px;color:var(--muted);margin-top:10px;letter-spacing:.04em;}

/* ============================================================
   17. FOOTER
   ============================================================ */
.site-footer{background:var(--ink);color:#B8B2AC;padding:70px 0 0;}
.footer-grid{
  display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:36px;padding-bottom:52px;
}
.footer-col h4{
  font-family:var(--font-body);font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;
  color:#fff;margin:0 0 18px;font-weight:500;
}
.footer-col ul li{margin-bottom:10px;}
.footer-col a{font-size:13px;color:#B8B2AC;transition:color .25s var(--ease);}
.footer-col a:hover{color:var(--gold);}
.footer-col__about{font-size:13px;color:#8E8882;max-width:290px;margin:18px 0 20px;line-height:1.75;}
.footer-social{display:flex;gap:10px;}
.footer-social a{
  width:34px;height:34px;border:1px solid var(--line-dark);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  transition:border-color .25s var(--ease),color .25s var(--ease);
}
.footer-social a:hover{border-color:var(--gold);color:var(--gold);}
.footer-bottom{
  border-top:1px solid var(--line-dark);padding:22px 0 30px;
  display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;
  font-size:11.5px;color:#7B756F;letter-spacing:.04em;
}
.footer-bottom__legal a{margin:0 2px;}
.pay-icons{display:flex;gap:7px;align-items:center;flex-wrap:wrap;}
.pay-icons span{
  border:1px solid var(--line-dark);border-radius:2px;padding:4px 8px;
  font-size:9px;letter-spacing:.1em;color:#8E8882;text-transform:uppercase;
}

/* ============================================================
   18. WOOCOMMERCE OVERRIDES
   ============================================================ */
.woocommerce-page .site-main,
.woocommerce .site-main{padding:52px 0 86px;}
.woocommerce-products-header{text-align:center;margin-bottom:34px;}
.woocommerce-products-header__title{
  font-family:var(--font-display);font-size:clamp(28px,3.4vw,42px);font-weight:400;
}
.term-description{color:var(--muted);max-width:640px;margin:12px auto 0;}
.woocommerce ul.products{
  display:grid;grid-template-columns:repeat(4,1fr);gap:26px 20px;margin:0;padding:0;list-style:none;
}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none;}
.woocommerce ul.products li.product{width:auto!important;margin:0!important;float:none!important;text-align:left;}
.woocommerce ul.products li.product a img{margin:0 0 12px;border-radius:var(--radius);aspect-ratio:3/4;object-fit:cover;}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--font-display);font-size:16px;padding:0;margin:0 0 5px;font-weight:400;
}
.woocommerce ul.products li.product .price{color:var(--ink);font-size:14px;margin-bottom:10px;display:block;}
.woocommerce ul.products li.product .button,
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt{
  background:var(--ink);color:#fff;border-radius:var(--radius);
  padding:12px 22px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;
  line-height:1.4;transition:background .3s var(--ease);
}
.woocommerce a.button:hover,.woocommerce button.button:hover,
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,
.woocommerce #respond input#submit:hover{background:var(--gold-deep);color:#fff;}
.woocommerce span.onsale{
  background:var(--wine);color:#fff;border-radius:1px;min-height:0;min-width:0;
  padding:5px 11px;font-size:9px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;
  top:12px;left:12px;right:auto;margin:0;line-height:1.4;
}
.woocommerce .woocommerce-ordering select,
.woocommerce-page .woocommerce-ordering select{
  border:1px solid var(--line);padding:10px 14px;border-radius:var(--radius);background:#fff;
}
.woocommerce .woocommerce-result-count{color:var(--muted);font-size:13px;}
.woocommerce nav.woocommerce-pagination ul{border:0;gap:6px;display:flex;justify-content:center;}
.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 var(--line);padding:9px 15px;border-radius:var(--radius);font-size:13px;
}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--ink);color:#fff;border-color:var(--ink);}

/* single product */
.woocommerce div.product .product_title{
  font-family:var(--font-display);font-size:clamp(26px,3vw,38px);font-weight:400;margin-bottom:10px;
}
.woocommerce div.product p.price,.woocommerce div.product span.price{
  color:var(--ink);font-size:21px;font-weight:500;
}
.woocommerce div.product p.lux-pdp-price{
  color:var(--ink);font-size:21px;font-weight:500;margin-bottom:12px;
}
.woocommerce div.product p.lux-pdp-price del{color:var(--muted);font-weight:400;margin-right:8px;font-size:16px;}
.woocommerce div.product p.lux-pdp-price ins{text-decoration:none;color:var(--wine);}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;margin-bottom:26px;border-bottom:1px solid var(--line);}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{border-color:var(--line);}
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  background:transparent;border:0;border-radius:0;padding:0 22px 0 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none;}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-weight:500;padding:12px 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--ink);border-bottom:1px solid var(--ink);}
.woocommerce table.variations{margin-bottom:18px;}
.woocommerce table.variations th{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;}
.woocommerce .quantity .qty{
  border:1px solid var(--line);padding:11px 8px;border-radius:var(--radius);width:74px;
}
.product_meta{font-size:12px;color:var(--muted);letter-spacing:.04em;}

/* cart / checkout */
.woocommerce table.shop_table{border:1px solid var(--line);border-radius:var(--radius);}
.woocommerce table.shop_table th{
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;
}
.woocommerce-info,.woocommerce-message,.woocommerce-error{
  border-top-color:var(--gold);background:var(--cream);border-radius:var(--radius);
}
.woocommerce-info::before,.woocommerce-message::before{color:var(--gold-deep);}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container .select2-selection--single{
  border:1px solid var(--line);padding:12px 14px;border-radius:var(--radius);height:auto;
}
.woocommerce .cart_totals h2,.woocommerce-checkout h3{font-family:var(--font-display);font-weight:400;}

/* breadcrumb */
.woocommerce .woocommerce-breadcrumb{
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:22px;
}

/* page content */
.page-content{max-width:800px;margin:0 auto;}
.page-content h2{font-size:26px;margin:34px 0 12px;}
.page-content h3{font-size:20px;margin:26px 0 10px;}
.page-content ul{list-style:disc;padding-left:20px;margin-bottom:1em;}
.page-content li{margin-bottom:6px;}
.page-hero{
  background:var(--cream);padding:60px 0;text-align:center;margin-bottom:52px;
  border-bottom:1px solid var(--line);
}
.page-hero h1{font-size:clamp(30px,4vw,48px);}
.page-hero p{color:var(--muted);margin:12px auto 0;max-width:560px;}

/* ============================================================
   19. RESPONSIVE
   ============================================================ */
@media (max-width:1200px){
  .occasion-grid{grid-template-columns:repeat(3,1fr);}
  .ugc-grid{grid-template-columns:repeat(4,1fr);}
  .footer-grid{grid-template-columns:1.4fr 1fr 1fr 1fr;}
  .footer-grid .footer-col:nth-child(5){grid-column:span 2;}
}
@media (max-width:1024px){
  :root{--gutter:20px;--header-h:66px;}
  .main-nav{display:none;}
  .nav-toggle{display:inline-flex;}
  .header-actions__label{display:none;}
  .header-actions__reg{display:none;}
  .site-header__inner{grid-template-columns:auto 1fr auto;}
  .logo{font-size:20px;letter-spacing:.26em;}
  .product-grid,.woocommerce ul.products{grid-template-columns:repeat(3,1fr);}
  .cat-grid{grid-template-columns:repeat(2,1fr);}
  .editorial{grid-template-columns:1fr;}
  .editorial--reverse .editorial__media{order:0;}
  .lookbook{grid-template-columns:repeat(2,1fr);}
  .review-grid{grid-template-columns:1fr;}
  .promise{grid-template-columns:1fr;}
  .promise__item{border-right:0;border-bottom:1px solid var(--line-dark);}
  .promise__item:last-child{border-bottom:0;}
  .newsletter{grid-template-columns:1fr;}
  .trust__grid{grid-template-columns:repeat(2,1fr);}
  .trust__item:nth-child(2){border-right:0;}
  .trust__item:nth-child(1),.trust__item:nth-child(2){border-bottom:1px solid var(--line);}
  .section{padding:62px 0;}
}
@media (max-width:720px){
  .section{padding:48px 0;}
  .section__head{margin-bottom:30px;}
  .section__head--split{flex-direction:column;align-items:flex-start;gap:12px;}
  .occasion-grid{grid-template-columns:repeat(2,1fr);gap:10px;}
  .product-grid,.woocommerce ul.products{grid-template-columns:repeat(2,1fr);gap:22px 12px;}
  .cat-grid{grid-template-columns:repeat(2,1fr);gap:10px;}
  .lookbook{grid-template-columns:1fr;grid-auto-rows:200px;}
  .look--wide,.look--tall{grid-column:auto;grid-row:auto;}
  .ugc-grid{grid-template-columns:repeat(3,1fr);}
  .footer-grid{grid-template-columns:1fr 1fr;gap:28px;}
  .footer-grid .footer-col:first-child{grid-column:span 2;}
  .footer-grid .footer-col:nth-child(5){grid-column:span 2;}
  .carousel__arrow{display:none;}
  .newsletter__form{flex-direction:column;min-width:0;}
  .newsletter__form input{border-right:1px solid var(--ink);border-bottom:0;}
  .quick-add{opacity:1;transform:none;position:static;background:transparent;padding:10px 0 0;}
  .quick-add__label{display:none;}
  .product-card__wish{opacity:1;transform:none;}
  .editorial__body{padding:44px 20px;}
  .carousel{height:clamp(420px,68vh,560px);}
}
@media (max-width:420px){
  .product-grid,.woocommerce ul.products{grid-template-columns:1fr;}
  .ugc-grid{grid-template-columns:repeat(2,1fr);}
}
/* =========================================================
   LUX ANGNER · ProfilePress My Account (登录后的账户面板)
   ========================================================= */
#profilepress-myaccount-wrapper{
  max-width:1120px;margin:56px auto;padding:0 20px;
  font-family:'Jost',sans-serif;color:#1a1a1a;
}
#profilepress-myaccount-wrapper .profilepress-myaccount-row{
  display:flex;gap:36px;align-items:flex-start;
}
#profilepress-myaccount-wrapper .profilepress-myaccount-col-sm-3{
  width:264px;flex:0 0 264px;
}
#profilepress-myaccount-wrapper .profilepress-myaccount-content{
  flex:1 1 auto;min-width:0;
  background:#fff;border:1px solid rgba(198,168,124,.35);
  border-radius:16px;padding:34px 38px;
  box-shadow:0 18px 50px rgba(0,0,0,.05);
}

/* avatar + sidebar nav */
#profilepress-myaccount-wrapper .profilepress-myaccount-avatar-wrap{
  text-align:center;margin-bottom:20px;
}
#profilepress-myaccount-wrapper .profilepress-myaccount-avatar img{
  width:96px;height:96px;border-radius:50%;
  border:2px solid #C6A87C;object-fit:cover;
}
#profilepress-myaccount-wrapper .profilepress-myaccount-nav{
  display:flex;flex-direction:column;gap:3px;
  background:#fff;border:1px solid rgba(198,168,124,.4);
  border-radius:14px;padding:10px;
  box-shadow:0 10px 30px rgba(0,0,0,.06);
}
#profilepress-myaccount-wrapper .profilepress-myaccount-nav a.ppmyac-dashboard-item{
  display:flex;align-items:center;gap:12px;
  padding:12px 14px;border-radius:9px;
  color:#3a352c;font-size:14px;text-decoration:none;transition:.18s;
}
#profilepress-myaccount-wrapper .profilepress-myaccount-nav a.ppmyac-dashboard-item:hover{
  background:rgba(198,168,124,.12);color:#0B0B0C;
}
#profilepress-myaccount-wrapper .profilepress-myaccount-nav a.ppmyac-dashboard-item.isactive{
  background:#0B0B0C;color:#C6A87C;
}
#profilepress-myaccount-wrapper .profilepress-myaccount-nav .ppmyac-icons{
  font-size:20px;line-height:1;
}

/* content typography */
#profilepress-myaccount-wrapper .profilepress-myaccount-content p{
  font-size:15px;line-height:1.75;color:#4a4438;
}
#profilepress-myaccount-wrapper .profilepress-myaccount-content a{color:#A88C5F;}
#profilepress-myaccount-wrapper .profilepress-myaccount-content strong{color:#0B0B0C;}
#profilepress-myaccount-wrapper h1,
#profilepress-myaccount-wrapper h2,
#profilepress-myaccount-wrapper h3{
  font-family:'Playfair Display',serif;color:#0B0B0C;
}

/* forms inside (edit profile / change password / billing) */
#profilepress-myaccount-wrapper form{margin-top:8px;}
#profilepress-myaccount-wrapper label{
  display:block;font-size:11px;letter-spacing:1.5px;
  text-transform:uppercase;color:#9a8f7d;margin:16px 0 6px;
}
#profilepress-myaccount-wrapper input[type=text],
#profilepress-myaccount-wrapper input[type=email],
#profilepress-myaccount-wrapper input[type=password],
#profilepress-myaccount-wrapper input[type=number],
#profilepress-myaccount-wrapper input[type=tel],
#profilepress-myaccount-wrapper select,
#profilepress-myaccount-wrapper textarea{
  width:100%;padding:12px 14px;background:#fff;
  border:1px solid rgba(198,168,124,.4);border-radius:9px;
  font-family:'Jost';font-size:15px;color:#1a1a1a;box-sizing:border-box;
}
#profilepress-myaccount-wrapper input:focus,
#profilepress-myaccount-wrapper select:focus,
#profilepress-myaccount-wrapper textarea:focus{
  outline:none;border-color:#C6A87C;
  box-shadow:0 0 0 3px rgba(198,168,124,.15);
}
#profilepress-myaccount-wrapper button[type=submit],
#profilepress-myaccount-wrapper input[type=submit]{
  margin-top:20px;padding:13px 28px;background:#C6A87C;
  color:#0B0B0C;border:none;border-radius:9px;
  font-family:'Playfair Display',serif;font-size:15px;
  letter-spacing:1px;cursor:pointer;transition:.2s;
}
#profilepress-myaccount-wrapper button[type=submit]:hover,
#profilepress-myaccount-wrapper input[type=submit]:hover{background:#A88C5F;}

/* orders / downloads tables */
#profilepress-myaccount-wrapper table{
  width:100%;border-collapse:collapse;margin-top:18px;font-size:14px;
}
#profilepress-myaccount-wrapper table th{
  text-align:left;padding:12px;border-bottom:2px solid #C6A87C;
  color:#0B0B0C;font-family:'Playfair Display',serif;
  font-size:13px;letter-spacing:.5px;
}
#profilepress-myaccount-wrapper table td{
  padding:12px;border-bottom:1px solid rgba(198,168,124,.2);color:#4a4438;
}
#profilepress-myaccount-wrapper table tr:hover td{background:rgba(198,168,124,.06);}
#profilepress-myaccount-wrapper .button,
#profilepress-myaccount-wrapper .pp-btn{
  display:inline-block;padding:8px 16px;background:#0B0B0C;
  color:#C6A87C;border-radius:8px;text-decoration:none;font-size:13px;
}

/* responsive */
@media (max-width:768px){
  #profilepress-myaccount-wrapper .profilepress-myaccount-row{flex-direction:column;}
  #profilepress-myaccount-wrapper .profilepress-myaccount-col-sm-3{width:100%;flex:none;}
  #profilepress-myaccount-wrapper .profilepress-myaccount-content{padding:24px 20px;}
}
/* ===== Contact Form 7 — LUX ANGNER dark-gold skin ===== */
.contact-title{
  font-family:'Playfair Display',serif;
  font-size:clamp(28px,4vw,44px);
  color:var(--gold);
  margin:0 0 12px;
  letter-spacing:.01em;
}
.contact-intro{
  color:#cfc7bd;
  font-size:15px;
  line-height:1.7;
  max-width:560px;
  margin:0 0 36px;
}
.wpcf7-form p{margin:0 0 18px;}
.wpcf7-form input[type=text],
.wpcf7-form input[type=email],
.wpcf7-form textarea{
  width:100%;
  background:var(--ink-2,#17171A);
  border:1px solid var(--gold-deep,#A88C5F);
  color:var(--cream,#FAF7F4);
  padding:14px 16px;
  font-family:'Jost',sans-serif;
  font-size:15px;
  border-radius:2px;
  box-sizing:border-box;
  transition:border-color .2s ease;
}
.wpcf7-form input::placeholder,
.wpcf7-form textarea::placeholder{color:#8a8378;}
.wpcf7-form input:focus,
.wpcf7-form textarea:focus{outline:none;border-color:var(--gold,#C6A87C);}
.wpcf7-form textarea{min-height:160px;resize:vertical;}
.wpcf7-form input[type=submit]{
  background:var(--gold,#C6A87C);
  color:var(--ink,#0B0B0C);
  border:none;
  padding:15px 42px;
  font-family:'Jost',sans-serif;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-size:13px;
  cursor:pointer;
  border-radius:2px;
  transition:background .25s ease;
}
.wpcf7-form input[type=submit]:hover{background:var(--gold-deep,#A88C5F);}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output{
  border-color:var(--wine,#6B2737);
  color:var(--cream,#FAF7F4);
}
.wpcf7 .wpcf7-not-valid-tip{color:#e0a0ad;}
.entry-content .wpcf7-form{max-width:620px;}

/* ============================================================
   20. PDP 改造（Aritzia 风格：右栏 sticky / 缩略图条 / 手风琴 / 关联推荐）
   注意：本块独立追加，不修改上方任何原有规则。
   ============================================================ */

/* 20.1 两栏布局 + 右栏（购买信息）sticky 吸顶（CSS Grid 强制两栏，避开 flex-grow 撑爆换行） */
.woocommerce div.product{
  display:grid;
  grid-template-columns:minmax(0,58%) minmax(0,38%);
  column-gap:clamp(24px,3.5vw,48px);
  row-gap:0;
  align-items:start;
}
.woocommerce div.product .onsale{
  grid-column:1;grid-row:1;
  align-self:start;justify-self:start;
  position:absolute;top:0;left:0;z-index:3;
}
.woocommerce div.product .woocommerce-product-gallery{
  grid-column:1;grid-row:1;
  width:100%;margin:0;position:relative;
}
.woocommerce div.product .summary{
  grid-column:2;grid-row:1;
  width:100%;
  align-self:start;
}
.woocommerce div.product .woocommerce-tabs{
  margin-top:8px;
}
.woocommerce div.product .related.products{
  grid-column:1 / -1;grid-row:2;
  margin-top:64px;
}
/* JS 将 .woocommerce-tabs 移入右栏 summary；加载完成前先隐藏原位置，避免闪烁 */
body:not(.lux-pdp-ready) .woocommerce div.product > .woocommerce-tabs{
  display:none !important;
}

/* 20.2 画廊：大图圆角 + 主图防拉伸 + 缩略图条强化（金色 active 边框） */
.woocommerce div.product .woocommerce-product-gallery__image img,
.woocommerce div.product .woocommerce-product-gallery img.wp-post-image{
  border-radius:10px;
  height:auto !important;
  width:100%;
  max-width:100%;
}
.woocommerce div.product .flex-control-thumbs{
  display:flex !important;flex-wrap:wrap;gap:10px;margin:14px -2px 0;
}
.woocommerce div.product .flex-control-thumbs li{width:auto;float:none;margin:0;}
.woocommerce div.product .flex-control-thumbs img{
  width:86px;height:112px;object-fit:cover;
  border:1px solid var(--line);border-radius:8px;
  opacity:.62;transition:opacity .2s ease,border-color .2s ease;cursor:pointer;
}
.woocommerce div.product .flex-control-thumbs img.flex-active,
.woocommerce div.product .flex-control-thumbs img:hover{
  opacity:1;border-color:var(--gold);
}

/* 20.3 详情区：横向 tab → 手风琴（JS 接管，导航隐藏） */
.woocommerce div.product .woocommerce-tabs ul.tabs{display:none;}
.woocommerce div.product .woocommerce-tabs{
  margin-top:8px;width:100%;
}
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel{
  display:none;padding:6px 2px 26px;
}
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel.is-open{
  display:block !important;animation:luxFade .3s ease;
}
/* 短描述（标题下）cream box 样式（替代之前的自定义 Description 块，内容自动来自商品 Excerpt，无则不渲染） */
.woocommerce div.product .summary .woocommerce-product-details__short-description{
  margin:18px 0;padding:16px 18px;background:var(--cream);border-left:2px solid var(--gold);font-size:13px;color:var(--muted);line-height:1.8;
}
.woocommerce div.product .summary .woocommerce-product-details__short-description p:last-child{margin-bottom:0;}
@keyframes luxFade{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}
.lux-pdp-acc__head{
  width:100%;background:transparent;border:0;
  border-top:1px solid var(--line);
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:22px 2px;cursor:pointer;
  font-family:'Jost',sans-serif;font-size:12px;letter-spacing:.18em;
  text-transform:uppercase;font-weight:500;color:var(--ink);
  transition:color .2s ease;
}
.lux-pdp-acc__head:hover{color:var(--gold-deep);}
.lux-pdp-acc__head .acc-icon{
  flex:0 0 auto;width:14px;height:14px;position:relative;color:var(--gold-deep);
}
.lux-pdp-acc__head .acc-icon::before,
.lux-pdp-acc__head .acc-icon::after{content:"";position:absolute;background:currentColor;}
.lux-pdp-acc__head .acc-icon::before{top:50%;left:0;right:0;height:1.5px;transform:translateY(-50%);}
.lux-pdp-acc__head .acc-icon::after{
  left:50%;top:0;bottom:0;width:1.5px;transform:translateX(-50%);
  transition:transform .25s ease,opacity .25s ease;
}
.lux-pdp-acc__head[aria-expanded="true"] .acc-icon::after{opacity:0;transform:translateX(-50%) scaleY(0);}

/* 20.4 加购按钮整栏宽（对齐 Aritzia Add to Bag） */
.woocommerce div.product .summary form.cart{margin-top:22px;}
.woocommerce div.product .summary .single_add_to_cart_button{
  width:100%;padding:16px;border:0;border-radius:var(--radius);
  background:var(--gold);color:var(--ink);
  font-family:'Jost',sans-serif;font-size:13px;letter-spacing:.14em;
  text-transform:uppercase;cursor:pointer;transition:background .2s ease;
}
.woocommerce div.product .summary .single_add_to_cart_button:hover{background:var(--gold-deep);}

/* 20.5 关联推荐 You May Also Like */
.woocommerce .related.products,.woocommerce .upsells.products{margin-top:72px;clear:both;}
.woocommerce .related.products > h2,.woocommerce .upsells.products > h2{
  font-family:var(--font-display);font-weight:400;
  font-size:clamp(22px,2.6vw,32px);text-align:center;margin-bottom:30px;
}
.woocommerce .related.products .products,.woocommerce .upsells.products .products{
  display:grid;grid-template-columns:repeat(4,1fr);gap:22px;
}

/* 20.6 响应式：移动端单栏、取消 sticky */
@media (max-width:900px){
  .woocommerce div.product{display:block;}
  .woocommerce div.product .woocommerce-product-gallery,
  .woocommerce div.product .summary{width:100%;position:static;}
  .woocommerce .related.products .products,
  .woocommerce .upsells.products .products{grid-template-columns:repeat(2,1fr);gap:14px;}
}

/* 20.7 颜色色卡：select → 小长方形色块（色点 + 颜色名）横排；尺码保持下拉 */
.lux-color-swatches{display:flex;flex-wrap:wrap;gap:10px;margin:6px 0 4px;}
.lux-swatch{
  display:inline-flex;align-items:center;gap:8px;
  padding:7px 12px;border:1px solid var(--line);border-radius:6px;
  background:#fff;cursor:pointer;
  font-family:'Jost',sans-serif;font-size:12px;color:var(--ink);
  transition:border-color .15s ease,background .15s ease;
}
.lux-swatch:hover{border-color:var(--gold);}
.lux-swatch.is-active{border-color:var(--gold);background:var(--cream);}
.lux-swatch__dot{width:14px;height:14px;border-radius:50%;border:1px solid rgba(0,0,0,.15);flex:0 0 auto;}
.lux-swatch__dot--light{border-color:rgba(0,0,0,.28);}
.lux-swatch.is-disabled{opacity:.35;cursor:not-allowed;pointer-events:none;}

/* ============================================================
   21. 优惠券展示 — 首页促销条 + 商品页券标（暗金风）
   ============================================================ */
.lux-coupon-bar{
  background:linear-gradient(100deg,var(--ink) 0%, #221A22 55%, var(--wine) 100%);
  color:#F3ECE4;padding:18px 0;
}
.lux-coupon-bar__inner{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.lux-coupon-bar__text{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;}
.lux-coupon-bar__eyebrow{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);}
.lux-coupon-bar__title{font-family:var(--font-display);font-size:22px;}
.lux-coupon-bar__title em{font-style:normal;color:var(--gold);}
.lux-coupon-bar__desc{font-size:12.5px;color:rgba(243,236,228,.72);}
.lux-coupon-bar__action{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.lux-coupon-code{
  display:inline-flex;align-items:center;gap:10px;
  padding:9px 14px;border:1px solid var(--gold);border-radius:var(--radius);
  background:rgba(198,168,124,.10);color:#F3ECE4;cursor:pointer;
}
.lux-coupon-code__label{font-size:9px;letter-spacing:.2em;color:var(--gold);}
.lux-coupon-code__val{font-weight:600;letter-spacing:.12em;font-size:14px;}
.lux-coupon-code__copy{
  font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);
  border-left:1px solid rgba(198,168,124,.4);padding-left:10px;
}
.lux-coupon-code:hover{background:rgba(198,168,124,.18);}
.lux-coupon-bar__cta{padding:11px 22px;}

/* 商品页券标 */
.lux-coupon-badge{
  display:flex;align-items:center;gap:10px;
  margin:14px 0;padding:11px 14px;
  background:var(--cream);border:1px solid var(--line);border-left:2px solid var(--gold);
  border-radius:var(--radius);font-size:13px;color:var(--muted);line-height:1.5;
}
.lux-coupon-badge__icon{
  display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;
  width:26px;height:26px;border-radius:50%;
  background:var(--gold);color:#fff;font-size:15px;font-weight:600;
}
.lux-coupon-badge__text strong{color:var(--ink);}
.lux-coupon-badge__code{
  display:inline-flex;align-items:center;gap:6px;margin-left:2px;
  font-weight:600;letter-spacing:.1em;color:var(--wine);
  border-bottom:1px dashed var(--gold-deep);cursor:pointer;
}
.lux-coupon-badge__copy{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-deep);font-weight:500;}

@media (max-width:640px){
  .lux-coupon-bar__inner{flex-direction:column;align-items:flex-start;}
  .lux-coupon-bar__action{width:100%;}
  .lux-coupon-bar__cta{flex:1;text-align:center;}
}

/* =========================================================
   21. 转化修复：移动端购买路径（2026-09-10）
   ========================================================= */

/* 21.1 消除横向溢出（来源：right 停靠的 fixed 移动抽屉 / 弹窗购物车面板）
   用 overflow:clip 而不是 hidden —— hidden 会创建滚动容器，破坏 header 的 position:sticky */
@supports (overflow: clip) {
  html, body { overflow-x: clip; }
}

/* 21.2 移动端商品页：主图封顶，让标题与价格更早进入视野
   （只压缩主图，不动缩略图条） */
@media (max-width: 900px) {
  .woocommerce div.product .woocommerce-product-gallery__image img,
  .woocommerce div.product .woocommerce-product-gallery img.wp-post-image {
    max-height: 56vh !important;
    width: auto !important;
    max-width: 100%;
    margin: 0 auto;
    display: block;
  }
}

/* 21.3 底部常驻购买条（仅移动端商品页） */
.lux-buybar {
  display: none;
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 140;
  background: #fff;
  border-top: 1px solid rgba(198, 168, 124, .45);
  padding: 10px 14px calc(10px + env(safe-area-inset-bottom, 0px));
  align-items: center; gap: 12px;
  box-shadow: 0 -8px 26px rgba(11, 11, 12, .10);
}
.lux-buybar__price { display: flex; flex-direction: column; line-height: 1.22; min-width: 0; }
.lux-buybar__price .price { font-size: 16px; color: var(--ink); white-space: nowrap; }
.lux-buybar__price .price del { color: var(--muted); font-size: 12.5px; margin-right: 5px; }
.lux-buybar__price small { font-size: 10.5px; letter-spacing: .04em; color: var(--muted); white-space: nowrap; }
.lux-buybar__btn {
  flex: 1 1 auto; min-width: 140px; text-align: center;
  border: 0; cursor: pointer;
  font-family: 'Jost', sans-serif; font-size: 12.5px; letter-spacing: .14em;
  text-transform: uppercase; font-weight: 500;
}
@media (max-width: 900px) {
  .lux-buybar { display: flex; }
  body.single-product { padding-bottom: 84px; }
  body.single-product #clickTop-progress-wrap { display: none !important; }
  body.single-product .cart-tab, body.single-product .wcspc-count { display: none !important; }
}

/* 21.4 移动端商品页首屏瘦身：主图 50vh + 面包屑单行省略（减少进入正文前的垂直占用） */
@media (max-width: 900px) {
  .woocommerce div.product .woocommerce-product-gallery__image img,
  .woocommerce div.product .woocommerce-product-gallery img.wp-post-image {
    max-height: 50vh !important;
  }
  .woocommerce .woocommerce-breadcrumb {
    font-size: 10.5px;
    line-height: 1.5;
    margin: 12px 0 10px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .woocommerce div.product .woocommerce-product-gallery { margin-bottom: 6px; }
}

/* 21.5 Hero 副标注（尺码说明）+ 第 5 个子元素的入场延迟 */
.slide__meta{
  font-size:12.5px;color:rgba(255,255,255,.72);
  max-width:460px;margin:-16px 0 26px;letter-spacing:.02em;
}
.slide.is-active .slide__content > *:nth-child(5){animation-delay:.36s;}

/* 21.6 商品页购买区事实信息块 */
.lux-pdp-facts{
  list-style:none;margin:20px 0 0;padding:0;
  border-top:1px solid var(--line);
}
.lux-pdp-facts li{
  display:flex;justify-content:space-between;align-items:baseline;gap:16px;
  padding:11px 0;border-bottom:1px solid var(--line);
  font-size:12.5px;line-height:1.5;
}
.lux-pdp-facts li span{color:var(--muted);letter-spacing:.04em;}
.lux-pdp-facts li strong{color:var(--ink);font-weight:500;text-align:right;}
.lux-pdp-sizelink{margin:12px 0 0;font-size:12.5px;}
.lux-pdp-sizelink a{color:var(--gold-deep);border-bottom:1px solid rgba(168,140,95,.4);}
@media (max-width:900px){
  .lux-pdp-facts{margin-top:16px;}
  .lux-pdp-facts li{font-size:12px;padding:9px 0;}
}
