/*
Theme Name: Ghanatong Maison
Theme URI: https://ghanatong.com/
Author: Ghanatong
Description: A bespoke luxury commerce theme for timepieces and rare fragrance. Built for WooCommerce.
Version: 1.0.0
Requires at least: 6.4
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: ghanatong
Tags: e-commerce, luxury, woocommerce
*/

/* =========================================================
   1. Tokens & reset
   ========================================================= */
:root{
  --ink:#0a0a0b;
  --ink-2:#121214;
  --ink-3:#1b1b1f;
  --paper:#f7f3ec;
  --paper-2:#efe8db;
  --paper-3:#e6ddcd;
  --gold:#b08b4a;
  --gold-2:#d3b483;
  --muted:#8b8579;
  --muted-2:#a9a294;
  --line:rgba(10,10,11,.14);
  --line-light:rgba(247,243,236,.16);
  --serif:"Cormorant Garamond","Times New Roman",Times,serif;
  --sans:"Jost","Helvetica Neue",Helvetica,Arial,sans-serif;
  --ease:cubic-bezier(.22,.61,.36,1);
  --wrap:min(1440px, calc(100% - 5rem));
}
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--sans);font-weight:300;font-size:16px;line-height:1.75;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;transition:color .35s var(--ease),opacity .35s var(--ease);}
a:hover{color:var(--gold);}
h1,h2,h3,h4,h5{font-family:var(--serif);font-weight:300;line-height:1.08;margin:0 0 .6em;letter-spacing:-.005em;}
p{margin:0 0 1.2em;}
ul,ol{margin:0 0 1.2em;padding-left:1.2em;}
button{font-family:inherit;}
::selection{background:var(--gold);color:#fff;}
:focus-visible{outline:1px solid var(--gold);outline-offset:4px;}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important;}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--ink);color:var(--paper);padding:1rem 1.5rem;z-index:9999;}
.skip-link:focus{left:1rem;top:1rem;}

/* =========================================================
   2. Layout helpers
   ========================================================= */
.wrap{width:var(--wrap);margin-inline:auto;}
.sec{padding:clamp(4.5rem,8vw,8.5rem) 0;}
.sec--tight{padding:clamp(3rem,5vw,5rem) 0;}
.sec--dark{background:var(--ink);color:var(--paper);}
.sec--paper2{background:var(--paper-2);}
.eyebrow{
  display:inline-flex;align-items:center;gap:.8rem;
  font-family:var(--sans);font-size:.63rem;font-weight:400;
  letter-spacing:.42em;text-transform:uppercase;color:var(--gold);
  margin:0 0 1.6rem;
}
.eyebrow::before{content:"";width:28px;height:1px;background:currentColor;opacity:.7;}
.eyebrow--center{justify-content:center;}
.eyebrow--center::after{content:"";width:28px;height:1px;background:currentColor;opacity:.7;}
.display{font-size:clamp(2.4rem,4.2vw,4rem);line-height:1.02;}
.lede{font-size:clamp(1rem,1.15vw,1.12rem);color:#4a463f;max-width:56ch;}
.sec--dark .lede{color:rgba(247,243,236,.66);}
.rule{height:1px;background:var(--line);border:0;margin:0;}

/* buttons */
.btn{
  --btn-bg:transparent;--btn-fg:var(--ink);--btn-bd:var(--ink);
  position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.85rem;
  padding:1.05rem 2.2rem;border:1px solid var(--btn-bd);background:var(--btn-bg);color:var(--btn-fg);
  font-family:var(--sans);font-size:.66rem;font-weight:400;letter-spacing:.26em;text-transform:uppercase;
  cursor:pointer;overflow:hidden;transition:color .45s var(--ease),border-color .45s var(--ease);z-index:0;
}
.btn::after{content:"";position:absolute;inset:0;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .55s var(--ease);z-index:-1;}
.btn:hover{color:var(--ink);border-color:var(--gold);}
.btn:hover::after{transform:scaleX(1);transform-origin:left;}
.btn--dark{--btn-bg:var(--ink);--btn-fg:var(--paper);--btn-bd:var(--ink);}
.btn--light{--btn-bg:var(--paper);--btn-fg:var(--ink);--btn-bd:var(--paper);}
.btn--ghost-light{--btn-bg:transparent;--btn-fg:var(--paper);--btn-bd:rgba(247,243,236,.4);}
.btn--ghost-light:hover{color:var(--ink);}
.btn--block{width:100%;}
.link-arrow{
  display:inline-flex;align-items:center;gap:.7rem;font-size:.66rem;letter-spacing:.26em;
  text-transform:uppercase;color:var(--ink);position:relative;padding-bottom:.5rem;
}
.link-arrow::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;background:currentColor;transform-origin:right;transform:scaleX(1);transition:transform .5s var(--ease);}
.link-arrow:hover::after{transform:scaleX(.35);transform-origin:left;}
.link-arrow svg{width:14px;height:14px;transition:transform .5s var(--ease);}
.link-arrow:hover svg{transform:translateX(6px);}
.sec--dark .link-arrow{color:var(--paper);}

/* =========================================================
   3. Header
   ========================================================= */
.gt-topbar{
  background:var(--ink);color:rgba(247,243,236,.74);
  font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;text-align:center;
  padding:.72rem 1rem;position:relative;z-index:60;
}
.gt-topbar span{display:inline-block;padding:0 .4rem;}
.gt-topbar .dot{color:var(--gold);}
.gt-header{
  position:sticky;top:0;z-index:50;background:var(--paper);
  border-bottom:1px solid transparent;transition:background .45s var(--ease),border-color .45s var(--ease),box-shadow .45s var(--ease);
}
.gt-header__inner{
  width:var(--wrap);margin-inline:auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  min-height:92px;transition:min-height .45s var(--ease);
}
.gt-header.is-stuck{background:rgba(247,243,236,.96);backdrop-filter:blur(12px);border-color:var(--line);box-shadow:0 10px 40px -25px rgba(10,10,11,.55);}
.gt-header.is-stuck .gt-header__inner{min-height:74px;}
.gt-header .gt-menu > li > a{position:relative;}
.gt-header .gt-menu > li > a::after{
  content:"";position:absolute;left:0;bottom:-6px;width:100%;height:1px;background:var(--gold);
  transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease);
}
.gt-header .gt-menu > li > a:hover::after,
.gt-header .gt-menu > li.current-menu-item > a::after{transform:scaleX(1);transform-origin:left;}

