/* =========================================================================
   CLAUDE'S THEME — Lua "Twilight Moon" (standalone)
   0 Tokens · 1 Reset/base · 2 Header · 3 Footer · 4 Buttons/forms
   5 Homepage · 6 WooCommerce · 7 Cart drawer · 8 Pages · 9 Responsive
   ========================================================================= */

/* ---- 0 · TOKENS ---- */
:root{
  --midnight:#0B1030; --plum:#241436; --plum-2:#3A1E48;
  --amber:#E29A5C; --amber-deep:#C56B3C; --gold:#D9AE73; --gold-lt:#EBCE9C;
  --cream:#F6EFE2; --cream-2:#EFE6D4; --ink:#2A1E2E; --muted:#6b5f68;
  --serif:'Fraunces',Georgia,serif; --body:'Inter',system-ui,-apple-system,sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);
  --header-h:70px; --maxw:1180px;
}

/* ---- 1 · RESET / BASE ---- */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:auto; scrollbar-gutter:stable; }
/* While a full-screen layer hides the scrollbar, paint its reserved gutter dark so no
   cream strip shows beside the preloader / search overlay / cart glass. */
html:has(body.lua-loading),html:has(body.lua-search-open),html:has(body.lua-cart-open){ background:var(--midnight); }
body{ margin:0; background:var(--cream); color:var(--ink); font-family:var(--body); font-weight:400;
  font-size:17px; line-height:1.6; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
body:not(.home){ padding-top:var(--header-h); }
img{ max-width:100%; height:auto; display:block; }
a{ color:var(--midnight); text-decoration:none; }
h1,h2,h3,h4{ font-family:var(--serif); font-weight:600; color:var(--midnight); line-height:1.1; margin:0 0 .5em; }
p{ margin:0 0 1em; }
em{ font-style:italic; }
.lua-container{ width:100%; max-width:var(--maxw); margin:0 auto; padding:0 clamp(22px,5vw,64px); }
.lua-skip{ position:absolute; left:-999px; top:0; z-index:100; background:var(--midnight); color:var(--cream); padding:.6em 1em; }
.lua-skip:focus{ left:8px; top:8px; }
:focus-visible{ outline:2px solid var(--gold); outline-offset:3px; }

/* ---- 2 · HEADER ---- */
.lua-header{ position:fixed; top:0; left:0; right:0; z-index:60; background:var(--plum);
  transition:background .4s var(--ease),box-shadow .4s var(--ease); }
.admin-bar .lua-header{ top:32px; }
.lua-header__inner{ display:flex; align-items:center; gap:2rem; min-height:var(--header-h); }
.lua-wordmark{ display:inline-flex; align-items:center; gap:.4rem; color:var(--cream) !important; flex-shrink:0;
  font-family:var(--serif); font-style:italic; font-weight:500; font-size:28px; line-height:1; }
.lua-wordmark__moon{ color:var(--gold-lt); font-style:normal; font-size:.85em; display:inline-flex; align-items:center; }
.lua-mark{ display:block; }
.lua-mark-img{ display:block; width:44px; height:44px; border-radius:50%; }
.lua-nav{ margin-left:auto; }
.lua-nav__list{ list-style:none; display:flex; gap:1.6rem; margin:0; padding:0; }
.lua-nav__list a{ color:var(--cream) !important; font-family:var(--body); font-size:15px; font-weight:400;
  letter-spacing:.01em; transition:color .2s; white-space:nowrap; }
.lua-nav__list a:hover,.lua-nav__list .current-menu-item > a{ color:var(--gold-lt) !important; }
.lua-nav__list ul{ display:none; } /* keep top-level clean; submenus in mobile only */
.lua-header__actions{ display:flex; align-items:center; gap:1.2rem; flex-shrink:0; }
.lua-header__link{ color:var(--cream) !important; font-family:var(--body); font-size:15px; }
.lua-header__link:hover{ color:var(--gold-lt) !important; }
.lua-header__cart{ position:relative; display:inline-flex; color:var(--cream) !important; }
.lua-header__cart:hover{ color:var(--gold-lt) !important; }
.lua-cart-count{ position:absolute; top:-6px; right:-9px; min-width:17px; height:17px; padding:0 4px;
  display:inline-flex; align-items:center; justify-content:center; border-radius:999px;
  background:var(--gold); color:var(--midnight); font-family:var(--body); font-size:10px; font-weight:600; }
.lua-cart-count:not(.has-items){ display:none; }
.lua-burger{ display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:6px; }
.lua-burger span{ width:24px; height:2px; background:var(--cream); transition:.3s var(--ease); }

/* Home: transparent over the hero until scrolled */
body.home .lua-header{ background:transparent; }
body.home.header-scrolled .lua-header{ background:rgba(20,10,32,.92); }
body.header-scrolled .lua-header{ box-shadow:0 8px 30px -12px rgba(11,16,48,.5); }

/* ---- 3 · FOOTER ---- */
.lua-footer{ background:var(--midnight); color:var(--cream); margin-top:0; }
.lua-footer__inner{ display:flex; justify-content:space-between; gap:2rem; flex-wrap:wrap;
  padding:clamp(48px,7vw,88px) clamp(22px,5vw,64px) 2rem; }
.lua-footer__brand{ max-width:320px; }
.lua-footer__name{ font-family:var(--serif); font-style:italic; font-size:26px; margin-left:.3rem; }
.lua-footer__tag{ color:rgba(246,239,226,.7); margin-top:.6rem; font-size:15px; }
.lua-footer__list{ list-style:none; margin:0; padding:0; display:grid; gap:.6rem; }
.lua-footer__list a{ color:rgba(246,239,226,.85) !important; font-size:15px; }
.lua-footer__list a:hover{ color:var(--gold-lt) !important; }
.lua-footer__legal{ padding:1.6rem clamp(22px,5vw,64px) 1.2rem; border-top:1px solid rgba(217,174,115,.15);
  font-size:12px; line-height:1.6; color:rgba(246,239,226,.55); }
.lua-footer__disclaimer{ max-width:68ch; margin:0 0 .7em; }
.lua-footer__company{ margin:0; }
.lua-footer__company a{ color:rgba(246,239,226,.7) !important; }
.lua-footer__company a:hover{ color:var(--gold-lt) !important; }
.lua-footer__br{ display:none; }
.lua-footer__base{ display:flex; justify-content:space-between; gap:1.5rem; flex-wrap:wrap;
  padding:1rem clamp(22px,5vw,64px) 1.6rem;
  font-size:12px; color:rgba(246,239,226,.45); }

/* ---- 3b · COOKIE CONSENT ---- */
.lua-cookie{ position:fixed; left:0; right:0; bottom:0; z-index:70; padding:0 clamp(16px,3vw,28px) clamp(16px,3vw,28px);
  transform:translateY(120%); transition:transform .5s var(--ease); }
.lua-cookie.is-visible{ transform:translateY(0); }
.lua-cookie__inner{ max-width:640px; margin:0 auto; background:var(--midnight); color:var(--cream);
  border-radius:16px; padding:1.1rem 1.3rem; box-shadow:0 20px 50px -18px rgba(11,16,48,.55);
  display:flex; align-items:center; gap:1.2rem; flex-wrap:wrap; }
.lua-cookie__text{ margin:0; font-size:13.5px; line-height:1.5; color:rgba(246,239,226,.85); flex:1 1 240px; }
.lua-cookie__text a{ color:var(--gold-lt) !important; text-decoration:underline; }
.lua-cookie__actions{ display:flex; gap:.6rem; flex-shrink:0; }
.lua-cookie__btn{ font-family:var(--body); font-size:13px; font-weight:500; border-radius:999px; border:none;
  padding:.6em 1.3em; cursor:pointer; transition:background .25s,color .25s; }
.lua-cookie__btn--accept{ background:var(--gold); color:var(--midnight); }
.lua-cookie__btn--accept:hover{ background:var(--gold-lt); }
.lua-cookie__btn--reject{ background:transparent; color:rgba(246,239,226,.75); border:1px solid rgba(246,239,226,.3); }
.lua-cookie__btn--reject:hover{ color:var(--cream); border-color:rgba(246,239,226,.6); }

/* ---- 4 · BUTTONS / FORMS ---- */
.lua-btn{ display:inline-flex; align-items:center; gap:.6rem; cursor:pointer; border:none;
  font-family:var(--body); font-weight:500; font-size:15px; color:var(--midnight) !important; background:var(--cream);
  padding:1rem 1.8rem; border-radius:999px; transition:transform .35s var(--ease),background .35s var(--ease),color .35s var(--ease); }
.lua-btn svg{ transition:transform .35s var(--ease); }
.lua-btn:hover{ background:var(--gold-lt); transform:translateY(-2px); }
.lua-btn:hover svg{ transform:translateX(4px); }
.lua-btn--light{ background:transparent; color:var(--cream) !important; box-shadow:inset 0 0 0 1.5px rgba(246,239,226,.5); }
.lua-btn--light:hover{ background:var(--cream); color:var(--midnight) !important; box-shadow:none; }
input,select,textarea{ font-family:var(--body); font-size:16px; }

/* ---- 5 · HOMEPAGE ---- */
.lua-home em{ color:var(--gold-lt); }

/* Preloader */
#lua-preloader{ position:fixed; inset:0; z-index:9999; display:flex; align-items:center; justify-content:center; overflow:hidden;
  background:linear-gradient(180deg,var(--midnight) 0%,var(--plum) 55%,var(--amber-deep) 130%); }
