/* ==========================================================================
   GHOST by Valazat
   Design tokens, base, layout, components, landing sections, storefront.
   Ported 1:1 from the GHOST design system.
   ========================================================================== */

/* --- Tokens -------------------------------------------------------------- */
:root{
  --ghost-turquoise:#01A9A8;--ghost-black:#030303;--ghost-white:#FCFCFC;--ghost-grey:#7C7C7E;
  --turquoise-600:#017C7B;--turquoise-500:#01A9A8;--turquoise-400:#22C0BE;--turquoise-300:#5FD6D3;--turquoise-200:#9BE7E4;
  --emerald-950:#040D0B;--emerald-900:#081714;--emerald-800:#0C2621;--emerald-700:#103A33;--emerald-600:#155448;--emerald-500:#1B7566;
  --ink-950:#030303;--ink-900:#0A0B0B;--ink-800:#141615;--ink-700:#1E211F;--ink-500:#7C7C7E;--ink-400:#9A9A9C;--ink-300:#B9BBBB;--ink-100:#E7E8E7;--ink-050:#FCFCFC;

  --bg-base:var(--ink-950);--bg-deep:var(--emerald-950);--bg-elevated:var(--emerald-900);
  --surface-card:rgba(252,252,252,.04);--surface-glass:rgba(11,31,28,.55);--surface-invert:var(--ghost-white);
  --text-primary:var(--ghost-white);--text-secondary:rgba(252,252,252,.66);--text-muted:var(--ghost-grey);
  --text-on-light:var(--ghost-black);--text-accent:var(--turquoise-400);
  --accent:var(--ghost-turquoise);--accent-bright:var(--turquoise-400);
  --border-subtle:rgba(252,252,252,.10);--border-strong:rgba(252,252,252,.20);--border-accent:rgba(1,169,168,.45);

  --font-display:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --font-engrave:'Cinzel','Cormorant Garamond',serif;
  --font-body:'Jost','Helvetica Neue',Arial,sans-serif;
  --w-light:300;--w-regular:400;--w-medium:500;--w-semibold:600;

  --fs-hero:clamp(3.4rem,9vw,8.5rem);--fs-display:clamp(3rem,7vw,6.5rem);
  --fs-h1:clamp(2.4rem,5vw,4.25rem);--fs-h2:clamp(1.9rem,3.4vw,3rem);--fs-h3:clamp(1.4rem,2.2vw,2rem);
  --fs-lead:clamp(1.15rem,1.6vw,1.5rem);--fs-body:1.0625rem;--fs-small:.9375rem;--fs-label:.78rem;--fs-eyebrow:.72rem;
  --lh-tight:.98;--lh-snug:1.12;--lh-body:1.62;
  --track-hero:-.02em;--track-tight:-.01em;--track-wide:.14em;--track-eyebrow:.34em;--track-engrave:.22em;

  --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;
  --space-7:48px;--space-8:64px;--space-9:96px;--space-10:128px;--space-11:180px;--space-12:240px;
  --section-y:clamp(96px,14vh,200px);--section-y-tight:clamp(64px,8vh,120px);
  --measure:62ch;--container:1240px;--container-wide:1440px;--gutter:clamp(20px,5vw,72px);

  --radius-xs:4px;--radius-sm:8px;--radius-md:14px;--radius-lg:22px;--radius-xl:34px;--radius-pill:999px;
  --shadow-sm:0 1px 2px rgba(0,0,0,.4);--shadow-md:0 18px 40px -20px rgba(0,0,0,.7);
  --shadow-lg:0 40px 90px -30px rgba(0,0,0,.8);--shadow-float:0 60px 140px -40px rgba(0,0,0,.85);
  --glow-accent:0 0 90px -10px rgba(1,169,168,.45);--glow-accent-soft:0 0 140px rgba(1,169,168,.22);
  --blur-glass:blur(18px) saturate(140%);--blur-soft:blur(8px);

  --grad-bottle:radial-gradient(120% 120% at 50% 0%,#1B7566 0%,#103A33 34%,#081714 70%,#030303 100%);
  --grad-emerald:linear-gradient(160deg,#0C2621 0%,#040D0B 60%,#030303 100%);
  --grad-halo:radial-gradient(60% 60% at 50% 40%,rgba(1,169,168,.28) 0%,rgba(1,169,168,0) 68%);
  --grad-text-accent:linear-gradient(180deg,#FCFCFC 0%,#9BE7E4 120%);
  --grad-hairline:linear-gradient(90deg,rgba(1,169,168,0),rgba(1,169,168,.7),rgba(1,169,168,0));
  --grain-opacity:.05;

  --ease-out:cubic-bezier(.16,1,.3,1);--ease-in-out:cubic-bezier(.65,0,.35,1);
  --dur-fast:280ms;--dur-base:600ms;--dur-slow:1100ms;--dur-cinematic:1600ms;
}

/* --- Base ---------------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;scroll-behavior:smooth}
body{margin:0;background:var(--bg-base);color:var(--text-primary);font-family:var(--font-body);
  font-size:var(--fs-body);font-weight:var(--w-light);line-height:var(--lh-body);letter-spacing:var(--track-tight);overflow-x:hidden}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:var(--w-light);line-height:var(--lh-tight);letter-spacing:var(--track-hero);margin:0}
p{margin:0;text-wrap:pretty}
img{max-width:100%;height:auto}
a{color:var(--accent-bright);text-decoration:none;transition:color var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out)}
a:hover{color:var(--turquoise-300)}
button{font:inherit}
::selection{background:rgba(1,169,168,.32);color:var(--ghost-white)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.skip-link:focus{position:fixed;top:12px;left:12px;z-index:200;background:var(--accent);color:#000;padding:10px 18px;border-radius:var(--radius-pill);clip:auto;width:auto;height:auto}

/* --- Layout -------------------------------------------------------------- */
.gh-wrap{max-width:var(--container);margin:0 auto;width:100%}
.gh-wrap-wide{max-width:var(--container-wide);margin:0 auto;width:100%}
.gh-section{position:relative;padding:var(--section-y) var(--gutter)}
.gh-page{padding:calc(var(--space-10) + 40px) var(--gutter) var(--section-y-tight)}
.gh-rule{height:1px;width:100%;background:var(--grad-hairline);opacity:.6}
.gh-grain{position:fixed;inset:0;pointer-events:none;z-index:60;opacity:var(--grain-opacity);mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* --- Type helpers -------------------------------------------------------- */
.gh-eyebrow{font-family:var(--font-engrave);text-transform:uppercase;font-size:var(--fs-eyebrow);letter-spacing:var(--track-eyebrow);color:var(--text-accent);display:block}
.gh-eyebrow--rule{display:flex;align-items:center;gap:12px}
.gh-eyebrow--rule::before{content:"";width:40px;height:1px;background:var(--accent);flex:none}
.gh-kicker{font-family:var(--font-engrave);text-transform:uppercase;font-size:11px;letter-spacing:var(--track-engrave);color:var(--text-muted)}
.gh-kicker--accent{color:var(--text-accent)}
.gh-h1{font-family:var(--font-display);font-weight:300;font-size:var(--fs-h1);line-height:var(--lh-tight);letter-spacing:var(--track-hero)}
.gh-h2{font-family:var(--font-display);font-weight:300;font-size:var(--fs-display);line-height:var(--lh-tight);letter-spacing:var(--track-hero)}
.gh-h2--sm{font-size:var(--fs-h2)}
.gh-h1 em,.gh-h2 em{font-style:italic;color:var(--text-secondary)}
.gh-lead{font-size:var(--fs-lead);color:var(--text-secondary);font-weight:300;line-height:1.5;max-width:44ch}
.gh-body{color:var(--text-secondary);font-weight:300}
.gh-muted{color:var(--text-muted)}
.gh-center{text-align:center}

/* --- Buttons ------------------------------------------------------------- */
.gh-btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--font-engrave);text-transform:uppercase;font-weight:500;font-size:12px;letter-spacing:.22em;
  padding:15px 30px;border-radius:var(--radius-pill);border:1px solid transparent;cursor:pointer;white-space:nowrap;
  transition:all var(--dur-fast) var(--ease-out);text-decoration:none}
.gh-btn:active{transform:scale(.975)}
.gh-btn--sm{padding:10px 18px;font-size:11px;letter-spacing:.2em}
.gh-btn--lg{padding:19px 42px;font-size:13px;letter-spacing:.24em}
.gh-btn--full{width:100%}
.gh-btn[disabled],.gh-btn.is-disabled{opacity:.4;cursor:not-allowed;pointer-events:none}
.gh-btn--primary{background:var(--ghost-turquoise);color:var(--ghost-black)}
.gh-btn--primary:hover{background:var(--turquoise-400);color:var(--ghost-black);box-shadow:var(--glow-accent)}
.gh-btn--primary .gh-sheen{position:absolute;top:-20%;bottom:-20%;width:38%;left:0;pointer-events:none;
  background:linear-gradient(100deg,rgba(252,252,252,0),rgba(252,252,252,.35),rgba(252,252,252,0));
  transform:translateX(-130%) skewX(-16deg)}
.gh-btn--primary:hover .gh-sheen{transform:translateX(300%) skewX(-16deg);transition:transform .8s var(--ease-out)}
.gh-btn--secondary{background:var(--surface-card);color:var(--text-primary);border-color:var(--border-strong);backdrop-filter:var(--blur-glass)}
.gh-btn--secondary:hover{background:rgba(252,252,252,.10);border-color:var(--border-accent);color:var(--text-primary)}
.gh-btn--ghost{background:transparent;color:var(--text-primary);padding-left:0;padding-right:0}
.gh-btn--ghost:hover{color:var(--turquoise-300)}
.gh-btn [data-lucide]{width:1em;height:1em;stroke-width:1.4}

/* --- Badges -------------------------------------------------------------- */
.gh-badge{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-engrave);text-transform:uppercase;
  font-size:var(--fs-eyebrow);font-weight:400;border-radius:var(--radius-pill)}
.gh-badge--glass{background:var(--surface-glass);color:var(--text-secondary);border:1px solid var(--border-subtle);
  backdrop-filter:var(--blur-glass);padding:7px 14px;letter-spacing:var(--track-engrave)}
.gh-badge--accent{background:rgba(1,169,168,.10);color:var(--turquoise-300);border:1px solid var(--border-accent);
  padding:7px 14px;letter-spacing:var(--track-engrave)}
.gh-badge__dot{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:var(--glow-accent);flex:none}

/* --- Fields -------------------------------------------------------------- */
.gh-field{display:flex;flex-direction:column;gap:10px;width:100%}
.gh-field label,.gh-label{font-family:var(--font-engrave);text-transform:uppercase;font-size:var(--fs-eyebrow);
  letter-spacing:var(--track-engrave);color:var(--text-secondary)}
.gh-field input[type=text],.gh-field input[type=email],.gh-field input[type=tel],.gh-field input[type=password],
.gh-field input[type=number],.gh-field textarea,.gh-field select,
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select{
  width:100%;background:transparent;color:var(--text-primary);font-family:var(--font-body);font-size:var(--fs-body);
  font-weight:300;padding:14px 2px;border:none;border-bottom:1px solid var(--border-strong);outline:none;
  transition:border-color var(--dur-fast) var(--ease-out);border-radius:0}
.gh-field input:focus,.gh-field textarea:focus,.gh-field select:focus,
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row select:focus{border-bottom-color:var(--accent)}
.gh-field select,.woocommerce form .form-row select{appearance:none;cursor:pointer;padding-right:28px}
.gh-field input::placeholder,.woocommerce form .form-row input.input-text::placeholder{color:var(--text-muted)}
.gh-select-wrap{position:relative}
.gh-select-wrap::after{content:"\25BE";position:absolute;right:4px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--text-muted);font-size:11px}
.gh-radio{display:flex;align-items:flex-start;gap:14px;padding:18px 20px;border-radius:var(--radius-md);
  border:1px solid var(--border-subtle);background:var(--surface-card);cursor:pointer;transition:all var(--dur-fast) var(--ease-out)}