/* over hero (homepage, top) */
.gt-header--over{background:transparent;border-color:transparent;position:fixed;left:0;right:0;top:0;}
body.admin-bar .gt-header--over{top:32px;}
.gt-header--over .gt-logo,.gt-header--over .gt-menu a,.gt-header--over .gt-actions a,.gt-header--over .gt-actions button{color:var(--paper);}
.gt-header--over .gt-logo small{color:rgba(247,243,236,.6);}
.gt-header--over .gt-burger span{background:var(--paper);}
.gt-header--over .gt-cart-count{background:var(--gold);color:var(--ink);}

.gt-logo{display:flex;flex-direction:column;align-items:center;line-height:1;text-align:center;justify-self:center;grid-column:2;}
.gt-logo__mark{font-family:var(--serif);font-weight:400;font-size:1.72rem;letter-spacing:.38em;text-indent:.38em;color:inherit;}
.gt-logo small{display:block;margin-top:.55rem;font-family:var(--sans);font-size:.5rem;letter-spacing:.52em;text-transform:uppercase;color:var(--muted);}

.gt-nav{grid-column:1;grid-row:1;}
.gt-menu{display:flex;flex-wrap:nowrap;list-style:none;margin:0;padding:0;gap:2.1rem;}
.gt-menu a{font-size:.66rem;letter-spacing:.26em;text-transform:uppercase;color:inherit;font-weight:400;white-space:nowrap;}
.gt-menu .menu-item-has-children{position:relative;}
.gt-menu .sub-menu{
  position:absolute;left:-1.2rem;top:calc(100% + 1.1rem);min-width:210px;background:var(--paper);
  border:1px solid var(--line);list-style:none;margin:0;padding:.9rem 0;display:block;
  opacity:0;visibility:hidden;transform:translateY(8px);transition:all .4s var(--ease);z-index:20;
  box-shadow:0 30px 60px -40px rgba(10,10,11,.7);
}
.gt-menu li:hover > .sub-menu{opacity:1;visibility:visible;transform:translateY(0);}
.gt-menu .sub-menu a{color:var(--ink);display:block;padding:.55rem 1.4rem;font-size:.62rem;}
.gt-menu .sub-menu a:hover{color:var(--gold);background:var(--paper-2);}
.gt-actions{grid-column:3;display:flex;align-items:center;justify-content:flex-end;gap:1.35rem;}
.gt-actions a,.gt-actions button{background:none;border:0;padding:0;color:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;}
.gt-actions svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.2;}
.gt-actions .gt-cart{position:relative;}
.gt-cart-count{
  position:absolute;top:-8px;right:-11px;min-width:17px;height:17px;border-radius:50%;
  background:var(--gold);color:#fff;font-size:.55rem;letter-spacing:0;display:grid;place-items:center;padding:0 3px;
}
.gt-actions .gt-burger{display:none;flex-direction:column;gap:5px;width:26px;}
.gt-burger span{display:block;height:1px;width:100%;background:var(--ink);transition:transform .4s var(--ease),opacity .3s;}

/* mobile drawer */
.gt-drawer{
  position:fixed;inset:0;z-index:80;background:var(--ink);color:var(--paper);
  transform:translateX(-100%);transition:transform .6s var(--ease);display:flex;flex-direction:column;
  padding:2rem 1.6rem;overflow-y:auto;
}
.gt-drawer.is-open{transform:translateX(0);}
.gt-drawer__head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line-light);padding-bottom:1.4rem;}
.gt-drawer .gt-menu{flex-direction:column;gap:0;margin-top:2rem;}
.gt-drawer .gt-menu a{display:block;padding:1rem 0;border-bottom:1px solid rgba(247,243,236,.09);font-size:.86rem;letter-spacing:.2em;}
.gt-drawer .sub-menu{position:static;opacity:1;visibility:visible;transform:none;background:none;border:0;box-shadow:none;padding:0 0 0 1rem;}
.gt-drawer .sub-menu a{color:rgba(247,243,236,.6);font-size:.72rem;border:0;padding:.4rem 0;}
.gt-drawer__foot{margin-top:auto;padding-top:2rem;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(247,243,236,.5);}

/* search overlay */
.gt-search{
  position:fixed;inset:0;z-index:90;background:rgba(10,10,11,.97);color:var(--paper);
  display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .45s var(--ease),visibility .45s;
}
.gt-search.is-open{opacity:1;visibility:visible;}
.gt-search form{width:min(720px,88vw);}
.gt-search label{display:block;font-size:.62rem;letter-spacing:.4em;text-transform:uppercase;color:var(--gold-2);margin-bottom:1.4rem;text-align:center;}
.gt-search input[type=search]{
  width:100%;background:transparent;border:0;border-bottom:1px solid rgba(247,243,236,.3);
  color:var(--paper);font-family:var(--serif);font-size:clamp(1.6rem,3vw,2.6rem);padding:.6rem 0;text-align:center;
}
.gt-search input[type=search]::placeholder{color:rgba(247,243,236,.3);}
.gt-search input[type=search]:focus{outline:0;border-color:var(--gold);}
.gt-search__close{position:absolute;top:2rem;right:2rem;background:none;border:0;color:var(--paper);cursor:pointer;font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;}

/* =========================================================
   4. Hero
   ========================================================= */
.hero{position:relative;min-height:100svh;display:grid;align-items:center;color:var(--paper);overflow:hidden;background:var(--ink);}
.hero__bg{position:absolute;inset:0;background-position:center 42%;background-size:cover;transform:scale(1.06);animation:heroZoom 18s var(--ease) forwards;}
@keyframes heroZoom{to{transform:scale(1);}}
.hero__veil{position:absolute;inset:0;background:
  linear-gradient(180deg,rgba(6,6,7,.72) 0%,rgba(6,6,7,.32) 38%,rgba(6,6,7,.55) 72%,rgba(6,6,7,.92) 100%);}
