/* ==========================================================================
   Lumière design system — see website-blueprint.md §1 for the full spec.
   Organized: tokens → base → buttons → header/nav/mega menu → drawers →
   WooCommerce loop/cards → shop layout → single product → cart/checkout →
   my account → footer → shortcodes → responsive.
   ========================================================================== */

:root{
  --color-bg:#FAF6F2; --color-surface:#F3E9E1; --color-surface-2:#EFE2D9;
  --color-primary:#7C3F4D; --color-primary-dark:#5E2E39; --color-primary-tint:#F1DEE1;
  --color-accent:#AE8A4E; --color-blush:#E3C9CB;
  --color-text:#2A2420; --color-text-muted:#7A6E64;
  --color-sale:#A8503F; --color-success:#4C6B52; --color-border:#E3D5C8;
  --shadow: 0 1px 2px rgba(42,36,32,.04);
  --font-display:'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --font-body:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  color-scheme: light;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --color-bg:#1B1614; --color-surface:#241D1A; --color-surface-2:#2C2320;
    --color-primary:#E3A9B4; --color-primary-dark:#EFC3CB; --color-primary-tint:#3A2529;
    --color-accent:#D4B06A; --color-blush:#4A3236;
    --color-text:#F3ECE6; --color-text-muted:#B7ABA2;
    --color-sale:#E08872; --color-success:#8FB49A; --color-border:#392F2A;
    color-scheme: dark;
  }
}

/* ---------- base ---------- */
*{box-sizing:border-box;}
body{background:var(--color-bg); color:var(--color-text); font-family:var(--font-body); font-size:16px; line-height:1.6;}
h1,h2,h3,h4,.woocommerce-loop-product__title,.product_title{font-family:var(--font-display); font-weight:600; line-height:1.15; color:var(--color-text);}
a{color:inherit;}
.wrap{max-width:1360px; margin:0 auto; padding:0 32px;}
@media (max-width:720px){ .wrap{padding:0 18px;} }
.muted{color:var(--color-text-muted);}
.eyebrow{font:600 11px/1 var(--font-body); letter-spacing:.16em; text-transform:uppercase; color:var(--color-accent);}
.row-between{display:flex; justify-content:space-between; align-items:baseline;}
:focus-visible{outline:2px solid var(--color-accent); outline-offset:2px;}
@media (prefers-reduced-motion: reduce){ *{animation:none !important; transition:none !important;} }

/* ---------- buttons ---------- */
.btn,a.button,button.button,input.button,#place_order,.woocommerce #respond input#submit,.checkout-button,.single_add_to_cart_button{
  display:inline-flex !important; align-items:center !important; justify-content:center !important; text-align:center !important; gap:8px;
  height:50px; padding:0 30px; border-radius:2px; border:1px solid transparent;
  font:600 12.5px/1 var(--font-body) !important; letter-spacing:.09em; text-transform:uppercase;
  background:var(--color-primary) !important; color:var(--color-bg) !important;
  transition:background .15s ease, color .15s ease, border-color .15s ease;
}
.btn:hover,a.button:hover,button.button:hover,#place_order:hover,.single_add_to_cart_button:hover{background:var(--color-primary-dark) !important; color:var(--color-bg) !important;}
.btn-outline{background:transparent !important; border-color:var(--color-primary); color:var(--color-primary) !important;}
.btn-outline:hover{background:var(--color-primary) !important; color:var(--color-bg) !important;}
.btn-ghost{height:auto; padding:0; border-bottom:1px solid currentColor; border-radius:0; color:var(--color-primary) !important; font-weight:600; background:none; text-transform:none; letter-spacing:0;}
.btn-block{width:100%;}
.btn-sm{height:38px; padding:0 18px; font-size:11.5px;}
.loading{opacity:.6; pointer-events:none;}
.icon-btn{width:38px; height:38px; display:inline-flex; align-items:center; justify-content:center; color:var(--color-text); position:relative; background:none; border:0;}
.icon-btn:hover{color:var(--color-primary);}
.icon-btn svg{width:19px !important;height:19px !important;flex-shrink:0 !important;min-width:19px !important;}
.badge-count{position:absolute; top:-2px; right:-4px; min-width:16px; height:16px; padding:0 3px; background:var(--color-primary); color:var(--color-bg); border-radius:50%; font:600 10px/16px var(--font-body); text-align:center;}