.gh-radio:hover{border-color:var(--border-strong)}
.gh-radio.is-active{border-color:var(--border-accent);background:rgba(1,169,168,.07)}
.gh-field-2{display:grid;grid-template-columns:1fr 1fr;gap:24px}

/* --- Cards --------------------------------------------------------------- */
.gh-card{border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:var(--surface-glass);
  backdrop-filter:var(--blur-glass);box-shadow:var(--shadow-md);
  transition:transform .7s var(--ease-out),border-color .7s var(--ease-out),box-shadow .7s var(--ease-out)}
.gh-card:hover{transform:translateY(-8px);border-color:var(--border-accent);box-shadow:var(--shadow-lg)}

/* .reveal.is-in sets transform:none and is declared later in this file, which
   would otherwise cancel these hover lifts. Re-assert them at equal weight. */
.gh-card.is-in:hover,.gh-line-card.is-in:hover{transform:translateY(-8px)}

/* Cart and checkout two-column shell */
.gh-cart-grid{display:grid;grid-template-columns:1.5fr .85fr;gap:clamp(28px,4vw,56px);align-items:start}
.gh-steps{list-style:none;margin:0 0 44px;padding:0;display:flex;gap:10px;flex-wrap:wrap}

/* --- Header / nav -------------------------------------------------------- */
.gh-header{position:fixed;top:0;left:0;right:0;z-index:80;display:flex;align-items:center;justify-content:space-between;
  gap:16px;padding:22px var(--gutter);background:transparent;
  transition:padding var(--dur-base) var(--ease-out),background var(--dur-base) var(--ease-out)}