.hero__inner{position:relative;z-index:2;width:var(--wrap);margin-inline:auto;padding-top:10vh;text-align:center;}
.hero h1{font-size:clamp(2.9rem,6.4vw,6.4rem);line-height:.98;letter-spacing:-.015em;margin-bottom:1.6rem;}
.hero h1 em{font-style:italic;color:var(--gold-2);}
.hero__sub{font-size:clamp(.92rem,1.05vw,1.06rem);color:rgba(247,243,236,.72);max-width:52ch;margin:0 auto 2.6rem;line-height:1.9;}
.hero__cta{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}
.hero__meta{
  position:absolute;left:0;right:0;bottom:2.2rem;z-index:2;width:var(--wrap);margin-inline:auto;
  display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;
  font-size:.6rem;letter-spacing:.32em;text-transform:uppercase;color:rgba(247,243,236,.55);
}
.hero__scroll{display:flex;align-items:center;gap:.7rem;}
.hero__scroll::after{content:"";width:1px;height:44px;background:linear-gradient(180deg,rgba(247,243,236,.6),transparent);animation:pulseLine 2.4s infinite;}
@keyframes pulseLine{0%,100%{opacity:.3;}50%{opacity:1;}}

/* =========================================================
   5. Marquee
   ========================================================= */
.marquee{background:var(--ink);color:rgba(247,243,236,.55);padding:1.5rem 0;overflow:hidden;border-top:1px solid rgba(247,243,236,.07);}
.marquee__track{display:flex;width:max-content;animation:marquee 46s linear infinite;}
.marquee:hover .marquee__track{animation-play-state:paused;}
.marquee__group{display:flex;align-items:center;gap:3.4rem;padding-right:3.4rem;}
.marquee__group span{font-family:var(--serif);font-style:italic;font-size:1.22rem;letter-spacing:.24em;text-transform:uppercase;white-space:nowrap;}
.marquee__group i{width:4px;height:4px;background:var(--gold);border-radius:50%;display:inline-block;}
@keyframes marquee{to{transform:translateX(-50%);}}

/* =========================================================
   6. Section header
   ========================================================= */
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:clamp(2.2rem,3.6vw,3.6rem);}
.sec-head h2{margin:0;font-size:clamp(2rem,3.4vw,3.2rem);}
.sec-head .eyebrow{margin-bottom:1.1rem;}
.sec-head--center{flex-direction:column;align-items:center;text-align:center;}
.sec-head p{margin:1rem 0 0;color:#57524a;max-width:48ch;}
.sec--dark .sec-head p{color:rgba(247,243,236,.6);}

/* =========================================================
   7. Collections
   ========================================================= */
.collections{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem;}
.coll{position:relative;overflow:hidden;background:var(--ink);color:var(--paper);min-height:clamp(420px,52vw,660px);display:flex;align-items:flex-end;}
.coll img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease),opacity .8s;}
.coll::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,6,7,.05) 30%,rgba(6,6,7,.82));}
.coll:hover img{transform:scale(1.045);}
.coll__body{position:relative;z-index:2;padding:clamp(1.8rem,3vw,3rem);width:100%;}
.coll__no{font-size:.6rem;letter-spacing:.4em;color:var(--gold-2);display:block;margin-bottom:.9rem;}
.coll h3{font-size:clamp(1.9rem,2.6vw,2.7rem);margin-bottom:.35rem;}
.coll p{color:rgba(247,243,236,.7);font-size:.9rem;margin-bottom:1.4rem;max-width:38ch;}
.coll .link-arrow{color:var(--paper);}

/* =========================================================
   8. Product cards & grids
   ========================================================= */
.gt-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1.4rem,2.2vw,2.4rem) clamp(1rem,1.6vw,1.7rem);}
.gt-grid--3{grid-template-columns:repeat(3,1fr);}
.gt-grid--2{grid-template-columns:repeat(2,1fr);}
.gt-card{position:relative;}
.gt-card__media{position:relative;overflow:hidden;background:var(--paper-3);aspect-ratio:4/5;}
.gt-card__media img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease);}
.gt-card:hover .gt-card__media img{transform:scale(1.05);}
.gt-card__badge{
  position:absolute;top:1rem;left:1rem;z-index:3;background:rgba(10,10,11,.86);color:var(--paper);
  font-size:.55rem;letter-spacing:.24em;text-transform:uppercase;padding:.45rem .75rem;
}
.gt-card__add{
  position:absolute;left:0;right:0;bottom:0;z-index:3;background:rgba(10,10,11,.92);color:var(--paper);
  text-align:center;padding:.95rem;font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;
  transform:translateY(101%);transition:transform .5s var(--ease),background .35s;
}
.gt-card:hover .gt-card__add,.gt-card__add.added{transform:translateY(0);}
.gt-card__add:hover{background:var(--gold);color:var(--ink);}
.gt-card__add.loading{opacity:.75;}
.gt-card__body{padding-top:1.15rem;}
.gt-card__brand{display:block;font-size:.57rem;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);margin-bottom:.45rem;}
.gt-card__title{font-family:var(--serif);font-size:1.18rem;line-height:1.3;margin:0 0 .45rem;}
.gt-card__title a{color:var(--ink);}
.gt-card__title a:hover{color:var(--gold);}
.gt-card__price{font-size:.82rem;letter-spacing:.08em;color:#4c4842;}
.gt-card__price del{color:var(--muted-2);margin-right:.4rem;}
.gt-card__price ins{text-decoration:none;color:var(--ink);}

/* shop toolbar */
.shop-head{background:var(--paper-2);padding:clamp(3.4rem,6vw,6rem) 0 clamp(2.6rem,4vw,4rem);text-align:center;}
.shop-head h1{font-size:clamp(2.4rem,4.6vw,4.2rem);margin-bottom:.4rem;}
.shop-head .gt-crumbs{font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;color:var(--muted);}
.shop-head .gt-crumbs a:hover{color:var(--gold);}
.woocommerce-breadcrumb{font-size:.6rem;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);}
.shop-tools{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:1.6rem 0;border-bottom:1px solid var(--line);margin-bottom:2.6rem;flex-wrap:wrap;}
.shop-tools .woocommerce-result-count{margin:0;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);}
.woocommerce-ordering select,.orderby,select{
  background:transparent;border:1px solid var(--line);padding:.55rem .9rem;font-family:var(--sans);
  font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);cursor:pointer;
}
.woocommerce-pagination ul{list-style:none;display:flex;gap:.5rem;justify-content:center;padding:0;margin:3rem 0 0;}
.woocommerce-pagination .page-numbers{
  display:grid;place-items:center;min-width:42px;height:42px;border:1px solid var(--line);
  font-size:.72rem;letter-spacing:.1em;
}
.woocommerce-pagination .page-numbers.current,.woocommerce-pagination .page-numbers:hover{background:var(--ink);color:var(--paper);border-color:var(--ink);}

