/* =====================================================================
   Showroom WOW 2026 — Exclusivas Iglesias
   Base: animation-websites kit (00) + brand overrides from 10_BUILD_WOW.md
   Modules used: 01 (hero timeline, no preloader), 03, 06, 07, 13, 16
   ===================================================================== */

/* ---------- Fonts (self-hosted, latin subset covers PT-PT + €) ---------- */
@font-face{font-family:'Manrope';src:url(../fonts/manrope-latin-400-normal.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Manrope';src:url(../fonts/manrope-latin-600-normal.woff2) format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Manrope';src:url(../fonts/manrope-latin-700-normal.woff2) format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Manrope';src:url(../fonts/manrope-latin-800-normal.woff2) format('woff2');font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:'Raleway';src:url(../fonts/raleway-latin-500-normal.woff2) format('woff2');font-weight:500;font-style:normal;font-display:swap}

/* ---------- Tokens ---------- */
:root{
  /* 5 editable brand colours (kit) */
  --c-bg:#ffffff;
  --c-ink:#1f2937;
  --c-primary:#00a9ab;      /* lines, badges, icons, kicker rule — never text on white */
  --c-accent:#f76a0c;       /* rare highlight: H1 underline, selected slot */
  --c-dark:#008a8c;         /* ExpoFarma palette2 */
  --c-hero-a:#00a3a5;       /* ExpoFarma green (#00a9ab) nudged to 3.1:1 with white — visually identical */
  --c-hero-b:#008a8c;
  --c-foot:#00a3a5;
  /* brand-fixed derived values (override kit color-mix where the ExpoFarma palette is explicit) */
  --c-soft:#f7f8fa;
  --c-surface:#ffffff;
  --c-ink-soft:#6b7280;     /* 4.83:1 on #fff, 4.55:1 on #f7f8fa */
  --c-line:#e5e7eb;
  --c-line-2:#f0f2f5;
  --c-primary-soft:#e6f6f6;
  --c-primary-text:#007577; /* teal used as text on light backgrounds */
  --c-check:#008a8c;        /* ✓ icons, 4.19:1 */
  --c-btn:#007577;          /* primary button (5.51:1 with white) */
  --c-btn-h:#005f61;
  --c-on-primary:#ffffff;
  --c-on-dark:#ffffff;
  --c-focus:#1f2937;
  /* type */
  --f-h:'Manrope',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --f-b:'Manrope',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --f-menu:'Raleway','Manrope',system-ui,sans-serif;
  --scale:1;
  /* motion + rhythm */
  --ease:cubic-bezier(.2,.7,.2,1);
  --sec:clamp(4rem,9vw,7rem);
  --hdr:76px;
}

/* ---------- Base (kit) ---------- */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
.no-motion{scroll-behavior:auto}
body{font-family:var(--f-b);font-size:calc(18px*var(--scale));line-height:1.6;color:var(--c-ink);background:var(--c-bg);overflow-x:hidden;-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
h1,h2,h3,h4{font-family:var(--f-h);font-weight:700;letter-spacing:-.02em;line-height:1.08}
h1{font-size:calc(clamp(2.2rem,4.2vw,3.6rem)*var(--scale));font-weight:800}
h2{font-size:calc(clamp(1.9rem,3.8vw,3rem)*var(--scale));font-weight:800}
h3{font-size:calc(clamp(1.3rem,1.9vw,1.6rem)*var(--scale));letter-spacing:-.01em}
p{max-width:38em}
.wrap{width:min(1200px,calc(100% - 3rem));margin-inline:auto}
section{padding-block:var(--sec);position:relative}
[id]{scroll-margin-top:96px}
.bg-soft{background:var(--c-soft)}
.kicker{font-family:var(--f-h);font-weight:700;color:var(--c-primary-text);font-size:.82em;letter-spacing:.1em;text-transform:uppercase;display:flex;align-items:center;gap:.7rem;margin-bottom:1.1rem}
.kicker::before{content:"";width:28px;height:2px;background:var(--c-primary);border-radius:2px;flex:none}
.lead{font-size:clamp(1.05em,1.4vw,1.2em);color:var(--c-ink-soft)}
.sec-head{max-width:46rem;margin-bottom:clamp(2rem,4vw,3.2rem)}
#solucoes .sec-head{max-width:none}#solucoes .sec-head h2{max-width:46rem}
.sec-head h2{margin-bottom:1rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;font-family:var(--f-h);font-weight:600;font-size:1em;line-height:1.2;padding:.95rem 1.5rem;border-radius:3px;transition:transform .35s var(--ease),background .3s,box-shadow .35s var(--ease),color .3s;text-align:center}
.btn-p{background:var(--c-btn);color:var(--c-on-primary)}
.btn-p:hover{background:var(--c-btn-h);transform:translateY(-2px);box-shadow:0 12px 28px -14px rgba(31,41,55,.55)}
.btn-s{border:1.5px solid color-mix(in srgb,currentColor 35%,transparent)}
.btn-s:hover{background:color-mix(in srgb,currentColor 7%,transparent);transform:translateY(-2px)}
.btn-light{background:#fff;color:var(--c-btn-h)}
.btn-light:hover{background:var(--c-primary-soft);transform:translateY(-2px)}
.btn .arr{width:18px;height:18px;flex:none;transition:transform .35s var(--ease)}
.btn:hover .arr{transform:translateX(4px)}
:focus-visible{outline:3px solid var(--c-focus);outline-offset:3px}
.on-dark :focus-visible,.hero :focus-visible,.ft :focus-visible{outline-color:#fff}
.skip{position:absolute;left:1rem;top:-100px;z-index:200;background:var(--c-ink);color:#fff;padding:.7rem 1rem;border-radius:3px}
.skip:focus{top:1rem}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
[hidden]{display:none!important}

/* ---------- Robustness: hidden states only under .js ---------- */
.js .rv{opacity:0}
.no-motion .rv,.js-failed .rv{opacity:1!important;visibility:visible!important;transform:none!important}

/* =====================================================================
   07 · Header (fixed, shrink by scrollY, on-dark over dark sections)
   ===================================================================== */
.hd{position:fixed;top:0;inset-inline:0;z-index:50;color:var(--c-ink);transition:background .4s,box-shadow .4s,color .4s}
.hd-in{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.15rem 0;transition:padding .4s var(--ease)}
.hd.shrink{background:color-mix(in srgb,#fff 92%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--c-line)}
.hd.shrink .hd-in{padding:.65rem 0}
.hd.on-dark{color:var(--c-on-dark);background:transparent;box-shadow:none}
.hd.on-dark.shrink{background:color-mix(in srgb,var(--c-hero-b) 94%,transparent)}
.logo{display:inline-flex;align-items:baseline;gap:.35em;font-family:var(--f-h);font-size:1.22em;letter-spacing:-.02em;line-height:1;white-space:nowrap}
.logo b{font-weight:800}.logo span{font-weight:500}
.logo i{display:inline-block;width:.5em;height:.5em;border-radius:50%;background:var(--c-primary);align-self:center;margin-right:.1em}
.hd-nav{display:flex;align-items:center;gap:2rem;font-family:var(--f-menu);font-weight:500;font-size:.98em}
.hd-nav a{position:relative;padding:.3rem 0}
.hd-nav a::after{content:"";position:absolute;left:0;bottom:-2px;width:100%;height:2px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.hd-nav a:hover::after{transform:scaleX(1)}
.hd-cta{display:flex;align-items:center;gap:.8rem}
.hd-btn{padding:.7rem 1.15rem;font-size:.92em}
.hd.on-dark .hd-btn{background:#fff;color:var(--c-btn-h)}
.hd.on-dark .hd-btn:hover{background:var(--c-primary-soft)}
.hd-burger{display:none;width:44px;height:44px;border-radius:3px;place-items:center}
.hd-burger span{display:block;width:22px;height:2px;background:currentColor;position:relative;transition:transform .3s var(--ease),background .2s}
.hd-burger span::before,.hd-burger span::after{content:"";position:absolute;left:0;width:22px;height:2px;background:currentColor;transition:transform .3s var(--ease)}
.hd-burger span::before{top:-7px}.hd-burger span::after{top:7px}
.hd.menu-open .hd-burger span{background:transparent}
.hd.menu-open .hd-burger span::before{transform:translateY(7px) rotate(45deg)}
.hd.menu-open .hd-burger span::after{transform:translateY(-7px) rotate(-45deg)}
@media(max-width:860px){
  .hd-burger{display:grid}
  .hd-nav{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:#fff;color:var(--c-ink);padding:.5rem 1.5rem 1.2rem;box-shadow:0 18px 30px -20px rgba(31,41,55,.4);display:none}
  .hd.menu-open .hd-nav{display:flex}
  .hd-nav a{padding:.9rem 0;border-bottom:1px solid var(--c-line);font-size:1.05em}
  .hd-nav a::after{display:none}
  .hd.menu-open{background:#fff;color:var(--c-ink)}
  .hd.menu-open .hd-btn{background:var(--c-btn);color:#fff}
  .hd-btn .lg{display:none}
}
@media(min-width:861px){.hd-btn .sm{display:none}}
@media(max-width:480px){.hd-in{gap:.6rem}.logo{font-size:1.02em}.hd-cta{gap:.35rem}.hd-btn{padding:.6rem .85rem;font-size:.86em}.hd-burger{width:40px}}

/* =====================================================================
   01 · Hero (timeline without preloader — approved 07-10-2026)
   ===================================================================== */
.hero{background:linear-gradient(135deg,var(--c-hero-a) 0%,var(--c-hero-b) 100%);color:#fff;overflow:hidden;padding-block:calc(var(--hdr) + clamp(2rem,4.5vw,3.6rem)) 0;isolation:isolate}
.hero::before{content:"";position:absolute;z-index:-1;width:720px;height:720px;border-radius:50%;right:-220px;top:-260px;background:radial-gradient(closest-side,rgba(255,255,255,.14),rgba(255,255,255,0));pointer-events:none}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr);gap:clamp(2rem,4vw,4rem);align-items:center;padding-bottom:clamp(2.5rem,4.5vw,4rem)}
.hero .kicker{color:#fff;opacity:.92}
.hero .kicker::before{background:var(--c-accent)}
.hero h1{margin-bottom:1.3rem;max-width:17em}
.h1m .w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.2em;margin-bottom:-.2em}
.h1m .w>i{display:inline-block;font-style:normal;will-change:transform}
.h1m mark{background:none;color:inherit;text-decoration:underline;text-decoration-color:var(--c-accent);text-decoration-thickness:.1em;text-underline-offset:.14em;text-decoration-skip-ink:none}
.hero .lead{color:#fff;font-weight:600;margin-bottom:2rem;font-size:clamp(1.05em,1.35vw,1.2em)}
.hero-meta{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:1.2rem 2.4rem;margin-bottom:2.2rem}
.hero-meta div{display:grid;gap:.15rem}
.hero-meta dt{font-size:.74em;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.hero-meta dd{font-family:var(--f-h);font-weight:700;font-size:1.04em;line-height:1.3}
.hero .ctas{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.4rem}
.hero .note{font-size:.9em;font-weight:600}
@media(min-width:761px){.js .hero-anim .h1m .w>i{transform:translateY(115%)}} /* mobile: H1 painted at first paint (LCP), no mask */
.js .hero-anim .hero-el,.js .hero-anim .hero-visual{opacity:0}
.no-motion .h1m .w>i,.js-failed .h1m .w>i{transform:none!important}
.no-motion .hero-el,.no-motion .hero-visual,.js-failed .hero-el,.js-failed .hero-visual{opacity:1!important;transform:none!important;visibility:visible!important}

/* Hero visual: the booking agenda (no photo needed) */
.hero-visual{position:relative;justify-self:end;width:min(100%,440px)}
.agenda{background:#fff;color:var(--c-ink);border-radius:22px;padding:1.4rem 1.4rem 1.5rem;box-shadow:0 40px 60px -34px rgba(0,30,31,.65);transform:rotate(-2deg)}
.ag-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.1rem;gap:.8rem}
.ag-top b{font-family:var(--f-h);font-weight:800;font-size:1.02em}
.ag-top span{font-size:.72em;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--c-primary-text);background:var(--c-primary-soft);padding:.3rem .55rem;border-radius:3px}
.ag-days{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}
.ag-day{display:grid;gap:.45rem;align-content:start}
.ag-h{font-size:.78em;font-weight:700;color:var(--c-ink-soft);letter-spacing:.02em;text-align:center;margin-bottom:.15rem}
.ag-h strong{display:block;font-size:1.9em;color:var(--c-ink);font-weight:800;letter-spacing:-.03em;line-height:1.1}
.slot{font-size:.76em;font-weight:600;text-align:center;padding:.42rem .2rem;border-radius:3px;border:1.5px solid var(--c-line);color:var(--c-ink-soft);font-variant-numeric:tabular-nums}
.slot.busy{background:var(--c-soft);color:#9ca3af;border-color:var(--c-soft);text-decoration:line-through}
.slot.pick{border-color:var(--c-accent);color:var(--c-ink);background:#fff4ec;box-shadow:0 0 0 3px rgba(247,106,12,.15)}
.ag-badge{position:absolute;left:-1.2rem;bottom:-1.1rem;background:var(--c-ink);color:#fff;border-radius:14px;padding:.75rem 1rem;font-size:.82em;font-weight:600;line-height:1.35;box-shadow:0 18px 30px -16px rgba(0,0,0,.5);transform:rotate(2deg)}
.ag-badge b{display:block;font-family:var(--f-h);font-weight:800;font-size:1.25em}

/* Countdown band (1b) */
.cd{border-top:1px solid rgba(255,255,255,.18);background:rgba(0,55,56,.34)}
.cd-in{display:flex;align-items:center;justify-content:space-between;gap:1rem 2rem;flex-wrap:wrap;padding-block:1.15rem}
.cd-label{font-family:var(--f-h);font-weight:700;font-size:.95em}
.cd-units{display:flex;gap:clamp(.8rem,2.4vw,2rem)}
.cd-u{display:flex;align-items:baseline;gap:.35rem}
.cd-u b{font-family:var(--f-h);font-weight:800;font-size:clamp(1.5rem,2.6vw,2.1rem);line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.cd-u span{font-size:.8em;opacity:.85;font-weight:600}
.cd-fallback{font-weight:600}
.cd-units{display:none}
.js .cd-units{display:flex}.js .cd-fallback{display:none}
.js-failed .cd-units{display:none!important}.js-failed .cd-fallback{display:block!important}
.cd-live{display:none;font-weight:600}
.state-live .cd-units,.state-live .cd-label-pre{display:none!important}
.state-live .cd-live{display:block}
.state-live .cd-fallback{display:none!important}
.state-fim .cd{display:none}
.live-dot{display:inline-block;width:.6em;height:.6em;border-radius:50%;background:var(--c-accent);margin-right:.5em;vertical-align:.05em;box-shadow:0 0 0 0 rgba(247,106,12,.6);animation:pulse 1.8s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 10px rgba(247,106,12,0)}100%{box-shadow:0 0 0 0 rgba(247,106,12,0)}}
.no-motion .live-dot{animation:none}

@media(max-width:960px){
  .hero-grid{grid-template-columns:1fr}
  .hero-visual{justify-self:start;width:min(100%,400px);margin:1rem 0 1.2rem 1rem}
}
@media(max-width:560px){
  .hero-meta{grid-template-columns:1fr 1fr}
  .hero-meta div:last-child{grid-column:1/-1}
  .hero .ctas .btn{width:100%}
  .cd-in{justify-content:flex-start}
  .ag-days{gap:.45rem}
  .slot{font-size:.7em}
}

/* =====================================================================
   2 · Conceito (03 stagger)
   ===================================================================== */
.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}
.card{background:var(--c-surface);border:1.5px solid var(--c-line);border-radius:20px;padding:1.9rem 1.7rem;display:grid;gap:.7rem;align-content:start}
.card .n{font-family:var(--f-h);font-weight:800;font-size:.85em;color:var(--c-primary-text);letter-spacing:.06em}
.card h3{font-size:calc(1.3rem*var(--scale))}
.card p{color:var(--c-ink-soft);font-size:.96em}
.card.hl p{color:#374151}
.card.hl{background:var(--c-primary-soft);border-color:transparent;box-shadow:inset 3px 0 0 var(--c-primary)}
@media(max-width:860px){.cards-3{grid-template-columns:1fr}}

/* =====================================================================
   3 · Seis soluções (alternating blocks — approved 07-10-2026)
   ===================================================================== */
.sol-index{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.6rem}
.sol-index a{font-family:var(--f-h);font-weight:600;font-size:.88em;padding:.55rem .95rem;border-radius:999px;background:#fff;border:1.5px solid var(--c-line);transition:border-color .3s,background .3s,transform .3s var(--ease)}
.sol-index a:hover{border-color:var(--c-primary);transform:translateY(-2px)}
.sol-list{display:grid;gap:clamp(3.5rem,8vw,6.5rem)}
.sol{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.sol:nth-child(even) .sol-media{order:2}
.sol-media{position:relative}
.sol-media img{width:100%;aspect-ratio:1024/747;object-fit:cover;border-radius:20px;background:var(--c-primary-soft)}
.sol-media .tag-new{position:absolute;top:1rem;left:1rem;background:var(--c-accent);color:#1f2937;font-family:var(--f-h);font-weight:800;font-size:.72em;letter-spacing:.1em;text-transform:uppercase;padding:.4rem .7rem;border-radius:3px}
.sol-body{display:grid;gap:1rem;align-content:start}
.sol-tag{font-family:var(--f-h);font-weight:700;font-size:.78em;letter-spacing:.1em;text-transform:uppercase;color:var(--c-primary-text)}
.sol-name{font-family:var(--f-h);font-weight:800;font-size:1.05em;color:var(--c-ink-soft);margin-bottom:-.6rem}
.sol h3{font-size:calc(clamp(1.45rem,2.3vw,2rem)*var(--scale));font-weight:800;line-height:1.15}
.sol p{color:#4b5563;font-size:.98em}
.hlbox{background:var(--c-primary-soft);border-left:3px solid var(--c-primary);padding:1rem 1.2rem;border-radius:0 6px 6px 0;font-weight:600;color:var(--c-ink);font-size:.97em}
.sol-btns{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:.4rem}
.sol-btns .btn{padding:.8rem 1.2rem;font-size:.94em}
.btn-video svg{width:18px;height:18px}
.offer-note{font-size:.82em;color:var(--c-ink-soft);font-weight:500}
/* pricing: balança */
.modes{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.mode{border:1.5px solid var(--c-line);border-radius:14px;padding:1.1rem 1.15rem;display:grid;gap:.3rem;align-content:start;background:#fff}
.mode h4{font-size:.78em;letter-spacing:.1em;text-transform:uppercase;color:var(--c-primary-text);font-weight:800}
.mode .price{font-family:var(--f-h);font-weight:800;font-size:1.35em;letter-spacing:-.02em;line-height:1.2}
.mode p{font-size:.86em;color:var(--c-ink-soft)}
/* pricing: PharmaShop24 */
.ps-grid{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.ps-grid div{border:1.5px solid var(--c-line);border-radius:14px;padding:1rem 1.1rem;background:#fff}
.ps-grid b{display:block;font-family:var(--f-h);font-weight:800;font-size:1.3em;letter-spacing:-.02em;line-height:1.2}
.ps-grid span{font-size:.86em;color:var(--c-ink-soft)}
.ps-steps{display:flex;gap:.5rem;flex-wrap:wrap;font-family:var(--f-h);font-weight:800;font-size:1.05em}
.ps-steps span{padding:.35rem .75rem;border-radius:3px;background:var(--c-primary-soft);color:var(--c-btn-h)}
@media(max-width:860px){
  .sol{grid-template-columns:1fr}
  .sol:nth-child(even) .sol-media{order:0}
}
@media(max-width:480px){.modes,.ps-grid{grid-template-columns:1fr}}

/* 06 · Clip reveal / curtain — the "< 2 pesagens por dia" stat (one per page) */
.stat{position:relative;overflow:hidden;border-radius:16px;background:var(--c-ink);color:#fff;min-height:132px;display:grid;align-items:center}
.stat-in{display:flex;align-items:center;gap:1.2rem 1.6rem;padding:1.3rem 1.5rem;flex-wrap:wrap}
.stat-n{font-family:var(--f-h);font-weight:800;font-size:clamp(2.6rem,5vw,3.6rem);line-height:.95;letter-spacing:-.04em;color:#fff;white-space:nowrap}
.stat-n small{font-size:.38em;letter-spacing:0;font-weight:700;display:block;margin-top:.35rem;color:#ffd2b4}
.stat-t{flex:1 1 15rem;display:grid;gap:.3rem}
.stat-t b{font-family:var(--f-h);font-size:1.12em;line-height:1.3}
.stat-t span{font-size:.88em;opacity:.85}
.cl-panel{position:absolute;inset:0;background:var(--c-primary);transform:scaleX(0);transform-origin:left;will-change:transform;pointer-events:none}
.js .stat .stat-in{opacity:0}
.no-motion .stat .stat-in,.js-failed .stat .stat-in{opacity:1!important}
.no-motion .cl-panel,.js-failed .cl-panel{display:none}

/* =====================================================================
   4 · Agendar
   ===================================================================== */
.book{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:start}
.book-aside{background:var(--c-primary-soft);border-radius:20px;padding:1.8rem 1.7rem;display:grid;gap:1.1rem;position:sticky;top:110px}
.book-aside h3{font-size:1.25em}
.checks{list-style:none;display:grid;gap:.8rem}
.checks li{position:relative;padding-left:1.9rem;font-size:.97em;line-height:1.5}
.checks li::before{content:"";position:absolute;left:0;top:.18em;width:1.2rem;height:1.2rem;border-radius:50%;background:var(--c-check) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/70% no-repeat}
.book-contact{border-top:1px solid rgba(0,117,119,.2);padding-top:1rem;font-size:.92em;display:grid;gap:.25rem}
.book-contact a{font-weight:700;color:var(--c-btn-h)}
.book-contact a:hover{text-decoration:underline}
.cal{border:1.5px solid var(--c-line);border-radius:20px;overflow:hidden;background:#fff;min-height:720px;position:relative}
.cal iframe{display:block;width:100%;height:760px;border:0}
.cal-ph{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:2rem;gap:1rem;align-content:center}
.cal-ph b{font-family:var(--f-h);font-size:1.15em}
.cal-ph p{color:var(--c-ink-soft);font-size:.95em;margin-inline:auto}
.cal-loaded .cal-ph{display:none}
.book-after{margin-top:1rem;font-size:.9em;color:var(--c-ink-soft)}
.fim-box{background:var(--c-primary-soft);border-radius:20px;padding:clamp(1.8rem,4vw,3rem);display:grid;gap:1rem;justify-items:start}
@media(max-width:960px){
  .book{grid-template-columns:1fr}
  .book-aside{position:static}
  .cal{min-height:640px}
}

/* =====================================================================
   5 · Equipa (03 stagger; no hover — cards are not clickable)
   ===================================================================== */
.team{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
.tm{border:2px solid var(--c-line-2);border-radius:30px;padding:1.8rem 1.2rem;text-align:center;display:grid;justify-items:center;gap:.35rem;background:#fff}
.tm .ph{width:100px;height:100px;border-radius:50%;background:var(--c-primary-soft);color:var(--c-primary-text);display:grid;place-items:center;font-family:var(--f-h);font-weight:800;font-size:1.6em;margin-bottom:.6rem;overflow:hidden}
.tm .ph img{width:100%;height:100%;object-fit:cover}
.tm b{font-family:var(--f-h);font-size:1.05em}
.tm span{font-size:.88em;color:var(--c-ink-soft)}
@media(max-width:960px){.team{grid-template-columns:repeat(2,1fr)}}
@media(max-width:420px){.tm{padding:1.4rem .8rem}.tm .ph{width:84px;height:84px}}

/* =====================================================================
   6 · Local
   ===================================================================== */
.loc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,4rem);align-items:center}
.loc-dl{display:grid;gap:1.3rem;margin:1.6rem 0 2rem}
.loc-dl dt{font-size:.76em;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--c-primary-text);margin-bottom:.2rem}
.loc-dl dd{font-size:1.02em}
.map{display:block;border-radius:20px;overflow:hidden;border:1.5px solid var(--c-line);background:var(--c-primary-soft);position:relative;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.map:hover{transform:translateY(-4px);box-shadow:0 30px 50px -34px rgba(31,41,55,.45)}
.map svg{width:100%;height:auto}
.map-cap{position:absolute;left:1rem;bottom:1rem;right:1rem;background:#fff;border-radius:12px;padding:.8rem 1rem;display:flex;justify-content:space-between;gap:1rem;align-items:center;font-size:.9em;box-shadow:0 10px 24px -14px rgba(31,41,55,.4)}
.map-cap b{font-family:var(--f-h)}
.map-cap span{color:var(--c-btn-h);font-weight:700;white-space:nowrap}
@media(max-width:860px){.loc{grid-template-columns:1fr}}

/* =====================================================================
   7 · FAQ (13) — open by default without JS
   ===================================================================== */
.fq-list{max-width:860px}
.fq-q{border-top:1.5px solid var(--c-line)}
.fq-q:last-child{border-bottom:1.5px solid var(--c-line)}
.fq-q h3{font-size:inherit;letter-spacing:0;line-height:inherit;font-weight:inherit}
.fq-q button{width:100%;text-align:left;padding:1.25rem 0;font-family:var(--f-h);font-weight:700;font-size:1.08em;display:flex;justify-content:space-between;gap:1rem;align-items:center;color:var(--c-ink);line-height:1.35}
.fq-q button i{flex:none;width:32px;height:32px;border-radius:50%;border:1.5px solid var(--c-line);position:relative;transition:transform .4s var(--ease),background .3s,border-color .3s}
.fq-q button i::before,.fq-q button i::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;background:var(--c-ink);transform:translate(-50%,-50%)}
.fq-q button i::after{transform:translate(-50%,-50%) rotate(90deg)}
.fq-q.open button i{background:var(--c-dark);border-color:var(--c-dark);transform:rotate(45deg)}
.fq-q.open button i::before,.fq-q.open button i::after{background:#fff}
.fq-a{display:grid;grid-template-rows:1fr;transition:grid-template-rows .45s var(--ease)}
.js .fq-a{grid-template-rows:0fr}
.js .fq-q.open .fq-a,.js-failed .fq-a{grid-template-rows:1fr}
.fq-a>div{overflow:hidden}
.fq-a p{color:#4b5563;padding-bottom:1.35rem}

/* =====================================================================
   Footer
   ===================================================================== */
.ft{background:var(--c-foot);color:#fff;padding:clamp(3rem,6vw,4.5rem) 0 1.6rem}
.ft-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:2rem}
.ft .logo{font-size:1.35em;margin-bottom:.9rem}
.ft .logo i{background:#fff}
.ft p,.ft li,.ft dd{font-size:.92em;color:rgba(255,255,255,.92)}
.ft .ft-h{font-size:.78em;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.9rem;font-weight:800;color:#fff;line-height:1.3}
.ft ul{list-style:none;display:grid;gap:.5rem}
.ft a:hover{text-decoration:underline}
.soc{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1.1rem}
.soc a{width:40px;height:40px;border-radius:50%;border:1.5px solid rgba(255,255,255,.4);display:grid;place-items:center;transition:background .3s,border-color .3s}
.soc a:hover{background:rgba(255,255,255,.14);border-color:#fff;text-decoration:none}
.soc svg{width:18px;height:18px;fill:#fff}
.ft-bot{margin-top:2.6rem;padding-top:1.3rem;border-top:1px solid rgba(255,255,255,.22);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.84em;color:rgba(255,255,255,.88)}
.ft-bot button{text-decoration:underline;font-size:inherit}
@media(max-width:900px){.ft-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.ft-grid{grid-template-columns:1fr}}

/* =====================================================================
   16 · Modal (video) with focus trap
   ===================================================================== */
.md-modal{position:fixed;inset:0;z-index:90;display:none;place-items:center;padding:1.2rem}
.md-modal.open{display:grid}
.md-bd{position:absolute;inset:0;background:rgba(0,40,41,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.md-card{position:relative;background:#000;border-radius:16px;width:min(980px,100%);overflow:hidden;box-shadow:0 40px 80px -30px rgba(0,0,0,.7)}
.md-card .ratio{aspect-ratio:16/9;width:100%}
.md-card iframe{width:100%;height:100%;border:0;display:block}
.md-x{position:absolute;top:.6rem;right:.6rem;z-index:2;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-size:1.6em;line-height:1;color:#fff;background:rgba(0,0,0,.55)}
.md-x:hover{background:rgba(0,0,0,.8)}
body.md-lock{overflow:hidden}

/* =====================================================================
   Consent banner
   ===================================================================== */
.ck{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:80;max-width:620px;margin-left:auto;background:#fff;color:var(--c-ink);border-radius:16px;padding:1.2rem 1.3rem;box-shadow:0 24px 50px -20px rgba(31,41,55,.45);border:1.5px solid var(--c-line);display:grid;gap:.9rem;font-size:.9em}
.ck p{max-width:none}
.ck a{text-decoration:underline;color:var(--c-btn-h);font-weight:600}
.ck-btns{display:flex;gap:.6rem;flex-wrap:wrap}
.ck-btns .btn{padding:.7rem 1.1rem;font-size:.95em}
.js-failed .ck{display:none!important}
@media(max-width:600px){.ck{left:.5rem;right:.5rem;bottom:.5rem;padding:.8rem .9rem;gap:.6rem;font-size:.8em;border-radius:12px}.ck-btns{flex-wrap:nowrap}.ck-btns .btn{flex:1;padding:.6rem .5rem;font-size:1em}}

/* =====================================================================
   ?edit — copy review mode (desktop)
   ===================================================================== */
.edit [contenteditable]{outline:1px dashed rgba(247,106,12,.55);outline-offset:2px;cursor:text}
.edit [contenteditable]:focus{outline:2px solid var(--c-accent);background:rgba(247,106,12,.06)}
.edit [data-edited]{background:rgba(247,106,12,.12)}
.edit [data-pendente]{position:relative}
.edit [data-pendente]::after{content:"PENDENTE · " attr(data-pendente);display:block;width:fit-content;max-width:100%;white-space:normal;overflow-wrap:anywhere;margin-top:.4rem;font:700 11px/1.35 var(--f-b);letter-spacing:.02em;color:#3d2c00;background:#fff3cd;border:1.5px solid #f0b429;border-radius:4px;padding:.25rem .45rem;text-transform:none;grid-column:1/-1;flex:0 0 100%}
.edit .btn[data-pendente]::after,.edit img[data-pendente]::after{position:absolute;left:0;top:100%}
.edit-bar{position:fixed;right:12px;bottom:12px;z-index:9600;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;max-width:calc(100vw - 24px);padding:.65rem .8rem;border-radius:12px;background:var(--c-ink);color:#fff;font:500 13px/1.3 var(--f-b);box-shadow:0 6px 20px rgba(0,0,0,.3)}
.edit-bar button{font:700 13px/1 var(--f-b);padding:.55rem .75rem;border-radius:6px;background:var(--c-btn);color:#fff}
.edit-bar button.ghost{background:transparent;border:1px solid rgba(255,255,255,.4)}
.edit-bar .edit-dropped{flex:0 0 100%;color:#ffd2b4}
.edit .ck,.edit .md-modal{display:none!important}
.edit .hd [data-pendente]::after,.edit .ft .logo[data-pendente]::after{display:none}
.edit .hd [data-pendente]{outline:2px dashed #f0b429;outline-offset:3px}
@media(max-width:700px){.edit-bar{left:8px;right:8px;bottom:8px;max-width:none}.edit-bar span{flex:1 1 100%}}

/* ---------- Thank-you page ---------- */
.ty{min-height:100vh;display:flex;flex-direction:column}
.ty main{flex:1}
.ty .hero{padding-bottom:clamp(3rem,6vw,5rem)}
.ty-links{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.ty-links a{border:1.5px solid var(--c-line);border-radius:20px;padding:1.5rem;display:grid;gap:.4rem;transition:transform .4s var(--ease),border-color .3s}
.ty-links a:hover{transform:translateY(-4px);border-color:var(--c-primary)}
.ty-links b{font-family:var(--f-h);font-size:1.1em}
.ty-links span{color:var(--c-ink-soft);font-size:.92em}
.ty-links em{font-style:normal;font-weight:700;color:var(--c-btn-h);font-size:.92em;margin-top:.4rem}
@media(max-width:860px){.ty-links{grid-template-columns:1fr}}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}

/* =====================================================================
   v2 · Real logo (white on green, colour on light)
   ===================================================================== */
.logo img{height:30px;width:auto;display:block}
.logo .lg-c{display:none}
.hd:not(.on-dark) .lg-w,.hd.menu-open .lg-w{display:none}
.hd:not(.on-dark) .lg-c,.hd.menu-open .lg-c{display:block}
.ft .logo img{height:34px}
@media(max-width:480px){.logo img{height:20px}}

/* =====================================================================
   v2 · Product landing pages
   ===================================================================== */
.p-hero .hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}
.p-hero h1{font-size:calc(clamp(2.1rem,4vw,3.4rem)*var(--scale));max-width:16em}
.p-back{display:inline-flex;align-items:center;gap:.4rem;font-weight:700;font-size:.88em;margin-bottom:1.3rem;color:#fff;opacity:.95}
.p-back:hover{text-decoration:underline}
.p-media{position:relative;display:block;width:100%;border-radius:20px;overflow:hidden;box-shadow:0 40px 60px -34px rgba(0,30,31,.6);background:var(--c-primary-soft);padding:0}
.p-media img{width:100%;aspect-ratio:1024/747;object-fit:cover}
.p-play{position:absolute;inset:0;display:grid;place-items:center}
.p-play span{width:84px;height:84px;border-radius:50%;background:rgba(31,41,55,.82);display:grid;place-items:center;transition:transform .4s var(--ease),background .3s}
.p-play svg{width:34px;height:34px;fill:#fff;margin-left:5px}
.p-media:hover .p-play span{transform:scale(1.08);background:var(--c-btn)}
.p-media-cap{position:absolute;left:1rem;bottom:1rem;background:#fff;color:var(--c-ink);border-radius:999px;padding:.45rem .9rem;font-weight:700;font-size:.82em}
.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.bf{background:#fff;border:1.5px solid var(--c-line);border-radius:18px;padding:1.4rem 1.4rem;display:flex;gap:.9rem;align-items:center;font-family:var(--f-h);font-weight:700;font-size:1.08em;line-height:1.3}
.bf i{flex:none;width:44px;height:44px;border-radius:12px;background:var(--c-primary-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23007577' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/52% no-repeat}
.p-offer{margin-top:clamp(2rem,4vw,3rem);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,3rem);align-items:start}
.p-offer h2{font-size:calc(clamp(1.6rem,2.8vw,2.3rem)*var(--scale));margin-bottom:.9rem}
.p-offer .sol-body{gap:.9rem}
.ficha-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.3rem;align-items:stretch}
.ficha-card{display:grid;grid-template-columns:150px minmax(0,1fr);gap:1.4rem;align-items:center;background:#fff;border:1.5px solid var(--c-line);border-radius:20px;padding:1.4rem;transition:transform .5s var(--ease),box-shadow .5s var(--ease),border-color .4s}
.ficha-card:hover{transform:translateY(-4px);box-shadow:0 30px 50px -34px rgba(31,41,55,.45);border-color:var(--c-primary)}
.ficha-card img{width:150px;height:auto;border-radius:6px;box-shadow:0 10px 24px -12px rgba(31,41,55,.45);border:1px solid var(--c-line)}
.ficha-card b{display:block;font-family:var(--f-h);font-size:1.15em;margin-bottom:.3rem}
.ficha-card p{color:var(--c-ink-soft);font-size:.92em;margin-bottom:.9rem}
.ficha-card .dl{font-weight:800;color:var(--c-btn-h);display:inline-flex;gap:.4rem;align-items:center}
.ficha-card .dl svg{width:18px;height:18px}
.wow-card{background:var(--c-primary-soft);border-radius:20px;padding:1.6rem 1.6rem;display:grid;gap:.6rem;align-content:center;box-shadow:inset 3px 0 0 var(--c-primary)}
.wow-card .k{font-weight:800;font-size:.76em;letter-spacing:.1em;text-transform:uppercase;color:var(--c-primary-text)}
.wow-card b{font-family:var(--f-h);font-size:1.25em;line-height:1.25}
.wow-card p{color:#374151;font-size:.95em}
.wow-card .btn{justify-self:start;margin-top:.4rem}
.rel-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem}
.rel{display:grid;grid-template-columns:150px minmax(0,1fr);gap:1.3rem;align-items:center;background:#fff;border:1.5px solid var(--c-line);border-radius:20px;padding:1rem;transition:transform .5s var(--ease),box-shadow .5s var(--ease),border-color .4s}
.rel:hover{transform:translateY(-6px);box-shadow:0 30px 60px -36px rgba(31,41,55,.45);border-color:color-mix(in srgb,var(--c-primary) 60%,transparent)}
.rel img{width:150px;aspect-ratio:1024/747;object-fit:cover;border-radius:12px}
.rel b{display:block;font-family:var(--f-h);font-size:1.12em;margin-bottom:.25rem}
.rel span{display:block;color:var(--c-ink-soft);font-size:.93em;margin-bottom:.5rem}
.rel em{font-style:normal;font-weight:800;color:var(--c-btn-h);font-size:.9em}
@media(max-width:860px){.p-hero .hero-grid,.ficha-grid,.rel-grid,.p-offer{grid-template-columns:1fr}.benefits{grid-template-columns:1fr}.p-hero .hero-visual{order:0;width:100%;margin:0}}
@media(max-width:480px){.ficha-card,.rel{grid-template-columns:96px minmax(0,1fr);gap:1rem}.ficha-card img,.rel img{width:96px}}

/* Contact form */
.lead-sec{background:linear-gradient(135deg,var(--c-hero-a),var(--c-hero-b));color:#fff}
.lead-sec .kicker{color:#fff}.lead-sec .kicker::before{background:var(--c-accent)}
.lead-sec .lead{color:#fff;font-weight:600}
.lead-box{background:#fff;color:var(--c-ink);border-radius:22px;padding:clamp(1.4rem,3vw,2.2rem);box-shadow:0 40px 60px -40px rgba(0,30,31,.6);max-width:980px}
.fgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.1rem}
.fgrid .full{grid-column:1/-1}
.fld{display:grid;gap:.35rem}
.fld label{font-family:var(--f-h);font-weight:700;font-size:.88em}
.fld label small{font-weight:500;color:var(--c-ink-soft)}
.fld input,.fld select,.fld textarea{font:inherit;font-size:1em;padding:.8rem .95rem;border-radius:8px;border:1.5px solid #c9ced6;background:#fff;color:var(--c-ink);width:100%}
.fld textarea{min-height:96px;resize:vertical}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:3px solid var(--c-focus);outline-offset:1px;border-color:var(--c-ink)}
.fld input:user-invalid,.fld select:user-invalid{border-color:#b3261e}
.chk{display:flex;gap:.7rem;align-items:flex-start;font-size:.92em;line-height:1.45}
.chk input{width:20px;height:20px;margin-top:.12rem;flex:none;accent-color:var(--c-btn)}
.chk a{color:var(--c-btn-h);font-weight:700;text-decoration:underline}
.f-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.4rem;margin-top:.4rem}
.f-actions .btn[disabled]{opacity:.6;cursor:progress}
.f-note{font-size:.85em;color:var(--c-ink-soft)}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
@media(max-width:620px){.fgrid{grid-template-columns:1fr}.f-actions .btn{width:100%}}
.mode .mode-h{font-size:.78em;letter-spacing:.1em;text-transform:uppercase;color:var(--c-primary-text);font-weight:800;line-height:1.3}
.state-fim [data-wow-only]{display:none}
/* v2 · Footer on ExpoFarma green with dark text (white small text on #00a3a5 = 2.8:1; ink = 5.4:1) */
.ft{color:var(--c-ink)}
.ft p,.ft li,.ft dd,.ft .ft-h,.ft-bot{color:var(--c-ink)}
.ft-bot{border-top-color:rgba(31,41,55,.22)}
.soc a{border-color:rgba(31,41,55,.4)}
.soc a:hover{background:rgba(31,41,55,.08);border-color:var(--c-ink)}
.soc svg{fill:var(--c-ink)}
.ft :focus-visible{outline-color:var(--c-ink)}
.p-hero .hero-visual{width:100%;max-width:620px;justify-self:end;margin:0}

/* =====================================================================
   v3 · ExpoFarma structure: white header + official logo, solid #009b9d hero with dot pattern, divider before meta
   ===================================================================== */
:root{--c-hero:#009b9d;--c-foot-ink:#0b1f20}
.hd,.hd.on-dark,.hd.shrink,.hd.on-dark.shrink{background:#fff;color:var(--c-ink);box-shadow:0 1px 0 var(--c-line)}
.hd-in{padding:1.35rem 0}
.hd .logo img{height:34px}
.hd .hd-btn,.hd.on-dark .hd-btn{background:var(--c-btn);color:#fff}
.hd .hd-btn:hover{background:var(--c-btn-h)}
.hd-nav{color:#374151;font-size:1.02em}
.hero,.lead-sec{background-color:var(--c-hero);background-image:radial-gradient(rgba(255,255,255,.09) 1.2px,transparent 1.3px);background-size:22px 22px}
.hero::before{display:none}
.hero .kicker{font-weight:500;letter-spacing:.01em;text-transform:uppercase;font-size:1.02em;opacity:1;margin-bottom:clamp(1.6rem,4vw,3rem)}
.hero .kicker::before{display:none}
.hero h1{font-size:calc(clamp(2.4rem,5vw,4.3rem)*var(--scale));letter-spacing:-.03em}
.hero-meta{border-top:1px solid rgba(255,255,255,.45);padding-top:1.6rem;margin-top:.4rem}
.hero-meta dt{font-weight:600;letter-spacing:.1em}
.hero-cap{color:#fff;font-weight:600;text-align:center;margin-top:1rem;font-size:.95em}
.cd{background:rgba(0,0,0,.14)}
.ft{background:var(--c-hero)}
.ft,.ft p,.ft li,.ft dd,.ft .ft-h,.ft-bot,.ft a{color:var(--c-foot-ink)}
.soc svg{fill:var(--c-foot-ink)}
@media(max-width:480px){.hd .logo img{height:22px}.hd-in{padding:.9rem 0}}
.slot.busy{color:#6b7280}

/* v4 · footer text white (Pedro, 12-10-2026); team photos over initials */
.ft,.ft p,.ft li,.ft dd,.ft .ft-h,.ft-bot,.ft a{color:#fff}
.ft p,.ft li,.ft-bot{font-weight:600}
.ft-bot{border-top-color:rgba(255,255,255,.35)}
.soc a{border-color:rgba(255,255,255,.55)}
.soc a:hover{background:rgba(255,255,255,.14);border-color:#fff}
.soc svg{fill:#fff}
.ft :focus-visible{outline-color:#fff}
.tm .ph{position:relative}
.tm .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%}

/* v5 · points of interest under the location block */
.poi{margin-top:clamp(3rem,6vw,4.5rem)}
.poi .sec-head{margin-bottom:1.6rem}
.poi h3{font-size:calc(clamp(1.5rem,2.6vw,2.1rem)*var(--scale));font-weight:800}
.poi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.1rem}
.poi-card{display:grid;gap:.5rem;align-content:start;background:var(--c-soft);border-radius:18px;padding:1.4rem 1.3rem;border:1.5px solid transparent;transition:transform .45s var(--ease),border-color .3s}
a.poi-card:hover{transform:translateY(-4px);border-color:var(--c-primary)}
.poi-card b{font-family:var(--f-h);font-size:1.08em}
.poi-card span{color:#4b5563;font-size:.93em}
.poi-card em{font-style:normal;font-weight:800;color:var(--c-btn-h);font-size:.88em;margin-top:.3rem}
@media(max-width:960px){.poi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.poi-grid{grid-template-columns:1fr}}

/* v6 · "Outros produtos" at the end of the WOW page */
.op-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.2rem}
.op-card{display:grid;gap:.45rem;align-content:start;background:#fff;border:1.5px solid var(--c-line);border-radius:20px;padding:1rem 1rem 1.3rem;transition:transform .45s var(--ease),border-color .3s,box-shadow .45s var(--ease)}
.op-card:hover{transform:translateY(-5px);border-color:var(--c-primary);box-shadow:0 26px 50px -36px rgba(31,41,55,.45)}
.op-card img{width:100%;aspect-ratio:4/3;object-fit:contain;border-radius:12px;background:#fff;margin-bottom:.5rem}
.op-card b{font-family:var(--f-h);font-size:1.12em;padding-inline:.3rem}
.op-card span{color:#4b5563;font-size:.93em;padding-inline:.3rem}
.op-card em{font-style:normal;font-weight:800;color:var(--c-btn-h);font-size:.9em;margin-top:.3rem;padding-inline:.3rem}
.op-all{background:var(--c-primary-soft);border-color:transparent;align-content:center;padding:1.6rem 1.4rem}
@media(max-width:960px){.op-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.op-grid{grid-template-columns:1fr}}

/* =====================================================================
   v7 · Salesperson pages (/wow/<nome>/): personal invitation card
   ===================================================================== */
.cm-hero .hero-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr)}
.cm-hero h1{max-width:15em}
.cm-card{background:#fff;color:var(--c-ink);border-radius:22px;padding:2rem 1.6rem 1.7rem;box-shadow:0 40px 60px -34px rgba(0,30,31,.65);transform:rotate(-2deg);display:grid;justify-items:center;text-align:center;gap:1rem}
.cm-ph{width:min(220px,62%);aspect-ratio:1;object-fit:cover;border-radius:50%;box-shadow:0 0 0 6px var(--c-primary-soft),0 0 0 8px var(--c-primary);background:var(--c-primary-soft)}
.cm-card figcaption{display:grid;gap:.2rem}
.cm-card figcaption b{font-family:var(--f-h);font-weight:800;font-size:1.35em;letter-spacing:-.01em}
.cm-card figcaption span{color:var(--c-ink-soft);font-size:.92em}
.cm-quote{font-family:var(--f-h);font-weight:600;font-size:1.02em;line-height:1.45;color:#374151;border-top:1px solid var(--c-line);padding-top:1rem;max-width:22em}
.rel-all{grid-template-columns:minmax(0,1fr);background:var(--c-primary-soft);border-color:transparent;box-shadow:inset 3px 0 0 var(--c-primary)}
.rel-all span{color:#374151}
/* Tablet/phone: most WhatsApp clicks land here — the salesperson's face comes first, as a compact card */
@media(max-width:960px){
  .cm-hero .hero-grid{grid-template-columns:1fr;gap:0}
  .cm-hero .hero-visual{order:-1;justify-self:stretch;width:100%;max-width:520px;margin:0 0 1.6rem}
  .cm-hero .kicker{margin-bottom:1.2rem}
  .cm-card{transform:none;grid-template-columns:88px minmax(0,1fr);justify-items:start;text-align:left;align-items:center;padding:1rem 1.2rem;gap:.2rem 1rem;border-radius:18px;box-shadow:0 24px 40px -30px rgba(0,30,31,.6)}
  .cm-ph{width:88px;box-shadow:0 0 0 3px var(--c-primary-soft),0 0 0 5px var(--c-primary)}
  .cm-card figcaption b{font-size:1.15em}
  .cm-card figcaption span{font-size:.85em}
  .cm-quote{grid-column:1/-1;font-size:.92em;padding-top:.75rem;margin-top:.55rem;max-width:none}
}

/* v8 · Local: real photo of the WOW instead of the stylised map */
.map img{display:block;width:100%;height:auto;aspect-ratio:1151/768;object-fit:cover}
@media(max-width:560px){.map img{aspect-ratio:4/3}.map-cap{left:.6rem;right:.6rem;bottom:.6rem;padding:.6rem .8rem;font-size:.82em}.map-cap b{white-space:nowrap}}
/* v9 · Discreet text link under the solution buttons (PIMbox online presentation) */
.sol-more{margin-top:1rem;font-size:.84em}
.sol-more a{color:var(--c-btn-h);font-weight:600;text-decoration:underline;text-underline-offset:.2em}
.sol-more a:hover{color:var(--c-ink)}
/* v10 · PIMbox block: bullet list inside a solution */
.sol-body .checks{margin:.2rem 0 1.1rem;gap:.55rem}
.sol-body .checks li{font-size:1em}
/* v11 · smaller ticks (−40%) for lists inside a solution block */
.checks-sm li{padding-left:1.35rem}
.checks-sm li::before{width:.72rem;height:.72rem;top:.42em}
/* v12 · Home hero: longer H1 → a step smaller */
#hero-h1{font-size:calc(clamp(2.1rem,4.1vw,3.55rem)*var(--scale));max-width:19em}
/* v12 · Passatempo (Cabañas de Xarás) — compact card near the end */
#sorteio{padding-block:clamp(2.5rem,6vw,4.5rem)}
.sorteio{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(1.5rem,4vw,3rem);align-items:center;background:var(--c-primary-soft);border-radius:22px;padding:clamp(1rem,2.5vw,1.6rem)}
.sorteio-img{position:relative;margin:0}
.sorteio-img img{display:block;width:100%;height:100%;aspect-ratio:3/2;object-fit:cover;border-radius:16px}
.sorteio-img .tag-new{position:absolute;top:1rem;left:1rem;background:var(--c-accent);color:#1f2937;font-family:var(--f-h);font-weight:800;font-size:.72em;letter-spacing:.1em;text-transform:uppercase;padding:.4rem .7rem;border-radius:3px}
.sorteio-body{display:grid;gap:.9rem;padding-right:clamp(0rem,2vw,1.5rem)}
.sorteio-body h2{font-size:calc(clamp(1.6rem,2.8vw,2.3rem)*var(--scale))}
.sorteio-body p{color:#374151}
.sorteio-body .checks{margin:0}
.sorteio-btns{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:.3rem}
.sorteio-note{font-size:.84em;color:var(--c-ink-soft)!important}
@media(max-width:860px){.sorteio{grid-template-columns:1fr}.sorteio-body{padding:0 .3rem .4rem}}
/* v13 · Home, tablet/phone: the illustrated agenda comes first, smaller */
@media(max-width:960px){
  .hero:not(.p-hero):not(.cm-hero) .hero-visual{order:-1;justify-self:center;width:min(100%,330px);margin:0 auto 2rem}
  .hero:not(.p-hero):not(.cm-hero) .agenda{padding:1rem 1rem 1.1rem;border-radius:18px}
  .hero:not(.p-hero):not(.cm-hero) .ag-top{margin-bottom:.7rem}
  .hero:not(.p-hero):not(.cm-hero) .ag-days{gap:.5rem}
  .hero:not(.p-hero):not(.cm-hero) .ag-day{gap:.32rem}
  .hero:not(.p-hero):not(.cm-hero) .ag-h strong{font-size:1.55em}
  .hero:not(.p-hero):not(.cm-hero) .slot{padding:.3rem .2rem;font-size:.72em}
  .hero:not(.p-hero):not(.cm-hero) .kicker{margin-bottom:1.2rem}
}
/* v14 · Booking: sales team strip + PIMbox workshops calendar */
.cm-strip{margin-top:clamp(2rem,4vw,3rem);background:#fff;border:1.5px solid var(--c-line);border-radius:20px;padding:1.4rem clamp(1rem,2.5vw,1.8rem)}
.cm-strip-t{margin-bottom:1.1rem;color:#374151}
.cm-strip-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1rem}
.cm-mini{display:grid;justify-items:center;text-align:center;gap:.5rem;padding:.6rem .3rem;border-radius:14px;transition:background .3s}
.cm-mini:hover{background:var(--c-primary-soft)}
.cm-mini img{width:72px;height:72px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 3px var(--c-primary-soft),0 0 0 4px var(--c-primary);background:var(--c-primary-soft)}
.cm-mini span{font-family:var(--f-h);font-weight:700;font-size:.9em;line-height:1.25}
.pim-ws{margin-top:clamp(3rem,6vw,4.5rem)}
.pim-ws .sec-head{margin-bottom:1.4rem}
.pim-ws h3{font-size:calc(clamp(1.4rem,2.4vw,1.9rem)*var(--scale))}
.cal-ws{min-height:640px}
@media(max-width:860px){.cm-strip-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* v15 · Team cards: salespeople get a booking link; all cards share height, button sits at the bottom */
.tm{grid-template-rows:auto auto 1fr auto;align-content:start}
.tm-btn{grid-row:4;margin-top:.9rem;display:inline-block;font-family:var(--f-h);font-weight:700;font-size:.8em;color:var(--c-btn-h);border:1.5px solid var(--c-btn);border-radius:999px;padding:.45rem .9rem;transition:background .25s,color .25s}
.tm-btn:hover{background:var(--c-btn);color:#fff}
.tm-btn .vh{color:inherit}
.cm-mini em{font-style:normal;font-weight:700;font-size:.74em;color:var(--c-btn-h);border:1.5px solid var(--c-btn);border-radius:999px;padding:.2rem .6rem}
.cm-mini:hover em{background:var(--c-btn);color:#fff}
/* v16 · «Como funciona»: the thank-you gift gets the accent tick */
.checks li.gift{color:var(--c-ink)}
.checks li.gift::before{background-color:var(--c-accent)}
.checks li.gift strong{font-weight:800}
/* v17 · Team: 17 cards → the lone last card is centred instead of stuck on the left */
.team>.tm:last-child:nth-child(4n+1){grid-column:2/4;width:calc((100% - 1.2rem)/2);justify-self:center}
@media(max-width:960px){.team>.tm:last-child:nth-child(4n+1){grid-column:auto;width:auto}.team>.tm:last-child:nth-child(2n+1){grid-column:1/3;width:calc((100% - 1.2rem)/2);justify-self:center}}

/* 27 out · Lunacal inline embed (calendar only) + salesperson in the booking aside */
.cal.cal-lc{min-height:540px}
.cal.cal-lc.cal-loaded{min-height:0;overflow:visible}
.cal-in{width:100%}
.cal-in iframe{display:block;width:100%;border:0}
.book-who{display:flex;align-items:center;gap:.9rem;padding-bottom:1.1rem;border-bottom:1px solid rgba(0,117,119,.2)}
.book-who img{width:68px;height:68px;border-radius:50%;object-fit:cover;border:3px solid #fff;box-shadow:0 4px 14px rgba(31,41,55,.12);flex:none}
.book-who b{font-family:var(--f-h);font-size:1.2em;line-height:1.2}
@media (max-width:860px){.cal.cal-lc{min-height:480px}}
/* 27 out · room for the Lunacal time slots next to the month (embed needs ≥768px) */
@media (min-width:1261px){.book{grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:2.25rem}}
@media (max-width:1260px){.book{grid-template-columns:1fr}.book-aside{position:static}}
.cal.cal-lc.cal-loaded{border:0;background:transparent;border-radius:0}