.gh-header.is-solid{padding-top:14px;padding-bottom:14px;background:rgba(6,16,14,.78);backdrop-filter:var(--blur-glass);border-bottom:1px solid var(--border-subtle)}
.gh-header.is-open{background:transparent;backdrop-filter:none;border-bottom-color:transparent}
.gh-brand{display:flex;align-items:center;gap:11px;color:var(--text-primary);flex:none}
.gh-brand:hover{color:var(--text-primary)}
.gh-brand__word{font-family:var(--font-display);font-size:1.5rem;letter-spacing:.14em;font-weight:400}
.gh-mark{display:block}
.gh-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:34px}
.gh-nav a{font-family:var(--font-engrave);text-transform:uppercase;font-size:11px;letter-spacing:.2em;
  color:var(--text-secondary);white-space:nowrap;position:relative;transition:color .45s var(--ease-out)}
.gh-nav a::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:1px;background:var(--accent);
  transform:scaleX(0);transform-origin:left;transition:transform .55s var(--ease-out)}
.gh-nav a:hover{color:var(--text-primary)}
.gh-nav a:hover::after{transform:scaleX(1)}
.gh-nav .current-menu-item>a{color:var(--text-primary)}
.gh-header__actions{display:flex;align-items:center;gap:16px;flex:none}
.gh-currency{appearance:none;background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);
  color:var(--text-secondary);font-family:var(--font-engrave);text-transform:uppercase;font-size:10px;letter-spacing:.16em;
  padding:7px 14px;cursor:pointer;outline:none}
.gh-currency option{background:#0A0B0B;color:#FCFCFC}
.gh-bag{position:relative;display:flex;align-items:center;color:var(--text-primary);font-size:19px}
.gh-bag [data-lucide]{width:1em;height:1em;stroke-width:1.4}
.gh-bag__count{position:absolute;top:-6px;right:-8px;min-width:17px;height:17px;padding:0 4px;border-radius:999px;
  background:var(--accent);color:var(--ghost-black);font-family:var(--font-body);font-size:10px;font-weight:500;
  display:flex;align-items:center;justify-content:center;box-shadow:var(--glow-accent)}
.gh-burger{display:none;align-items:center;justify-content:center;width:44px;height:44px;margin:-8px -10px -8px 0;
  background:none;border:none;cursor:pointer;color:var(--text-primary);position:relative;z-index:2}
.gh-burger span{position:relative;display:block;width:22px;height:12px}
.gh-burger span i{position:absolute;left:0;right:0;height:1px;background:currentColor;transition:all .5s var(--ease-out)}
.gh-burger span i:first-child{top:0}
.gh-burger span i:last-child{bottom:0}
.gh-header.is-open .gh-burger span i:first-child{top:6px;transform:rotate(45deg)}
.gh-header.is-open .gh-burger span i:last-child{bottom:5px;transform:rotate(-45deg)}

.gh-drawer{position:fixed;inset:0;z-index:70;display:none;flex-direction:column;justify-content:flex-start;overflow-y:auto;
  padding:calc(var(--space-10) + 20px) var(--gutter) var(--space-8);background:rgba(4,13,11,.96);backdrop-filter:var(--blur-glass);
  opacity:0;visibility:hidden;transition:opacity .6s var(--ease-out),visibility 0s .6s}
.gh-drawer.is-open{opacity:1;visibility:visible;transition:opacity .6s var(--ease-out),visibility 0s 0s}
.gh-drawer__halo{position:absolute;inset:0;background:var(--grad-halo);opacity:.5;pointer-events:none}
.gh-drawer nav{position:relative;margin-top:auto}
.gh-drawer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.gh-drawer a{display:block;font-family:var(--font-display);font-size:clamp(2.1rem,8.5vw,3.1rem);font-weight:300;
  color:var(--text-primary);padding:13px 0;border-bottom:1px solid var(--border-subtle);
  opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}
.gh-drawer.is-open a{opacity:1;transform:none}
.gh-drawer.is-open li:nth-child(1) a{transition-delay:.12s}
.gh-drawer.is-open li:nth-child(2) a{transition-delay:.2s}
.gh-drawer.is-open li:nth-child(3) a{transition-delay:.28s}
.gh-drawer.is-open li:nth-child(4) a{transition-delay:.36s}
.gh-drawer.is-open li:nth-child(5) a{transition-delay:.44s}
.gh-drawer__foot{position:relative;margin-top:var(--space-7);margin-bottom:auto;display:flex;align-items:center;gap:18px;
  flex-wrap:wrap;opacity:0;transition:opacity .7s var(--ease-out) .46s}
.gh-drawer.is-open .gh-drawer__foot{opacity:1}
.gh-drawer__foot a{font-family:var(--font-engrave);font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--turquoise-300);border:none;padding:0;display:inline-flex;align-items:center;gap:10px;transform:none;opacity:1}