/* =========================================================
   9. Editorial split
   ========================================================= */
.split{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(2.5rem,6vw,7rem);align-items:center;}
.split--reverse .split__media{order:2;}
.split__media{position:relative;}
.split__media img{width:100%;aspect-ratio:4/5;object-fit:cover;}
.split__media::before{
  content:"";position:absolute;inset:auto -1.5rem -1.5rem auto;width:60%;height:60%;
  border:1px solid var(--gold);z-index:-1;
}
.split__body h2{font-size:clamp(2.1rem,3.6vw,3.4rem);}
.split__body p{color:#4a463f;}
.sec--dark .split__body p{color:rgba(247,243,236,.66);}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin:2.6rem 0;border-top:1px solid var(--line);padding-top:2rem;}
.sec--dark .stats{border-color:var(--line-light);}
.stat b{display:block;font-family:var(--serif);font-size:clamp(1.8rem,2.6vw,2.4rem);font-weight:300;color:var(--gold);line-height:1;}
.stat span{display:block;margin-top:.6rem;font-size:.58rem;letter-spacing:.26em;text-transform:uppercase;color:var(--muted);}

/* =========================================================
   10. Services / values
   ========================================================= */
.values{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1.6rem,3vw,3.4rem);}
.value{border-top:1px solid var(--line-light);padding-top:1.7rem;}
.value svg{width:30px;height:30px;stroke:var(--gold);fill:none;stroke-width:1;margin-bottom:1.2rem;}
.value h4{font-family:var(--serif);font-size:1.22rem;margin-bottom:.55rem;color:var(--paper);}
.value p{font-size:.82rem;line-height:1.85;color:rgba(247,243,236,.58);margin:0;}

/* =========================================================
   11. Press / quotes
   ========================================================= */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.6rem,3vw,3.6rem);text-align:center;}
.quote blockquote{margin:0 0 1.4rem;font-family:var(--serif);font-style:italic;font-size:clamp(1.1rem,1.5vw,1.35rem);line-height:1.65;color:#3d3a34;}
.quote cite{font-style:normal;font-size:.58rem;letter-spacing:.32em;text-transform:uppercase;color:var(--muted);}
.quote .stars{color:var(--gold);letter-spacing:.3em;font-size:.8rem;margin-bottom:1rem;display:block;}

/* =========================================================
   12. Journal
   ========================================================= */
.journal{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.6rem,2.6vw,2.6rem);}
.post-card{display:block;}
.post-card__media{overflow:hidden;aspect-ratio:3/2;background:var(--paper-3);}
.post-card__media img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease);}
.post-card:hover .post-card__media img{transform:scale(1.05);}
.post-card__meta{font-size:.56rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin:1.3rem 0 .6rem;}
.post-card h3{font-size:1.35rem;line-height:1.3;margin:0 0 .5rem;}
.post-card p{font-size:.85rem;color:#5d5850;margin:0;}

/* =========================================================
   13. Newsletter
   ========================================================= */
.newsletter{background:var(--ink);color:var(--paper);text-align:center;padding:clamp(4rem,7vw,7rem) 0;position:relative;overflow:hidden;}
.newsletter::before{
  content:"G";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  font-family:var(--serif);font-size:40vw;line-height:1;color:rgba(247,243,236,.022);pointer-events:none;
}
.newsletter h2{font-size:clamp(2rem,3.4vw,3.1rem);position:relative;}
.newsletter p{color:rgba(247,243,236,.6);max-width:48ch;margin:0 auto 2.4rem;position:relative;}
.nl-form{display:flex;gap:.8rem;max-width:520px;margin:0 auto;position:relative;border-bottom:1px solid rgba(247,243,236,.35);padding-bottom:.4rem;}
.nl-form input[type=email]{flex:1;background:transparent;border:0;color:var(--paper);font-family:var(--sans);font-size:.86rem;padding:.85rem .2rem;letter-spacing:.06em;}
.nl-form input[type=email]::placeholder{color:rgba(247,243,236,.4);}
.nl-form input[type=email]:focus{outline:0;}
.nl-form button{background:none;border:0;color:var(--gold-2);cursor:pointer;font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;padding:0 .4rem;}
.newsletter small{display:block;margin-top:1.4rem;font-size:.6rem;letter-spacing:.16em;color:rgba(247,243,236,.35);}

/* =========================================================
   14. Footer
   ========================================================= */
.gt-footer{background:#08080a;color:rgba(247,243,236,.62);padding:clamp(3.5rem,6vw,6rem) 0 0;}
.gt-footer__top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:clamp(2rem,4vw,4rem);padding-bottom:clamp(2.5rem,4vw,4rem);border-bottom:1px solid rgba(247,243,236,.1);}
.gt-footer h4{font-family:var(--sans);font-size:.6rem;letter-spacing:.34em;text-transform:uppercase;color:var(--paper);margin:0 0 1.5rem;}
.gt-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:.75rem;}
.gt-footer a{font-size:.8rem;color:rgba(247,243,236,.62);}
.gt-footer a:hover{color:var(--gold-2);}
.gt-footer__brand .gt-logo{align-items:flex-start;text-align:left;}
.gt-footer__brand .gt-logo__mark{color:var(--paper);font-size:1.5rem;}
.gt-footer__brand p{font-size:.82rem;line-height:1.9;color:rgba(247,243,236,.5);margin:1.4rem 0 0;max-width:34ch;}
.gt-footer__brand .gt-wordmark{margin-top:1.6rem;display:flex;gap:.9rem;}
.gt-social{display:flex;gap:.9rem;}
.gt-social a{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(247,243,236,.16);border-radius:50%;}
.gt-social svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.3;}
.gt-social a:hover{background:var(--gold);border-color:var(--gold);color:var(--ink);}
.gt-footer__bottom{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:1.8rem 0;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(247,243,236,.35);flex-wrap:wrap;}
.gt-footer__bottom .pay{display:flex;gap:1.2rem;align-items:center;}
.gt-footer__bottom .pay span{letter-spacing:.2em;}

