/* ===================================================================
   GOLVARY - design system layer
   Loaded AFTER Glozin so it refines the theme, never replaces it.
   Charte: green #034638 · gold #ac8400 → #fdee79 · display "Giovanna".
   Display face = real Giovanna (Genilson Lima Santos), self-hosted woff2.
   LICENSING: Giovanna is "All Rights Reserved" (personal-use). A
   commercial/webfont license must be purchased before public launch.
   =================================================================== */

@font-face{
  font-family:"GV Sans";
  src:url("/wp-content/fonts/jost/92zatBhPNqw73oTd4g.woff2") format("woff2");
  font-weight:100 900;
  font-style:normal;
  font-display:swap;
}

@font-face{
  font-family:"GV Display";
  src:url("../fonts/giovanna-400.woff2") format("woff2");
  font-weight:400;
  font-style:normal;
  font-display:swap;
}

:root{
  /* charte greens */
  --gv-green:#034638;
  --gv-green-deep:#022a22;
  /* charte gold */
  --gv-gold-deep:#7a5b00; /* accessible text gold on cream/white */
  --gv-gold-brand:#ac8400;
  --gv-gold:#c9a24a;
  --gv-gold-light:#fdee79;
  --gv-gold-grad:linear-gradient(105deg,#ac8400 0%,#d8b658 45%,#fdee79 100%);
  /* neutrals */
  --gv-cream:#f4efe3;
  --gv-ivory:#fbf8f1;
  --gv-surface:#fffdf9;
  --gv-ink:#0a1411;
  --gv-muted:#5c6b62;
  --gv-line:rgba(3,70,56,.12);
  --gv-shadow-sm:0 14px 34px -26px rgba(2,42,34,.34);
  --gv-shadow-lg:0 28px 60px -34px rgba(2,42,34,.42);
  /* type roles */
  --gv-sans:"GV Sans","Jost",system-ui,-apple-system,"Segoe UI",sans-serif;
  --gv-display:"GV Display","Cormorant Garamond","Didot",Georgia,"Times New Roman",serif;
}

body{
  color:var(--gv-ink);
  font-family:var(--gv-sans) !important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
button,input,select,textarea{font-family:var(--gv-sans) !important}
::selection{background:rgba(201,162,74,.32);color:var(--gv-green-deep)}

/* --- Elegant display face on headings; body & UI stay in Jost --- */
h1, h2, h3,
.entry-title,
.product_title,
.page-header .page-title,
.section-heading .heading-title,
.widget-title,
.elementor-heading-title{
  font-family:var(--gv-display);
  font-weight:400;
  letter-spacing:.005em;
  text-wrap:balance;
}
h1, h2{ line-height:1.07; }

/* Keep custom UI controls comfortably tappable without inflating text. */
.gv-cta,.gv-products__cta,.gv-collection__cta,.gv-card__action,
.gv-filter__go,.gv-stickybar__cta{min-height:44px}

/* --- Utilities --- */
.gv-gold{
  background:var(--gv-gold-grad);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.gv-eyebrow{
  font-family:var(--gv-display);
  text-transform:uppercase;
  letter-spacing:.28em;
  color:var(--gv-gold-deep);
  font-size:.72rem;
}

/* Search results: hide the blog-style "Post by … date" byline */
body.search-results .entry-meta,
body.search .entry-meta{ display:none; }

/* --- Restrained scroll reveal (MOTION_INTENSITY ~3). Initial hidden state is
   gated on .gv-motion, which JS adds ONLY when IntersectionObserver is present
   and prefers-reduced-motion is off - so no-JS and reduced-motion stay visible. */
.gv-motion .gv-card,
.gv-motion .gv-products__head,
.gv-motion .gv-why__item,
.gv-motion .gv-collection__inner,
.gv-motion .gv-world__inner,
.gv-motion .gv-gar-cov__item,
.gv-motion .gv-gar-faq__inner,
.gv-motion .gv-pdp-desc__inner,
.gv-motion .gv-pdp-reassure__item{
  opacity:0;transform:translateY(14px);
  transition:opacity .6s cubic-bezier(.22,.61,.36,1),transform .6s cubic-bezier(.22,.61,.36,1);
  transition-delay:var(--gv-rd,0ms);
}
.gv-motion .gv-card.gv-in,
.gv-motion .gv-products__head.gv-in,
.gv-motion .gv-why__item.gv-in,
.gv-motion .gv-collection__inner.gv-in,
.gv-motion .gv-world__inner.gv-in,
.gv-motion .gv-gar-cov__item.gv-in,
.gv-motion .gv-gar-faq__inner.gv-in,
.gv-motion .gv-pdp-desc__inner.gv-in,
.gv-motion .gv-pdp-reassure__item.gv-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .gv-motion .gv-card,.gv-motion .gv-products__head,.gv-motion .gv-why__item,
  .gv-motion .gv-collection__inner,.gv-motion .gv-world__inner,.gv-motion .gv-gar-cov__item,
  .gv-motion .gv-gar-faq__inner,.gv-motion .gv-pdp-desc__inner,.gv-motion .gv-pdp-reassure__item{
    opacity:1!important;transform:none!important;transition:none!important}
}

/* --- Hardening (Impeccable audit): keyboard focus ring, brand gold, keyboard-only. */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,
textarea:focus-visible,summary:focus-visible{
  outline:2px solid var(--gv-gold,#c4a35a);outline-offset:2px;border-radius:2px;
}
/* --- Hardening: 16px form fields on phones so iOS Safari doesn't force-zoom on
   focus (breaks the COD checkout layout). Excludes checkbox/radio/range. */
@media (max-width:600px){
  input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=range]),
  select, textarea{ font-size:16px !important; }
}