.lua-pre__sky{ position:absolute; inset:0; display:flex; align-items:flex-end; justify-content:center; }
.lua-pre__moon{ width:min(46vw,320px); transform:translateY(60vh) scale(.8); opacity:.2;
  filter:drop-shadow(0 0 70px rgba(217,174,115,.55)); will-change:transform,opacity; }
.lua-pre__meta{ position:relative; z-index:2; text-align:center; color:var(--cream); }
.lua-pre__word{ display:block; font-family:var(--serif); font-style:italic; font-size:clamp(38px,7vw,72px); line-height:1; }
.lua-pre__count{ display:block; margin-top:.6rem; font-size:14px; letter-spacing:.35em; opacity:.7; }
.lua-pre__count::after{ content:'%'; margin-left:.15em; }
body.lua-loading{ overflow:hidden; }

/* Hero */
.lua-hero{ position:relative; height:100svh; min-height:640px; overflow:hidden; color:var(--cream); }
.lua-hero__bg{ position:absolute; inset:-8% -2% 0 -2%; background-size:cover; background-position:70% 45%; will-change:transform; }
.lua-hero__scrim{ position:absolute; inset:0;
  background:linear-gradient(90deg,rgba(11,16,48,.82),rgba(36,20,54,.45) 42%,rgba(36,20,54,.05) 70%),
    linear-gradient(0deg,rgba(11,16,48,.55),rgba(11,16,48,0) 45%); }