/* =========================================================
   15. WooCommerce core
   ========================================================= */
.woocommerce .woocommerce-message,.woocommerce .woocommerce-info,.woocommerce .woocommerce-error{
  background:var(--paper-2);border:1px solid var(--line);border-left:2px solid var(--gold);color:var(--ink);
  padding:1rem 1.4rem;font-size:.8rem;list-style:none;
}
.woocommerce-message::before,.woocommerce-info::before{color:var(--gold);}
.woocommerce .button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{
  background:var(--ink);color:var(--paper);border:1px solid var(--ink);border-radius:0;
  padding:.95rem 1.9rem;font-family:var(--sans);font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;font-weight:400;
  transition:background .4s,color .4s,border-color .4s;cursor:pointer;
}
.woocommerce .button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover{background:var(--gold);border-color:var(--gold);color:var(--ink);}
.woocommerce .button.alt{background:var(--gold);border-color:var(--gold);color:var(--ink);}
.woocommerce .button.alt:hover{background:var(--ink);border-color:var(--ink);color:var(--paper);}
.woocommerce table.shop_table{border:1px solid var(--line);border-collapse:collapse;border-radius:0;}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{border-color:var(--line);padding:1rem;font-size:.85rem;font-weight:300;}
.woocommerce table.shop_table th{font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);}
.woocommerce table.cart img{width:84px;}

/* product page */
.single-product .site-main{width:var(--wrap);margin-inline:auto;padding:clamp(2.5rem,5vw,5rem) 0 0;}
.single-product .woocommerce-breadcrumb{margin-bottom:2.4rem;}
.single-product div.product{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(2rem,5vw,6rem);align-items:start;}
.single-product div.product .woocommerce-product-gallery{width:100%!important;float:none!important;margin:0;}
.single-product div.product .summary{width:100%!important;float:none!important;margin:0;position:sticky;top:110px;}
.single-product .woocommerce-product-gallery__image img{width:100%;object-fit:cover;}
.single-product .woocommerce-product-gallery__trigger{background:rgba(247,243,236,.9);border:1px solid var(--line);}
.single-product .gt-brand-line{font-size:.6rem;letter-spacing:.36em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem;}
.single-product .product_title{font-size:clamp(1.9rem,3.2vw,2.9rem);line-height:1.1;margin-bottom:.9rem;}
.single-product .price{font-family:var(--sans);font-size:1.16rem;letter-spacing:.06em;color:var(--ink);margin-bottom:1.6rem;display:block;}
.single-product .price del{color:var(--muted-2);font-size:.9rem;}
.single-product .woocommerce-product-details__short-description{font-size:.92rem;color:#4a463f;border-top:1px solid var(--line);padding-top:1.6rem;margin-bottom:1.6rem;}
.single-product form.cart{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1.6rem!important;}
.single-product .quantity{display:inline-flex;border:1px solid var(--line);}
.single-product .quantity input{padding:.9rem .5rem;border:0;background:transparent;width:64px;text-align:center;font-size:.9rem;}
.single-product form.cart .single_add_to_cart_button{flex:1;}
.single-product .product_meta{font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);border-top:1px solid var(--line);padding-top:1.4rem;}
.single-product .product_meta a{color:var(--ink);}
.gt-assurance{display:grid;gap:.85rem;margin:1.8rem 0 0;border-top:1px solid var(--line);padding-top:1.6rem;}
.gt-assurance li{list-style:none;display:flex;gap:.8rem;align-items:flex-start;font-size:.72rem;letter-spacing:.06em;color:#57524a;line-height:1.7;}
.gt-assurance svg{width:16px;height:16px;stroke:var(--gold);fill:none;stroke-width:1.3;flex:none;margin-top:.2rem;}
.single-product .woocommerce-tabs{margin-top:clamp(3rem,6vw,5rem);border-top:1px solid var(--line);padding-top:2rem;}
.single-product .woocommerce-tabs ul.tabs{padding:0!important;margin:0 0 2rem!important;display:flex;gap:2.4rem;border:0;}
.single-product .woocommerce-tabs ul.tabs::before{display:none;}
.single-product .woocommerce-tabs ul.tabs li{background:none!important;border:0!important;border-radius:0;padding:0!important;margin:0!important;}
.single-product .woocommerce-tabs ul.tabs li a{font-size:.64rem;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);padding:0 0 .6rem!important;border-bottom:1px solid transparent;}
.single-product .woocommerce-tabs ul.tabs li.active a{color:var(--ink);border-color:var(--gold);}
.single-product .woocommerce-tabs ul.tabs li::after,.single-product .woocommerce-tabs ul.tabs li::before{display:none;}
.single-product .woocommerce-tabs .panel{font-size:.92rem;color:#4a463f;max-width:78ch;}
.related.products,.upsells.products{margin-top:clamp(3.5rem,7vw,6rem);}
.related.products > h2,.upsells.products > h2{font-size:clamp(1.6rem,2.4vw,2.2rem);margin-bottom:2rem;}

/* cart / checkout / account */
.woocommerce-cart .site-main,.woocommerce-checkout .site-main,.woocommerce-account .site-main{padding:0;}
.woocommerce-cart h1,.woocommerce-checkout h1,.woocommerce-account h1{font-size:clamp(2rem,3.4vw,2.9rem);}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select{
  border:1px solid var(--line);background:transparent;padding:.85rem 1rem;font-size:.86rem;border-radius:0;font-family:var(--sans);
}
.woocommerce form .form-row label{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);}
.woocommerce .woocommerce-customer-details address{font-style:normal;}