/* ---------- announcement + header ---------- */
.announce{background:var(--color-primary); color:var(--color-bg); text-align:center; padding:9px 12px; font:500 12px/1.4 var(--font-body);}
header.site{position:sticky; top:0; z-index:40; background:var(--color-bg); border-bottom:1px solid var(--color-border);}
.header-row{display:flex; align-items:center; justify-content:space-between; height:92px; transition:height .2s ease; gap:24px;}
header.site.condensed .header-row{height:66px;}
.logo{display:flex; align-items:center; gap:9px; font-family:var(--font-display); font-size:26px; font-weight:600; letter-spacing:.03em;}
.brand-mark{flex:none; width:28px; height:28px; transition:width .2s ease, height .2s ease;}
header.site.condensed .brand-mark{width:22px; height:22px;}
.brand-word{line-height:1;}
.header-left,.header-right{display:flex; align-items:center; gap:6px; flex:1;}
.header-right{justify-content:flex-end;}
.hamburger{display:none;}
.primary-nav{display:flex; justify-content:center; gap:34px; border-top:1px solid var(--color-border); padding:13px 0; font:600 12.5px/1 var(--font-body); letter-spacing:.05em; text-transform:uppercase;}
.primary-nav .nav-item{position:relative;}
.primary-nav .nav-item > a{padding:4px 0; color:var(--color-text); position:relative;}
.primary-nav .nav-item > a:hover{color:var(--color-primary);}
.primary-nav .nav-item > a::after{content:""; position:absolute; left:0; right:0; bottom:-14px; height:2px; background:var(--color-primary); transform:scaleX(0); transition:transform .2s ease;}
.primary-nav .nav-item:hover > a::after{transform:scaleX(1);}

/* mega menu */
.mega{position:absolute; left:0; right:0; top:100%; background:var(--color-bg); border-bottom:1px solid var(--color-border); box-shadow:0 18px 32px -18px rgba(30,20,18,.22); opacity:0; visibility:hidden; transform:translateY(-6px); transition:opacity .18s ease, transform .18s ease;}
.nav-item:hover .mega{opacity:1; visibility:visible; transform:translateY(0);}
.mega-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:36px; padding:36px 0 42px;}
.mega-col h4{font:600 11px/1 var(--font-body); letter-spacing:.14em; text-transform:uppercase; color:var(--color-accent); margin:0 0 14px;}
.mega-col a{display:block; padding:6px 0; font:400 16px var(--font-display); color:var(--color-text);}
.mega-col a:hover{color:var(--color-primary);}
.mega-promo{border-radius:2px; background:var(--color-primary-tint); padding:22px; display:flex; flex-direction:column; gap:8px; justify-content:flex-end; min-height:170px;}
.mega-promo .eyebrow{color:var(--color-primary);}
.mega-promo h3{font-size:21px; margin:0;}
.mega-promo p{margin:0; font-size:13px; color:var(--color-text-muted);}

/* drawers */
.scrim{position:fixed; inset:0; background:rgba(20,14,12,.42); z-index:60; opacity:0; visibility:hidden; transition:opacity .22s ease;}
.scrim.open{opacity:1; visibility:visible;}
.drawer{position:fixed; top:0; bottom:0; width:min(420px,88vw); background:var(--color-bg); z-index:61; display:flex; flex-direction:column; transition:transform .3s cubic-bezier(.22,1,.36,1); box-shadow:0 0 40px rgba(0,0,0,.18);}
.drawer-left{left:0; transform:translateX(-100%);}
.drawer-left.open{transform:translateX(0);}
.drawer-right{right:0; transform:translateX(100%);}
.drawer-right.open{transform:translateX(0);}
.drawer-head{display:flex; align-items:center; justify-content:space-between; padding:20px 22px; border-bottom:1px solid var(--color-border);}
.drawer-head h3{font-size:20px; margin:0;}
.drawer-body{padding:20px 22px; overflow-y:auto; flex:1;}