/* --- Motion -------------------------------------------------------------- */
.reveal{opacity:0;transform:translateY(34px);transition:opacity 1.1s var(--ease-out),transform 1.1s var(--ease-out)}
.reveal.is-in{opacity:1;transform:none}
.gh-mask{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.gh-mask>span{display:block;transform:translateY(108%);transition:transform 1.35s var(--ease-out)}
.is-in>.gh-mask>span,.gh-mask.is-in>span{transform:none}
.gh-word{display:inline-block;white-space:pre;opacity:0;transform:translateY(.35em);filter:blur(4px);
  transition:opacity .9s var(--ease-out),transform .9s var(--ease-out),filter .9s var(--ease-out)}
.is-in .gh-word{opacity:1;transform:none;filter:blur(0)}
.gh-dust{position:absolute;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(155,231,228,.85),rgba(1,169,168,0) 70%);animation:ghDrift linear infinite;will-change:transform,opacity}
@keyframes ghDrift{0%{transform:translateY(0);opacity:0}14%,86%{opacity:var(--o,.4)}100%{transform:translateY(-48vh);opacity:0}}
@keyframes ghFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@keyframes ghKenburns{from{transform:scale(1)}to{transform:scale(1.07)}}
@keyframes ghSheen{0%,55%{transform:translateX(-130%) skewX(-18deg)}90%,100%{transform:translateX(230%) skewX(-18deg)}}
@keyframes ghHalo{0%,100%{opacity:.65;transform:scale(1)}50%{opacity:1;transform:scale(1.06)}}
@keyframes ghRise{to{opacity:1;transform:none}}
.gh-float{animation:ghFloat 7s var(--ease-in-out) infinite}
.gh-kenburns{animation:ghKenburns 18s var(--ease-in-out) alternate infinite}
.gh-rise{opacity:0;transform:translateY(26px);animation:ghRise .9s var(--ease-out) forwards}
.gh-progress{position:fixed;top:0;left:0;height:1px;width:0;z-index:90;
  background:linear-gradient(90deg,var(--turquoise-600),var(--turquoise-300));box-shadow:0 0 8px rgba(1,169,168,.5)}

/* --- Loader -------------------------------------------------------------- */
.gh-loader{position:fixed;inset:0;z-index:100;background:var(--ink-950);display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:14px;transition:opacity 1.1s var(--ease-in-out) .15s,visibility 0s 1.3s}
.gh-loader.is-done{opacity:0;visibility:hidden;pointer-events:none}
.gh-loader img{height:54px;width:auto;animation:ghFade 1.1s var(--ease-out) .3s both}
.gh-loader__word{font-family:var(--font-display);font-weight:300;font-size:clamp(2.6rem,6vw,4.6rem);color:var(--ghost-white);
  letter-spacing:.5em;margin-left:.5em;animation:ghWord 1.7s var(--ease-out) both}
.gh-loader__by{font-family:var(--font-engrave);font-size:11px;letter-spacing:.52em;margin-left:.52em;text-transform:uppercase;
  color:var(--turquoise-300);animation:ghFade 1.1s var(--ease-out) .55s both}
.gh-loader__line{width:1px;height:44px;background:linear-gradient(var(--accent),transparent);animation:ghFade 1.1s var(--ease-out) .8s both}
@keyframes ghWord{from{opacity:0;letter-spacing:.9em;filter:blur(6px)}to{opacity:1;letter-spacing:.5em;filter:blur(0)}}
@keyframes ghFade{from{opacity:0;transform:translateY(10px)}to{opacity:.92;transform:none}}

/* --- Hero ---------------------------------------------------------------- */
.gh-hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;
  padding:clamp(120px,16vh,190px) var(--gutter) var(--section-y-tight)}
.gh-hero__bg{position:absolute;inset:0;background-size:cover;background-position:center 30%;opacity:.5}
.gh-hero__veil{position:absolute;inset:0;background:linear-gradient(90deg,#030303 0%,rgba(3,3,3,.82) 42%,rgba(3,3,3,.35) 100%)}
.gh-hero__glow{position:absolute;top:-18%;right:-6%;width:70vw;height:90vh;pointer-events:none;
  background:radial-gradient(50% 50% at 50% 50%,rgba(1,169,168,.22),rgba(1,169,168,0) 70%)}
.gh-hero__grid{position:relative;display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(24px,5vw,72px);align-items:center}
.gh-hero h1{font-size:var(--fs-hero);line-height:.92;margin:22px 0 0}
.gh-hero__specs{display:flex;gap:40px;margin-top:56px;flex-wrap:wrap}
.gh-hero__spec{border-left:1px solid var(--border-subtle);padding-left:16px}
.gh-hero__spec dt{font-family:var(--font-engrave);text-transform:uppercase;font-size:10px;letter-spacing:.2em;color:var(--text-muted)}
.gh-hero__spec dd{font-family:var(--font-display);font-size:1.5rem;margin:4px 0 0}
.gh-frame{position:relative;width:clamp(300px,36vw,520px);aspect-ratio:5/4;border-radius:var(--radius-lg);overflow:hidden;
  border:1px solid var(--border-subtle);box-shadow:var(--shadow-float),var(--glow-accent-soft)}
.gh-frame img{width:100%;height:100%;object-fit:cover;display:block}
.gh-frame__sheen{position:absolute;top:-10%;bottom:-10%;width:32%;left:0;pointer-events:none;
  background:linear-gradient(90deg,rgba(252,252,252,0),rgba(252,252,252,.10),rgba(252,252,252,0));
  animation:ghSheen 9s var(--ease-in-out) infinite}
.gh-tilt{perspective:1100px}
.gh-tilt__inner{transition:transform 1s var(--ease-out);transform-style:preserve-3d}
.gh-halo{position:absolute;inset:-20%;background:var(--grad-halo);filter:blur(8px);pointer-events:none}
.gh-scrollcue{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;
  align-items:center;gap:8px;color:var(--text-muted)}
.gh-scrollcue span:first-child{font-family:var(--font-engrave);text-transform:uppercase;font-size:9px;letter-spacing:.3em}
.gh-scrollcue span:last-child{width:1px;height:42px;background:linear-gradient(var(--accent),transparent)}

/* --- Landing sections ---------------------------------------------------- */
.gh-section--emerald{background:var(--grad-emerald)}
.gh-2col{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(30px,6vw,96px);align-items:center}
.gh-2col--flip{grid-template-columns:.85fr 1.15fr}
.gh-media{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border-subtle);box-shadow:var(--shadow-lg)}
.gh-media img{width:100%;height:100%;object-fit:cover;display:block}
.gh-benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:72px;background:var(--border-subtle);
  border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden}