/* =========================================================
   16. Content pages
   ========================================================= */
.page-hero{background:var(--ink);color:var(--paper);padding:clamp(4rem,8vw,7.5rem) 0 clamp(3rem,5vw,4.5rem);text-align:center;}
.page-hero h1{font-size:clamp(2.4rem,4.8vw,4.4rem);margin-bottom:.6rem;}
.page-hero p{color:rgba(247,243,236,.6);max-width:56ch;margin:0 auto;}
.page-body{width:min(820px,var(--wrap));margin-inline:auto;padding:clamp(3rem,6vw,5.5rem) 0;}
.page-body h2{font-size:clamp(1.7rem,2.4vw,2.2rem);margin-top:2.2em;}
.page-body h2:first-child{margin-top:0;}
.page-body h3{font-size:1.3rem;margin-top:1.8em;}
.page-body p,.page-body li{color:#46423b;font-size:.97rem;line-height:1.9;}
.page-body a{color:var(--ink);border-bottom:1px solid var(--gold);}
.page-body a:hover{color:var(--gold);}
.page-body blockquote{border-left:1px solid var(--gold);margin:2rem 0;padding-left:1.6rem;font-family:var(--serif);font-style:italic;font-size:1.2rem;color:#3d3a34;}
.page-body img{margin:2rem 0;}
.page-body .wp-block-heading{margin-top:2em;}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:start;}
.contact-grid h2{font-size:clamp(1.8rem,2.6vw,2.4rem);}
.contact-card{border:1px solid var(--line);padding:2rem;margin-bottom:1.2rem;}
.contact-card span{font-size:.58rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:.5rem;}
.contact-card p{margin:0;font-size:.95rem;color:#46423b;}

/* blog */
.blog-hero{background:var(--paper-2);text-align:center;padding:clamp(3.4rem,6vw,6rem) 0 clamp(2.6rem,4vw,4rem);}
.blog-hero h1{font-size:clamp(2.4rem,4.4vw,4rem);margin-bottom:.4rem;}
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.6rem,2.6vw,2.6rem);width:var(--wrap);margin-inline:auto;padding:clamp(2.5rem,5vw,4.5rem) 0;}
.single-post .site-main{width:min(780px,var(--wrap));margin-inline:auto;padding:clamp(3rem,6vw,5rem) 0;}
.single-post .entry-title{font-size:clamp(2.1rem,3.8vw,3.3rem);}
.single-post .entry-meta{font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:2rem;}
.single-post .entry-content p,.single-post .entry-content li{font-size:1rem;line-height:1.95;color:#46423b;}
.single-post .entry-content h2{font-size:1.7rem;margin-top:2em;}
.single-post .post-thumb{margin-bottom:2.4rem;}

/* 404 / search */
.mini-hero{text-align:center;padding:clamp(4rem,9vw,8rem) 0;}
.mini-hero h1{font-size:clamp(2.4rem,5vw,4.4rem);}
.search-form{display:flex;gap:.6rem;max-width:460px;margin:2rem auto 0;border-bottom:1px solid var(--line);}
.search-form input[type=search]{flex:1;border:0;background:transparent;padding:.9rem .2rem;font-size:.95rem;font-family:var(--sans);}
.search-form button{background:none;border:0;cursor:pointer;font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);}

/* reveal */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease);}
.reveal.in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none;}
  .hero__bg{animation:none;transform:none;}
  .marquee__track{animation:none;}
}

/* =========================================================
   17. Responsive
   ========================================================= */
@media (max-width:1180px){
  :root{--wrap:calc(100% - 3rem);}
  .gt-grid{grid-template-columns:repeat(3,1fr);}
  .values{grid-template-columns:repeat(2,1fr);gap:2.4rem;}
  .gt-menu{gap:1.4rem;}
  .gt-menu a{letter-spacing:.18em;}
}
@media (max-width:960px){
  .gt-nav{display:none;}
  .gt-actions .gt-burger{display:flex;}
  .gt-header__inner{grid-template-columns:auto 1fr auto;min-height:74px;}
  .gt-logo{grid-column:2;justify-self:center;}
  .gt-actions{grid-column:3;}
  .gt-logo__mark{font-size:1.35rem;letter-spacing:.3em;}
  .gt-logo small{font-size:.44rem;}
  .gt-header--over{position:fixed;}
  .hero__meta{display:none;}
  .collections{grid-template-columns:1fr;}
  .split{grid-template-columns:1fr;gap:2.6rem;}
  .split--reverse .split__media{order:0;}
  .split__media::before{display:none;}
  .quotes{grid-template-columns:1fr;gap:2.4rem;}
  .journal,.post-grid{grid-template-columns:repeat(2,1fr);}
  .gt-footer__top{grid-template-columns:1fr 1fr;}
  .single-product div.product{grid-template-columns:1fr;}
  .single-product div.product .summary{position:static;}
  .contact-grid{grid-template-columns:1fr;}
  .sec-head{flex-direction:column;align-items:flex-start;gap:1.4rem;}
  .shop-tools{flex-direction:column;align-items:flex-start;}
}
body.admin-bar .gt-header:not(.gt-header--over){top:32px;}

/* transparent header turning solid */
.gt-header--over.is-stuck{background:rgba(247,243,236,.97);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-color:var(--line);box-shadow:0 12px 40px -28px rgba(10,10,11,.6);}
.gt-header--over.is-stuck .gt-logo__mark,
.gt-header--over.is-stuck .gt-menu a,
.gt-header--over.is-stuck .gt-actions a,
.gt-header--over.is-stuck .gt-actions button{color:var(--ink);}
.gt-header--over.is-stuck .gt-logo small{color:var(--muted);}
.gt-header--over.is-stuck .gt-burger span{background:var(--ink);}
.gt-header--over.is-stuck .gt-menu .sub-menu a{color:var(--ink);}

/* WooCommerce product grid */
.woocommerce ul.products{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1.4rem,2.2vw,2.4rem) clamp(1rem,1.6vw,1.7rem);list-style:none;margin:0;padding:0;}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none;}
.woocommerce ul.products li.product{width:100%!important;float:none!important;margin:0!important;padding:0!important;clear:none!important;text-align:left;}
.woocommerce ul.products li.product .gt-card{margin:0;}
.gt-card__link{display:block;width:100%;height:100%;}
.gt-card__link img{width:100%;height:100%;object-fit:cover;}
.woocommerce ul.products li.product a img{margin:0!important;}

