/* ========================================================================== 
   Para Kenz — Shared styles
   Design tokens, navigation, reusable components and secondary pages.
   ========================================================================== */

@font-face{
  font-family:"Fraunces";
  src:url("../assets/fonts/fraunces-latin.woff2") format("woff2");
  font-style:normal;font-weight:400 700;font-display:swap;
}
@font-face{
  font-family:"Fraunces";
  src:url("../assets/fonts/fraunces-italic-latin.woff2") format("woff2");
  font-style:italic;font-weight:400 600;font-display:swap;
}
@font-face{
  font-family:"Manrope";
  src:url("../assets/fonts/manrope-latin.woff2") format("woff2");
  font-style:normal;font-weight:400 800;font-display:swap;
}
@font-face{
  font-family:"Space Mono";
  src:url("../assets/fonts/space-mono-400-latin.woff2") format("woff2");
  font-style:normal;font-weight:400;font-display:swap;
}
@font-face{
  font-family:"Space Mono";
  src:url("../assets/fonts/space-mono-700-latin.woff2") format("woff2");
  font-style:normal;font-weight:700;font-display:swap;
}

/* ==========================================================================
   Para Kenz Kenitra — Stylesheet
   Design tokens: emerald + white, apothecary-label signature motif.
   ========================================================================== */

:root{
  /* Colors — Para Kenz botanical-apothecary palette: deep emerald + cold ivory + old gold */
  --emerald-900:#062e25;
  --emerald-800:#0b5c4c;
  --emerald-700:#0b5c4c;
  --emerald-600:#12705c;
  --emerald-500:#17876d;
  --emerald-100:#e3eee8;
  --emerald-50:#eff6f1;
  --paper:#fbfaf6;
  --mist:#f3f5f0;
  --ink:#0f241d;
  --ink-soft:#3e5a50;
  --line:rgba(15,36,29,.14);
  --gold:#c7a252;
  --gold-soft:#e7ce94;
  --sage:#9fc2ac;
  --danger:#b23a2e;

  /* Type — display serif w/ italic character, warm sans body, mono for posology-style labels */
  --font-display:"Fraunces", "Georgia", serif;
  --font-body:"Manrope", system-ui, -apple-system, sans-serif;
  --font-mono:"Space Mono", monospace;

  /* Layout */
  --radius-sm:6px;
  --radius-md:14px;
  --radius-lg:26px;
  --shadow-card:0 20px 50px -28px rgba(6,46,37,.35);
  --shadow-lift:0 30px 70px -22px rgba(6,46,37,.45);
  --ease:cubic-bezier(.22,1,.36,1);
  --maxw:1220px;
}

.sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
.skip-link{
  position:fixed;top:10px;left:10px;z-index:1000;padding:10px 16px;
  border-radius:999px;background:#fff;color:var(--emerald-900);font-weight:700;
  box-shadow:var(--shadow-lift);transform:translateY(-160%);transition:transform .18s ease;
}
.skip-link:focus{transform:translateY(0);}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
  line-height:1.55;
}
img{max-width:100%;display:block;}
.brand-logo-pair{display:inline-flex;max-width:100%;align-items:center;justify-content:center;gap:clamp(4px,.65vw,9px);}
.brand-logo-pair img{width:auto;max-width:48%;height:calc(var(--brand-logo-height,34px) * .72);object-fit:contain;}
.brand-wordmark{display:block;width:100%;max-width:100%;overflow:hidden;color:var(--emerald-800);font-family:var(--font-display);font-size:var(--wm-size,16px);font-weight:600;font-style:normal;line-height:1.08;letter-spacing:-.01em;text-align:center;white-space:nowrap;}
.brand-wordmark.is-two-lines{white-space:normal;overflow-wrap:normal;word-break:normal;}
.brands-marquee-item .brand-wordmark{color:var(--emerald-900);}
.image-fallback-label{display:flex;align-items:center;justify-content:center;color:var(--emerald-800);font-family:var(--font-display);font-weight:600;text-align:center;}
.image-load-fallback{display:flex;width:100%;height:100%;align-items:center;justify-content:center;color:var(--emerald-600);}
.image-load-fallback svg{width:42%;height:42%;}
a{color:inherit;text-decoration:none;}
ul{margin:0;padding:0;list-style:none;}
button{font-family:inherit;cursor:pointer;}
h1,h2,h3,h4{font-family:var(--font-display);color:var(--emerald-900);margin:0 0 .5em;line-height:1.15;font-weight:600;}
p{margin:0 0 1em;color:var(--ink-soft);}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px;}
.container{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.section{padding:88px 0;}
.section-alt{background:var(--mist);}
.eyebrow{
  font-family:var(--font-mono);
  font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--emerald-600);display:inline-flex;align-items:center;gap:8px;margin-bottom:14px;
}
.eyebrow::before{content:"";width:22px;height:1px;background:var(--emerald-500);}
.section-head{max-width:640px;margin:0 0 44px;}
.section-head.center{margin-inline:auto;text-align:center;}
.section-head h2{font-size:clamp(1.7rem,3vw,2.4rem);}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:14px 28px;border-radius:999px;border:1px solid transparent;
  font-weight:600;font-size:.95rem;transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
  white-space:nowrap;
}
.btn-primary{background:var(--emerald-700);color:#fff;}
.btn-primary:hover{background:var(--emerald-800);transform:translateY(-2px);box-shadow:var(--shadow-lift);}
.btn-ghost{background:transparent;border-color:var(--emerald-700);color:var(--emerald-700);}
.btn-ghost:hover{background:var(--emerald-700);color:#fff;}
.btn-light{background:#fff;color:var(--emerald-800);}
.btn-light:hover{background:var(--gold-soft);}
.btn-ghost-light{background:transparent;border-color:rgba(255,255,255,.65);color:#fff;}
.btn-ghost-light:hover{background:rgba(255,255,255,.14);border-color:#fff;transform:translateY(-2px);}
.btn-sm{padding:9px 18px;font-size:.82rem;}
.btn-block{width:100%;}
.btn[disabled]{opacity:.6;cursor:not-allowed;transform:none !important;}

/* ---------- Language toggle ---------- */
.lang-toggle{display:inline-flex;border:1px solid rgba(255,255,255,.3);border-radius:999px;overflow:hidden;}
.lang-toggle button{background:transparent;color:#dff2e8;border:none;padding:4px 12px;font-size:.75rem;font-weight:700;letter-spacing:.04em;}
.lang-toggle button.active{background:var(--gold);color:var(--emerald-900);}
.site-header .lang-toggle{flex:0 0 auto;border-color:rgba(7,76,59,.16);background:var(--mist);}
.site-header .lang-toggle button{min-width:37px;padding:6px 9px;color:var(--emerald-700);}
.site-header .lang-toggle button.active{background:var(--gold);color:var(--emerald-900);}

/* ---------- Header / nav ---------- */
.site-header{position:sticky;top:0;z-index:60;border-bottom:1px solid var(--line);}
.site-header::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);}
@media (max-width:960px){.site-header::before{background:rgba(255,255,255,.97);backdrop-filter:none;}}
.nav{display:flex;align-items:center;gap:28px;padding:14px 0;}
.brand{position:relative;display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:600;font-size:1.3rem;color:var(--emerald-900);margin-right:auto;}
.brand .mark{width:38px;height:38px;flex:none;}
.brand .mark img{width:100%;height:100%;object-fit:contain;}
.brand-copy{line-height:1.05;white-space:nowrap;}
.brand small{display:block;font-family:var(--font-mono);font-size:.6rem;color:var(--emerald-600);letter-spacing:.12em;text-transform:uppercase;font-weight:700;}
.brand-since{margin-left:3px;padding-left:12px;border-left:1px solid rgba(18,30,26,.18);color:#8a918e;font-family:var(--font-body);font-size:.61rem;font-weight:500;letter-spacing:.025em;line-height:1.3;white-space:nowrap;}
.nav-links{display:flex;align-items:center;gap:26px;font-weight:600;font-size:.94rem;color:var(--ink);}
.nav-links a{position:relative;padding:6px 0;}
.nav-links a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--emerald-600);transition:right .2s ease;}
.nav-links a:hover::after,.nav-links a.active::after,.nav-links a[aria-current="page"]::after{right:0;}
.nav-search{position:relative;display:flex;align-items:center;background:var(--mist);border:1px solid var(--line);border-radius:999px;padding:8px 14px;gap:8px;min-width:210px;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;}
.nav-search:focus-within{border-color:rgba(11,110,79,.42);background:#fff;box-shadow:0 0 0 4px rgba(11,110,79,.08);}
.nav-search input{border:none;background:transparent;outline:none;font-size:.86rem;width:100%;font-family:var(--font-body);color:var(--ink);}
.nav-search input::-webkit-search-cancel-button{cursor:pointer;}
.nav-search svg{flex:none;color:var(--emerald-600);}
.nav-search-suggestions{
  position:absolute;
  top:calc(100% + 11px);
  right:0;
  z-index:90;
  display:none;
  width:min(410px,calc(100vw - 28px));
  max-height:min(560px,calc(100vh - 100px));
  overflow:auto;
  padding:8px;
  border:1px solid rgba(7,76,59,.14);
  border-radius:18px;
  background:#fff;
  box-shadow:0 22px 58px rgba(3,45,34,.2);
  overscroll-behavior:contain;
}
.nav-search.has-suggestions .nav-search-suggestions{display:block;}
.nav-search-suggestions-title{
  padding:8px 10px 7px;
  color:var(--emerald-600);
  font-family:var(--font-mono);
  font-size:.58rem;
  font-weight:700;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.nav-search-suggestion{
  display:grid;
  grid-template-columns:58px minmax(0,1fr) 22px;
  align-items:center;
  gap:12px;
  min-height:74px;
  padding:8px;
  border-radius:13px;
  color:var(--emerald-900);
  transition:background .18s ease,transform .18s ease;
}
.nav-search-suggestion:hover,.nav-search-suggestion.is-active{background:var(--emerald-50);transform:translateX(2px);}
.nav-search-suggestion-media{display:flex;width:58px;height:58px;align-items:center;justify-content:center;overflow:hidden;border:1px solid rgba(11,110,79,.1);border-radius:11px;background:#fff;}
.nav-search-suggestion-media img{width:100%;height:100%;object-fit:contain;padding:4px;}
.nav-search-suggestion-copy{display:flex;min-width:0;flex-direction:column;gap:2px;}
.nav-search-suggestion-copy strong{overflow:hidden;color:var(--emerald-900);font-family:var(--font-display);font-size:.9rem;font-weight:600;line-height:1.16;text-overflow:ellipsis;white-space:nowrap;}
.nav-search-suggestion-meta{overflow:hidden;color:#8b6824;font-family:var(--font-mono);font-size:.53rem;font-weight:700;letter-spacing:.08em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;}
.nav-search-suggestion-copy small{overflow:hidden;color:#65766f;font-size:.68rem;text-overflow:ellipsis;white-space:nowrap;}
.nav-search-suggestion-arrow{color:var(--emerald-600);font-size:1rem;transition:transform .18s ease;}
.nav-search-suggestion:hover .nav-search-suggestion-arrow,.nav-search-suggestion.is-active .nav-search-suggestion-arrow{transform:translateX(2px);}
.nav-search-empty{display:flex;min-height:92px;flex-direction:column;justify-content:center;gap:5px;padding:16px;color:#65766f;font-size:.74rem;line-height:1.45;}
.nav-search-empty strong{color:var(--emerald-900);font-family:var(--font-display);font-size:1rem;}
.mobile-nav-search{display:none;}
.nav-actions{display:flex;align-items:center;gap:16px;}
.cart-btn{position:relative;display:flex;align-items:center;gap:8px;font-weight:700;font-size:.9rem;color:var(--emerald-800);}
.cart-count{background:var(--gold);color:var(--emerald-900);font-family:var(--font-mono);font-size:.68rem;font-weight:700;min-width:20px;height:20px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;padding:0 4px;}
.nav-toggle{display:none;width:44px;height:44px;flex:0 0 44px;align-items:center;justify-content:center;flex-direction:column;gap:5px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:9px;color:var(--emerald-900);}
.nav-toggle span{display:block;width:21px;height:2px;border-radius:999px;background:currentColor;transition:transform .22s ease,opacity .18s ease;}
.nav-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle.is-open span:nth-child(2){opacity:0;}
.nav-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
@media (max-width:1380px) and (min-width:961px){
  .nav{gap:14px;}
  .nav-links{gap:18px;font-size:.9rem;}
  .nav-search{min-width:190px;max-width:220px;}
}
@media (max-width:1120px) and (min-width:961px){
  .nav{gap:10px;}
  .brand-since{display:none;}
  .nav-links{gap:14px;font-size:.86rem;}
  .nav-search{min-width:165px;max-width:180px;padding-inline:11px;}
  .cart-btn{gap:5px;font-size:.84rem;}
}
@media (max-width:960px){
  .nav-search{display:none;}
  .nav-links{position:fixed;inset:64px 0 0 0;z-index:59;background:#fff;flex-direction:column;align-items:flex-start;padding:26px 24px;gap:0;transform:translateX(-100%);opacity:0;visibility:hidden;pointer-events:none;transition:transform .25s ease,opacity .2s ease,visibility .25s;overflow:auto;overscroll-behavior:contain;}
  .nav-links.open{transform:translateX(0);opacity:1;visibility:visible;pointer-events:auto;}
  .nav-links li{display:block;width:100%;}
  .nav-links a{display:inline-flex;width:auto;padding:10px 0 8px;border-bottom:0;}
  .nav-links a::after{bottom:4px;}
  .mobile-nav-search{display:block!important;margin-top:18px;padding-top:18px;border-top:1px solid var(--line);}
  .mobile-nav-search .nav-search{display:flex;width:100%;min-height:50px;padding-inline:16px;}
  .mobile-nav-search .nav-search-suggestions{right:auto;left:0;width:100%;max-height:min(430px,55vh);}
  .nav-toggle{display:flex;}
  body.nav-open{overflow:hidden;}
}
@media (max-width:520px){
  .nav{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:7px;}
  .brand{grid-column:1;margin-right:0;}
  .nav-toggle{grid-column:2;}
  .site-header .lang-toggle{grid-column:3;}
  .site-header .brand-since{position:absolute;left:94px;bottom:1px;margin:0;padding:0;border:0;font-size:.5rem;letter-spacing:0;}
  .nav-actions{grid-column:4;min-width:0;gap:0;}
  .cart-btn svg{flex:none;}
  .cart-btn > [data-i18n]{display:none;}
}

/* ---------- Product grid / cards ---------- */
.grid{display:grid;gap:24px;}
.grid-4{grid-template-columns:repeat(4,1fr);}
@media (max-width:1080px){.grid-4{grid-template-columns:repeat(2,1fr);}}
@media (max-width:640px){.grid-4{grid-template-columns:1fr;}}

.product-card{display:flex;flex-direction:column;}
.product-media{
  aspect-ratio:1/1;border-radius:var(--radius-sm);background:var(--emerald-50);
  display:flex;align-items:center;justify-content:center;margin-bottom:16px;position:relative;overflow:hidden;
}
.product-media svg{width:56%;height:56%;color:var(--emerald-600);}
.product-media .product-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  padding:24px;
  object-fit:contain;
  background:#fff;
  transition:transform .55s var(--ease);
}
.product-card:hover .product-image{transform:scale(1.045);}
.product-badge{z-index:2;}
.product-image-placeholder{
  display:flex;
  position:absolute;
  inset:0;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:13px;
  padding:24px;
  color:var(--emerald-700);
  background:
    linear-gradient(135deg,rgba(255,255,255,.72),rgba(255,255,255,.12)),
    repeating-linear-gradient(135deg,transparent 0,transparent 13px,rgba(11,92,76,.035) 13px,rgba(11,92,76,.035) 14px),
    var(--emerald-50);
  text-align:center;
  font-family:var(--font-mono);
  font-size:.62rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.product-placeholder-mark{display:flex;width:76px;height:76px;align-items:center;justify-content:center;border:1px dashed rgba(11,92,76,.34);border-radius:50%;background:rgba(255,255,255,.78);box-shadow:0 14px 34px rgba(6,46,37,.08);}
.product-media .product-placeholder-mark svg{width:42px;height:42px;color:var(--emerald-600);}
.product-badge{position:absolute;top:10px;left:10px;background:var(--gold);color:var(--emerald-900);font-family:var(--font-mono);font-size:.62rem;font-weight:700;padding:4px 9px;border-radius:999px;letter-spacing:.04em;}
.product-promo-badge{position:absolute;top:10px;right:10px;z-index:2;padding:5px 9px;border-radius:999px;background:#a23f2b;color:#fff;font-family:var(--font-mono);font-size:.58rem;font-weight:700;letter-spacing:.04em;box-shadow:0 6px 16px rgba(98,31,18,.18);}
.product-brand{font-family:var(--font-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--emerald-600);margin-bottom:4px;}
.product-card h3{font-size:1.05rem;margin-bottom:6px;}
.product-card .desc{font-size:.86rem;margin-bottom:14px;flex:1;}
.product-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.price{font-family:var(--font-mono);font-weight:700;color:var(--emerald-800);font-size:1.05rem;}
.price small{font-size:.65rem;font-weight:400;color:var(--ink-soft);}
.price.is-promo{display:inline-flex;align-items:baseline;gap:7px;flex-wrap:wrap;line-height:1.15;}
.price-old{color:#7a827e;font-size:.72em;font-weight:500;text-decoration-color:#a23f2b;text-decoration-thickness:1.5px;white-space:nowrap;}
.price-old small{color:inherit;font-size:.72em;}
.price-current{color:var(--emerald-800);white-space:nowrap;}
.price-current small{color:var(--ink-soft);}

/* ---------- Footer ---------- */
.site-footer{background:var(--emerald-900);color:#c9e6d9;padding-top:70px;}
.newsletter-band{display:block;margin:20px 0 0;padding:17px 0 0;border-top:1px solid rgba(255,255,255,.14);background:transparent;}
.newsletter-band h3{margin-bottom:3px;color:#fff;font-size:.86rem;}
.newsletter-band p{margin:0;color:#a9d0bf;font-size:.68rem;line-height:1.45;}
.newsletter-form{display:flex;width:min(100%,300px);align-items:flex-start;flex-direction:column;gap:8px;margin-top:11px;}
.newsletter-form input{width:100%;min-width:0;padding:9px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:#fff;font-size:.7rem;outline:none;}
.newsletter-form input::placeholder{color:#bcd8ca;}
.newsletter-consent{display:flex;align-items:flex-start;gap:6px;color:#a9d0bf;font-size:.56rem;line-height:1.42;}
.newsletter-form .newsletter-consent input{flex:0 0 auto;width:15px;min-width:0;height:15px;margin:2px 0 0;padding:0;accent-color:var(--gold);}
.newsletter-consent a{color:#fff;text-decoration:underline;text-underline-offset:2px;}
.newsletter-form .btn{min-height:34px;padding:8px 12px;font-size:.61rem;}
.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:32px;padding-bottom:40px;}
@media (max-width:800px){.footer-grid{grid-template-columns:repeat(2,1fr);}}
.footer-grid h4{color:#fff;font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:16px;}
.footer-grid li{margin-bottom:10px;font-size:.88rem;}
.footer-grid a:hover{color:#fff;text-decoration:underline;}
.footer-brand p{color:#a9d0bf;font-size:.88rem;max-width:280px;}
.footer-brand .brand{color:#fff;}
.footer-brand .brand img{filter:brightness(0) invert(1) sepia(1) saturate(4);}
.footer-social{display:flex;gap:10px;margin-top:14px;}
.footer-social a{width:36px;height:36px;border:1px solid rgba(255,255,255,.25);border-radius:50%;display:flex;align-items:center;justify-content:center;}
.footer-social a:hover{background:var(--gold);color:var(--emerald-900);border-color:var(--gold);}
.footer-credit{display:flex;justify-content:flex-end;padding:0 0 16px;}
.footer-credit a{display:inline-flex;align-items:center;gap:6px;color:#c9e6d9;font-size:calc(.82rem - 1px);font-weight:600;letter-spacing:.01em;text-decoration:none;transition:color .2s;}
.footer-credit a:hover,.footer-credit a:focus-visible{color:#fff;text-decoration:none;}
.footer-credit-heart{display:inline-block;font-size:1.1em;line-height:1;animation:footerHeart 1.8s ease-in-out infinite;}
.footer-credit img{display:block;width:auto;height:.88em;margin-left:1px;transition:transform .25s ease,opacity .25s ease;}
.footer-credit a:hover img,.footer-credit a:focus-visible img{transform:translateY(-1px) scale(1.04);}
@keyframes footerHeart{0%,60%,100%{transform:scale(1);}30%{transform:scale(1.22);}}
@media (prefers-reduced-motion:reduce){.footer-credit-heart{animation:none;}.footer-credit img{transition:none;}}
.footer-bottom{border-top:1px solid rgba(255,255,255,.14);padding:20px 0;font-size:.8rem;color:#a9d0bf;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;}
.footer-legal{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:9px 18px;}
.footer-legal a{color:#d8ece3;text-decoration-thickness:1px;text-underline-offset:4px;}
.footer-legal a:hover,.footer-legal a:focus-visible{color:#fff;text-decoration:underline;}
.site-footer-compact{padding-top:40px;}
.footer-bottom-plain{border-top:none;}

/* Legal, privacy and delivery information */
.legal-page{background:var(--paper);}
.legal-hero{position:relative;overflow:hidden;padding:clamp(72px,9vw,128px) 0 clamp(54px,7vw,92px);background:radial-gradient(circle at 86% 16%,rgba(199,162,82,.2),transparent 22%),linear-gradient(135deg,var(--emerald-900),#087255);color:#fff;}
.legal-hero::after{content:"";position:absolute;right:-150px;bottom:-250px;width:500px;height:500px;border:1px solid rgba(255,255,255,.13);border-radius:50%;box-shadow:0 0 0 55px rgba(255,255,255,.025),0 0 0 112px rgba(255,255,255,.018);pointer-events:none;}
.legal-hero-inner{position:relative;z-index:1;}
.legal-hero .eyebrow{display:flex;align-items:center;gap:12px;color:#f0d27f;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.17em;}
.legal-hero .eyebrow::before{content:"";width:30px;height:1px;background:currentColor;}
.legal-hero h1{max-width:900px;margin:20px 0 14px;color:#fff;font-size:clamp(2.7rem,7vw,6.2rem);line-height:.98;letter-spacing:-.045em;}
.legal-hero p{max-width:710px;margin:0;color:rgba(255,255,255,.78);font-size:clamp(.92rem,1.6vw,1.12rem);line-height:1.7;}
.legal-jump-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px;}
.legal-jump-links a{padding:11px 17px;border:1px solid rgba(255,255,255,.26);border-radius:999px;background:rgba(255,255,255,.07);font-size:.76rem;font-weight:700;backdrop-filter:blur(8px);}
.legal-jump-links a:hover,.legal-jump-links a:focus-visible{border-color:#f0d27f;background:#f0d27f;color:var(--emerald-900);}
.legal-layout{display:grid;grid-template-columns:220px minmax(0,1fr);align-items:start;gap:clamp(28px,5vw,72px);}
.legal-aside{position:sticky;top:104px;display:grid;gap:4px;padding:22px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 16px 46px rgba(6,46,37,.06);}
.legal-aside > span{margin-bottom:8px;color:var(--gold);font-family:var(--font-mono);font-size:.62rem;letter-spacing:.14em;}
.legal-aside a{padding:10px 12px;border-radius:10px;color:var(--ink-soft);font-size:.8rem;font-weight:700;}
.legal-aside a:hover,.legal-aside a:focus-visible{background:var(--emerald-50);color:var(--emerald-800);}
.legal-documents{display:grid;gap:26px;min-width:0;}
.legal-card{scroll-margin-top:110px;padding:clamp(25px,4vw,48px);border:1px solid rgba(11,92,76,.14);border-radius:24px;background:#fff;box-shadow:0 20px 64px rgba(6,46,37,.055);}
.legal-card > header{display:flex;align-items:flex-start;gap:18px;margin-bottom:26px;padding-bottom:23px;border-bottom:1px solid var(--line);}
.legal-card > header > span{display:grid;flex:0 0 46px;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--emerald-100);color:var(--emerald-700);font-family:var(--font-mono);font-size:.7rem;font-weight:700;}
.legal-card header p{margin:1px 0 4px;color:var(--gold);font-family:var(--font-mono);font-size:.58rem;letter-spacing:.14em;}
.legal-card h2{margin:0;font-size:clamp(1.8rem,4vw,3rem);line-height:1.05;}
.legal-card h3{margin:27px 0 8px;color:var(--emerald-900);font-size:1.05rem;}
.legal-card > p{margin:0;color:var(--ink-soft);font-size:.9rem;line-height:1.8;}
.legal-card > p a{color:var(--emerald-700);font-weight:700;text-decoration:underline;text-underline-offset:3px;}
.legal-provisional{margin-bottom:24px;padding:16px 18px;border:1px solid rgba(199,162,82,.35);border-left:4px solid var(--gold);border-radius:12px;background:#fffaf0;}
.legal-provisional strong{display:block;color:#71531b;font-size:.78rem;}
.legal-provisional p{margin:5px 0 0;color:#7b6b4d;font-size:.76rem;line-height:1.6;}
.legal-facts{display:grid;gap:0;margin:0 0 24px;border:1px solid var(--line);border-radius:14px;overflow:hidden;}
.legal-facts > div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:16px;padding:14px 16px;background:#fbfdfb;}
.legal-facts > div + div{border-top:1px solid var(--line);}
.legal-facts dt{color:var(--ink-soft);font-size:.72rem;font-weight:700;}
.legal-facts dd{margin:0;color:var(--emerald-900);font-size:.78rem;font-weight:600;overflow-wrap:anywhere;}
.delivery-terms-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 24px;}
.delivery-terms-grid > div{display:grid;gap:5px;padding:18px;border-radius:14px;background:linear-gradient(145deg,var(--emerald-50),#fff);border:1px solid rgba(11,92,76,.14);}
.delivery-terms-grid strong{color:var(--emerald-800);font-family:var(--font-display);font-size:1.15rem;}
.delivery-terms-grid span{color:var(--ink-soft);font-size:.76rem;line-height:1.5;}
.legal-contact-btn{margin-top:27px;}
@media (max-width:800px){
  .legal-layout{grid-template-columns:1fr;}
  .legal-aside{position:static;grid-template-columns:repeat(3,1fr);padding:10px;}
  .legal-aside > span{display:none;}
  .legal-aside a{text-align:center;}
}
@media (max-width:520px){
  .legal-hero{padding-top:58px;}
  .legal-jump-links{display:grid;grid-template-columns:1fr;}
  .legal-jump-links a{text-align:center;}
  .legal-aside{grid-template-columns:1fr;}
  .legal-card{border-radius:18px;}
  .legal-card > header{gap:12px;}
  .legal-card > header > span{flex-basis:40px;width:40px;height:40px;}
  .legal-facts > div{grid-template-columns:1fr;gap:4px;}
  .delivery-terms-grid{grid-template-columns:1fr;}
}

/* ---------- Modal ---------- */
.modal-overlay{position:fixed;inset:0;background:rgba(5,26,20,.6);display:none;align-items:center;justify-content:center;z-index:100;padding:20px;}
.modal-overlay.show{display:flex;}
.modal-overlay[hidden]{display:none !important;}
.modal-box{position:relative;background:#fff;border:1px solid rgba(199,162,82,.45);border-radius:var(--radius-lg);padding:44px;max-width:440px;text-align:center;box-shadow:var(--shadow-lift);}
.modal-box .icon-circle{width:70px;height:70px;border-radius:50%;background:var(--emerald-100);color:var(--emerald-700);display:flex;align-items:center;justify-content:center;margin:0 auto 18px;}
.modal-box h3{margin-bottom:10px;}
.modal-close{position:absolute;top:12px;right:14px;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--emerald-900);font-size:1.4rem;line-height:1;}
body.modal-open{overflow:hidden;}

/* ---------- Toast ---------- */
.toast{position:fixed;bottom:26px;left:50%;transform:translate(-50%,20px);background:var(--emerald-900);color:#fff;padding:14px 24px;border-radius:999px;font-size:.88rem;font-weight:600;box-shadow:var(--shadow-lift);opacity:0;pointer-events:none;transition:all .3s ease;z-index:110;display:flex;align-items:center;gap:10px;}
.toast.show{opacity:1;transform:translate(-50%,0);}

/* ---------- Breadcrumb ---------- */
.breadcrumb{font-size:.82rem;color:var(--ink-soft);margin-bottom:20px;}
.breadcrumb a:hover{color:var(--emerald-700);text-decoration:underline;}

/* ---------- Page hero (inner pages) ---------- */
.page-hero{position:relative;overflow:hidden;background:linear-gradient(160deg,var(--emerald-900),var(--emerald-700));padding:60px 0;color:#fff;}
.page-hero .hero-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.page-hero .hero-fallback{
  background:
    radial-gradient(ellipse at 20% 20%, rgba(21,167,111,.55), transparent 55%),
    radial-gradient(ellipse at 85% 75%, rgba(201,154,59,.35), transparent 50%),
    linear-gradient(160deg,#052e24,#0b6e4f 65%,#0d8a63);
}
.page-hero .container{position:relative;z-index:1;}
.page-hero h1{color:#fff;font-size:clamp(1.9rem,4vw,2.7rem);margin-bottom:8px;text-shadow:0 3px 16px rgba(0,0,0,.5);}
.page-hero p{color:#dff2e8;max-width:560px;text-shadow:0 2px 10px rgba(0,0,0,.5);}
.page-hero .eyebrow{text-shadow:0 2px 10px rgba(0,0,0,.5);}

@media (max-width:640px){
  .section{padding:56px 0;}
  .promo-banner{padding:32px;}
}

/* ---------- Scroll-reveal transitions ----------
   Content is visible by default. JavaScript opts into the hidden starting state
   only after IntersectionObserver is ready, so a slow/blocked script never
   leaves an empty section behind. */
.reveal,.reveal-scale{opacity:1;transform:none;transition:opacity .8s var(--ease),transform .8s var(--ease);}
.motion-ready .reveal:not(.in){opacity:0;transform:translateY(34px);}
.motion-ready .reveal-scale:not(.in){opacity:0;transform:scale(.94);}
.reveal.in,.reveal-scale.in{opacity:1;transform:none;}
.stagger .reveal:nth-child(1){transition-delay:.02s;}
.stagger .reveal:nth-child(2){transition-delay:.1s;}
.stagger .reveal:nth-child(3){transition-delay:.18s;}
.stagger .reveal:nth-child(4){transition-delay:.26s;}
@media (prefers-reduced-motion:reduce){
  .reveal,.reveal-scale{opacity:1 !important;transform:none !important;transition:none !important;}
}

/* ---------- Apothecary italic accent (display touches) ---------- */
.hero-content h1{font-style:italic;}

/* ---------- Brand logo chips / cards ---------- */
.brand-logo-chip{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  width:clamp(154px,11vw,204px);
  height:76px;
  padding:12px 24px;
  overflow:hidden;
  border:0;
  border-radius:0;
  background:#fff;
  box-shadow:none;
  white-space:nowrap;
  transition:background .25s ease;
}
.brand-logo-chip::after{
  content:"";
  position:absolute;
  top:23%;
  right:0;
  width:1px;
  height:54%;
  background:rgba(11,92,76,.14);
}
.brand-logo-chip:hover,.brand-logo-chip:focus-visible{
  background:var(--emerald-50);
}
.brand-logo-chip img{
  display:block;
  width:auto !important;
  max-width:100%;
  height:46px !important;
  object-fit:contain;
  mix-blend-mode:multiply;
  opacity:1;
  transition:transform .35s var(--ease);
}
.brand-logo-chip:hover img,.brand-logo-chip:focus-visible img{
  transform:translateY(-2px) scale(1.025);
}

@media (max-width:640px){
  .partners-section{padding-bottom:28px;}
  .partners-heading{padding-top:32px;padding-bottom:18px;}
  .partners-heading .eyebrow{margin-bottom:16px;font-size:.62rem;letter-spacing:.15em;}
  .partners-heading h2{font-size:clamp(2rem,10vw,2.7rem);line-height:1.08;}
  .partners-heading p{margin-top:16px;font-size:.9rem;}
  .partners-marquees{gap:10px;}
  .marquee-track{--marquee-gap:10px;animation-duration:34s;}
  .marquee-reverse .marquee-track{animation-duration:39s;}
  .brand-logo-chip{width:142px;height:64px;padding:10px 18px;}
  .brand-logo-chip img{height:40px !important;}
}

@media (prefers-reduced-motion:reduce){
  .marquee{overflow-x:auto;scrollbar-width:none;}
  .marquee::-webkit-scrollbar{display:none;}
  .marquee-track{animation:none;}
  .marquee-group[aria-hidden="true"]{display:none;}
}

/* ---------- WhatsApp floating button ---------- */
.wa-float{
  position:fixed;right:22px;bottom:22px;z-index:90;width:60px;height:60px;border-radius:50%;
  background:linear-gradient(135deg,#1fbf71,#0b5c4c);color:#fff;display:flex;align-items:center;justify-content:center;
  box-shadow:var(--shadow-lift);animation:wa-pulse 2.6s ease-in-out infinite;
}
.wa-float:hover{transform:scale(1.06);}
@keyframes wa-pulse{0%,100%{box-shadow:0 0 0 0 rgba(11,92,76,.45),var(--shadow-lift);}50%{box-shadow:0 0 0 12px rgba(11,92,76,0),var(--shadow-lift);}}
@media (max-width:640px){.wa-float{right:16px;bottom:16px;width:52px;height:52px;}}

/* ---------- Floating mini cart ---------- */
.mini-cart-fab{
  position:fixed;right:25px;bottom:96px;z-index:91;
  display:grid;place-items:center;width:56px;height:56px;padding:0;
  border:1px solid rgba(255,255,255,.65);border-radius:50%;
  background:linear-gradient(145deg,var(--gold-soft),var(--gold));color:var(--emerald-900);
  box-shadow:0 18px 45px rgba(6,46,37,.24),0 0 0 5px rgba(255,255,255,.78);
  opacity:0;transform:translateY(16px) scale(.76);pointer-events:none;
  transition:opacity .24s ease,transform .35s var(--ease),box-shadow .25s ease;
}
.mini-cart-fab[hidden]{display:none !important;}
.mini-cart-fab.is-visible{opacity:1;transform:none;pointer-events:auto;}
.mini-cart-fab:hover,.mini-cart-fab:focus-visible{transform:translateY(-3px) scale(1.03);box-shadow:0 22px 50px rgba(6,46,37,.3),0 0 0 5px #fff;}
.mini-cart-fab > svg{width:25px;height:25px;}
.mini-cart-fab-count{
  position:absolute;top:-5px;right:-4px;display:grid;place-items:center;
  min-width:22px;height:22px;padding:0 5px;border:2px solid #fff;border-radius:999px;
  background:var(--emerald-800);color:#fff;font-family:var(--font-mono);font-size:.61rem;font-weight:700;
}
.mini-cart-overlay[hidden]{display:none !important;}
.mini-cart-overlay{position:fixed;inset:0;z-index:170;display:flex;justify-content:flex-end;visibility:hidden;transition:visibility .32s;}
.mini-cart-overlay.is-open{visibility:visible;}
.mini-cart-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:0;background:rgba(3,25,20,.55);opacity:0;transition:opacity .32s ease;backdrop-filter:blur(3px);}
.mini-cart-overlay.is-open .mini-cart-backdrop{opacity:1;}
.mini-cart-drawer{
  position:relative;z-index:1;display:grid;grid-template-rows:auto minmax(0,1fr) auto;
  width:min(440px,100%);height:100%;overflow:hidden;
  border-left:1px solid rgba(11,92,76,.18);background:var(--paper);
  box-shadow:-28px 0 80px rgba(3,32,25,.22);transform:translateX(105%);
  transition:transform .42s var(--ease);
}
.mini-cart-overlay.is-open .mini-cart-drawer{transform:none;}
.mini-cart-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:28px 28px 22px;border-bottom:1px solid var(--line);background:linear-gradient(140deg,#fff,var(--emerald-50));}
.mini-cart-kicker{display:block;margin-bottom:6px;color:var(--emerald-600);font-family:var(--font-mono);font-size:.59rem;letter-spacing:.16em;text-transform:uppercase;}
.mini-cart-title{margin:0;color:var(--emerald-900);font-size:clamp(1.8rem,4vw,2.25rem);line-height:1;}
.mini-cart-close{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--emerald-900);transition:background .2s ease,color .2s ease,transform .3s var(--ease);}
.mini-cart-close:hover{background:var(--emerald-900);color:#fff;transform:rotate(5deg);}
.mini-cart-close svg,.mini-cart-remove svg{width:20px;height:20px;}
.mini-cart-items{min-height:0;overflow-y:auto;padding:12px 20px 20px;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--sage) transparent;}
.mini-cart-item{position:relative;display:grid;grid-template-columns:82px minmax(0,1fr);gap:14px;padding:16px 28px 16px 0;border-bottom:1px solid var(--line);}
.mini-cart-item-media{display:flex;align-items:center;justify-content:center;width:82px;height:94px;overflow:hidden;border:1px solid rgba(11,92,76,.1);border-radius:14px;background:linear-gradient(145deg,var(--emerald-50),#f8f3e8);color:var(--emerald-700);}
.mini-cart-item-media img{width:100%;height:100%;padding:7px;object-fit:contain;mix-blend-mode:multiply;}
.mini-cart-item-media svg{width:48px;height:48px;}
.mini-cart-item-copy{min-width:0;}
.mini-cart-item-brand{display:block;padding-right:4px;color:var(--emerald-600);font-family:var(--font-mono);font-size:.54rem;letter-spacing:.11em;text-transform:uppercase;}
.mini-cart-item h3{margin:5px 0 0;padding-right:2px;font-size:.9rem;line-height:1.32;}
.mini-cart-item h3 a:hover{color:var(--emerald-600);}
.mini-cart-item-variant{display:inline-block;margin-top:6px;color:var(--ink-soft);font-size:.62rem;}
.mini-cart-item-stock{display:block;margin-top:4px;color:var(--ink-soft);font-size:.62rem;}
.mini-cart-item-bottom{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-top:11px;}
.mini-cart-qty{display:flex;align-items:center;overflow:hidden;border:1px solid rgba(11,92,76,.2);border-radius:999px;background:#fff;}
.mini-cart-qty button{display:grid;place-items:center;width:30px;height:30px;color:var(--emerald-800);font-size:1rem;}
.mini-cart-qty button:hover{background:var(--emerald-100);}
.mini-cart-qty span{display:grid;place-items:center;min-width:26px;font-family:var(--font-mono);font-size:.64rem;}
.mini-cart-item-price{color:var(--emerald-800);font-family:var(--font-mono);font-size:.76rem;white-space:nowrap;}
.mini-cart-item-price small,.mini-cart-subtotal-value small{font-size:.56rem;font-weight:400;}
.mini-cart-item-price.is-promo{display:inline-flex;align-items:baseline;gap:5px;}
.mini-cart-item-price.is-pending{max-width:86px;color:var(--ink-soft);font-size:.6rem;text-align:right;white-space:normal;}
.mini-cart-remove{position:absolute;top:14px;right:0;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;color:var(--danger);opacity:.66;}
.mini-cart-remove:hover{background:rgba(178,58,46,.08);opacity:1;}
.mini-cart-footer{padding:20px 28px calc(22px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fff;box-shadow:0 -14px 36px rgba(6,46,37,.06);}
.mini-cart-subtotal{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:5px;color:var(--ink);font-size:.88rem;}
.mini-cart-subtotal-value{color:var(--emerald-900);font-family:var(--font-mono);font-size:1.04rem;}
.mini-cart-price-note{margin:5px 0 12px;color:var(--danger);font-size:.65rem;}
.mini-cart-checkout{display:flex;width:100%;min-height:50px;margin-top:16px;align-items:center;justify-content:center;}
.mini-cart-continue{display:block;margin:14px auto 0;padding:2px 6px;border:0;background:transparent;color:var(--emerald-700);font-size:.72rem;font-weight:700;text-decoration:underline;text-decoration-color:rgba(11,92,76,.35);text-underline-offset:4px;}
.mini-cart-checkout-panel{
  position:absolute;inset:0;z-index:4;display:grid;grid-template-rows:auto minmax(0,1fr);
  background:var(--paper);visibility:hidden;transform:translateX(105%);pointer-events:none;
  transition:transform .42s var(--ease),visibility .42s;
}
.mini-cart-drawer.checkout-open .mini-cart-checkout-panel{visibility:visible;transform:none;pointer-events:auto;}
.mini-cart-checkout-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px;border-bottom:1px solid var(--line);background:#fff;}
.mini-cart-back{display:flex;align-items:center;gap:9px;padding:8px 0;border:0;background:transparent;color:var(--emerald-800);font-size:.72rem;font-weight:700;}
.mini-cart-back svg{width:19px;height:19px;transition:transform .3s var(--ease);}
.mini-cart-back:hover svg{transform:translateX(-4px);}
.mini-cart-checkout-form{min-height:0;overflow-y:auto;padding:28px 28px calc(32px + env(safe-area-inset-bottom));overscroll-behavior:contain;}
.mini-cart-checkout-intro > span{font-family:var(--font-mono);font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);}
.mini-cart-checkout-intro h2{margin:8px 0 10px;font-size:2rem;line-height:1.04;}
.mini-cart-checkout-intro p{margin:0 0 25px;color:var(--ink-soft);font-size:.78rem;line-height:1.6;}
.mini-cart-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 12px;}
.mini-cart-form-grid label{display:grid;gap:7px;min-width:0;color:var(--ink);font-size:.68rem;font-weight:700;}
.mini-cart-form-grid label > span b{color:var(--danger);}
.mini-cart-field-full{grid-column:1/-1;}
.mini-cart-form-grid input,.mini-cart-form-grid select,.mini-cart-form-grid textarea{
  width:100%;min-height:46px;padding:11px 13px;border:1px solid rgba(11,92,76,.2);border-radius:10px;
  background:#fff;color:var(--ink);font:500 .78rem/1.4 var(--font-body);outline:none;
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.mini-cart-form-grid textarea{min-height:76px;resize:vertical;}
.mini-cart-form-grid input:focus,.mini-cart-form-grid select:focus,.mini-cart-form-grid textarea:focus{border-color:var(--emerald-600);box-shadow:0 0 0 3px rgba(23,135,109,.1);}
.mini-cart-form-grid [aria-invalid="true"]{border-color:var(--danger);background:#fffaf9;}
.mini-cart-other-city[hidden]{display:none;}
.mini-cart-delivery-card{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:19px 0;padding:15px;border:1px solid rgba(11,92,76,.14);border-radius:14px;background:linear-gradient(135deg,var(--emerald-50),#fff);}
.mini-cart-delivery-card > div{display:grid;gap:3px;}
.mini-cart-delivery-card > div + div{padding-left:12px;border-left:1px solid var(--line);text-align:right;}
.mini-cart-delivery-card span{color:var(--ink-soft);font-size:.61rem;}
.mini-cart-delivery-card strong{color:var(--emerald-900);font-family:var(--font-mono);font-size:.73rem;}
.mini-cart-delivery-card small{font-size:.54rem;font-weight:400;}
.mini-cart-consent{display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px;align-items:start;color:var(--ink-soft);font-size:.65rem;line-height:1.55;}
.mini-cart-consent input{width:17px;height:17px;margin-top:1px;accent-color:var(--emerald-700);}
.mini-cart-validation{margin:14px 0 0;padding:10px 12px;border-left:2px solid var(--danger);background:#fff3f1;color:var(--danger);font-size:.65rem;}
.mini-cart-order{display:flex;width:100%;min-height:52px;margin-top:20px;align-items:center;justify-content:center;gap:9px;}
.mini-cart-order svg{width:20px;height:20px;}

/* ---------- Product-added choice ---------- */
.added-choice-modal[hidden]{display:none !important;}
.added-choice-modal{position:fixed;inset:0;z-index:190;display:grid;place-items:center;padding:20px;visibility:hidden;transition:visibility .28s;}
.added-choice-modal.is-open{visibility:visible;}
.added-choice-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:0;background:rgba(3,25,20,.58);opacity:0;backdrop-filter:blur(5px);transition:opacity .28s ease;}
.added-choice-modal.is-open .added-choice-backdrop{opacity:1;}
.added-choice-dialog{position:relative;display:grid;grid-template-columns:190px minmax(0,1fr);width:min(700px,100%);overflow:hidden;border:1px solid rgba(255,255,255,.65);border-radius:26px;background:#fff;box-shadow:0 36px 100px rgba(3,31,24,.34);opacity:0;transform:translateY(24px) scale(.96);transition:opacity .35s ease,transform .48s var(--ease);}
.added-choice-modal.is-open .added-choice-dialog{opacity:1;transform:none;}
.added-choice-close{position:absolute;top:16px;right:16px;z-index:3;display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:rgba(255,255,255,.9);color:var(--emerald-900);}
.added-choice-close svg{width:18px;height:18px;}
.added-choice-visual{position:relative;display:grid;place-items:center;min-height:250px;overflow:hidden;background:radial-gradient(circle at 50% 42%,#fff 0 22%,transparent 23%),linear-gradient(145deg,var(--emerald-100),#e9ddbd);}
.added-choice-visual::after{content:"";position:absolute;width:180px;height:180px;border:1px solid rgba(11,92,76,.15);border-radius:50%;}
.added-choice-product{position:relative;z-index:1;display:grid;place-items:center;width:130px;height:160px;}
.added-choice-product img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 16px 20px rgba(6,46,37,.18));mix-blend-mode:multiply;}
.added-choice-product svg{width:72px;height:72px;color:var(--emerald-700);}
.added-choice-check{position:absolute;right:20px;bottom:20px;z-index:2;display:grid;place-items:center;width:42px;height:42px;border:3px solid #fff;border-radius:50%;background:var(--emerald-700);color:#fff;box-shadow:0 10px 25px rgba(6,46,37,.24);}
.added-choice-check svg{width:22px;height:22px;}
.added-choice-copy{align-self:center;padding:42px 48px 38px 38px;}
.added-choice-kicker{font-family:var(--font-mono);font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);}
.added-choice-copy h2{margin:9px 0 11px;font-size:clamp(2rem,4vw,2.7rem);line-height:1;}
.added-choice-copy p{margin:0;color:var(--ink-soft);font-size:.84rem;line-height:1.6;}
.added-choice-actions{display:flex;gap:10px;margin-top:25px;}
.added-choice-actions .btn{flex:1;min-width:0;padding-inline:16px;white-space:nowrap;}
body.mini-cart-open,body.added-choice-open{overflow:hidden;}

@media (max-width:640px){
  .mini-cart-fab{right:18px;bottom:82px;width:50px;height:50px;}
  .mini-cart-fab > svg{width:22px;height:22px;}
  .mini-cart-fab-count{top:-5px;right:-5px;min-width:21px;height:21px;font-size:.58rem;}
  .mini-cart-drawer{width:min(390px,94vw);}
  .mini-cart-header{padding:22px 20px 18px;}
  .mini-cart-items{padding:8px 16px 18px;}
  .mini-cart-item{grid-template-columns:72px minmax(0,1fr);gap:12px;padding:14px 26px 14px 0;}
  .mini-cart-item-media{width:72px;height:84px;}
  .mini-cart-item h3{font-size:.82rem;}
  .mini-cart-footer{padding:18px 20px calc(18px + env(safe-area-inset-bottom));}
  .mini-cart-checkout-header{padding:14px 17px;}
  .mini-cart-checkout-form{padding:23px 20px calc(28px + env(safe-area-inset-bottom));}
  .mini-cart-form-grid{grid-template-columns:1fr;}
  .mini-cart-field-full{grid-column:auto;}
  .added-choice-modal{align-items:end;padding:10px;}
  .added-choice-dialog{grid-template-columns:92px minmax(0,1fr);border-radius:22px;}
  .added-choice-visual{min-height:220px;}
  .added-choice-product{width:78px;height:115px;}
  .added-choice-check{right:8px;bottom:13px;width:34px;height:34px;}
  .added-choice-copy{padding:42px 18px 24px 16px;}
  .added-choice-copy h2{font-size:1.75rem;}
  .added-choice-copy p{font-size:.75rem;}
  .added-choice-actions{flex-direction:column-reverse;gap:8px;margin-top:19px;}
  .added-choice-actions .btn{width:100%;min-height:44px;}
}

@media (prefers-reduced-motion:reduce){
  .mini-cart-fab,.mini-cart-overlay,.mini-cart-backdrop,.mini-cart-drawer,.mini-cart-close,.mini-cart-checkout-panel,.added-choice-modal,.added-choice-backdrop,.added-choice-dialog{transition:none;}
}

/* ---------- Intro preloader ---------- */
#intro-veil{
  position:fixed;inset:0;z-index:9999;
  display:flex;align-items:center;justify-content:center;
  background:radial-gradient(120% 90% at 50% 28%,var(--emerald-700) 0%,var(--emerald-900) 62%,#041a14 100%);
  opacity:1;
  transition:opacity .55s ease;
  will-change:opacity;
}
#intro-veil.pk-hide{opacity:0;pointer-events:none;}
.intro-logo{
  position:relative;
  display:flex;align-items:center;justify-content:center;
  width:min(42vw,210px);
  opacity:0;
  transform:translateY(-48px) scale(.92);
  animation:pkIntroFall 1.05s cubic-bezier(.22,1.55,.4,1) forwards;
  will-change:transform,opacity;
}
.intro-logo img{
  position:relative;z-index:2;
  display:block;width:100%;height:auto;
  filter:drop-shadow(0 22px 40px rgba(0,0,0,.4));
}
.intro-ripple{
  position:absolute;left:50%;bottom:-10%;
  width:60%;height:16px;
  transform:translateX(-50%) scaleX(.35);
  border-radius:50%;
  background:radial-gradient(closest-side,rgba(231,206,148,.55),rgba(231,206,148,0) 72%);
  opacity:0;
  animation:pkIntroRipple 1.3s ease-out .5s forwards;
  will-change:transform,opacity;
}
.intro-ripple:nth-child(3){
  animation-delay:.66s;
  background:radial-gradient(closest-side,rgba(231,206,148,.32),rgba(231,206,148,0) 72%);
}
@keyframes pkIntroFall{
  0%{opacity:0;transform:translateY(-48px) scale(.92);}
  55%{opacity:1;}
  78%{transform:translateY(6px) scale(1.02);}
  100%{opacity:1;transform:translateY(0) scale(1);}
}
@keyframes pkIntroRipple{
  0%{opacity:0;transform:translateX(-50%) scaleX(.3);}
  35%{opacity:.9;}
  100%{opacity:0;transform:translateX(-50%) scaleX(1.6);}
}
@media (prefers-reduced-motion:reduce){
  .intro-logo{animation:none;opacity:1;transform:none;}
  .intro-ripple{animation:none;opacity:0;}
  #intro-veil{transition:opacity .2s linear;}
}

/* ---------- Brands directory redesign ---------- */
.brands-page{
  --brands-font:var(--font-body);
  overflow-x:hidden;
}
.brands-hero{
  min-height:430px;
  padding:0;
  display:flex;
  align-items:center;
  isolation:isolate;
  background:var(--emerald-900);
}
.brands-hero video{
  filter:saturate(.68) contrast(1.1);
  transform:scale(1.02);
}
.brands-hero-scrim{
  position:absolute;
  inset:0;
  z-index:0;
  background:
    radial-gradient(circle at 50% 38%,rgba(11,92,76,.08),rgba(6,46,37,.68) 68%),
    linear-gradient(90deg,rgba(3,25,20,.78),rgba(3,25,20,.38) 48%,rgba(3,25,20,.72));
}
.brands-hero .brands-hero-content{
  width:100%;
  max-width:1180px;
  padding-top:62px;
  padding-bottom:126px;
}
.brands-hero-copy{
  position:relative;
  z-index:1;
  max-width:920px;
  margin-inline:auto;
  text-align:center;
}
.brands-hero .brands-hero-kicker{
  margin-bottom:18px;
  color:var(--gold-soft);
  font-size:.68rem;
  letter-spacing:.2em;
}
.brands-hero .brands-hero-kicker::before{background:var(--gold);}
.brands-hero h1{
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap:14px;
  max-width:1180px;
  margin:0;
  color:#fff;
  font-size:clamp(2.8rem,5vw,4.75rem);
  line-height:1;
  letter-spacing:-.035em;
  text-shadow:0 8px 28px rgba(0,0,0,.4);
}
.brands-inline-mark{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:142px;
  height:54px;
  padding:6px 12px;
  border:1px solid rgba(255,255,255,.45);
  border-radius:999px;
  background:rgba(251,250,246,.92);
  box-shadow:0 14px 34px rgba(0,0,0,.22);
  vertical-align:middle;
}
.brands-inline-mark img{
  width:40px;
  height:40px;
  padding:5px;
  object-fit:contain;
  border:2px solid var(--paper);
  border-radius:50%;
  background:#fff;
}
.brands-inline-mark img + img{margin-left:-7px;}
.brands-hero-copy > p{
  max-width:620px;
  margin:22px auto 0;
  color:rgba(255,255,255,.86);
  font-family:var(--brands-font);
  font-size:clamp(.98rem,1.4vw,1.14rem);
  line-height:1.65;
  text-shadow:0 3px 16px rgba(0,0,0,.45);
}
.brands-hero-facts{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px 28px;
  margin-top:24px;
  color:rgba(255,255,255,.78);
  font-family:var(--brands-font);
  font-size:.78rem;
  letter-spacing:.02em;
}
.brands-hero-facts span{display:inline-flex;align-items:baseline;gap:5px;}
.brands-hero-facts strong{color:var(--gold-soft);font-size:1.05rem;font-weight:600;}
.brands-marquee{
  position:absolute;
  right:0;
  bottom:0;
  left:0;
  z-index:2;
  height:82px;
  overflow:hidden;
  border-top:1px solid rgba(231,206,148,.28);
  background:rgba(4,31,25,.94);
}
.brands-marquee::before,.brands-marquee::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  z-index:2;
  width:min(10vw,140px);
  pointer-events:none;
}
.brands-marquee::before{left:0;background:linear-gradient(90deg,var(--emerald-900),transparent);}
.brands-marquee::after{right:0;background:linear-gradient(-90deg,var(--emerald-900),transparent);}
.brands-marquee-track{
  display:flex;
  width:max-content;
  height:100%;
  animation:brandsMarquee 38s linear infinite;
  will-change:transform;
}
.brands-marquee-group{display:flex;align-items:center;gap:12px;padding-right:12px;}
.brands-marquee-item{
  display:flex;
  align-items:center;
  justify-content:center;
  width:128px;
  height:50px;
  padding:8px 16px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:999px;
  background:rgba(255,255,255,.94);
}
.brands-marquee-item img{
  width:auto !important;
  max-width:94px;
  height:28px !important;
  object-fit:contain;
}
@keyframes brandsMarquee{to{transform:translateX(-50%);}}

.brands-directory-section{
  position:relative;
  padding:68px 0 92px;
  overflow:hidden;
  background:
    radial-gradient(circle at 8% 12%,rgba(23,135,109,.07),transparent 25%),
    radial-gradient(circle at 94% 34%,rgba(199,162,82,.08),transparent 24%),
    var(--paper);
}
.brands-directory-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:44px;
  margin-bottom:34px;
}
.brands-directory-head > div{max-width:670px;}
.brands-directory-head h2{
  max-width:660px;
  margin:0;
  font-size:clamp(2rem,3.8vw,3.35rem);
  line-height:1.06;
  letter-spacing:-.025em;
}
.brands-directory-head > p{
  max-width:380px;
  margin:0 0 5px;
  font-family:var(--brands-font);
  font-size:.98rem;
  line-height:1.65;
}
.brands-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:12px;
  border:1px solid rgba(11,92,76,.18);
  border-radius:18px;
  background:rgba(255,255,255,.78);
  box-shadow:0 18px 45px -34px rgba(6,46,37,.45);
  backdrop-filter:blur(12px);
}
.brands-search{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:260px;
  flex:1;
  padding:0 12px;
  color:var(--emerald-700);
}
.brands-search svg{width:21px;height:21px;flex:none;}
.brands-search input{
  width:100%;
  min-width:0;
  padding:10px 0;
  border:0;
  outline:0;
  background:transparent;
  color:var(--ink);
  font-family:var(--brands-font);
  font-size:.96rem;
}
.brands-search input::placeholder{color:#6d7f77;}
.brands-toolbar-actions{display:flex;align-items:center;gap:10px;}
.brands-reset,.brands-sort-wrap select{
  min-height:44px;
  border:1px solid rgba(11,92,76,.2);
  border-radius:999px;
  background:#fff;
  color:var(--emerald-800);
  font-family:var(--brands-font);
  font-size:.82rem;
  font-weight:600;
}
.brands-reset{padding:0 20px;transition:background .2s ease,color .2s ease,border-color .2s ease;}
.brands-reset:hover,.brands-reset.is-active{border-color:var(--emerald-700);background:var(--emerald-700);color:#fff;}
.brands-sort-wrap{position:relative;}
.brands-sort-wrap select{appearance:none;padding:0 42px 0 18px;cursor:pointer;}
.brands-sort-wrap::after{
  content:"";
  position:absolute;
  top:50%;
  right:18px;
  width:7px;
  height:7px;
  border-right:1.5px solid var(--emerald-700);
  border-bottom:1.5px solid var(--emerald-700);
  transform:translateY(-70%) rotate(45deg);
  pointer-events:none;
}
.brands-results-line{
  display:flex;
  align-items:center;
  gap:16px;
  margin:28px 0 18px;
  color:var(--emerald-700);
  font-family:var(--font-mono);
  font-size:.66rem;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.brands-results-rule{height:1px;flex:1;background:linear-gradient(90deg,var(--line),transparent);}
.brands-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  grid-auto-flow:dense;
  gap:18px;
}
.brand-card{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:0;
  min-height:286px;
  padding:0;
  overflow:hidden;
  border:1px solid rgba(11,92,76,.16);
  border-radius:20px;
  background:rgba(255,255,255,.9);
  text-align:left;
  box-shadow:0 18px 44px -34px rgba(6,46,37,.48);
  transition:transform .55s var(--ease),border-color .35s ease,box-shadow .55s var(--ease);
}
.brand-card::after{
  content:"";
  position:absolute;
  inset:8px;
  border:1px solid rgba(11,92,76,.09);
  border-radius:13px;
  pointer-events:none;
}
.brand-card:hover,.brand-card:focus-visible{
  transform:translateY(-8px);
  border-color:rgba(11,92,76,.48);
  box-shadow:0 32px 70px -36px rgba(6,46,37,.58);
}
.brand-card-media{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  height:154px;
  margin:10px 10px 0;
  overflow:hidden;
  border-radius:13px;
  background:
    radial-gradient(circle at 50% 50%,rgba(255,255,255,.96),rgba(227,238,232,.7) 70%),
    var(--emerald-50);
}
.brand-card-media::before{
  content:"";
  position:absolute;
  width:132px;
  height:132px;
  border:1px solid rgba(11,92,76,.09);
  border-radius:50%;
}
.brand-card-logo{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  width:132px;
  height:82px;
  padding:12px;
  transition:transform .7s var(--ease);
}
.brand-card-logo img{
  width:100% !important;
  max-width:112px;
  height:100% !important;
  object-fit:contain;
}
.brand-card:hover .brand-card-logo{transform:scale(1.075);}
.brand-card-content{
  display:flex;
  flex:1;
  flex-direction:column;
  justify-content:space-between;
  gap:18px;
  padding:20px 22px 21px;
  font-family:var(--brands-font);
}
.brand-card-copy{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;}
.brand-card-copy strong{
  color:var(--emerald-900);
  font-family:var(--font-display);
  font-size:1.2rem;
  font-weight:600;
  line-height:1.15;
}
.brand-card-copy > span{
  flex:none;
  color:var(--ink-soft);
  font-size:.7rem;
  white-space:nowrap;
}
.brand-card-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding-top:14px;
  border-top:1px solid var(--line);
  color:var(--emerald-700);
  font-size:.76rem;
  font-weight:600;
}
.brand-card-cta svg{
  width:20px;
  height:20px;
  transition:transform .35s var(--ease);
}
.brand-card:hover .brand-card-cta svg{transform:translateX(5px);}
.brands-empty{
  padding:72px 24px;
  border:1px dashed rgba(11,92,76,.28);
  border-radius:20px;
  text-align:center;
  background:rgba(255,255,255,.66);
}
.brands-empty p{margin-bottom:22px;}

@media (max-width:1000px){
  .brands-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .brands-directory-head{align-items:start;flex-direction:column;gap:16px;}
  .brands-directory-head > p{max-width:620px;}
}
@media (max-width:760px){
  .brands-hero{min-height:420px;}
  .brands-hero .brands-hero-content{padding:54px 18px 124px;}
  .brands-hero h1{gap:10px;font-size:clamp(2.55rem,12vw,3.8rem);}
  .brands-inline-mark{width:122px;height:48px;}
  .brands-inline-mark img{width:35px;height:35px;}
  .brands-hero-facts{gap:8px 18px;}
  .brands-directory-section{padding:54px 0 72px;}
  .brands-toolbar{align-items:stretch;flex-direction:column;}
  .brands-search{min-width:0;padding:0 8px;}
  .brands-toolbar-actions{display:grid;grid-template-columns:1fr 1fr;}
  .brands-reset,.brands-sort-wrap select{width:100%;}
}
@media (max-width:620px){
  .brands-hero .brands-hero-content{padding-top:46px;}
  .brands-hero-copy > p{margin-top:17px;font-size:.92rem;}
  .brands-hero-facts{font-size:.7rem;}
  .brands-marquee{height:72px;}
  .brands-marquee-item{width:112px;height:44px;padding-inline:13px;}
  .brands-marquee-item img{max-width:82px;height:24px !important;}
  .brands-directory-head{margin-bottom:26px;}
  .brands-directory-head h2{font-size:clamp(2rem,9.7vw,2.75rem);}
  .brands-toolbar-actions{grid-template-columns:1fr;}
  .brands-grid{grid-template-columns:1fr;gap:14px;}
  .brand-card{min-height:264px;}
  .brand-card-media{height:142px;}
}
@media (prefers-reduced-motion:reduce){
  .brands-marquee{overflow-x:auto;scrollbar-width:none;}
  .brands-marquee::-webkit-scrollbar{display:none;}
  .brands-marquee-track{animation:none;}
  .brands-marquee-group[aria-hidden="true"]{display:none;}
  .brand-card,.brand-card-logo,.brand-card-cta svg{transition:none;}
}

/* ---------- Contact choice dialog ---------- */
.contact-choice-modal[hidden]{display:none;}
.contact-choice-modal{
  position:fixed;
  inset:0;
  z-index:160;
  display:grid;
  place-items:center;
  padding:22px;
  opacity:0;
  visibility:hidden;
  transition:opacity .28s ease,visibility .28s ease;
}
.contact-choice-modal.is-open{opacity:1;visibility:visible;}
.contact-choice-backdrop{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  background:rgba(3,24,19,.66);
  backdrop-filter:blur(9px) saturate(.78);
}
.contact-choice-dialog{
  position:relative;
  width:min(760px,100%);
  max-height:calc(100dvh - 44px);
  overflow:auto;
  border:1px solid rgba(231,206,148,.56);
  border-radius:28px;
  background:
    radial-gradient(circle at 92% 12%,rgba(199,162,82,.12),transparent 28%),
    radial-gradient(circle at 6% 92%,rgba(23,135,109,.09),transparent 30%),
    var(--paper);
  box-shadow:0 40px 120px rgba(0,0,0,.38);
  opacity:0;
  transform:translateY(24px) scale(.97);
  transition:opacity .36s var(--ease),transform .46s var(--ease);
}
.contact-choice-modal.is-open .contact-choice-dialog{opacity:1;transform:translateY(0) scale(1);}
.contact-choice-dialog::after{
  content:"";
  position:absolute;
  inset:50px 10px 10px;
  border:1px solid rgba(11,92,76,.1);
  border-radius:18px;
  pointer-events:none;
}
.contact-choice-marquee{
  position:relative;
  z-index:2;
  height:42px;
  overflow:hidden;
  background:var(--emerald-900);
  color:var(--gold-soft);
  font-family:var(--font-mono);
  font-size:.57rem;
  letter-spacing:.16em;
  line-height:42px;
  text-transform:uppercase;
  white-space:nowrap;
}
.contact-choice-marquee::before,.contact-choice-marquee::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  z-index:2;
  width:52px;
  pointer-events:none;
}
.contact-choice-marquee::before{left:0;background:linear-gradient(90deg,var(--emerald-900),transparent);}
.contact-choice-marquee::after{right:0;background:linear-gradient(-90deg,var(--emerald-900),transparent);}
.contact-choice-marquee-track{
  display:flex;
  width:max-content;
  animation:contactChoiceMarquee 24s linear infinite;
}
.contact-choice-marquee-track span{padding-right:34px;}
@keyframes contactChoiceMarquee{to{transform:translateX(-50%);}}
.contact-choice-close{
  position:absolute;
  top:58px;
  right:18px;
  z-index:4;
  display:flex;
  width:42px;
  height:42px;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(11,92,76,.17);
  border-radius:50%;
  background:rgba(255,255,255,.88);
  color:var(--emerald-900);
  box-shadow:0 10px 28px rgba(6,46,37,.1);
  transition:transform .25s var(--ease),background .2s ease;
}
.contact-choice-close:hover{transform:rotate(8deg) scale(1.06);background:#fff;}
.contact-choice-close svg{width:20px;height:20px;}
.contact-choice-header{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  gap:18px;
  padding:34px 66px 0 38px;
}
.contact-choice-mark{
  display:flex;
  width:64px;
  height:64px;
  flex:none;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(11,92,76,.18);
  border-radius:50%;
  background:#fff;
  box-shadow:0 16px 38px rgba(6,46,37,.12);
}
.contact-choice-mark img{width:46px;height:46px;object-fit:contain;}
.contact-choice-kicker{
  display:block;
  margin-bottom:7px;
  color:var(--emerald-600);
  font-family:var(--font-mono);
  font-size:.58rem;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.contact-choice-header h2{
  max-width:520px;
  margin:0;
  color:var(--emerald-900);
  font-size:clamp(2rem,4vw,2.9rem);
  line-height:1.02;
  letter-spacing:-.04em;
}
.contact-choice-intro{
  position:relative;
  z-index:2;
  max-width:600px;
  margin:18px 38px 26px;
  color:var(--ink-soft);
  font-family:var(--font-body);
  font-size:.95rem;
  line-height:1.65;
}
.contact-choice-actions{
  position:relative;
  z-index:2;
  display:flex;
  align-items:stretch;
  gap:12px;
  padding:0 38px;
}
.contact-choice-card{
  position:relative;
  display:flex;
  min-width:0;
  min-height:182px;
  flex:1 1 50%;
  flex-direction:column;
  justify-content:space-between;
  padding:22px;
  overflow:hidden;
  border:1px solid rgba(11,92,76,.2);
  border-radius:20px;
  font-family:var(--font-body);
  transition:flex-grow .5s var(--ease),transform .45s var(--ease),box-shadow .45s var(--ease),border-color .25s ease;
}
.contact-choice-card::before{
  content:"";
  position:absolute;
  right:-42px;
  bottom:-48px;
  width:150px;
  height:150px;
  border:1px solid currentColor;
  border-radius:50%;
  opacity:.1;
}
.contact-choice-card:hover,.contact-choice-card:focus-visible{
  flex-grow:1.12;
  transform:translateY(-6px);
  box-shadow:0 24px 48px rgba(6,46,37,.16);
}
.contact-choice-call{background:linear-gradient(145deg,#fff,#eef5f0);color:var(--emerald-900);}
.contact-choice-call:hover{border-color:rgba(11,92,76,.5);}
.contact-choice-whatsapp{border-color:var(--emerald-700);background:linear-gradient(145deg,var(--emerald-700),var(--emerald-900));color:#fff;}
.contact-choice-icon{
  display:flex;
  width:44px;
  height:44px;
  align-items:center;
  justify-content:center;
  border:1px solid currentColor;
  border-radius:50%;
  background:rgba(255,255,255,.12);
}
.contact-choice-icon svg{width:21px;height:21px;}
.contact-choice-card-copy{display:flex;flex-direction:column;gap:2px;}
.contact-choice-card-copy small{
  color:inherit;
  font-family:var(--font-mono);
  font-size:.55rem;
  letter-spacing:.13em;
  opacity:.7;
  text-transform:uppercase;
}
.contact-choice-card-copy strong{font-size:1.12rem;font-weight:600;line-height:1.2;}
.contact-choice-card-copy > span{font-size:.72rem;opacity:.72;}
.contact-choice-arrow{
  position:absolute;
  top:22px;
  right:20px;
  display:flex;
  width:35px;
  height:35px;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:rgba(255,255,255,.15);
  transition:transform .35s var(--ease);
}
.contact-choice-arrow svg{width:18px;height:18px;}
.contact-choice-card:hover .contact-choice-arrow{transform:translateX(4px);}
.contact-choice-full{
  position:relative;
  z-index:2;
  display:flex;
  width:max-content;
  max-width:calc(100% - 76px);
  align-items:center;
  gap:8px;
  margin:24px auto 30px;
  color:var(--emerald-700);
  font-family:var(--font-body);
  font-size:.78rem;
  font-weight:600;
  text-decoration:underline;
  text-underline-offset:4px;
}
.contact-choice-full svg{width:16px;height:16px;}
body.contact-choice-open{overflow:hidden;}

@media (max-width:640px){
  .contact-choice-modal{padding:12px;}
  .contact-choice-dialog{max-height:calc(100dvh - 24px);border-radius:23px;}
  .contact-choice-dialog::after{inset:50px 7px 7px;border-radius:16px;}
  .contact-choice-close{top:56px;right:14px;width:40px;height:40px;}
  .contact-choice-header{align-items:flex-start;gap:13px;padding:28px 58px 0 22px;}
  .contact-choice-mark{width:50px;height:50px;}
  .contact-choice-mark img{width:36px;height:36px;}
  .contact-choice-header h2{font-size:clamp(1.75rem,8vw,2.35rem);}
  .contact-choice-intro{margin:15px 22px 21px;font-size:.88rem;}
  .contact-choice-actions{flex-direction:column;gap:10px;padding-inline:22px;}
  .contact-choice-card{min-height:126px;flex-basis:auto;padding:18px;}
  .contact-choice-card:hover,.contact-choice-card:focus-visible{flex-grow:1;transform:translateY(-3px);}
  .contact-choice-card-copy{padding-right:40px;}
  .contact-choice-icon{width:38px;height:38px;}
  .contact-choice-full{max-width:calc(100% - 44px);margin:20px auto 25px;text-align:center;}
}
@media (prefers-reduced-motion:reduce){
  .contact-choice-modal,.contact-choice-dialog,.contact-choice-card,.contact-choice-arrow,.contact-choice-close{transition:none;}
  .contact-choice-marquee-track{animation:none;}
  .contact-choice-marquee-track span + span{display:none;}
  html{scroll-behavior:auto;}
  .wa-float{animation:none;}
}

/* ---------- Site-wide responsive hardening ---------- */
@media (max-width:960px){
  .nav{min-width:0;padding-inline:20px;gap:12px;}
  .brand{min-width:0;}
  .brand > span:last-child{min-width:0;white-space:nowrap;}
  .nav-actions{flex:0 0 auto;gap:10px;}
}

@media (max-width:640px){
  html,body{max-width:100%;overflow-x:clip;}
  .container{width:100%;padding-inline:16px;}
  .section{padding:56px 0;}

  .nav{min-height:66px;padding-block:10px;padding-inline:16px;gap:9px;}
  .nav-links{inset:66px 0 0;}
  .brand{gap:7px;font-size:1.02rem;line-height:1.05;}
  .brand .mark{width:34px;height:34px;}
  .brand small{font-size:.51rem;letter-spacing:.1em;}
  .nav-toggle{width:42px;height:42px;flex-basis:42px;padding:8px;}
  .lang-toggle button{padding:4px 8px;font-size:.69rem;}
  .cart-btn{gap:5px;}

  .newsletter-band{margin:18px 0 0;padding:16px 0 0;border-radius:0;}
  .newsletter-form{width:min(100%,300px);}
  .newsletter-form input{width:100%;min-width:0;}
  .newsletter-form .btn{width:auto;}

  .footer-grid{grid-template-columns:1fr;gap:26px;}
  .footer-bottom{align-items:flex-start;flex-direction:column;}
  .footer-legal{justify-content:flex-start;}
  .footer-credit{justify-content:flex-start;}

  .toast{right:14px;bottom:18px;left:14px;width:auto;justify-content:center;text-align:center;transform:translateY(20px);}
  .toast.show{transform:none;}
  .modal{padding:14px;}
  .modal-box{width:100%;max-width:430px;padding:38px 22px 26px;}

  .wa-float{right:14px;bottom:16px;width:50px;height:50px;}
  .mini-cart-fab{right:14px;bottom:80px;width:50px;height:50px;}
  .mini-cart-drawer{width:100%;max-width:100vw;border-left:0;}
  .mini-cart-header{padding:20px 18px 17px;}
  .mini-cart-items{padding-inline:14px;}
  .mini-cart-footer{padding-inline:18px;}
  .mini-cart-checkout-form{padding-inline:18px;}

  .legal-hero{padding-top:64px;}
  .legal-card{padding:24px 20px;}
  .legal-card > header{gap:12px;}
}

@media (max-width:420px){
  .nav{padding-inline:12px;gap:7px;}
  .brand{font-size:.94rem;}
  .brand .mark{width:31px;height:31px;}
  .brand small{font-size:.48rem;}
  .nav-toggle{width:40px;height:40px;flex-basis:40px;}
  .lang-toggle button{padding-inline:6px;}
  .cart-btn > [data-i18n]{display:none;}
  .cart-count{min-width:18px;height:18px;font-size:.59rem;}
  .newsletter-band{padding-inline:0;}
  .mini-cart-item-bottom{align-items:flex-start;flex-direction:column;}
  .mini-cart-item-price{text-align:left;}
  .mini-cart-delivery-card{grid-template-columns:1fr;}
  .mini-cart-delivery-card > div + div{padding-top:10px;padding-left:0;border-top:1px solid var(--line);border-left:0;text-align:left;}
}

/* ==========================================================================
   Événements — bandeau d'annonce + indicateur dans la navigation
   (piloté par js/events-core.js et js/events-data.js)
   ========================================================================== */
.pk-event-ribbon{
  --event-color:var(--emerald-700);
  position:relative;z-index:61;display:flex;align-items:center;justify-content:center;
  min-height:38px;padding:6px 44px;
  background:var(--event-color);color:#fff;font-size:.8rem;line-height:1.3;
}
.pk-event-ribbon-link{display:inline-flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:4px 10px;text-align:center;}
.pk-event-ribbon-link strong{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;}
.pk-event-ribbon-text{opacity:.92;}
.pk-event-ribbon-cta{font-weight:700;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;}
.pk-event-ribbon-link:hover .pk-event-ribbon-cta{text-decoration-thickness:2px;}
.pk-event-ribbon-dot{width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.28);}
.pk-event-ribbon-close{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:28px;height:28px;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:1.1rem;line-height:1;}
.pk-event-ribbon-close:hover{background:rgba(255,255,255,.28);}
@media (max-width:640px){
  .pk-event-ribbon{padding:6px 40px 6px 14px;font-size:.74rem;justify-content:flex-start;}
  .pk-event-ribbon-link{justify-content:flex-start;text-align:left;}
  .pk-event-ribbon-text{display:none;}
}
.nav-links a.has-live-event::before{
  content:"";position:absolute;top:2px;right:-9px;width:7px;height:7px;border-radius:50%;
  background:#c2456f;box-shadow:0 0 0 2px #fff;
}