/* mobile nav accordion (Lumiere_Mobile_Nav_Walker output) */
.mobile-acc{border-bottom:1px solid var(--color-border);}
.mobile-acc summary{list-style:none; display:flex; justify-content:space-between; align-items:center; padding:15px 0; font:600 15px/1 var(--font-body); cursor:pointer;}
.mobile-acc summary::-webkit-details-marker{display:none;}
.mobile-acc-links a,.mobile-subheading{display:block; padding:8px 0 8px 6px; font:400 16px var(--font-display); color:var(--color-text);}
.mobile-subheading{color:var(--color-accent); font:600 11px var(--font-body); letter-spacing:.1em; text-transform:uppercase; padding-top:14px;}
.mobile-simple-link{display:block; padding:12px 0; font:600 13px/1 var(--font-body); letter-spacing:.05em; text-transform:uppercase; border-bottom:1px solid var(--color-border);}

/* cart drawer contents */
.cart-item{display:grid; grid-template-columns:72px 1fr; gap:14px; padding:16px 0; border-bottom:1px solid var(--color-border);}
.cart-thumb img{width:72px; height:90px; object-fit:cover; border-radius:2px;}
.cart-item h4{font-size:16.5px; font-weight:500; margin:0;}
.cart-item h4 a{color:var(--color-text);}
.cart-meta{font-size:12.5px; color:var(--color-text-muted); margin-top:2px;}
.cart-line-price{font-weight:600; color:var(--color-text); margin-top:4px;}
.qty-stepper{display:inline-flex; align-items:center; border:1px solid var(--color-border); border-radius:2px; margin-top:8px;}
.qty-stepper button{width:28px; height:28px; background:none; border:0; font-size:15px; cursor:pointer;}
.qty-stepper span{min-width:26px; text-align:center; font-size:13px; font-variant-numeric:tabular-nums;}
.cart-remove{font-size:11.5px; color:var(--color-text-muted); text-decoration:underline; margin-top:8px; display:inline-block; cursor:pointer;}
.cart-foot{border-top:1px solid var(--color-border); padding:18px 22px 22px; background:var(--color-surface);}
.ship-bar-track{height:5px; background:var(--color-border); border-radius:3px; overflow:hidden; margin:0 0 14px;}
.ship-bar-fill{height:100%; background:var(--color-accent); transition:width .3s ease;}
.cart-ship-msg{font-size:12.5px; margin:0 0 14px;}
.cart-subtotal-row{margin-bottom:16px; font-family:var(--font-display); font-size:19px;}
.cart-empty{text-align:center; padding:60px 10px; color:var(--color-text-muted);}

/* ---------- WooCommerce product loop / cards ---------- */
.woocommerce ul.products{display:grid; grid-template-columns:repeat(4,1fr); gap:26px 22px; list-style:none; margin:0; padding:0;}
.woocommerce ul.products li.product{position:relative; margin:0; list-style:none;}
.woocommerce ul.products li.product a.woocommerce-loop-product__link{display:flex; flex-direction:column; text-decoration:none;}
.woocommerce ul.products li.product img{order:0; aspect-ratio:4/5; object-fit:cover; border-radius:2px; margin-bottom:14px; background:linear-gradient(150deg,var(--color-surface),var(--color-primary-tint));}
.woocommerce ul.products li.product .p-cat{order:1; font-size:11.5px; color:var(--color-text-muted); letter-spacing:.04em; text-transform:uppercase; margin-bottom:4px;}
.woocommerce ul.products li.product .woocommerce-loop-product__title{order:2; font:500 19px/1.2 var(--font-display); margin:0 0 6px; color:var(--color-text);}
.woocommerce ul.products li.product .price{order:3; font:600 15px var(--font-body); font-variant-numeric:tabular-nums; color:var(--color-text); margin-bottom:6px; display:block;}
.woocommerce ul.products li.product .price del{color:var(--color-text-muted); font-weight:400; font-size:13px; opacity:1;}
.woocommerce ul.products li.product .price ins{text-decoration:none; color:var(--color-sale);}
.woocommerce ul.products li.product .star-rating{order:4; color:var(--color-accent); font-size:13px; width:auto; margin:0 0 4px;}
.woocommerce span.onsale{position:absolute; top:10px; left:10px; z-index:2; font:600 10.5px/1 var(--font-body) !important; letter-spacing:.06em; text-transform:uppercase; padding:5px 9px; border-radius:2px; background:var(--color-bg); color:var(--color-sale); min-height:0; min-width:0; margin:0;}
.woocommerce ul.products li.product .flag.best{position:absolute; top:10px; left:10px; z-index:2; font:600 10.5px/1 var(--font-body); letter-spacing:.06em; text-transform:uppercase; padding:5px 9px; border-radius:2px; background:var(--color-bg); color:var(--color-accent);}
.woocommerce ul.products li.product .onsale ~ .flag.best,
.woocommerce ul.products li.product .flag.best ~ .onsale{top:44px;}
.woocommerce ul.products li.product a.button{margin-top:10px; align-self:flex-start; height:38px; padding:0 18px; font-size:11px;background:var(--color-primary) !important;color:var(--color-bg) !important}