/* Woo notices / form polish */
.woocommerce-notices-wrapper{margin:0 0 2rem;}
.woocommerce-message .button,.woocommerce-info .button{float:right;margin-left:1rem;}
.woocommerce form .form-row{margin-bottom:1.2rem;}
.woocommerce .select2-container .select2-selection--single{height:46px;border-color:var(--line);border-radius:0;}
.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered{line-height:44px;font-size:.86rem;}

/* product page gallery refinement */
.woocommerce div.product div.images .flex-control-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem;margin-top:.9rem;}
.woocommerce div.product div.images .flex-control-thumbs li{width:100%;}
.woocommerce div.product div.images .flex-control-thumbs img{opacity:.55;transition:opacity .35s;border:1px solid transparent;}
.woocommerce div.product div.images .flex-control-thumbs img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs img:hover{opacity:1;border-color:var(--gold);}
.woocommerce div.product .woocommerce-product-gallery__wrapper{border:1px solid var(--line);}
.woocommerce div.product .stock{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);}
.woocommerce div.product p.price{padding:0;}

@media (max-width:1180px){
  .woocommerce ul.products{grid-template-columns:repeat(3,1fr);}
}
@media (max-width:680px){
  .woocommerce ul.products{grid-template-columns:repeat(2,1fr);}
}

@media (max-width:680px){
  :root{--wrap:calc(100% - 2.2rem);}
  body{font-size:15px;}
  .gt-topbar{font-size:.52rem;letter-spacing:.2em;}
  .gt-grid,.gt-grid--3{grid-template-columns:repeat(2,1fr);}
  .values{grid-template-columns:1fr;}
  .journal,.post-grid{grid-template-columns:1fr;}
  .stats{grid-template-columns:1fr;gap:1.6rem;}
  .hero h1{font-size:clamp(2.4rem,9vw,3.4rem);}
  .hero__cta .btn{padding:.95rem 1.5rem;font-size:.6rem;}
  .gt-footer__top{grid-template-columns:1fr;}
  .gt-footer__bottom{flex-direction:column;align-items:flex-start;}
  .gt-card__title{font-size:1rem;}
  .gt-card__add{transform:translateY(0);font-size:.55rem;padding:.7rem;}
  .newsletter h2{font-size:1.9rem;}
  .single-product .site-main{padding-top:2rem;}
}

/* =========================================================
   18. Refinements
   ========================================================= */
.gt-footer__brand .gt-logo{text-align:left;align-items:flex-start;}
.coll::after{background:linear-gradient(180deg,rgba(6,6,7,0) 10%,rgba(6,6,7,.62) 55%,rgba(6,6,7,.97) 100%)!important;}

.woocommerce span.onsale{
  background:var(--ink);color:var(--paper);border-radius:0;min-height:0;min-width:0;
  padding:.5rem .8rem;font-family:var(--sans);font-size:.55rem;letter-spacing:.24em;
  text-transform:uppercase;line-height:1;top:1rem;left:1rem;font-weight:400;
}
.woocommerce div.product p.price ins,.woocommerce div.product span.price ins{color:var(--ink);text-decoration:none;font-weight:400;}
.woocommerce div.product p.price del,.woocommerce div.product span.price del{color:var(--muted-2);opacity:1;font-size:.78em;margin-right:.5rem;}
.woocommerce div.product form.cart .single_add_to_cart_button{
  background:var(--ink);color:var(--paper);border:1px solid var(--ink);border-radius:0;
  padding:1.05rem 1.8rem;font-size:.64rem;letter-spacing:.26em;text-transform:uppercase;width:100%;
}
.woocommerce div.product form.cart .single_add_to_cart_button:hover{background:var(--gold);border-color:var(--gold);color:var(--ink);}
.product_meta{display:flex;flex-wrap:wrap;gap:.5rem 1.8rem;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;}
.product_meta > span{display:block;color:var(--muted);}
.product_meta > span a,.product_meta > span span{color:var(--ink);}
.woocommerce div.product .woocommerce-product-gallery__image img{max-height:78vh;object-fit:cover;width:100%;}
.woocommerce div.product .woocommerce-product-gallery{position:sticky;top:110px;}
.woocommerce div.product .woocommerce-product-gallery .flex-viewport{background:var(--paper-3);}
@media (max-width:960px){.woocommerce div.product .woocommerce-product-gallery{position:static;}}
.woocommerce .woocommerce-tabs .panel h3{font-family:var(--serif);font-size:1.15rem;letter-spacing:0;margin:1.8rem 0 .6rem;}
.woocommerce .woocommerce-tabs .panel ul{padding-left:1.1rem;}
.woocommerce .woocommerce-tabs .panel li{margin-bottom:.4rem;}

/* =========================================================
   19. Mobile polish
   ========================================================= */
@media (max-width:680px){
  .gt-topbar span:nth-of-type(n+2),.gt-topbar .dot{display:none;}
  .gt-topbar{padding:.6rem 1rem;font-size:.5rem;letter-spacing:.24em;}
  .gt-logo small{white-space:nowrap;font-size:.4rem;letter-spacing:.3em;margin-top:.45rem;}
  .gt-logo__mark{font-size:1.28rem;letter-spacing:.28em;}
  .gt-header__inner{min-height:68px;}
  .hero__inner{padding-top:15vh;}
  .hero__cta{flex-direction:column;width:100%;max-width:340px;margin:0 auto;}
  .hero__cta .btn{width:100%;}
  .hero__sub{font-size:.86rem;line-height:1.8;}
  .sec-head h2{font-size:2rem;}
  .value p{font-size:.88rem;}
  .post-card h3{font-size:1.15rem;}
  .single-product .summary{margin-top:.5rem;}
  .woocommerce div.product .woocommerce-product-gallery__image img{max-height:none;}
  .newsletter .nl-form{flex-direction:column;align-items:flex-start;gap:.4rem;}
  .newsletter .nl-form button{padding:.6rem .2rem;}
  .gt-footer__bottom{font-size:.55rem;}
}
@media (max-width:960px){
  .gt-footer__top{gap:2.4rem;}
  .hero{min-height:92svh;}
}