.gh-benefit{background:var(--bg-base);padding:40px 34px;min-height:268px;display:flex;flex-direction:column;
  transition:background .7s var(--ease-out)}
.gh-benefit:hover{background:rgba(1,169,168,.035)}
.gh-benefit__icon{width:52px;height:52px;border-radius:50%;border:1px solid var(--border-accent);display:flex;
  align-items:center;justify-content:center;color:var(--accent-bright);font-size:22px;transition:all .7s var(--ease-out)}
.gh-benefit:hover .gh-benefit__icon{box-shadow:var(--glow-accent);background:rgba(1,169,168,.08);transform:translateY(-4px)}
.gh-benefit__icon [data-lucide]{width:1em;height:1em;stroke-width:1.4}
.gh-benefit h3{font-size:1.9rem;font-weight:400;margin:28px 0 12px}
.gh-benefit__rule{margin-top:auto;padding-top:18px;height:1px;width:0;background:var(--grad-hairline);transition:width .9s var(--ease-out)}
.gh-benefit:hover .gh-benefit__rule{width:100%}
.gh-spec-row{display:grid;grid-template-columns:130px 1fr;gap:24px;padding:26px 0;border-top:1px solid var(--border-subtle);
  position:relative;transition:padding-left .6s var(--ease-out)}
.gh-spec-row:hover{padding-left:16px}
.gh-spec-row::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:0;
  background:var(--accent);border-radius:2px;box-shadow:var(--glow-accent);transition:height .6s var(--ease-out)}
.gh-spec-row:hover::before{height:52%}
.gh-spec-row dt{font-family:var(--font-engrave);text-transform:uppercase;font-size:12px;letter-spacing:.22em;
  color:var(--text-accent);padding-top:4px;transition:color .5s var(--ease-out)}
.gh-spec-row:hover dt{color:var(--turquoise-300)}
.gh-spec-row dd{margin:0}
.gh-spec-row__name{font-family:var(--font-display);font-size:1.7rem;font-weight:400}
.gh-icon-mark{position:relative;width:clamp(180px,20vw,290px);height:auto;display:block;filter:drop-shadow(0 0 40px rgba(1,169,168,.45))}
.gh-banner{position:relative;border-radius:var(--radius-xl);overflow:hidden;border:1px solid var(--border-subtle);
  box-shadow:var(--shadow-lg);min-height:clamp(300px,42vh,480px);display:flex}
.gh-banner>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.gh-banner__veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,3,3,.88) 0%,rgba(3,3,3,.6) 44%,rgba(3,3,3,.12) 74%,rgba(3,3,3,0) 100%)}
.gh-banner__body{position:relative;display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,5vw,64px);max-width:620px}
.gh-prices{display:flex;gap:10px;margin-top:26px;flex-wrap:wrap}
.gh-price-chip{display:inline-flex;align-items:baseline;gap:3px;padding:9px 16px;border-radius:var(--radius-pill);
  border:1px solid var(--border-strong);background:var(--surface-glass);backdrop-filter:var(--blur-glass)}
.gh-price-chip small{font-family:var(--font-engrave);font-size:10px;letter-spacing:.1em;color:var(--text-muted)}
.gh-price-chip b{font-family:var(--font-display);font-size:1.25rem;font-weight:400}
.gh-pieces{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:64px;align-items:end}
.gh-piece{position:relative;text-align:center;padding:20px 18px 34px}
.gh-piece__halo{position:absolute;left:50%;top:18%;width:260px;height:260px;transform:translateX(-50%);
  background:var(--grad-halo);opacity:.45;pointer-events:none;transition:opacity .8s var(--ease-out)}
.gh-piece:hover .gh-piece__halo{opacity:1}
.gh-piece__img{position:relative;height:260px;display:flex;align-items:flex-end;justify-content:center}
.gh-piece__img img{max-height:100%;max-width:100%;width:auto;object-fit:contain;
  filter:drop-shadow(0 20px 30px rgba(0,0,0,.5));transition:transform .9s var(--ease-out)}
.gh-piece:hover .gh-piece__img img{transform:translateY(-10px) scale(1.04)}
.gh-piece__moment{font-family:var(--font-engrave);text-transform:uppercase;font-size:10px;letter-spacing:.28em;
  color:var(--text-accent);margin-top:28px;display:block;transition:color .5s var(--ease-out)}
.gh-piece:hover .gh-piece__moment{color:var(--turquoise-300)}
.gh-piece__name{font-family:var(--font-display);font-size:1.6rem;margin-top:10px;line-height:1.1}
.gh-quote{position:relative;min-height:90vh;display:flex;align-items:center;overflow:hidden}
.gh-quote>img{position:absolute;inset:-14% 0;width:100%;height:128%;object-fit:cover;object-position:center 22%}
.gh-quote__veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,3,3,.72) 0%,rgba(3,3,3,.28) 42%,rgba(3,3,3,.92) 100%)}
.gh-quote blockquote{font-family:var(--font-display);font-weight:300;font-size:clamp(2rem,5.2vw,4.6rem);line-height:1.08;
  margin:28px auto 0;max-width:17ch;letter-spacing:-.01em}