/* Quick View / Wishlist plugin hooks (YITH etc.) — dormant CSS that
   activates the moment those plugins are installed, per §23. */
.woocommerce ul.products li.product .yith-wcwl-add-to-wishlist,
.woocommerce ul.products li.product a.add_to_wishlist{position:absolute; top:10px; right:10px; z-index:2;}
.woocommerce ul.products li.product .yith-wcqv-button{position:absolute; left:10px; right:10px; bottom:70px; z-index:2;}

/* result count / ordering toolbar */
.woocommerce-result-count,.woocommerce-ordering{margin:0 0 24px;}
.woocommerce .shop-main > .woocommerce-result-count,.woocommerce .shop-main > .woocommerce-ordering{display:inline-block;}
.woocommerce-ordering select{border:1px solid var(--color-border); background:var(--color-bg); padding:10px 12px; border-radius:2px; font:500 13px var(--font-body); color:var(--color-text);}

/* ---------- Shop layout: sidebar filters + grid (§5/§6) ---------- */
.shop-layout{display:grid; grid-template-columns:250px 1fr; gap:40px; align-items:flex-start; padding:22px 0 60px;}
.shop-sidebar{position:sticky; top:120px;}
.filter-block{padding:18px 0; border-bottom:1px solid var(--color-border);}
.filter-block h4{font:600 12px var(--font-body); letter-spacing:.08em; text-transform:uppercase; margin:0 0 14px;}
.filter-block ul{list-style:none; margin:0; padding:0;}
.filter-block li{padding:6px 0; font-size:14px;}
.filter-block .wc-layered-nav-term a,.filter-block li a{color:var(--color-text-muted);}
.filter-block .wc-layered-nav-term.chosen a,.filter-block li.chosen a{color:var(--color-primary); font-weight:600;}
.filter-block .price_slider{margin-bottom:16px;}
.filter-block .price_slider_amount .button{width:auto; height:34px; padding:0 14px; font-size:11px;}
@media (max-width:900px){ .shop-layout{grid-template-columns:1fr;} .shop-sidebar{position:static;} }