/* =========================================================
   20. Commerce polish
   ========================================================= */
.woocommerce-cart .page-hero,.woocommerce-checkout .page-hero,.woocommerce-account .page-hero{padding:clamp(2.2rem,3.6vw,3.2rem) 0;}
.woocommerce-cart .page-hero h1,.woocommerce-checkout .page-hero h1,.woocommerce-account .page-hero h1{font-size:clamp(2rem,3.2vw,2.8rem);margin-bottom:0;}
.woocommerce-cart .page-hero .eyebrow,.woocommerce-checkout .page-hero .eyebrow,.woocommerce-account .page-hero .eyebrow{margin-bottom:.7rem;}

.page-body a.btn,.page-body .btn{border-bottom:0;color:var(--btn-fg);}

.woocommerce table.shop_table.cart{border:1px solid var(--line);}
.woocommerce table.shop_table.cart th{font-size:.58rem;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);font-weight:400;}
.woocommerce table.shop_table.cart td.product-name{text-align:left;}
.woocommerce table.shop_table.cart td.product-name a{font-family:var(--serif);font-size:1.1rem;color:var(--ink);}
.woocommerce table.shop_table.cart td.product-thumbnail{width:120px;}
.woocommerce table.cart img{width:96px!important;border:1px solid var(--line);}
.woocommerce table.cart td.product-remove a.remove{color:var(--ink)!important;font-weight:300;font-size:1.2rem;}
.woocommerce table.cart td.product-remove a.remove:hover{background:var(--gold)!important;color:var(--ink)!important;}
.woocommerce table.cart .quantity input.qty{width:74px;height:46px;border:1px solid var(--line);background:transparent;text-align:center;font-size:.9rem;}
.woocommerce table.cart td.actions{padding:1.2rem;}
.woocommerce table.cart td.actions .coupon .input-text{width:180px;padding:.85rem 1rem;border:1px solid var(--line);background:transparent;}
.woocommerce table.cart td.actions .button{background:var(--ink);color:var(--paper);}
.woocommerce table.cart td.actions .button:hover{background:var(--gold);color:var(--ink);}

.woocommerce form.checkout .form-row,.woocommerce form .form-row{padding:0 0 .3rem;margin-bottom:1.05rem;}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select{
  background:rgba(255,255,255,.4);border:1px solid var(--line);border-radius:0;padding:.85rem 1rem;font-size:.88rem;min-height:48px;color:var(--ink);
}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus,.woocommerce form .form-row select:focus{border-color:var(--gold);outline:0;background:#fff;}
.woocommerce form .form-row label{font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-bottom:.35rem;}
.woocommerce .woocommerce-checkout-review-order{background:var(--paper-2);padding:1.6rem;border:0;margin-top:.5rem;}
#order_review_heading{margin-top:2.4rem;}
.woocommerce form .form-row .required{color:var(--gold);}
.woocommerce #payment{background:transparent;border-top:1px solid var(--line);}
.woocommerce #payment ul.payment_methods{border:0;padding:1rem 0;}
.woocommerce #payment div.payment_box{background:var(--paper-2);color:#46423b;font-size:.8rem;margin-bottom:0;}
.woocommerce #payment div.payment_box::before{display:none;}
.woocommerce #place_order{width:100%;margin-top:1.2rem;}
.woocommerce .wc-proceed-to-checkout a.checkout-button,
.woocommerce #place_order,
.woocommerce button.button.alt,
.woocommerce a.button.alt{
  background:var(--ink)!important;border:1px solid var(--ink)!important;color:var(--paper)!important;
  border-radius:0!important;padding:1.1rem 1.8rem!important;font-size:.64rem!important;
  letter-spacing:.26em!important;text-transform:uppercase!important;font-weight:400!important;
}
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce #place_order:hover,
.woocommerce button.button.alt:hover,
.woocommerce a.button.alt:hover{background:var(--gold)!important;border-color:var(--gold)!important;color:var(--ink)!important;}
.woocommerce button.button:disabled,.woocommerce button.button:disabled[disabled]{
  background:var(--paper-3)!important;color:var(--muted)!important;border-color:var(--line)!important;opacity:1;
}
.woocommerce .woocommerce-checkout-review-order-table th,.woocommerce .woocommerce-checkout-review-order-table td{padding:.85rem .4rem;}
.woocommerce form .woocommerce-billing-fields h3,.woocommerce form .woocommerce-additional-fields h3{font-family:var(--serif);font-size:1.5rem;letter-spacing:0;margin-bottom:1rem;}

/* =========================================================
   21. Editorial hero
   ========================================================= */
.hero__veil{background:linear-gradient(90deg,rgba(6,6,7,.96) 0%,rgba(6,6,7,.8) 34%,rgba(6,6,7,.26) 70%,rgba(6,6,7,.44) 100%)!important;}
.hero__inner{text-align:left;}
.hero h1{font-size:clamp(2.7rem,5.3vw,5.3rem);}
.hero__sub{margin-left:0;margin-right:0;max-width:46ch;}
.hero__cta{justify-content:flex-start;}
@media (max-width:960px){
  .hero__veil{background:linear-gradient(180deg,rgba(6,6,7,.7) 0%,rgba(6,6,7,.38) 38%,rgba(6,6,7,.5) 66%,rgba(6,6,7,.94) 100%)!important;}
  .hero__inner{text-align:center;}
  .hero__sub{margin:0 auto 2.6rem;}
  .hero__cta{justify-content:center;}
}

/* =========================================================
   22. Mobile hero
   ========================================================= */
@media (max-width:960px){
  .hero__bg{background-position:center 30%;}
  .hero__veil{background:linear-gradient(180deg,rgba(6,6,7,.78) 0%,rgba(6,6,7,.52) 42%,rgba(6,6,7,.62) 70%,rgba(6,6,7,.95) 100%)!important;}
  .hero h1{font-size:clamp(2.1rem,7.6vw,3rem);}
  .hero__sub{font-size:.85rem;}
}