.gh-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:30px;margin-top:64px}
.gh-stat b{font-family:var(--font-display);font-size:clamp(2.2rem,3.6vw,3.2rem);font-weight:300;line-height:1;display:block;
  background:var(--grad-text-accent);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.gh-stat span{font-family:var(--font-engrave);text-transform:uppercase;font-size:10px;letter-spacing:.22em;color:var(--text-muted);margin-top:12px;display:block}
.gh-lines{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:var(--section-y-tight)}
.gh-line-card{margin:0;height:100%;padding:38px 34px;border-radius:var(--radius-lg);border:1px solid var(--border-subtle);
  background:var(--surface-glass);backdrop-filter:var(--blur-glass);display:flex;flex-direction:column;gap:22px;
  transition:all .7s var(--ease-out)}
.gh-line-card:hover{transform:translateY(-8px);border-color:var(--border-accent);box-shadow:var(--shadow-lg)}
.gh-line-card img{width:26px;opacity:.4;transition:opacity .6s var(--ease-out)}
.gh-line-card:hover img{opacity:.9}
.gh-line-card blockquote{margin:0;font-family:var(--font-display);font-size:1.6rem;line-height:1.3;font-weight:400;font-style:italic}
.gh-faq{border-top:1px solid var(--border-subtle)}
.gh-faq__q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;background:none;border:none;
  cursor:pointer;padding:28px 0;text-align:left;color:var(--text-primary)}
.gh-faq__q span:first-child{font-family:var(--font-display);font-size:1.6rem;font-weight:400;transition:color .45s var(--ease-out),transform .45s var(--ease-out)}
.gh-faq__q:hover span:first-child{color:var(--turquoise-300);transform:translateX(6px)}
.gh-faq__plus{flex:none;width:34px;height:34px;border-radius:50%;border:1px solid var(--border-strong);display:flex;
  align-items:center;justify-content:center;color:var(--accent-bright);transition:transform var(--dur-base) var(--ease-out)}
.gh-faq__plus [data-lucide]{width:16px;height:16px;stroke-width:1.4}
.gh-faq.is-open .gh-faq__plus{transform:rotate(45deg)}
.gh-faq__a{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--dur-base) var(--ease-out)}
.gh-faq.is-open .gh-faq__a{grid-template-rows:1fr}
.gh-faq__a>div{overflow:hidden}
.gh-faq__a p{padding-bottom:30px;max-width:56ch}
.gh-cta{position:relative;text-align:center;overflow:hidden}
.gh-cta__glow{position:absolute;top:10%;left:50%;width:100vw;height:80vh;transform:translateX(-50%);pointer-events:none;
  background:radial-gradient(50% 50% at 50% 50%,rgba(1,169,168,.18),rgba(1,169,168,0) 70%);animation:ghHalo 7s var(--ease-in-out) infinite}
.gh-newsletter{margin:80px auto 0;max-width:540px;padding:38px 34px;border-radius:var(--radius-lg);
  border:1px solid var(--border-subtle);background:var(--surface-glass);backdrop-filter:var(--blur-glass)}
.gh-newsletter form{display:flex;gap:16px;align-items:flex-end;margin-top:24px;text-align:left}

/* --- Footer -------------------------------------------------------------- */
.gh-footer{border-top:1px solid var(--border-subtle);padding:var(--section-y-tight) var(--gutter) 40px;background:var(--emerald-950);margin-top:var(--section-y)}
.gh-footer__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:clamp(30px,5vw,64px)}
.gh-footer__brand{display:flex;align-items:center;gap:14px}
.gh-footer__brand .gh-brand__word{font-size:2.4rem;line-height:1;letter-spacing:.1em}
.gh-footer ul{list-style:none;padding:0;margin:20px 0 0;display:flex;flex-direction:column;gap:12px}
.gh-footer ul a{color:var(--text-secondary);font-size:var(--fs-small)}
.gh-footer ul a:hover{color:var(--turquoise-300)}
.gh-socials{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap}
.gh-socials a{width:40px;height:40px;border-radius:50%;border:1px solid var(--border-subtle);display:flex;
  align-items:center;justify-content:center;color:var(--text-secondary);font-size:17px}
.gh-socials a:hover{border-color:var(--border-accent);color:var(--turquoise-300)}
.gh-socials [data-lucide]{width:1em;height:1em;stroke-width:1.4}
.gh-footer__legal{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;
  color:var(--text-muted);font-size:13px}
.gh-footer__legal a{color:var(--text-muted)}

/* --- Breadcrumbs / misc -------------------------------------------------- */
.gh-crumbs,.woocommerce-breadcrumb{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-family:var(--font-engrave);
  text-transform:uppercase;font-size:10px;letter-spacing:.2em;color:var(--text-muted);margin:0}
.gh-crumbs a,.woocommerce-breadcrumb a{color:var(--text-muted)}
.gh-crumbs a:hover,.woocommerce-breadcrumb a:hover{color:var(--turquoise-300)}
.gh-qty{display:inline-flex;align-items:center;gap:14px}
.gh-qty button{width:34px;height:34px;border-radius:50%;border:1px solid var(--border-strong);background:transparent;
  color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:15px;
  transition:all var(--dur-fast) var(--ease-out)}
.gh-qty button:hover{border-color:var(--accent);color:var(--turquoise-300)}
.gh-qty input{width:44px;text-align:center;background:transparent;border:none;color:var(--text-primary);
  font-family:var(--font-display);font-size:1.3rem;-moz-appearance:textfield}
.gh-qty input::-webkit-outer-spin-button,.gh-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.gh-note{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-engrave);text-transform:uppercase;
  font-size:9px;letter-spacing:.18em;color:var(--text-muted);border:1px solid var(--border-subtle);border-radius:999px;padding:4px 10px}
.gh-note::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--turquoise-400)}
.gh-trust{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1px;background:var(--border-subtle);
  border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden;margin-top:var(--section-y)}