.lua-hero__inner{ position:relative; z-index:3; height:100%; display:flex; flex-direction:column; justify-content:center;
  padding-top:clamp(96px,13vh,150px); padding-bottom:clamp(60px,8vh,90px); }
.lua-hero__eyebrow{ font-size:13px; letter-spacing:.34em; text-transform:uppercase; color:var(--gold-lt); margin:0 0 1.1rem; }
.lua-hero__title{ font-family:var(--serif); font-weight:600; margin:0; color:var(--cream);
  font-size:clamp(42px,7.4vw,108px); line-height:.98; letter-spacing:-.01em; text-transform:uppercase; }
.lua-js .lua-hero__title{ opacity:0; transform:translateY(30px); }
.lua-hero__title.is-in{ opacity:1; transform:none; transition:opacity 1s var(--ease),transform 1s var(--ease); }
.lua-line{ display:block; }
.lua-hero__sub{ font-weight:300; max-width:42ch; margin:1.6rem 0 0; font-size:clamp(15px,1.4vw,19px); color:rgba(246,239,226,.9); }
.lua-hero__cta{ margin-top:2.2rem; }
.lua-hero__scroll{ position:absolute; z-index:3; left:50%; bottom:26px; transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center; gap:.5rem; font-size:11px; letter-spacing:.3em;
  text-transform:uppercase; color:rgba(246,239,226,.65); }
.lua-hero__scroll i{ width:1px; height:34px; background:linear-gradient(var(--gold-lt),transparent); animation:luaScroll 1.8s var(--ease) infinite; }
@keyframes luaScroll{ 0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom} }

/* Marquee */
.lua-marquee{ background:var(--plum); color:var(--gold-lt); border-top:1px solid rgba(217,174,115,.18);
  border-bottom:1px solid rgba(217,174,115,.18); overflow:hidden; padding:.9rem 0; }
.lua-marquee__track{ display:inline-flex; align-items:center; white-space:nowrap; will-change:transform; }
.lua-marquee__item{ font-family:var(--serif); font-weight:500; text-transform:uppercase; font-size:clamp(15px,1.7vw,22px); letter-spacing:.06em; padding:0 1.1rem; }
.lua-marquee__star{ color:var(--amber); font-size:14px; }

/* Sections */
.lua-section{ max-width:var(--maxw); margin:0 auto; padding:clamp(64px,9vw,128px) clamp(22px,5vw,64px); }
.lua-section__head{ margin-bottom:clamp(32px,4vw,56px); }
.lua-section__head--row{ display:flex; align-items:flex-end; justify-content:space-between; gap:2rem; flex-wrap:wrap; }
.lua-eyebrow{ display:inline-block; font-family:var(--body); font-weight:600; font-size:12px; letter-spacing:.28em;
  text-transform:uppercase; color:var(--amber-deep); margin-bottom:1rem; }
.lua-section__title{ font-size:clamp(32px,4.6vw,60px); line-height:1.02; letter-spacing:-.01em; margin:0; }
.lua-section__lead{ font-weight:300; color:var(--muted); max-width:46ch; font-size:clamp(15px,1.3vw,18px); margin:1rem 0 0; }
.lua-link{ font-family:var(--body); font-weight:500; border-bottom:1.5px solid var(--gold); padding-bottom:2px; white-space:nowrap; }
.lua-link:hover{ color:var(--amber-deep); }

/* Concern grid */
.lua-concern-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(14px,1.6vw,22px); }
.lua-concern{ position:relative; display:flex; align-items:flex-end; min-height:230px; overflow:hidden;
  border-radius:18px; color:var(--cream) !important; isolation:isolate; transition:transform .5s var(--ease); }
.lua-concern__img{ position:absolute; inset:0; z-index:-2; background-size:cover; background-position:center; transition:transform .8s var(--ease); }
.lua-concern::after{ content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(0deg,rgba(11,16,48,.82) 4%,rgba(36,20,54,.15) 62%,rgba(36,20,54,0)); }
.lua-concern:hover{ transform:translateY(-4px); }
.lua-concern--guide{ box-shadow:inset 0 0 0 1.5px rgba(217,174,115,.55); }
.lua-concern--guide .lua-concern__count{ color:var(--gold-lt); }
.lua-concern:hover .lua-concern__img{ transform:scale(1.07); }
.lua-concern__body{ position:relative; padding:1.3rem 1.4rem; display:flex; flex-direction:column; gap:.2rem; }
.lua-concern__name{ font-family:var(--serif); font-weight:600; font-size:clamp(19px,1.7vw,24px); }
.lua-concern__count{ font-size:13px; color:rgba(246,239,226,.7); }
.lua-concern__arrow{ position:absolute; top:1.2rem; right:1.3rem; font-size:20px; opacity:0; transform:translate(-6px,6px); transition:.4s var(--ease); }
.lua-concern:hover .lua-concern__arrow{ opacity:1; transform:none; }