/* ---------- Category grid shortcode (bento) ---------- */
.bento{display:grid; grid-template-columns:repeat(6,1fr); grid-auto-rows:150px; gap:18px;}
.bento .cat-card:nth-child(6n+1),.bento .cat-card:nth-child(6n+2){grid-column:span 3; grid-row:span 2;}
.bento .cat-card:nth-child(6n+3),.bento .cat-card:nth-child(6n+4),.bento .cat-card:nth-child(6n+5){grid-column:span 2; grid-row:span 2;}
.bento .cat-card:nth-child(6n){grid-column:span 6; grid-row:span 1;}
.cat-card{position:relative; border-radius:2px; overflow:hidden; display:flex; align-items:flex-end; padding:22px; background:linear-gradient(150deg,var(--color-surface),var(--color-primary-tint));}
.cat-card .cc-body{position:relative; z-index:1; color:#fff; text-shadow:0 1px 3px rgba(0,0,0,.35);}
.cat-card:not([style*="background-image"]) .cc-body{color:var(--color-text); text-shadow:none;}
.cat-card h3{font-size:24px; margin:0 0 4px;}
.cat-card p{font-size:13px; margin:0 0 10px; opacity:.9;}
.cat-card .cc-link{font:600 11.5px var(--font-body); letter-spacing:.08em; text-transform:uppercase; display:inline-flex; align-items:center; gap:6px;}
@media (max-width:900px){ .bento{grid-template-columns:repeat(2,1fr);} .bento .cat-card{grid-column:span 1 !important; grid-row:span 1 !important; aspect-ratio:1/1; height:auto;} }

/* ---------- Best sellers / reviews carousels ---------- */
.carousel-wrap{position:relative;}
.carousel-track{display:flex; gap:22px; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:6px;}
/* lumiere_render_product_grid() wraps the real <ul class="products"> in a
   .grid-4 div; collapse both out of layout so each li.product becomes a
   direct flex item of .carousel-track and the horizontal scroll works. */
.carousel-track .grid-4{display:contents;}
.carousel-track ul.products{display:contents;}
.carousel-track li.product{flex:0 0 264px; scroll-snap-align:start;}
.review-card{background:var(--color-surface); border-radius:2px; padding:28px; flex:0 0 340px; scroll-snap-align:start;}
.review-card .stars{color:var(--color-accent); display:block; margin-bottom:12px; letter-spacing:2px;}
.review-card p{font-family:var(--font-display); font-size:18px; line-height:1.5; margin:0 0 18px;}
.review-who{display:flex; align-items:center; gap:10px;}
.review-avatar{width:34px; height:34px; border-radius:50%; background:var(--color-primary-tint); color:var(--color-primary); display:flex; align-items:center; justify-content:center; font:600 13px var(--font-body); flex:none;}
.review-name{font-weight:600; font-size:13.5px;}
.verified{font-size:11px; color:var(--color-success);}

/* ---------- Countdown (seasonal banner shortcode) ---------- */
.countdown{display:flex; gap:14px;}
.countdown div{text-align:center;}
.countdown strong{display:block; font:600 30px/1 var(--font-display);}
.countdown span{font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; opacity:.8;}

/* ---------- Single product page (§7) ---------- */
.single-product div.summary.entry-summary{max-width:560px;}
.single-product .woocommerce-product-gallery{border-radius:2px; overflow:hidden;}
.single-product .product_title{font-size:34px; margin:10px 0 12px;}
.single-product .woocommerce-product-rating{margin-bottom:14px;}
.single-product p.price,.single-product .price{font:600 24px var(--font-body); color:var(--color-text); margin:14px 0 18px; display:block;}
.single-product p.price del{color:var(--color-text-muted); font-weight:400; font-size:16px;}
.single-product p.price ins{text-decoration:none; color:var(--color-sale);}
.single-product .woocommerce-product-details__short-description{color:var(--color-text-muted); max-width:52ch; margin-bottom:18px;}
.single-product form.cart{margin-bottom:8px;}
.single-product .variations{width:100%; border:0; margin-bottom:0;}
.single-product .variations td,.single-product .variations th{border:0; padding:0; display:block;}
.single-product .variations label{font:600 12px var(--font-body); letter-spacing:.05em; text-transform:uppercase; display:block; margin:18px 0 10px;}
.single-product table.variations tr{display:block;}
.single-product .reset_variations{font-size:11.5px; text-decoration:underline; margin-left:10px;}
.lumiere-size-guide-link{margin:-4px 0 18px; text-align:right;}
.lumiere-size-guide-link a{font-size:12px; text-decoration:underline; color:var(--color-primary);}
.single-product .quantity{margin-right:14px;}
.single-product .qty-stepper input.qty{width:44px; height:44px; border:0; text-align:center; background:none; font:600 14px var(--font-body); color:var(--color-text); -moz-appearance:textfield;}
.single-product .qty-stepper input.qty::-webkit-inner-spin-button{-webkit-appearance:none;}
.single-product .qty-stepper button{width:32px; height:44px;}
.single-product .stock{font-size:13px; color:var(--color-success); margin:0 0 22px;}
.single-product .stock.out-of-stock{color:var(--color-sale);}
.single-product .product_meta{font-size:13px; color:var(--color-text-muted); margin-top:18px;}
.single-product .product_meta a{color:var(--color-primary);}
.trust-mini{display:flex; flex-direction:column; gap:10px; padding:18px; border:1px solid var(--color-border); border-radius:2px; margin:18px 0;}
.trust-mini div{display:flex; gap:10px; font-size:13px; align-items:flex-start;}
.trust-mini svg{width:16px; height:16px; color:var(--color-accent); flex:none; margin-top:2px;}
.share-row{display:flex; gap:10px; margin-top:18px;}
.share-row .icon-btn{border:1px solid var(--color-border);}

/* tabs → accordion (built by theme.js from .woocommerce-tabs) */
.accordion{margin-top:24px;}
.accordion details{border-bottom:1px solid var(--color-border);}
.accordion summary{list-style:none; padding:16px 0; display:flex; justify-content:space-between; font:600 14.5px var(--font-body); cursor:pointer;}
.accordion summary::-webkit-details-marker{display:none;}
.accordion summary::after{content:"+"; color:var(--color-accent); font-size:18px;}
.accordion details[open] summary::after{content:"–";}
.accordion .acc-body{padding:0 0 18px; color:var(--color-text-muted); font-size:14.5px; max-width:60ch;}

/* reviews (#reviews / .commentlist, default WooCommerce markup) */
#reviews .commentlist{list-style:none; margin:0; padding:0; max-width:760px;}
#reviews .comment{padding:20px 0; border-bottom:1px solid var(--color-border);}
#reviews .star-rating{color:var(--color-accent);}
#reviews .description p{font-family:var(--font-display); font-size:17px; margin:8px 0;}
#reviews #respond{max-width:600px; margin-top:30px;}
#reviews #respond .comment-form-rating select,
#reviews #respond textarea,#reviews #respond input{width:100%; border:1px solid var(--color-border); border-radius:2px; padding:10px 12px; background:var(--color-bg); color:var(--color-text); margin-top:6px;}

/* related / upsells reuse the same product-grid look */
.related.products, .upsells.products{margin-top:60px;}
.related.products > h2, .upsells.products > h2{font-size:30px; margin-bottom:24px;}

/* sticky mobile add-to-cart */
.sticky-atc{position:fixed; left:0; right:0; bottom:0; z-index:35; background:var(--color-bg); border-top:1px solid var(--color-border); padding:12px 18px; display:none; align-items:center; justify-content:space-between; gap:14px; box-shadow:0 -6px 18px rgba(0,0,0,.06);}
.sticky-atc strong{font-family:var(--font-display); font-size:16px;}

/* WhatsApp FAB */
.whatsapp-fab{position:fixed; right:22px; bottom:22px; width:52px; height:52px; border-radius:50%; background:var(--color-success); display:flex; align-items:center; justify-content:center; color:#fff; z-index:30; box-shadow:0 6px 16px rgba(0,0,0,.18);}
.whatsapp-fab svg{width:24px; height:24px;}

/* ---------- Cart page ---------- */
.woocommerce table.shop_table{border:0; border-collapse:collapse; width:100%;}
.woocommerce table.shop_table th{font:600 11px var(--font-body); letter-spacing:.08em; text-transform:uppercase; color:var(--color-text-muted); border-bottom:1px solid var(--color-border); padding:0 0 14px; text-align:left;}
.woocommerce table.shop_table td{border-bottom:1px solid var(--color-border); padding:18px 10px 18px 0; vertical-align:middle;}
.woocommerce table.shop_table td.product-thumbnail img{width:90px; border-radius:2px;}
.woocommerce table.shop_table td.product-name a{font-family:var(--font-display); font-size:18px; color:var(--color-text);}
.woocommerce .cart-collaterals .cart_totals{background:var(--color-surface); padding:26px; border-radius:2px; max-width:400px; margin-left:auto;}
.woocommerce .cart_totals table{width:100%;}
.woocommerce .cart_totals tr:last-child td,.woocommerce .cart_totals tr:last-child th{font-family:var(--font-display); font-size:22px; border-bottom:0;}
.woocommerce .coupon{display:flex; gap:10px; margin-bottom:16px;}
.woocommerce .coupon .input-text{flex:1; border:1px solid var(--color-border); border-radius:2px; padding:0 14px; height:48px; background:var(--color-bg); color:var(--color-text);}

/* ---------- Checkout page (§9) ---------- */
.woocommerce-checkout #customer_details{max-width:640px;}
.woocommerce-checkout .form-row input.input-text,.woocommerce-checkout .form-row select,.woocommerce-checkout textarea{width:100%; height:48px; border:1px solid var(--color-border); border-radius:2px; padding:0 14px; background:var(--color-bg); color:var(--color-text);}
.woocommerce-checkout textarea{height:auto; padding:14px;}
.woocommerce-checkout h3{font-size:19px; margin:30px 0 16px;}
#order_review{background:var(--color-surface); padding:26px; border-radius:2px;}
.woocommerce-checkout .payment_methods li,.woocommerce-checkout .wc_payment_methods li{list-style:none; border:1px solid var(--color-border); border-radius:2px; padding:14px; margin-bottom:10px;}
#payment .payment_methods { padding: 0; }

/* ---------- My Account ---------- */
.woocommerce-MyAccount-navigation ul{list-style:none; margin:0; padding:0;}
.woocommerce-MyAccount-navigation li{border-bottom:1px solid var(--color-border);}
.woocommerce-MyAccount-navigation li a{display:block; padding:12px 0; font:600 13px var(--font-body); letter-spacing:.04em; text-transform:uppercase; color:var(--color-text);}
.woocommerce-MyAccount-navigation li.is-active a{color:var(--color-primary);}
.woocommerce-MyAccount-content{max-width:760px;}

/* ---------- Footer (§12) ---------- */
.site-footer{background:var(--color-surface-2); padding:64px 0 26px; margin-top:20px;}
.foot-grid{display:grid; grid-template-columns:1.4fr repeat(4,1fr); gap:32px; padding-bottom:44px;}
.foot-tagline{margin:16px 0 4px; font-size:14px; max-width:32ch;}
.foot-grid h4{font:600 11.5px var(--font-body); letter-spacing:.1em; text-transform:uppercase; margin:0 0 16px; color:var(--color-text-muted);}
.foot-grid ul{list-style:none; margin:0; padding:0;}
.foot-grid a{display:block; font-size:14px; padding:5px 0; color:var(--color-text);}
.foot-grid a:hover{color:var(--color-primary);}
.foot-social{display:flex; gap:14px; margin-top:18px;}
.foot-social svg{width:17px; height:17px;}
.foot-bottom{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:14px; padding-top:24px; border-top:1px solid var(--color-border); font-size:12.5px; color:var(--color-text-muted);}
.pay-icons{display:flex; gap:8px; align-items:center; font-size:11px;}
.pay-icons span{border:1px solid var(--color-border); border-radius:2px; padding:4px 8px;}
@media (max-width:860px){ .foot-grid{grid-template-columns:repeat(2,1fr);} }

/* ---------- Responsive ---------- */
@media (max-width:980px){
  .woocommerce ul.products{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:900px){
  .hamburger{display:inline-flex;}
  .primary-nav{display:none;}
}
@media (max-width:560px){
  .woocommerce ul.products{grid-template-columns:repeat(2,1fr); gap:16px 12px;}
}


/* ---------- Static page hero (Contact/About/FAQ/Policies) ---------- */
.page-hero{background:var(--color-surface); padding:64px 0 52px; text-align:center;}
.page-hero .eyebrow{display:block; margin-bottom:10px;}
.page-hero h1{font-size:44px; margin:0 0 14px;}
.page-hero p.lede{max-width:60ch; margin:0 auto; color:var(--color-text-muted); font-size:17px;}
@media (max-width:720px){ .page-hero h1{font-size:30px;} .page-hero{padding:44px 0 34px;} }

/* ---------- Contact page ---------- */
.contact-grid{display:grid; grid-template-columns:1.15fr .85fr; gap:56px; padding:64px 0 88px; align-items:start;}
@media (max-width:900px){ .contact-grid{grid-template-columns:1fr; gap:44px; padding:44px 0 60px;} }
.contact-form-card{background:var(--color-bg); border:1px solid var(--color-border); border-radius:2px; padding:36px;}
.contact-form-card h2{margin:0 0 8px; font-size:26px;}
.contact-form-card > p{color:var(--color-text-muted); margin:0 0 28px;}
.bellezia-contact-form .form-row{margin-bottom:20px;}
.bellezia-contact-form label{display:block; font:600 11.5px var(--font-body); letter-spacing:.06em; text-transform:uppercase; color:var(--color-text-muted); margin-bottom:8px;}
.bellezia-contact-form input, .bellezia-contact-form textarea{width:100%; border:1px solid var(--color-border); border-radius:2px; padding:12px 14px; background:var(--color-bg); color:var(--color-text); font:400 15px var(--font-body); box-sizing:border-box;}
.bellezia-contact-form input:focus, .bellezia-contact-form textarea:focus{outline:2px solid var(--color-accent); outline-offset:1px; border-color:var(--color-accent);}
.bellezia-contact-form textarea{min-height:140px; resize:vertical;}
.bellezia-contact-form .form-status{margin-top:16px; font-size:13.5px; min-height:18px;}
.bellezia-contact-form .form-status.is-success{color:var(--color-success);}
.bellezia-contact-form .form-status.is-error{color:var(--color-sale);}
.contact-info-card{background:var(--color-surface); border-radius:2px; padding:32px;}
.contact-info-card h3{font-size:20px; margin:0 0 20px;}
.contact-info-row{display:flex; gap:14px; align-items:flex-start; margin-bottom:22px;}
.contact-info-row svg{width:20px; height:20px; color:var(--color-accent); flex:none; margin-top:2px;}
.contact-info-row strong{display:block; font-size:14px; margin-bottom:2px;}
.contact-info-row span, .contact-info-row a{color:var(--color-text-muted); font-size:14px;}
.contact-info-row a{color:var(--color-primary); text-decoration:underline;}
.contact-faq-links{margin-top:8px; padding-top:22px; border-top:1px solid var(--color-border);}
.contact-faq-links a{display:block; padding:6px 0; font-size:14px; color:var(--color-primary);}

/* ---------- About page ---------- */
.about-hero{position:relative; overflow:hidden; padding:0;}
.about-hero-media{position:relative; aspect-ratio:21/9; overflow:hidden;}
.about-hero-media img{width:100%; height:100%; object-fit:cover; display:block;}
.about-hero-media::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(20,14,12,.05),rgba(20,14,12,.55));}
.about-hero-copy{position:absolute; left:0; right:0; bottom:0; padding:44px 0; text-align:center; color:#FAF6F2;}
.about-hero-copy .eyebrow{color:var(--color-blush);}
.about-hero-copy h1{font-size:46px; margin:10px 0 0; color:#FAF6F2;}
@media (max-width:720px){ .about-hero-media{aspect-ratio:4/5;} .about-hero-copy h1{font-size:30px;} }
.about-values{display:grid; grid-template-columns:repeat(3,1fr); gap:32px; padding:72px 0;}
@media (max-width:820px){ .about-values{grid-template-columns:1fr; gap:28px; padding:52px 0;} }
.about-value-card{text-align:center; padding:0 16px;}
.about-value-card svg{width:30px; height:30px; color:var(--color-accent); margin-bottom:16px;}
.about-value-card h3{font-size:19px; margin:0 0 10px;}
.about-value-card p{color:var(--color-text-muted); font-size:14.5px; margin:0;}
.about-narrative{max-width:70ch; margin:0 auto; padding:0 0 80px; text-align:center;}
.about-narrative p{font-size:18px; line-height:1.75; color:var(--color-text); font-family:var(--font-display);}

/* ---------- FAQ / policy static pages ---------- */
.legal-content{max-width:76ch; margin:0 auto; padding:64px 0 90px;}
.legal-content h2{font-size:24px; margin:40px 0 14px;}
.legal-content h2:first-child{margin-top:0;}
.legal-content p, .legal-content li{color:var(--color-text-muted); line-height:1.75;}
.legal-content a{color:var(--color-primary); text-decoration:underline;}
.faq-accordion{max-width:76ch; margin:0 auto; padding:64px 0 90px;}
.faq-group{margin-bottom:8px;}
.faq-group h2{font-size:22px; margin:44px 0 6px;}
.faq-group h2:first-child{margin-top:0;}


/* ---------- FAQ accordion items ---------- */
.faq-item{border-bottom:1px solid var(--color-border);}
.faq-item summary{list-style:none; display:flex; justify-content:space-between; align-items:center; gap:18px; padding:18px 0; font:600 16px var(--font-body); color:var(--color-text); cursor:pointer;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"+"; font-size:22px; line-height:1; color:var(--color-accent); flex:none; transition:transform .2s ease;}
.faq-item[open] summary::after{transform:rotate(45deg);}
.faq-item .faq-answer{margin:0 0 20px; color:var(--color-text-muted); line-height:1.75; font-size:15px; max-width:70ch;}
.faq-item .faq-answer a{color:var(--color-primary); text-decoration:underline;}
.faq-group > p.faq-answer{margin:0 0 8px;}