.gh-trust>div{background:var(--bg-base);padding:32px 28px;display:flex;flex-direction:column;gap:14px}
.gh-trust__icon{width:44px;height:44px;border-radius:50%;border:1px solid var(--border-accent);display:flex;
  align-items:center;justify-content:center;color:var(--accent-bright);font-size:19px}
.gh-trust__icon [data-lucide]{width:1em;height:1em;stroke-width:1.4}
.gh-trust b{font-family:var(--font-display);font-size:1.5rem;font-weight:400}

/* --- Responsive ---------------------------------------------------------- */
@media(max-width:1080px){.gh-benefits{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){
  .gh-hero__grid,.gh-2col,.gh-2col--flip,.gh-cart-grid{grid-template-columns:1fr}
  .gh-nav,.gh-header .gh-currency{display:none!important}
  .gh-burger{display:flex}
  .gh-drawer{display:flex}
  .gh-lines{grid-template-columns:1fr}
}
@media(max-width:760px){
  .gh-footer__grid{grid-template-columns:1fr 1fr}
  .gh-pieces{grid-template-columns:1fr}
}
@media(max-width:620px){.gh-field-2{grid-template-columns:1fr}}
@media(max-width:600px){.gh-benefits{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){
  .reveal,.gh-mask>span,.gh-word{transition:none!important;opacity:1!important;transform:none!important;filter:none!important}
  .gh-loader,.gh-dust{display:none}
  .gh-float,.gh-kenburns,.gh-rise,.gh-frame__sheen,.gh-cta__glow{animation:none}
}


/* ==========================================================================
   WooCommerce
   Woo prints a lot of its own markup. This styles what our templates do not
   own outright, so nothing ever renders as unstyled default Woo.
   ========================================================================== */

.woocommerce ul.products{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.woocommerce ul.products li.product{margin:0;width:auto;float:none}
@media(max-width:900px){.woocommerce ul.products{grid-template-columns:1fr}}

/* Product gallery thumbs */
.gh-gallery-thumb.is-active{border-color:var(--accent)!important}
.gh-gallery-thumb.is-active img{opacity:1!important}
.gh-gallery-thumb:hover img{opacity:.85}

/* Prices */
.woocommerce .price,.woocommerce-Price-amount{font-family:var(--font-display);color:var(--text-primary)}
.woocommerce .price del{color:var(--text-muted);opacity:.7;margin-right:8px}
.woocommerce .price ins{text-decoration:none;color:var(--text-primary)}
.woocommerce-Price-currencySymbol{font-size:.75em;vertical-align:.1em}

/* Add-to-cart form */
.woocommerce div.product form.cart{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin:0}
.woocommerce div.product form.cart .button,
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce #respond input#submit,.woocommerce a.button.alt,.woocommerce button.button.alt{
  position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--font-engrave);text-transform:uppercase;font-weight:500;font-size:13px;letter-spacing:.24em;
  padding:19px 42px;border-radius:var(--radius-pill);border:1px solid transparent;cursor:pointer;
  background:var(--ghost-turquoise);color:var(--ghost-black);transition:all var(--dur-fast) var(--ease-out);
  line-height:1;text-decoration:none}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,
.woocommerce div.product form.cart .button:hover{background:var(--turquoise-400);color:var(--ghost-black);box-shadow:var(--glow-accent)}
.woocommerce a.button:active,.woocommerce button.button:active{transform:scale(.975)}
.woocommerce button.button:disabled,.woocommerce button.button.disabled{opacity:.4;cursor:not-allowed}
.woocommerce .added_to_cart{display:none}

/* Variations */
.woocommerce div.product form.cart .variations{width:100%;border:none;margin-bottom:18px}
.woocommerce div.product form.cart .variations td{padding:10px 0;border:none}
.woocommerce div.product form.cart .variations label{font-family:var(--font-engrave);text-transform:uppercase;
  font-size:var(--fs-eyebrow);letter-spacing:var(--track-engrave);color:var(--text-secondary)}
.woocommerce div.product form.cart .reset_variations{color:var(--text-muted);font-size:12px}

/* Checkout / account forms */
.woocommerce form .form-row{display:flex;flex-direction:column;gap:10px;margin:0 0 24px;padding:0}
.woocommerce form .form-row label{font-family:var(--font-engrave);text-transform:uppercase;font-size:var(--fs-eyebrow);
  letter-spacing:var(--track-engrave);color:var(--text-secondary)}
.woocommerce form .form-row label.checkbox{flex-direction:row;display:flex;align-items:center;gap:12px;text-transform:none;
  font-family:var(--font-body);letter-spacing:0;font-size:var(--fs-small);color:var(--text-secondary)}
.woocommerce form .form-row .required{color:var(--accent-bright);text-decoration:none}
.woocommerce form .form-row-first,.woocommerce form .form-row-last{width:100%}
.woocommerce .col2-set{display:block;width:100%}
.woocommerce .col2-set .col-1,.woocommerce .col2-set .col-2{width:100%;float:none;padding:0}
.woocommerce-billing-fields h3,.woocommerce-shipping-fields h3,.woocommerce-additional-fields h3,
#order_review_heading{font-family:var(--font-display);font-weight:300;font-size:clamp(1.6rem,2.4vw,2.1rem);margin:0 0 26px}
.select2-container--default .select2-selection--single{background:transparent;border:none;
  border-bottom:1px solid var(--border-strong);border-radius:0;height:auto;padding:14px 0}
.select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--text-primary);
  font-family:var(--font-body);font-weight:300;line-height:1.2;padding:0}