/* Bestsellers carousel */
.lua-best{ background:linear-gradient(180deg,var(--cream),var(--cream-2)); max-width:none; }
.lua-best > *{ max-width:var(--maxw); margin-left:auto; margin-right:auto; }
.lua-carousel{ overflow:hidden; cursor:grab; margin-top:.5rem; }
.lua-carousel.is-dragging{ cursor:grabbing; }
.lua-carousel__track{ display:flex; gap:clamp(14px,1.6vw,24px); will-change:transform; padding-bottom:.5rem; }
.lua-card{ flex:0 0 clamp(220px,26vw,300px); }
.lua-card__img{ display:block; aspect-ratio:1/1; border-radius:16px; background-size:cover; background-position:center; background-color:#e7ddcb; transition:transform .6s var(--ease); }
.lua-card:hover .lua-card__img{ transform:translateY(-5px); }
.lua-card__name{ display:block; font-family:var(--serif); font-weight:600; font-size:18px; margin:1rem 0 .3rem; }
.lua-card__price{ display:block; font-family:var(--body); font-weight:500; color:var(--amber-deep); }
.lua-card__price del{ color:#9a8f97; font-weight:400; margin-right:.4em; }
.lua-carousel__hint{ max-width:var(--maxw); margin:1.2rem auto 0; font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:#9a8f97; }

/* Closing CTA */
.lua-cta{ position:relative; background:linear-gradient(180deg,var(--plum),var(--midnight) 60%,var(--amber-deep) 165%); color:var(--cream); overflow:hidden; text-align:center; }
.lua-cta__moon{ position:absolute; z-index:1; width:min(52vw,420px); top:-42%; left:50%; transform:translateX(-50%); opacity:.55; pointer-events:none; filter:drop-shadow(0 0 80px rgba(217,174,115,.4)); }
.lua-cta__inner{ position:relative; z-index:2; max-width:720px; padding:clamp(120px,16vw,220px) clamp(22px,5vw,64px) clamp(80px,12vw,160px); }
.lua-cta__title{ color:var(--cream); font-size:clamp(34px,5.5vw,72px); line-height:1.02; margin:0; }
.lua-cta__sub{ font-weight:300; font-size:clamp(15px,1.4vw,19px); color:rgba(246,239,226,.85); margin:1.2rem 0 2.2rem; }

/* Cursor + reveals */
.lua-cursor{ position:fixed; top:0; left:0; z-index:9998; width:14px; height:14px; border-radius:50%;
  background:radial-gradient(circle,var(--gold-lt),var(--gold) 70%); pointer-events:none; transform:translate(-50%,-50%);
  mix-blend-mode:screen; opacity:0; transition:opacity .3s,width .25s var(--ease),height .25s var(--ease); box-shadow:0 0 18px 4px rgba(217,174,115,.5); }
.lua-cursor.is-active{ opacity:1; }
.lua-cursor.is-hover{ width:46px; height:46px; background:rgba(235,206,156,.18); box-shadow:0 0 24px 6px rgba(217,174,115,.25); }
.lua-reveal{ opacity:0; transform:translateY(26px); }
.is-ready .lua-reveal.is-in{ opacity:1; transform:none; transition:opacity .9s var(--ease),transform .9s var(--ease); }
.lua-fallback .lua-reveal,.lua-fallback .lua-hero__title{ opacity:1 !important; transform:none !important; }

/* ---- 6 · WOOCOMMERCE ---- */
.lua-woo-main{ padding-top:clamp(28px,4vw,48px); padding-bottom:clamp(48px,7vw,96px); }
.lua-woo,.woocommerce .lua-woo{ max-width:var(--maxw); margin:0 auto; }
.woocommerce-products-header{ text-align:center; padding:clamp(24px,5vw,60px) 0; }
.woocommerce-products-header__title,.page-title{ font-family:var(--serif) !important; font-size:clamp(32px,4.6vw,56px); color:var(--midnight); }
.term-description,.woocommerce-result-count{ color:var(--muted); font-family:var(--body); }
.woocommerce .woocommerce-ordering select,.woocommerce select.orderby{ border:1px solid #e2d8c9; border-radius:999px; background:#fff; padding:.55em 2.2em .55em 1.1em; color:var(--ink); }
/* product grid */
.woocommerce ul.products{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(16px,2vw,28px); margin:0; padding:0; list-style:none; }
.woocommerce ul.products::before,.woocommerce ul.products::after{ content:none; display:none; } /* neutralize WC's legacy float clearfix — it was eating the first grid cell */
.woocommerce ul.products li.product{ background:#fff; border-radius:18px; padding:14px 14px 20px; margin:0 !important; width:auto !important; float:none !important;
  box-shadow:0 1px 2px rgba(20,10,32,.05); transition:transform .4s var(--ease),box-shadow .4s var(--ease); display:flex; flex-direction:column; }
.woocommerce ul.products li.product:hover{ transform:translateY(-4px); box-shadow:0 18px 44px -20px rgba(20,10,32,.4); }
.woocommerce ul.products li.product a img{ border-radius:12px; margin-bottom:.8em; }
.woocommerce ul.products li.product .woocommerce-loop-product__title{ font-family:var(--serif) !important; color:var(--midnight); font-size:18px; padding:.2em 0; }
.woocommerce ul.products li.product .price{ color:var(--amber-deep) !important; font-weight:600; margin-bottom:.5em; }
.woocommerce ul.products li.product .price del{ color:#9a8f97; font-weight:400; }
.woocommerce span.onsale{ background:var(--gold); color:var(--midnight); border-radius:999px; }
.woocommerce .star-rating span{ color:var(--amber-deep); }
/* buttons (loop + single + blocks) */
.woocommerce a.button,.woocommerce button.button,.woocommerce button.button.alt,.woocommerce input.button,
.woocommerce #respond input#submit,.single_add_to_cart_button,.wc-block-components-button:not(.wc-block-components-button--link){
  background:var(--midnight) !important; color:var(--cream) !important; border:none !important; border-radius:999px !important;
  padding:.75em 1.6em !important; font-family:var(--body); font-weight:500; transition:background .25s,color .25s; }
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce button.button.alt:hover,
.single_add_to_cart_button:hover,.wc-block-components-button:not(.wc-block-components-button--link):hover{
  background:var(--gold) !important; color:var(--midnight) !important; }
.woocommerce ul.products li.product .button{ margin-top:auto; align-self:flex-start; font-size:14px; padding:.5em 1.15em !important; }
/* single product */
.single-product div.product{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,4vw,64px); align-items:start; }
.single-product div.product .woocommerce-product-gallery{ width:100% !important; margin:0; }
.single-product div.product .woocommerce-product-gallery__image img{ border-radius:16px; }
.single-product div.product .product_title{ font-family:var(--serif) !important; color:var(--midnight) !important; font-size:clamp(28px,3.4vw,46px); line-height:1.05; }
.single-product div.product p.price,.single-product div.product span.price,.woocommerce-Price-amount{ color:var(--amber-deep) !important; font-weight:600; }
.single-product form.cart{ display:flex; align-items:center; gap:.7rem; flex-wrap:wrap; margin:1.5em 0; }
.single-product form.cart .quantity input.qty{ height:52px; width:74px; text-align:center; border:1px solid #e2d8c9; border-radius:999px; }
.single-product form.cart .single_add_to_cart_button{ display:inline-flex !important; align-items:center; justify-content:center; height:52px; line-height:1 !important; padding:0 2.4em !important; }
.single-product .product_meta,.single-product .woocommerce-product-details__short-description{ font-family:var(--body); }
/* variable products — flavor picker */
.single-product form.cart.variations_form{ display:block; }
form.cart table.variations{ border:none; border-collapse:collapse; margin:0 0 .3rem; }
form.cart table.variations td,form.cart table.variations th{ border:none; padding:0; vertical-align:middle; }
form.cart table.variations th.label{ font-family:var(--body); font-weight:600; font-size:12px; letter-spacing:.22em;
  text-transform:uppercase; color:var(--amber-deep); padding-right:1rem; text-align:left; }
form.cart table.variations select{ border:1px solid #e2d8c9; border-radius:999px; background:#fff;
  padding:.6em 1.4em; color:var(--ink); font-size:15px; height:48px; }
.woocommerce div.product form.cart .reset_variations{ font-size:13px; color:var(--muted); margin-left:.8rem; }
.woocommerce-variation-price{ margin:.5rem 0 .9rem; font-size:19px; }
.single_variation_wrap .woocommerce-variation-add-to-cart{ display:flex; align-items:center; gap:.7rem; flex-wrap:wrap; }
.woocommerce div.product .woocommerce-tabs ul.tabs{ border:none; padding:0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li{ background:transparent; border:none; border-radius:999px; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{ background:var(--cream-2); }
.woocommerce div.product .woocommerce-tabs ul.tabs li a{ color:var(--midnight); }
.related.products > h2,.upsells > h2,.cross-sells > h2{ font-family:var(--serif); }
/* cart / checkout / account / notices */
.woocommerce table.shop_table{ border:1px solid #ece3d4 !important; border-radius:14px; overflow:hidden; background:#fff; }
.woocommerce table.shop_table th{ font-family:var(--serif); color:var(--midnight); }
.woocommerce-info,.woocommerce-message,.woocommerce-error{ border-top-color:var(--gold) !important; }
.woocommerce-info::before,.woocommerce-message::before{ color:var(--gold) !important; }
.woocommerce-MyAccount-navigation ul{ list-style:none; padding:0; }
.woocommerce-MyAccount-navigation ul li.is-active a{ color:var(--amber-deep); }
.wc-block-components-button--link{ color:var(--amber-deep) !important; }

/* ---- 7 · CART — liquid moon-glass modal (blooms from a droplet at screen center) ---- */
.lua-cart-stage{ position:fixed; inset:0; z-index:9990; display:none; place-items:center; }
body.lua-cart-open .lua-cart-stage{ display:grid; }
body.lua-cart-open{ overflow:hidden; }
.lua-cart-overlay{ position:absolute; inset:0; opacity:0; background:rgba(11,16,48,.5);
  -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px); }

/* liquid droplet layer — sub-blobs merge under the goo filter */
.lua-cart-goo-defs{ position:absolute; width:0; height:0; }
.lua-cart-goo{ position:absolute; display:grid; place-items:center; filter:url(#luaCartGoo); pointer-events:none; }
.lua-cart-blob{ grid-area:1/1; width:44px; height:44px; border-radius:50%; transform:scale(0);
  will-change:width,height,border-radius,transform;
  background:
    radial-gradient(60% 55% at 34% 30%, #fffdf8 0%, rgba(255,255,255,0) 46%),
    radial-gradient(120% 120% at 30% 22%, #fbf3e2, #ebce9c 62%, #e29a5c); }
.lua-cart-drop{ grid-area:1/1; width:34px; height:34px; border-radius:50%; transform:translate(0,0) scale(0);
  background:radial-gradient(120% 120% at 30% 22%, #fbf3e2, #ebce9c 78%); }

/* the frosted moon-glass panel the water settles into */
.lua-cart-drawer{ position:relative; z-index:2; width:min(540px,94vw); max-height:min(90vh,860px);
  display:flex; flex-direction:column; border-radius:26px; overflow:hidden; opacity:0; transform:scale(.92);
  color:var(--ink);
  background:linear-gradient(180deg, rgba(255,251,242,.80), rgba(246,239,226,.70));
  -webkit-backdrop-filter:blur(22px) saturate(150%); backdrop-filter:blur(22px) saturate(150%);
  border:1px solid rgba(255,255,255,.65);
  box-shadow:0 40px 90px -30px rgba(11,16,48,.55), 0 1px 0 rgba(255,255,255,.85) inset; }
.lua-cart-drawer__head,.lua-cart-drawer__body{ opacity:0; } /* fade/stagger in once the liquid settles */
.lua-cart-drawer__head{ display:flex; align-items:center; justify-content:space-between; padding:1.5rem 1.6rem 1rem; border-bottom:1px solid #e7ddcb; }
.lua-cart-drawer__title{ font-family:var(--serif); font-size:24px; color:var(--midnight); }
.lua-cart-drawer__close{ background:rgba(11,16,48,.06); border:none; font-size:26px; line-height:1; cursor:pointer; color:var(--midnight); width:40px; height:40px; border-radius:50%; transition:background .2s,transform .2s; }
.lua-cart-drawer__close:hover{ background:#ece3d4; transform:rotate(90deg); }
.lua-cart-drawer__body{ flex:1; overflow-y:auto; padding:.75rem 1.6rem 1.6rem; display:flex; flex-direction:column; }
@media (prefers-reduced-motion:reduce){ .lua-cart-goo{ display:none; } }
.lua-cart-drawer__body .widget_shopping_cart_content{ display:flex; flex-direction:column; flex:1; }
.lua-cart-drawer__body .woocommerce-mini-cart__empty-message{ color:var(--muted); padding:2rem 0; text-align:center; }
.lua-cart-drawer__body ul.cart_list{ list-style:none; margin:0; padding:0; flex:1; }
.lua-cart-drawer__body li.mini_cart_item{ position:relative; padding:1.1rem 2rem 1.1rem 0; border-bottom:1px solid #eee3d3; }
.lua-cart-drawer__body li.mini_cart_item > a:not(.remove){ display:flex; align-items:center; gap:.9rem; font-family:var(--serif); color:var(--midnight); font-size:16px; line-height:1.25; }
.lua-cart-drawer__body li.mini_cart_item img{ width:56px !important; height:56px; object-fit:cover; border-radius:10px; margin:0 !important; float:none !important; flex:0 0 auto; }
.lua-cart-drawer__body li.mini_cart_item .quantity{ display:block; margin:.35rem 0 0 calc(56px + .9rem); color:var(--muted); font-size:14px; }
.lua-cart-drawer__body li.mini_cart_item .quantity .amount{ color:var(--amber-deep); font-weight:600; }
.lua-cart-drawer__body li.mini_cart_item a.remove{ position:absolute; top:1.15rem; right:0; width:24px; height:24px; border-radius:50%; display:flex; align-items:center; justify-content:center; color:#b3a6ae !important; font-size:16px; background:none !important; transition:.2s; }
.lua-cart-drawer__body li.mini_cart_item a.remove:hover{ color:var(--amber-deep) !important; background:#f0e6d6 !important; }
.lua-cart-drawer__body .woocommerce-mini-cart__total{ display:flex; align-items:baseline; justify-content:space-between; font-family:var(--serif); font-size:19px; color:var(--midnight); border-top:1px solid #e7ddcb; padding:1.2rem 0; margin:.5rem 0 0; }
.lua-cart-drawer__body .woocommerce-mini-cart__total .amount{ color:var(--amber-deep); font-weight:600; }
.lua-cart-drawer__body .woocommerce-mini-cart__buttons{ display:grid; grid-template-columns:1fr 1fr; gap:.6rem; margin:0; }
.lua-cart-drawer__body .woocommerce-mini-cart__buttons a{ text-align:center; border-radius:999px !important; padding:.85em 1em !important; font-family:var(--body); font-size:14px; font-weight:500; background:transparent !important; color:var(--midnight) !important; box-shadow:inset 0 0 0 1.5px var(--midnight); }
.lua-cart-drawer__body .woocommerce-mini-cart__buttons a.checkout{ background:var(--midnight) !important; color:var(--cream) !important; box-shadow:none; }

/* ---- 7b · SEARCH — twilight overlay with live results ---- */
.lua-search-toggle{ display:inline-flex; align-items:center; background:none; border:none; padding:0; cursor:pointer;
  color:var(--cream); transition:color .2s; }
.lua-search-toggle:hover{ color:var(--gold-lt); }
.lua-search-stage{ position:fixed; inset:0; z-index:9985; display:none; overflow-y:auto;
  background:linear-gradient(180deg,rgba(11,16,48,.96),rgba(36,20,54,.94));
  -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
  opacity:0; transition:opacity .35s var(--ease); }
body.lua-search-open{ overflow:hidden; }
body.lua-search-open .lua-search-stage{ display:block; }
.lua-search-stage.is-in{ opacity:1; }
.lua-search__close{ position:fixed; top:18px; right:22px; z-index:2; width:44px; height:44px; border-radius:50%;
  border:none; cursor:pointer; font-size:28px; line-height:1; color:var(--cream);
  background:rgba(246,239,226,.08); transition:background .2s,transform .2s; }
.lua-search__close:hover{ background:rgba(246,239,226,.18); transform:rotate(90deg); }
.lua-search__panel{ max-width:860px; margin:0 auto; padding:clamp(90px,16vh,150px) clamp(22px,5vw,40px) 80px;
  transform:translateY(18px); transition:transform .45s var(--ease); }
.lua-search-stage.is-in .lua-search__panel{ transform:none; }
.lua-search__form{ display:flex; align-items:center; gap:1rem; color:var(--gold-lt);
  border-bottom:1.5px solid rgba(217,174,115,.45); padding-bottom:.8rem; }
.lua-search__input{ flex:1; min-width:0; background:none; border:none; outline:none; color:var(--cream);
  font-family:var(--serif); font-weight:500; font-size:clamp(26px,4vw,44px); line-height:1.2; caret-color:var(--gold); padding:0; }
.lua-search__input::placeholder{ color:rgba(246,239,226,.35); font-style:italic; }
.lua-search__input::-webkit-search-cancel-button{ display:none; }
.lua-search__hint{ margin:.9rem 0 0; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:rgba(246,239,226,.5); }
.lua-search__results{ display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(14px,2vw,22px); margin-top:2.2rem; }
.lua-search-card{ display:flex; flex-direction:column; gap:.15rem; color:var(--cream) !important; opacity:0;
  animation:luaSearchIn .5s var(--ease) forwards; }
@keyframes luaSearchIn{ from{ opacity:0; transform:translateY(14px); } to{ opacity:1; transform:none; } }
.lua-search-card__img{ aspect-ratio:1/1; border-radius:14px; background-size:cover; background-position:center;
  background-color:rgba(246,239,226,.08); margin-bottom:.55rem; transition:transform .4s var(--ease); }
.lua-search-card:hover .lua-search-card__img{ transform:translateY(-4px); }
.lua-search-card__name{ font-family:var(--serif); font-weight:600; font-size:16px; line-height:1.25; }
.lua-search-card__price{ font-size:14px; }
.lua-search-card__price del{ color:rgba(246,239,226,.4); margin-right:.35em; }
.lua-search-card__price .woocommerce-Price-amount{ color:var(--gold-lt) !important; font-weight:500; }
.lua-search__more{ grid-column:1/-1; justify-self:center; margin-top:.6rem; color:var(--gold-lt) !important;
  font-family:var(--body); font-weight:500; border-bottom:1.5px solid var(--gold); padding-bottom:2px; }
.lua-search__more:hover{ color:var(--cream) !important; }
@media (max-width:700px){ .lua-search__results{ grid-template-columns:repeat(2,1fr); } }
@media (prefers-reduced-motion:reduce){
  .lua-search-stage,.lua-search__panel{ transition:none; }
  .lua-search-card{ animation-duration:.01s; }
}

/* ---- 8 · PAGES / PROSE / 404 ---- */
.lua-page{ padding-top:clamp(28px,4vw,56px); padding-bottom:clamp(56px,8vw,110px); }
.lua-page__head{ text-align:center; margin-bottom:clamp(24px,4vw,48px); }
.lua-page__title{ font-size:clamp(32px,4.6vw,56px); }
.lua-page__meta{ color:var(--muted); }
.lua-prose{ max-width:70ch; margin:0 auto; }
.lua-prose h2,.lua-prose h3{ margin-top:1.6em; }
.lua-prose a{ border-bottom:1px solid var(--gold); }
.lua-postlist{ display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:2rem; }
.lua-postcard__thumb img{ border-radius:14px; }
.lua-postcard__title{ font-size:22px; margin:.8rem 0 .3rem; }
.lua-404{ text-align:center; padding:clamp(80px,14vw,180px) 0; }
.lua-404__moon{ font-size:56px; color:var(--gold); display:block; margin-bottom:1rem; }
.lua-404__title{ font-size:clamp(32px,5vw,56px); }
.lua-404__sub{ color:var(--muted); margin-bottom:2rem; }
.lua-pagination{ margin-top:3rem; text-align:center; }

/* ---- 8b · GLP-1 SIDE-EFFECT GUIDE ---- */
.lua-se-hero{ background:linear-gradient(180deg,var(--plum),var(--midnight) 55%,var(--plum-2) 130%); color:var(--cream);
  padding:clamp(48px,8vw,96px) 0 clamp(40px,6vw,70px); }
.lua-se-hero__title{ color:var(--cream); font-size:clamp(34px,5.4vw,68px); line-height:1.04; margin:0; }
.lua-se-hero__title em{ color:var(--gold-lt); }
.lua-se-hero__sub{ font-weight:300; max-width:56ch; color:rgba(246,239,226,.85); font-size:clamp(15px,1.4vw,18px); margin:1.2rem 0 0; }
.lua-se-chips{ display:flex; flex-wrap:wrap; gap:.55rem; margin-top:1.8rem; }
.lua-se-chip{ font-size:13.5px; font-weight:500; color:var(--cream) !important; padding:.45em 1.05em; border-radius:999px;
  box-shadow:inset 0 0 0 1.2px rgba(217,174,115,.5); transition:background .25s,color .25s,box-shadow .25s; }
.lua-se-chip:hover{ background:var(--gold-lt); color:var(--midnight) !important; box-shadow:none; }
.lua-se-body{ padding:clamp(36px,5vw,64px) clamp(22px,5vw,64px) clamp(64px,9vw,110px); }
.lua-se-note{ max-width:72ch; font-size:14px; line-height:1.65; color:var(--muted); border-left:3px solid var(--gold);
  padding:.35em 0 .35em 1.1em; margin:0 0 2.2rem; }
.lua-se-list{ display:grid; gap:14px; }
.lua-se{ background:#fff; border-radius:18px; box-shadow:0 1px 2px rgba(20,10,32,.05); overflow:hidden; }
.lua-se__head{ display:grid; grid-template-columns:minmax(180px,260px) 1fr auto; align-items:center; gap:1.2rem;
  padding:1.25rem 1.5rem; cursor:pointer; list-style:none; }
.lua-se__head::-webkit-details-marker{ display:none; }
.lua-se__title{ font-family:var(--serif); font-weight:600; font-size:clamp(18px,1.9vw,23px); color:var(--midnight); }
.lua-se__teaser{ font-size:14.5px; color:var(--muted); }
.lua-se__toggle{ position:relative; width:34px; height:34px; border-radius:50%; background:var(--cream-2); flex:0 0 auto; transition:background .25s,transform .35s var(--ease); }
.lua-se__toggle::before,.lua-se__toggle::after{ content:''; position:absolute; top:50%; left:50%; width:12px; height:1.8px; background:var(--midnight); transform:translate(-50%,-50%); }
.lua-se__toggle::after{ transform:translate(-50%,-50%) rotate(90deg); transition:transform .35s var(--ease); }
.lua-se[open] .lua-se__toggle{ background:var(--gold-lt); transform:rotate(45deg); }
.lua-se:hover{ box-shadow:0 10px 30px -16px rgba(20,10,32,.25); }
.lua-se__content{ padding:0 1.5rem 1.6rem; border-top:1px solid #f0e8d9; }
.lua-se__cols{ display:grid; grid-template-columns:1.15fr 1fr; gap:clamp(20px,3vw,44px); padding-top:1.3rem; }
.lua-se__h{ font-family:var(--body); font-weight:600; font-size:12px; letter-spacing:.22em; text-transform:uppercase; color:var(--amber-deep); margin:0 0 .6em; }
.lua-se__h:not(:first-child){ margin-top:1.4em; }
.lua-se__content p{ font-size:15.5px; }
.lua-se__habits{ margin:0; padding-left:1.1em; display:grid; gap:.45em; font-size:15px; }
.lua-se__habits li::marker{ color:var(--gold); }
.lua-se-cards{ display:grid; gap:10px; }
.lua-se-card{ display:flex; align-items:center; gap:.9rem; background:var(--cream); border-radius:14px; padding:.7rem .9rem;
  transition:transform .35s var(--ease),box-shadow .35s var(--ease); }
.lua-se-card:hover{ transform:translateY(-2px); box-shadow:0 12px 28px -16px rgba(20,10,32,.35); }
.lua-se-card__img{ width:62px; height:62px; flex:0 0 auto; border-radius:10px; background-size:cover; background-position:center; background-color:#fff; }
.lua-se-card__text{ display:flex; flex-direction:column; gap:.05rem; min-width:0; }
.lua-se-card__name{ font-family:var(--serif); font-weight:600; font-size:17px; color:var(--midnight); }
.lua-se-card__line{ font-size:13px; color:var(--muted); overflow:hidden; text-overflow:ellipsis; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.lua-se-card__price{ font-size:14px; font-weight:600; }
.lua-se-cta{ text-align:center; margin-top:clamp(44px,6vw,72px); }
.lua-se-cta p{ color:var(--muted); margin:.6rem 0 1.4rem; }
.lua-se-cta .lua-btn{ background:var(--midnight); color:var(--cream) !important; }
.lua-se-cta .lua-btn:hover{ background:var(--gold); color:var(--midnight) !important; }
.lua-se-cta__all{ margin-left:1.2rem; }
.lua-se-disclaimer{ max-width:72ch; margin:3rem auto 0; font-size:12px; line-height:1.6; color:#9a8f97; text-align:center; }
@media (max-width:820px){
  .lua-se__head{ grid-template-columns:1fr auto; }
  .lua-se__teaser{ display:none; }
  .lua-se__cols{ grid-template-columns:1fr; }
}

/* ---- 9 · RESPONSIVE ---- */
@media (max-width:900px){
  .lua-concern-grid{ grid-template-columns:repeat(2,1fr); }
  .woocommerce ul.products{ grid-template-columns:repeat(2,1fr); }
  .single-product div.product{ grid-template-columns:1fr; }
}
/* The 7-item nav needs more room than it used to — collapse to the burger earlier. */
@media (max-width:1080px){
  .lua-nav{ position:fixed; inset:var(--header-h) 0 auto 0; background:var(--plum); padding:1.5rem clamp(22px,5vw,64px) 2rem;
    transform:translateY(-120%); transition:transform .45s var(--ease); margin:0; }
  .admin-bar .lua-nav{ top:calc(var(--header-h) + 32px); }
  body.lua-menu-open .lua-nav{ transform:none; }
  .lua-nav__list{ flex-direction:column; gap:1.1rem; }
  .lua-nav__list a{ font-size:18px; }
  /* .lua-nav goes position:fixed above, leaving the flex flow — so the margin-left:auto
     that right-aligns the header on desktop stops applying. Without this the search,
     cart and burger bunch up against the logo in mid-header. */
  .lua-header__actions{ margin-left:auto; }
  .lua-burger{ display:flex; }
  body.lua-menu-open .lua-burger span:first-child{ transform:translateY(3.5px) rotate(45deg); }
  body.lua-menu-open .lua-burger span:last-child{ transform:translateY(-3.5px) rotate(-45deg); }
}
@media (max-width:768px){
  .lua-header__link{ display:none; }
}
@media (max-width:600px){
  :root{ --header-h:60px; }
  .lua-hero{ min-height:560px; }
  .lua-concern-grid{ grid-template-columns:1fr; }
  .woocommerce ul.products{ grid-template-columns:1fr 1fr; gap:12px; }
  .lua-footer__inner{ flex-direction:column; }
  .lua-section__head--row{ align-items:flex-start; }
}
@media (hover:none),(pointer:coarse){ .lua-cursor{ display:none; } }
@media (prefers-reduced-motion:reduce){
  .lua-reveal,.lua-hero__title{ opacity:1 !important; transform:none !important; }
  .lua-hero__scroll i{ animation:none; }
  .lua-marquee__track{ transform:none !important; }
}