.select2-container--default .select2-selection--single .select2-selection__arrow{top:50%;transform:translateY(-50%);right:2px}
.select2-dropdown{background:#0A0B0B;border:1px solid var(--border-subtle);color:var(--text-primary)}
.select2-container--default .select2-results__option--highlighted[aria-selected]{background:var(--emerald-700);color:var(--ghost-white)}
.select2-search--dropdown .select2-search__field{background:transparent;border:1px solid var(--border-subtle);color:var(--text-primary)}

/* Order review table */
.woocommerce-checkout-review-order-table{width:100%;border-collapse:collapse;font-size:var(--fs-small)}
.woocommerce-checkout-review-order-table th,.woocommerce-checkout-review-order-table td{
  padding:12px 0;border:none;border-bottom:1px solid var(--border-subtle);text-align:left;font-weight:300;color:var(--text-secondary)}
.woocommerce-checkout-review-order-table td:last-child,.woocommerce-checkout-review-order-table th:last-child{text-align:right}
.woocommerce-checkout-review-order-table thead th{font-family:var(--font-engrave);text-transform:uppercase;
  font-size:10px;letter-spacing:.2em;color:var(--text-muted)}
.woocommerce-checkout-review-order-table .product-name{color:var(--text-primary);font-family:var(--font-display);font-size:1.1rem}
.woocommerce-checkout-review-order-table .order-total th,.woocommerce-checkout-review-order-table .order-total td{
  border-bottom:none;padding-top:20px}
.woocommerce-checkout-review-order-table .order-total .woocommerce-Price-amount{font-size:1.7rem}

/* Payment box */
#payment,.woocommerce-checkout #payment{background:transparent;border-radius:0;margin-top:22px}
#payment ul.payment_methods{list-style:none;margin:0;padding:0;border:none;display:flex;flex-direction:column;gap:12px}
#payment ul.payment_methods li{padding:16px 18px;border-radius:var(--radius-md);border:1px solid var(--border-subtle);
  background:var(--surface-card);transition:all var(--dur-fast) var(--ease-out)}
#payment ul.payment_methods li:hover{border-color:var(--border-strong)}
#payment ul.payment_methods li label{font-family:var(--font-engrave);text-transform:uppercase;font-size:11px;
  letter-spacing:.16em;color:var(--text-primary);cursor:pointer;display:inline-flex;align-items:center;gap:10px}
#payment div.payment_box{background:transparent;color:var(--text-muted);font-size:var(--fs-small);padding:14px 0 0;margin:10px 0 0}
#payment div.payment_box::before{display:none}
#payment .place-order{padding:22px 0 0;margin:0}
#payment #place_order{width:100%}
.woocommerce-privacy-policy-text{font-size:12px;color:var(--text-muted);margin-bottom:16px}
.woocommerce-terms-and-conditions-wrapper{margin-bottom:16px;font-size:12px;color:var(--text-muted)}

/* Shipping methods in cart/checkout */
#shipping_method{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
#shipping_method li{padding:0}
#shipping_method label{font-size:var(--fs-small);color:var(--text-secondary);cursor:pointer;display:inline-flex;gap:10px;align-items:center}
.woocommerce-shipping-totals th{font-family:var(--font-engrave);text-transform:uppercase;font-size:10px;
  letter-spacing:.2em;color:var(--text-muted);text-align:left;font-weight:400;padding-bottom:10px}
.woocommerce-shipping-destination{font-size:12px;color:var(--text-muted);margin-top:10px}
.woocommerce table.shop_table{border:none;border-collapse:collapse;width:100%}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{border:none;padding:8px 0}

/* Order details on thank-you / account */
.woocommerce table.shop_table.order_details,.woocommerce table.woocommerce-table--order-details{font-size:var(--fs-small)}
.woocommerce table.order_details th,.woocommerce table.order_details td{
  border-bottom:1px solid var(--border-subtle);padding:12px 0;text-align:left;color:var(--text-secondary);font-weight:300}
.woocommerce table.order_details td:last-child,.woocommerce table.order_details th:last-child{text-align:right}
.woocommerce table.order_details thead th{font-family:var(--font-engrave);text-transform:uppercase;font-size:10px;letter-spacing:.2em;color:var(--text-muted)}
.woocommerce ul.order_details{list-style:none;padding:0;margin:0 0 30px;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:22px}
.woocommerce ul.order_details li{font-family:var(--font-display);font-size:1.2rem;color:var(--text-primary);border:none;padding:0;margin:0}
.woocommerce ul.order_details li strong{display:block;font-family:var(--font-display);font-weight:400}
.woocommerce-customer-details address{font-style:normal;border:1px solid var(--border-subtle);border-radius:var(--radius-md);
  padding:20px;color:var(--text-secondary);font-size:var(--fs-small)}

/* Notices */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews,p.no-comments{
  background:var(--surface-glass);backdrop-filter:var(--blur-glass);border:1px solid var(--border-subtle);
  border-top:1px solid var(--border-accent);border-radius:var(--radius-md);color:var(--text-secondary);
  padding:18px 22px;margin:0 0 28px;list-style:none;display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:var(--fs-small)}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{display:none}
.woocommerce-error{border-top-color:#C0554F}
.woocommerce-message a.button,.woocommerce-info a.button{margin-left:auto;padding:11px 22px;font-size:11px}
.woocommerce form .form-row.woocommerce-invalid input.input-text{border-bottom-color:#C0554F}

/* Related products */
.related.products,.up-sells{margin-top:var(--section-y)}
.related.products>h2,.up-sells>h2,.cross-sells>h2{font-family:var(--font-display);font-weight:300;
  font-size:var(--fs-h2);margin:0 0 40px}

/* Pagination */
.woocommerce nav.woocommerce-pagination ul{border:none;display:flex;gap:8px;justify-content:center}
.woocommerce nav.woocommerce-pagination ul li{border:none}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{
  border:1px solid var(--border-subtle);border-radius:999px;min-width:40px;height:40px;display:flex;
  align-items:center;justify-content:center;color:var(--text-secondary);font-size:var(--fs-small);padding:0 12px}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--accent);color:var(--ghost-black);border-color:var(--accent)}

/* Account */
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;padding:0;margin:0 0 30px;
  display:flex;gap:22px;flex-wrap:wrap;border-bottom:1px solid var(--border-subtle);padding-bottom:18px}
.woocommerce-account .woocommerce-MyAccount-navigation a{font-family:var(--font-engrave);text-transform:uppercase;
  font-size:11px;letter-spacing:.18em;color:var(--text-secondary)}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{color:var(--turquoise-300)}
