/* =========================================================
   VISUAL SAÚDE — Design System
   Paleta extraída do logo: verde-petróleo + turquesa + prata
   ========================================================= */
:root{
  --teal-900:#06393a; --teal-800:#0a4a4b; --teal-700:#0d5c5c; --teal-600:#11706f;
  --teal-400:#1fb5a8; --teal-300:#3fd6c6; --teal-100:#dff5f2; --teal-50:#f0fbf9;
  --silver-500:#9aa3ab; --silver-300:#c9ced3; --silver-100:#eef0f2;
  --ink:#122627; --ink-2:#3f5354; --muted:#6c7b7c;
  --bg:#ffffff; --bg-soft:#f6f8f7; --line:#e3e8e7;
  --rose:#c48a8a; --gold:#c9a45c; --danger:#c0392b; --ok:#148f62;
  --radius:18px; --radius-sm:10px;
  --shadow:0 10px 30px -12px rgba(6,57,58,.25);
  --shadow-lg:0 30px 60px -20px rgba(6,57,58,.35);
  --f-head:'Montserrat',system-ui,sans-serif;
  --f-body:'Inter',system-ui,sans-serif;
  --f-charm:'Playfair Display',Georgia,serif;
  --max:1240px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--f-body);color:var(--ink);background:var(--bg);line-height:1.55;overflow-x:hidden}
img,svg{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
input,select,textarea{font:inherit;color:inherit}
.container{width:100%;max-width:var(--max);margin:0 auto;padding:0 16px}
@media(min-width:768px){.container{padding:0 28px}}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.charm{font-family:var(--f-charm);font-style:italic;font-weight:500;color:var(--teal-400)}
h1,h2,h3,h4{font-family:var(--f-head);line-height:1.12;letter-spacing:-.01em;color:var(--teal-900)}

/* ---------- Barra de anúncio ---------- */
.announce{background:var(--teal-900);color:#e9fbf8;font-size:.82rem;overflow:hidden;white-space:nowrap}
.announce__track{display:inline-flex;gap:48px;padding:9px 0;animation:marquee 28s linear infinite}
.announce__track span{display:inline-flex;align-items:center;gap:8px}
.announce b{color:var(--teal-300)}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.announce__track{animation:none}}

/* ---------- Header ---------- */
.header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--line)}
.header__in{display:flex;align-items:center;gap:16px;height:72px}
.logo img{height:44px;width:auto}
@media(min-width:1024px){.logo img{height:52px}}
.nav{display:none;gap:4px;margin-left:12px}
.nav a{padding:10px 14px;border-radius:999px;font-weight:600;font-size:.92rem;color:var(--ink-2);transition:.2s}
.nav a:hover,.nav a.active{background:var(--teal-50);color:var(--teal-700)}
.header__actions{margin-left:auto;display:flex;align-items:center;gap:4px}
.icon-btn{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;position:relative;transition:.2s}
.icon-btn:hover{background:var(--teal-50)}
.icon-btn svg{width:22px;height:22px;stroke:var(--teal-800)}
.cart-count{position:absolute;top:4px;right:2px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:var(--teal-400);color:#fff;font-size:.7rem;font-weight:700;display:grid;place-items:center}
.cart-count:empty{display:none}
.menu-btn{display:grid}
@media(min-width:1024px){.nav{display:flex}.menu-btn{display:none}}
.search{display:none;position:relative}
.search input{width:220px;height:42px;border-radius:999px;border:1px solid var(--line);padding:0 16px 0 40px;background:var(--bg-soft);outline:none;transition:.2s}
.search input:focus{border-color:var(--teal-400);background:#fff;box-shadow:0 0 0 4px var(--teal-100)}
.search svg{position:absolute;left:13px;top:11px;width:19px;stroke:var(--muted)}
@media(min-width:1180px){.search{display:block}}

/* ---------- Drawer (menu mobile + carrinho) ---------- */
.overlay{position:fixed;inset:0;background:rgba(6,57,58,.45);opacity:0;pointer-events:none;transition:.3s;z-index:80}
.overlay.on{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;bottom:0;width:min(420px,92vw);background:#fff;z-index:90;display:flex;flex-direction:column;transition:transform .35s cubic-bezier(.2,.8,.2,1);box-shadow:var(--shadow-lg)}
.drawer--right{right:0;transform:translateX(105%)}
.drawer--left{left:0;transform:translateX(-105%)}
.drawer.on{transform:none}
.drawer__head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--line)}
.drawer__body{flex:1;overflow:auto;padding:16px 20px}
.drawer__foot{padding:18px 20px;border-top:1px solid var(--line);background:var(--bg-soft)}
.mnav a{display:flex;justify-content:space-between;padding:16px 4px;border-bottom:1px solid var(--line);font-weight:600;font-family:var(--f-head)}
.mnav input{width:100%;height:46px;border:1px solid var(--line);border-radius:12px;padding:0 14px;margin-bottom:10px}

/* ---------- Botões ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:52px;padding:0 28px;border-radius:999px;font-weight:700;font-family:var(--f-head);font-size:.95rem;letter-spacing:.01em;transition:.25s;white-space:nowrap}
.btn--primary{background:var(--teal-700);color:#fff;box-shadow:0 10px 24px -10px rgba(13,92,92,.7)}
.btn--primary:hover{background:var(--teal-800);transform:translateY(-1px)}
.btn--accent{background:linear-gradient(135deg,var(--teal-400),var(--teal-600));color:#fff}
.btn--ghost{border:1.5px solid var(--teal-700);color:var(--teal-700)}
.btn--ghost:hover{background:var(--teal-50)}
.btn--light{background:#fff;color:var(--teal-800)}
.btn--block{width:100%}
.btn[disabled]{opacity:.5;pointer-events:none}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;background:radial-gradient(1200px 600px at 85% 20%,#d9f4ef 0,transparent 60%),linear-gradient(180deg,#f3faf8,#fff)}
.hero__in{display:grid;gap:24px;align-items:center;padding-top:36px;padding-bottom:48px}
@media(min-width:900px){.hero__in{grid-template-columns:1.05fr 1fr;padding-top:64px;padding-bottom:80px}}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.78rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--teal-600)}
.eyebrow::before{content:"";width:28px;height:2px;background:var(--teal-400)}
.hero h1{font-size:clamp(2.3rem,6vw,4.4rem);font-weight:800;margin:14px 0 18px}
.hero h1 .charm{font-weight:400;font-size:1.08em}
.hero p{font-size:1.08rem;color:var(--ink-2);max-width:520px}
.hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.hero__stats{display:flex;gap:28px;margin-top:34px;flex-wrap:wrap}
.hero__stats b{display:block;font-family:var(--f-head);font-size:1.5rem;color:var(--teal-800)}
.hero__stats span{font-size:.82rem;color:var(--muted)}
.hero__art{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.hero__card{border-radius:26px;overflow:hidden;background:linear-gradient(160deg,#f1f7f5,#d2e4e0);box-shadow:var(--shadow);aspect-ratio:3/4;position:relative}
.hero__card:nth-child(2){transform:translateY(34px)}
.hero__card svg{width:100%;height:100%}
.hero__tag{position:absolute;left:12px;bottom:12px;background:rgba(255,255,255,.92);border-radius:999px;padding:6px 12px;font-size:.75rem;font-weight:700;color:var(--teal-800)}
.blob{position:absolute;border-radius:50%;filter:blur(40px);opacity:.5;z-index:0}

/* ---------- Faixa de confiança ---------- */
.trust{border-block:1px solid var(--line);background:#fff}
.trust__in{display:grid;grid-template-columns:repeat(2,1fr);gap:4px}
@media(min-width:900px){.trust__in{grid-template-columns:repeat(4,1fr)}}
.trust__item{display:flex;gap:12px;align-items:center;padding:18px 6px}
.trust__item svg{width:34px;height:34px;flex:none;stroke:var(--teal-600)}
.trust__item b{display:block;font-size:.9rem;color:var(--teal-900)}
.trust__item span{font-size:.78rem;color:var(--muted)}

/* ---------- Seções ---------- */
.section{padding:56px 0}
@media(min-width:900px){.section{padding:84px 0}}
.section__head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:12px;margin-bottom:28px}
.section__head h2{font-size:clamp(1.6rem,3.4vw,2.4rem);font-weight:800}
.section__head p{color:var(--muted);max-width:520px}
.link-arrow{font-weight:700;color:var(--teal-700);display:inline-flex;gap:6px;align-items:center}

/* Categorias */
.cats{display:grid;gap:14px;grid-template-columns:1fr}
@media(min-width:640px){.cats{grid-template-columns:repeat(3,1fr)}}
.cat{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:4/5;display:flex;align-items:flex-end;padding:22px;color:#fff;isolation:isolate;transition:.3s}
.cat:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.cat svg.cat__art{position:absolute;inset:0;width:100%;height:100%;z-index:-2}
.cat::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(6,57,58,.85));z-index:-1}
.cat h3{color:#fff;font-size:1.5rem}
.cat span{font-size:.88rem;opacity:.9}
@media(max-width:639px){.cat{aspect-ratio:16/10}}

/* ---------- Filtros + grid ---------- */
.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:22px}
.chip{height:40px;padding:0 18px;border-radius:999px;border:1.5px solid var(--line);font-weight:600;font-size:.88rem;background:#fff;transition:.2s}
.chip:hover{border-color:var(--teal-400)}
.chip.on{background:var(--teal-700);border-color:var(--teal-700);color:#fff}
.toolbar select{margin-left:auto;height:40px;border-radius:999px;border:1.5px solid var(--line);padding:0 14px;background:#fff}
.grid{display:grid;gap:18px;grid-template-columns:repeat(2,1fr)}
@media(min-width:900px){.grid{grid-template-columns:repeat(3,1fr);gap:26px}}
@media(min-width:1180px){.grid{grid-template-columns:repeat(4,1fr)}}
.grid--3{}
@media(min-width:1180px){.grid--3{grid-template-columns:repeat(3,1fr)}}

.card{position:relative;display:flex;flex-direction:column}
.card__media{position:relative;display:block;border-radius:var(--radius);overflow:hidden;background:var(--bg,#eef3f2);aspect-ratio:3/4;transition:background .4s}
.card__art{position:absolute;inset:0}
.ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center;mix-blend-mode:multiply;transition:opacity .5s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.ph2{opacity:0}
.card:hover .ph1{opacity:0}.card:hover .ph2{opacity:1;transform:scale(1.03)}
@media(hover:none){.ph2{display:none}}
.badge{position:absolute;top:12px;left:12px;background:var(--teal-900);color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.04em;padding:6px 10px;border-radius:999px;z-index:2}
.badge--off{left:auto;right:12px;background:var(--rose)}
.quick{position:absolute;left:10px;right:10px;bottom:10px;opacity:0;transform:translateY(8px);transition:.25s}
.card:hover .quick{opacity:1;transform:none}
@media(hover:none){.quick{display:none}}
.quick .btn{height:44px;width:100%;font-size:.85rem}
.card__body{padding:12px 2px 0}
.swatches{display:flex;gap:6px;margin-bottom:8px}
.sw{width:20px;height:20px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px var(--silver-300);transition:.15s}
.sw.on{box-shadow:0 0 0 2px var(--teal-700)}
.card__name{font-family:var(--f-head);font-weight:700;font-size:.98rem;color:var(--ink)}
.card__meta{font-size:.78rem;color:var(--muted);margin:2px 0 6px}
.price{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.price b{font-size:1.12rem;color:var(--teal-900);font-family:var(--f-head)}
.price s{color:var(--muted);font-size:.85rem}
.pix{font-size:.78rem;color:var(--ok);font-weight:600}
.inst{font-size:.78rem;color:var(--muted)}
.stars{color:var(--gold);font-size:.8rem;letter-spacing:1px}
.stars small{color:var(--muted);letter-spacing:0}

/* ---------- Banner charme ---------- */
.charm-band{border-radius:28px;overflow:hidden;background:linear-gradient(120deg,var(--teal-900),var(--teal-700) 55%,var(--teal-400));color:#fff;display:grid;gap:20px;padding:40px 26px;position:relative}
@media(min-width:900px){.charm-band{grid-template-columns:1.2fr 1fr;padding:60px}}
.charm-band h2{color:#fff;font-size:clamp(1.8rem,4vw,2.8rem)}
.charm-band .charm{color:#bff3ec}
.charm-band p{opacity:.9;max-width:520px;margin:12px 0 24px}
.perks{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.perk{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:16px;padding:16px}
.perk b{display:block;font-family:var(--f-head)}
.perk span{font-size:.82rem;opacity:.85}

/* Depoimentos */
.reviews{display:grid;gap:16px}
@media(min-width:900px){.reviews{grid-template-columns:repeat(3,1fr)}}
.review{background:var(--bg-soft);border-radius:var(--radius);padding:24px}
.review p{font-family:var(--f-charm);font-style:italic;font-size:1.05rem;color:var(--ink-2);margin:10px 0 14px}
.review b{font-size:.9rem}.review span{font-size:.8rem;color:var(--muted);display:block}

/* ---------- Página de produto ---------- */
.pdp{display:grid;gap:28px;padding:24px 0 60px}
@media(min-width:900px){.pdp{grid-template-columns:1.1fr 1fr;gap:56px;padding:40px 0 90px}}
.pdp__gallery{position:relative;border-radius:26px;background:linear-gradient(165deg,#eef5f3,#cfe2de);aspect-ratio:4/5;overflow:hidden}
@media(min-width:900px){.pdp__gallery{position:sticky;top:96px}}
.pdp__gallery svg{width:100%;height:100%}
.crumbs{font-size:.8rem;color:var(--muted);margin-bottom:10px}
.crumbs a:hover{color:var(--teal-700)}
.pdp h1{font-size:clamp(1.7rem,3.4vw,2.4rem);font-weight:800;margin-bottom:8px}
.pdp .price b{font-size:1.7rem}
.pdp__box{border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin:16px 0;background:var(--bg-soft)}
.opt-label{display:flex;justify-content:space-between;font-weight:700;font-size:.9rem;margin:20px 0 10px}
.opt-label button{font-weight:600;color:var(--teal-700);text-decoration:underline;font-size:.82rem}
.sw-lg{width:38px;height:38px;border-width:3px}
.sizes{display:flex;flex-wrap:wrap;gap:8px}
.size{min-width:54px;height:48px;border-radius:12px;border:1.5px solid var(--line);font-weight:700;background:#fff;position:relative;transition:.15s}
.size:hover{border-color:var(--teal-400)}
.size.on{background:var(--teal-700);color:#fff;border-color:var(--teal-700)}
.size.low::after{content:"";position:absolute;top:6px;right:6px;width:6px;height:6px;border-radius:50%;background:var(--rose)}
.low-msg{font-size:.82rem;color:var(--rose);font-weight:600;margin-top:8px;min-height:1.2em}
.qty{display:inline-flex;align-items:center;border:1.5px solid var(--line);border-radius:999px;height:52px}
.qty button{width:44px;height:100%;font-size:1.2rem}
.qty input{width:40px;text-align:center;border:0;outline:none;font-weight:700;background:transparent}
.buy-row{display:flex;gap:10px;margin-top:22px}
.buy-row .btn{flex:1}
.field{display:flex;flex-direction:column;gap:6px;margin-top:14px}
.field label{font-size:.82rem;font-weight:600;color:var(--ink-2)}
.field input,.field select,.field textarea{height:48px;border:1.5px solid var(--line);border-radius:12px;padding:0 14px;outline:none;background:#fff;transition:.2s;width:100%}
.field textarea{height:auto;min-height:120px;padding:12px 14px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--teal-400);box-shadow:0 0 0 4px var(--teal-100)}
.feats{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}
.feat{background:var(--teal-50);color:var(--teal-800);font-size:.8rem;font-weight:600;padding:7px 12px;border-radius:999px}
details.acc{border-bottom:1px solid var(--line);padding:16px 0}
details.acc summary{cursor:pointer;font-weight:700;font-family:var(--f-head);list-style:none;display:flex;justify-content:space-between}
details.acc summary::after{content:"+";font-size:1.3rem;color:var(--teal-600)}
details.acc[open] summary::after{content:"–"}
details.acc p,details.acc ul{margin-top:10px;color:var(--ink-2);font-size:.92rem}
details.acc ul{padding-left:18px}

/* ---------- Carrinho ---------- */
.ship-bar{font-size:.85rem;margin-bottom:14px}
.ship-bar__track{height:7px;border-radius:9px;background:var(--line);margin-top:8px;overflow:hidden}
.ship-bar__fill{height:100%;background:linear-gradient(90deg,var(--teal-400),var(--teal-700));transition:width .4s}
.line{display:grid;grid-template-columns:76px 1fr auto;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}
.line__img{border-radius:12px;background:var(--bg,var(--bg-soft));aspect-ratio:3/4;overflow:hidden}
.line__img img{width:100%;height:100%;object-fit:cover;object-position:top;mix-blend-mode:multiply}
.line__name{font-weight:700;font-size:.9rem}
.line__var{font-size:.78rem;color:var(--muted)}
.line .qty{height:34px;margin-top:8px}.line .qty button{width:32px}.line .qty input{width:28px}
.line__rm{font-size:.75rem;color:var(--muted);text-decoration:underline;margin-top:6px}
.totals{display:grid;gap:6px;font-size:.92rem;margin-bottom:14px}
.totals div{display:flex;justify-content:space-between}
.totals .grand{font-size:1.15rem;font-weight:800;font-family:var(--f-head);color:var(--teal-900);padding-top:8px;border-top:1px dashed var(--line)}
.coupon{display:flex;gap:8px;margin:12px 0}
.coupon input{flex:1;height:44px;border:1.5px solid var(--line);border-radius:12px;padding:0 12px;text-transform:uppercase}
.coupon button{height:44px;padding:0 16px;border-radius:12px;background:var(--teal-50);color:var(--teal-800);font-weight:700}
.empty{text-align:center;padding:40px 10px;color:var(--muted)}

/* ---------- Checkout ---------- */
.checkout{display:grid;gap:24px;padding:28px 0 70px}
@media(min-width:960px){.checkout{grid-template-columns:1.4fr 1fr;gap:40px}}
.panel{border:1px solid var(--line);border-radius:var(--radius);padding:22px;background:#fff}
.panel h3{font-size:1.1rem;margin-bottom:6px;display:flex;gap:10px;align-items:center}
.step-n{width:28px;height:28px;border-radius:50%;background:var(--teal-700);color:#fff;font-size:.85rem;display:grid;place-items:center}
.row2{display:grid;gap:0 12px}
@media(min-width:560px){.row2{grid-template-columns:1fr 1fr}}
.row3{display:grid;gap:0 12px;grid-template-columns:1fr 1fr}
@media(min-width:560px){.row3{grid-template-columns:2fr 1fr 1fr}}
.pay-opts{display:grid;gap:10px;margin-top:14px}
.pay{display:flex;gap:14px;align-items:center;border:1.5px solid var(--line);border-radius:14px;padding:14px 16px;cursor:pointer;transition:.2s}
.pay:hover{border-color:var(--teal-400)}
.pay.on{border-color:var(--teal-700);background:var(--teal-50)}
.pay input{accent-color:var(--teal-700);width:18px;height:18px}
.pay b{display:block;font-size:.95rem}.pay span{font-size:.8rem;color:var(--muted)}
.pay .tag{margin-left:auto;background:var(--ok);color:#fff;font-size:.7rem;font-weight:700;padding:4px 8px;border-radius:999px}
.summary{position:sticky;top:96px;align-self:start}
.secure{display:flex;gap:8px;align-items:center;font-size:.78rem;color:var(--muted);margin-top:12px;justify-content:center}
.err{color:var(--danger);font-size:.85rem;margin-top:10px;min-height:1em}

/* Pix */
.pix-box{text-align:center;padding:10px}
.pix-box img,.pix-box .qr{width:220px;height:220px;margin:16px auto;border-radius:14px;border:1px solid var(--line);background:#fff}
.copy{display:flex;gap:8px;margin-top:12px}
.copy input{flex:1;height:46px;border:1.5px solid var(--line);border-radius:12px;padding:0 12px;font-size:.78rem}
.status-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:var(--teal-50);color:var(--teal-800);font-weight:700;font-size:.85rem}
.status-pill.ok{background:#e1f6ed;color:var(--ok)}
.dot{width:8px;height:8px;border-radius:50%;background:currentColor;animation:pulse 1.4s infinite}
@keyframes pulse{50%{opacity:.3}}

/* ---------- SAC ---------- */
.sac{display:grid;gap:28px;padding:30px 0 70px}
@media(min-width:900px){.sac{grid-template-columns:1fr 1fr;gap:48px}}

/* ---------- Footer ---------- */
.newsletter{background:var(--teal-50);border-radius:28px;padding:36px 24px;display:grid;gap:16px;align-items:center}
@media(min-width:900px){.newsletter{grid-template-columns:1fr 1fr;padding:48px}}
.newsletter form{display:flex;gap:8px;flex-wrap:wrap}
.newsletter input{flex:1;min-width:200px;height:52px;border-radius:999px;border:1.5px solid var(--line);padding:0 20px;outline:none}
.footer{background:var(--teal-900);color:#cfe7e4;margin-top:70px;padding:56px 0 24px;font-size:.9rem}
.footer__grid{display:grid;gap:30px;grid-template-columns:1fr 1fr}
@media(min-width:900px){.footer__grid{grid-template-columns:1.5fr 1fr 1fr 1fr}}
.footer h4{color:#fff;font-size:.95rem;margin-bottom:14px}
.footer a{display:block;padding:4px 0;opacity:.85}.footer a:hover{opacity:1;color:var(--teal-300)}
.footer__brand{grid-column:1/-1}
@media(min-width:900px){.footer__brand{grid-column:auto}}
.footer__logo{background:#fff;border-radius:14px;padding:10px 14px;display:inline-block;margin-bottom:14px}
.footer__logo img{height:40px}
.socials{display:flex;gap:10px;margin-top:14px}
.socials a{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.1);display:grid;place-items:center;padding:0}
.socials svg{width:19px;height:19px;fill:#fff}
.pay-icons{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.pay-icons span{background:#fff;color:var(--teal-900);font-size:.7rem;font-weight:800;padding:5px 9px;border-radius:6px}
.footer__bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:36px;padding-top:20px;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;font-size:.78rem;opacity:.75}

/* ---------- Flutuantes ---------- */
.fab{position:fixed;right:16px;z-index:60;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;box-shadow:var(--shadow-lg);transition:.2s}
.fab:hover{transform:scale(1.06)}
.fab--wa{bottom:16px;background:#25d366}
.fab--chat{bottom:84px;background:var(--teal-700)}
.fab svg{width:28px;height:28px;fill:#fff}
.chat{position:fixed;right:16px;bottom:152px;width:min(380px,calc(100vw - 32px));height:min(520px,calc(100vh - 190px));background:#fff;border-radius:22px;box-shadow:var(--shadow-lg);z-index:70;display:flex;flex-direction:column;overflow:hidden;transform:scale(.9) translateY(20px);opacity:0;pointer-events:none;transition:.25s;transform-origin:bottom right}
.chat.on{transform:none;opacity:1;pointer-events:auto}
.chat__head{background:linear-gradient(120deg,var(--teal-800),var(--teal-600));color:#fff;padding:16px 18px;display:flex;align-items:center;gap:12px}
.chat__head b{display:block}.chat__head span{font-size:.75rem;opacity:.85}
.chat__msgs{flex:1;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:10px;background:var(--bg-soft)}
.msg{max-width:85%;padding:10px 14px;border-radius:16px;font-size:.88rem;white-space:pre-wrap}
.msg--bot{background:#fff;border:1px solid var(--line);border-bottom-left-radius:4px}
.msg--me{background:var(--teal-700);color:#fff;align-self:flex-end;border-bottom-right-radius:4px}
.chat form{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line)}
.chat form input{flex:1;height:44px;border:1.5px solid var(--line);border-radius:999px;padding:0 16px;outline:none}
.chat form button{width:44px;height:44px;border-radius:50%;background:var(--teal-700);display:grid;place-items:center}
.chat form button svg{width:18px;fill:#fff}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chips button{font-size:.78rem;border:1px solid var(--teal-400);color:var(--teal-700);border-radius:999px;padding:5px 10px;background:#fff}

/* Toast + modal */
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,120px);background:var(--teal-900);color:#fff;padding:14px 22px;border-radius:999px;font-weight:600;font-size:.9rem;z-index:120;transition:.35s;box-shadow:var(--shadow-lg);max-width:calc(100vw - 32px)}
.toast.on{transform:translate(-50%,0)}
.modal{position:fixed;inset:0;display:grid;place-items:center;padding:16px;z-index:110;background:rgba(6,57,58,.5);opacity:0;pointer-events:none;transition:.25s}
.modal.on{opacity:1;pointer-events:auto}
.modal__box{background:#fff;border-radius:22px;padding:26px;max-width:560px;width:100%;max-height:90vh;overflow:auto}
table.sizes-t{width:100%;border-collapse:collapse;margin-top:14px;font-size:.88rem}
.sizes-t th,.sizes-t td{padding:10px;border-bottom:1px solid var(--line);text-align:center}
.sizes-t th{background:var(--teal-50);color:var(--teal-800)}
.cookie{position:fixed;left:16px;bottom:16px;max-width:380px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:var(--shadow-lg);z-index:65;font-size:.82rem}
.cookie .btn{height:38px;padding:0 16px;font-size:.8rem;margin-top:10px}
@media(max-width:560px){.cookie{right:84px}}

.fade-in{animation:fade .45s ease both}
@keyframes fade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.page-title{padding:34px 0 10px}
.page-title h1{font-size:clamp(1.8rem,4vw,2.8rem);font-weight:800}
.page-title p{color:var(--muted)}

/* =========================================================
   V2 — Reformulação inspirada em FIGS · Jaanuu · Mandala
   ========================================================= */
.caps{letter-spacing:.16em;text-transform:uppercase}

/* Hero em carrossel com modelos (efeito recorte via multiply) */
.hero2{position:relative;overflow:hidden;height:clamp(620px,86vh,820px)}
.slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .9s ease,visibility 0s .9s}
.slide.on{opacity:1;visibility:visible;transition:opacity .9s ease}
.slide__in{height:100%;display:grid;grid-template-rows:auto 1fr;gap:0;padding-top:28px}
@media(min-width:900px){.slide__in{grid-template-columns:1fr 1.1fr;grid-template-rows:1fr;align-items:center;padding-top:0}}
.slide__txt{position:relative;z-index:2;max-width:560px}
.slide__txt h1{font-size:clamp(2.1rem,5.6vw,4.3rem);font-weight:800;margin:12px 0 14px}
.slide__txt p{color:var(--ink-2);font-size:1.04rem}
.slide.on .slide__txt>*{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}
.slide.on .slide__txt>*:nth-child(2){animation-delay:.08s}.slide.on .slide__txt>*:nth-child(3){animation-delay:.16s}.slide.on .slide__txt>*:nth-child(4){animation-delay:.24s}
@keyframes rise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
.slide__art{position:relative;height:100%;min-height:300px}
.model{position:absolute;bottom:0;height:100%;width:auto;max-width:62%;object-fit:cover;object-position:top;mix-blend-mode:multiply;border-radius:28px 28px 0 0;filter:saturate(1.05)}
.model.m1{left:4%;z-index:2;height:96%}
.model.m2{right:2%;height:84%;opacity:.96}
@media(max-width:899px){.slide__art{margin-top:8px}.model{max-width:52%}.model.m1{left:0}.model.m2{right:0}}
.slide.on .model{animation:kenburns 9s ease-out both}
.slide.on .model.m2{animation-delay:.15s}
@keyframes kenburns{from{transform:scale(1.08) translateY(14px);opacity:0}12%{opacity:1}to{transform:scale(1) translateY(0);opacity:1}}
.orb{position:absolute;width:62%;aspect-ratio:1;border-radius:50%;left:20%;top:12%;background:radial-gradient(circle,rgba(255,255,255,.85),rgba(255,255,255,0) 70%);z-index:0}
.dots{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);display:flex;gap:8px;z-index:5}
.dots button{width:10px;height:10px;border-radius:999px;background:rgba(6,57,58,.25);transition:.3s}
.dots button.on{width:30px;background:var(--teal-700)}
@media (prefers-reduced-motion:reduce){.slide.on .model,.slide.on .slide__txt>*{animation:none}}

/* Compre por cor — trilho horizontal (estilo Mandala) */
.colorrail{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px max(16px,calc((100vw - var(--max))/2 + 28px)) 18px;scrollbar-width:thin}
.ctile{flex:0 0 clamp(170px,22vw,240px);scroll-snap-align:start;border-radius:20px;overflow:hidden;background:var(--bg);position:relative;aspect-ratio:3/4;transition:transform .35s}
.ctile:hover{transform:translateY(-6px)}
.ctile img{width:100%;height:100%;object-fit:cover;object-position:top;mix-blend-mode:multiply;transition:transform .7s}
.ctile:hover img{transform:scale(1.05)}
.ctile span{position:absolute;left:10px;right:10px;bottom:10px;background:rgba(255,255,255,.92);backdrop-filter:blur(6px);border-radius:14px;padding:8px 12px;font-weight:700;font-size:.85rem;display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.ctile span i{width:14px;height:14px;border-radius:50%;box-shadow:0 0 0 2px #fff,0 0 0 3px var(--silver-300)}
.ctile small{width:100%;font-weight:500;color:var(--muted);font-size:.72rem}

/* Feminino | Masculino (estilo FIGS) */
.split{display:grid;gap:16px;grid-template-columns:1fr}
@media(min-width:760px){.split{grid-template-columns:1fr 1fr}}
.splitcard{position:relative;border-radius:28px;overflow:hidden;background:var(--bg);aspect-ratio:4/5;display:block;isolation:isolate}
@media(max-width:759px){.splitcard{aspect-ratio:1/1}}
.splitcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top;mix-blend-mode:multiply;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.splitcard:hover img{transform:scale(1.05)}
.splitcard::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(6,57,58,.55));z-index:1}
.splitcard div{position:absolute;left:24px;bottom:24px;z-index:2;color:#fff}
.splitcard .eyebrow{color:#dff5f2}.splitcard .eyebrow::before{background:#dff5f2}
.splitcard h3{color:#fff;font-size:clamp(2rem,4vw,3rem);letter-spacing:.12em;margin:6px 0 14px}
.splitcard .btn{height:46px}
.tabs{display:flex;gap:8px;flex-wrap:wrap}

/* Cores essenciais (estilo FIGS core colors) */
.core{background:var(--bg-soft);padding:56px 0}
.core__in{display:grid;gap:30px;align-items:center}
@media(min-width:900px){.core__in{grid-template-columns:1fr 1fr;gap:60px}}
.core__pic{border-radius:28px;overflow:hidden;background:var(--bg);aspect-ratio:4/5;transition:background .45s;max-height:640px;width:100%}
.core__pic img{width:100%;height:100%;object-fit:cover;object-position:top;mix-blend-mode:multiply;transition:opacity .22s,transform .6s}
.core__pic.swap img{opacity:0;transform:scale(1.03)}
.core__txt h2{font-size:clamp(1.7rem,3.4vw,2.6rem);margin:12px 0}
.core__txt p{color:var(--ink-2)}
.core__dots{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 10px}
.core__dots button{width:40px;height:40px;border-radius:50%;box-shadow:0 0 0 3px #fff,0 0 0 4px var(--silver-300);transition:.2s}
.core__dots button.on,.core__dots button:hover{box-shadow:0 0 0 3px #fff,0 0 0 5px var(--teal-700);transform:scale(1.06)}
.core__name{margin-bottom:18px}

/* Faixa com parallax */
.parallax{position:relative;background-size:cover;background-position:center 30%;color:#fff;padding:90px 0;margin:30px 0 0}
@media(min-width:1024px) and (hover:hover){.parallax{background-attachment:fixed}}
.parallax::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(6,57,58,.92) 0%,rgba(10,74,75,.78) 45%,rgba(10,74,75,.25) 100%)}
.parallax__in{position:relative;max-width:var(--max)}
.parallax h2{color:#fff;font-size:clamp(1.8rem,4vw,2.8rem);max-width:620px;margin:12px 0 24px}
.parallax .charm{color:#bff3ec}
.parallax .perks{max-width:560px;margin-bottom:26px}

/* Banner de categoria */
.catbanner{background:var(--bg);overflow:hidden}
.catbanner__in{display:grid;grid-template-columns:1.2fr 1fr;align-items:end;gap:10px;min-height:240px}
.catbanner__in>div{padding:34px 0}
.catbanner h1{font-size:clamp(1.9rem,4.5vw,3.2rem);font-weight:800}
.catbanner p{color:var(--ink-2);max-width:460px}
.catbanner img{height:260px;width:100%;object-fit:cover;object-position:top;mix-blend-mode:multiply;border-radius:24px 24px 0 0}
@media(min-width:900px){.catbanner img{height:340px}}

/* Galeria do produto */
.pdp__gallery{background:none;aspect-ratio:auto;overflow:visible}
.pdp__main{border-radius:26px;overflow:hidden;background:var(--bg);aspect-ratio:4/5;cursor:zoom-in}
.pdp__main img{width:100%;height:100%;object-fit:cover;object-position:top;mix-blend-mode:multiply;transition:opacity .18s,transform .25s ease}
.pdp__main img.swap{opacity:0}
.pdp__thumbs{display:flex;gap:10px;margin-top:12px;overflow-x:auto}
.pdp__thumbs button{flex:0 0 74px;height:92px;border-radius:12px;overflow:hidden;background:var(--bg);box-shadow:0 0 0 1px var(--line);transition:.2s}
.pdp__thumbs button.on{box-shadow:0 0 0 2px var(--teal-700)}
.pdp__thumbs img{width:100%;height:100%;object-fit:cover;object-position:top;mix-blend-mode:multiply}
.pdp__gallery .badge{z-index:3}

/* Animação de entrada ao rolar */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
.grid .reveal.in:nth-child(3n+2){transition-delay:.08s}.grid .reveal.in:nth-child(3n+3){transition-delay:.16s}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
.photo-credit{font-size:.7rem;opacity:.6}

/* ---------- Recortes com fundo transparente (override) ---------- */
.ph,.model,.ctile img,.splitcard img,.core__pic img,.catbanner img,.pdp__main img,.pdp__thumbs img,.line__img img{
  mix-blend-mode:normal;object-fit:contain;object-position:center bottom;border-radius:0;
  filter:drop-shadow(0 18px 22px rgba(6,57,58,.18))}
.ph{padding-top:6%}
.ph.zoom,.pdp__main img.det1,.pdp__thumbs img.det1{transform:scale(1.9);transform-origin:50% 22%}
.pdp__main img.det2,.pdp__thumbs img.det2{transform:scale(2.6);transform-origin:50% 45%}
.card:hover .ph2.zoom{transform:scale(1.9)}
.card__media{background:radial-gradient(120% 80% at 50% 100%,#fff 0%,var(--bg,#eef3f2) 60%)}
.card__media::after{content:"";position:absolute;left:18%;right:18%;bottom:3%;height:5%;border-radius:50%;background:rgba(6,57,58,.10);filter:blur(8px);z-index:0}
.card__art{z-index:1}
.model{max-width:none;width:auto;height:100%}
.model.m1{left:2%;height:100%}
.model.m2{right:0;height:88%}
@media(max-width:899px){.model.m1{height:100%;left:-2%}.model.m2{height:86%;right:-4%}}
.slide__art::after{content:"";position:absolute;left:8%;right:8%;bottom:0;height:22px;border-radius:50%;background:rgba(6,57,58,.12);filter:blur(10px)}
.ctile{background:radial-gradient(110% 70% at 50% 100%,#fff 0%,var(--bg) 65%)}
.ctile img{padding:10px 8px 52px}
.splitcard img{padding-top:5%}
.splitcard{background:radial-gradient(100% 70% at 60% 100%,#fff 0%,var(--bg) 60%)}
.core__pic{background:radial-gradient(100% 70% at 50% 100%,#fff 0%,var(--bg) 62%)}
.core__pic img{padding-top:5%}
.catbanner img{height:300px;padding-top:12px}
@media(min-width:900px){.catbanner img{height:380px}}
.pdp__main{background:radial-gradient(100% 70% at 50% 100%,#fff 0%,var(--bg) 62%)}
.pdp__main img{padding-top:4%}
.pdp__thumbs button{position:relative}
.line__img img{filter:none}

@media(max-width:899px){.hero2{height:820px}.slide__art{min-height:360px}.hero__cta .btn{height:46px;padding:0 20px}}
@media(max-width:380px){.hero2{height:860px}}

/* =========================================================
   V3 — Editorial com vídeo (referência: Healing Hands)
   ========================================================= */
:root{--f-serif:'Playfair Display',Georgia,serif}
.kicker{display:inline-block;font-size:.74rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase}
.btn--outline{border:1.5px solid currentColor;background:transparent;color:#fff;border-radius:4px;height:48px;padding:0 26px;font-family:var(--f-body);font-weight:600;letter-spacing:.02em}
.btn--outline:hover{background:#fff;color:var(--teal-900)}

/* Hero em vídeo */
.vhero{position:relative;height:clamp(560px,88vh,860px);overflow:hidden;background:var(--teal-900);color:#fff;display:flex;align-items:center}
.vhero__media,.vhero__media video{position:absolute;inset:0;width:100%;height:100%}
.vhero__media video{object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity 1.2s ease,transform 8s ease-out}
.vhero__media video.on{opacity:1;transform:scale(1)}
.vhero__shade{position:absolute;inset:0;background:radial-gradient(80% 70% at 50% 55%,rgba(6,57,58,.25),rgba(6,57,58,.72)),linear-gradient(180deg,rgba(6,57,58,.35),rgba(6,57,58,.15) 40%,rgba(6,57,58,.65))}
.vhero__txt{position:relative;z-index:3;text-align:center;max-width:900px}
.vhero__txt .kicker{color:#bff3ec;animation:rise .9s both}
.vhero__txt h1{font-family:var(--f-serif);font-weight:400;color:#fff;font-size:clamp(2.6rem,7.5vw,5.6rem);line-height:1.02;letter-spacing:-.02em;margin:14px 0 16px;animation:rise 1s .1s both}
.vhero__txt h1 em,.vbanner h2 em{font-style:italic;color:#bff3ec}
.vhero__txt p{font-size:1.08rem;opacity:.92;max-width:560px;margin:0 auto;animation:rise 1s .2s both}
.vhero__cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:28px;animation:rise 1s .3s both}
.vhero__pause{position:absolute;right:18px;bottom:18px;z-index:4;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.18);color:#fff;font-size:.75rem;backdrop-filter:blur(6px)}
@media(max-width:600px){.vhero__pause{bottom:auto;top:14px}}
/* elementos flutuantes (o "charme" sobre o vídeo) */
.vhero__float{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}
.floaty{position:absolute;bottom:-40px;fill:none;stroke:rgba(191,243,236,.75);stroke-width:1.6;animation:floatUp linear infinite;filter:drop-shadow(0 0 6px rgba(191,243,236,.5))}
.floaty:nth-child(3n){stroke:rgba(255,255,255,.8);fill:rgba(255,255,255,.15)}
@keyframes floatUp{0%{transform:translateY(0) rotate(0);opacity:0}10%{opacity:1}90%{opacity:.9}100%{transform:translateY(-110vh) rotate(220deg);opacity:0}}
@media (prefers-reduced-motion:reduce){.floaty{display:none}.vhero__media video{transition:none}}

/* títulos editoriais */
.hh-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;flex-wrap:wrap}
.hh-head h2,.splitcard h3,.duocard h3,.vbanner h2,.newsletter h2{font-family:var(--f-serif);font-weight:400;letter-spacing:-.01em;text-transform:none}
.hh-head h2{font-size:clamp(1.7rem,3.6vw,2.6rem);color:var(--teal-900)}
.splitcard h3{font-size:clamp(2.4rem,5vw,3.6rem);letter-spacing:0}

/* pílulas de cor */
.pills{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 14px;scrollbar-width:none}
.pills::-webkit-scrollbar{display:none}
.pill{flex:none;display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 16px 0 8px;border:1.5px solid var(--line);border-radius:999px;font-size:.84rem;font-weight:500;background:#fff;transition:.2s}
.pill i{width:22px;height:22px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}
.pill:hover{border-color:var(--teal-400)}.pill.on{border-color:var(--teal-900);box-shadow:inset 0 0 0 1px var(--teal-900)}

/* carrosséis */
.rail-wrap{position:relative}
.rail{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding-bottom:6px}
.rail::-webkit-scrollbar{display:none}
.rail-btn{position:absolute;top:38%;z-index:3;width:42px;height:42px;border-radius:50%;background:#fff;box-shadow:var(--shadow);font-size:1.5rem;color:var(--teal-900)}
.rail-btn.prev{left:-12px}.rail-btn.next{right:-12px}
@media(hover:none){.rail-btn{display:none}}
.round{width:42px;height:42px;border-radius:50%;border:1.5px solid var(--line);font-size:1.4rem;color:var(--teal-900);background:#fff;transition:.2s}
.round:hover{border-color:var(--teal-900)}
.rail-arrows{display:flex;gap:8px}
.mini{flex:0 0 clamp(170px,23%,260px);scroll-snap-align:start;position:relative;display:flex;flex-direction:column;gap:2px}
.mini__pic{display:block;position:relative;aspect-ratio:3/4;border-radius:6px;overflow:hidden;background:radial-gradient(110% 70% at 50% 100%,#fff 0%,var(--bg) 62%);margin-bottom:8px}
.mini__pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center bottom;padding-top:8%;transition:transform .6s;filter:drop-shadow(0 14px 18px rgba(6,57,58,.16))}
.mini:hover .mini__pic img{transform:scale(1.04)}
.tag{position:absolute;top:10px;left:10px;z-index:2;background:#fff;font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:5px 8px;border-radius:3px}
.plus{position:absolute;right:10px;top:calc(100% - 100px);width:38px;height:38px;border-radius:50%;background:#fff;box-shadow:var(--shadow);font-size:1.3rem;color:var(--teal-900);z-index:2;transition:.2s}
.plus:hover{background:var(--teal-900);color:#fff}
.mini small{font-size:.68rem;letter-spacing:.12em;color:var(--muted)}
.mini__name{font-weight:600;font-size:.92rem}.mini__price{font-size:.88rem;color:var(--ink-2)}
.mini--all{align-items:center;justify-content:center;border:1.5px dashed var(--line);border-radius:6px;aspect-ratio:3/4;font-family:var(--f-serif);font-size:1.2rem;color:var(--teal-800)}
.mini--all:hover{border-color:var(--teal-400)}
.mini .plus{top:auto;bottom:86px}

/* categorias */
.cattile{flex:0 0 clamp(200px,24%,290px);scroll-snap-align:start;display:flex;flex-direction:column;gap:10px}
.cattile__pic{aspect-ratio:4/5;border-radius:6px;overflow:hidden;background:radial-gradient(110% 70% at 50% 100%,#fff 0%,var(--bg) 62%);position:relative}
.cattile__pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center bottom;padding-top:6%;transition:transform .8s cubic-bezier(.2,.7,.2,1);filter:drop-shadow(0 14px 18px rgba(6,57,58,.16))}
.cattile:hover img{transform:scale(1.06)}
.cattile span{font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}

/* banner de vídeo */
.vbanner{position:relative;border-radius:10px;overflow:hidden;min-height:clamp(380px,60vh,560px);display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;background:var(--teal-900);padding:0}
.vbanner video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vbanner::after{content:"";position:absolute;inset:0;background:rgba(6,57,58,.5)}
.vbanner__txt{position:relative;z-index:2;padding:40px 20px;max-width:720px}
.vbanner .kicker{color:#bff3ec}
.vbanner h2{color:#fff;font-size:clamp(2rem,5vw,3.6rem);line-height:1.05;margin:10px 0 12px}
@media(max-width:767px){.vbanner{border-radius:0;margin-left:0;margin-right:0;width:100%;max-width:none}}

/* banners duplos */
.duo{display:grid;gap:14px;margin-top:56px}
@media(min-width:760px){.duo{grid-template-columns:1fr 1fr}}
.duocard{position:relative;display:block;border-radius:10px;overflow:hidden;aspect-ratio:4/3;background:var(--bg);color:#fff;isolation:isolate}
.duocard img{position:absolute;right:-4%;bottom:0;height:100%;width:70%;object-fit:contain;object-position:right bottom;transition:transform 1s cubic-bezier(.2,.7,.2,1);filter:drop-shadow(0 20px 30px rgba(0,0,0,.25))}
.duocard:hover img{transform:scale(1.04) translateX(-2%)}
.duocard::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 80% at 75% 70%,rgba(255,255,255,.18),transparent 70%);z-index:-1}
.duocard div{position:absolute;left:26px;bottom:26px;max-width:55%;z-index:2}
.duocard h3{color:#fff;font-size:clamp(1.6rem,3.2vw,2.4rem);line-height:1.08;margin-bottom:16px}
@media(max-width:480px){.duocard{aspect-ratio:1/1}.duocard div{max-width:62%}}

@media(max-width:767px){
  .vhero{align-items:flex-end;height:min(88vh,760px)}
  .vhero__txt{padding-bottom:42px}
  .vhero__txt h1{font-size:2.7rem}
  .vhero__shade{background:linear-gradient(180deg,rgba(6,57,58,.1) 0%,rgba(6,57,58,.25) 40%,rgba(6,57,58,.88) 100%)}
  .vhero__media video{object-position:65% center}
  .btn--outline{height:44px;padding:0 18px;font-size:.88rem}
}
.duocard::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,var(--bg) 0%,color-mix(in srgb,var(--bg) 70%,transparent) 45%,transparent 75%)}
.duocard img{z-index:0}

/* =========================================================
   Painéis de cor com degradê esfumado + letreiro (referência: Mandala)
   ========================================================= */
.story{position:relative;margin-top:44px}
.story__track{position:relative;display:flex;gap:4px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;width:100%}
.story__track::-webkit-scrollbar{display:none}
.story__panel{position:relative;flex:0 0 clamp(280px,33.6vw,560px);height:clamp(520px,80vh,720px);scroll-snap-align:start;overflow:hidden;display:block;color:var(--ink)}
@media(max-width:700px){.story__panel{flex-basis:82vw;height:72vh;min-height:480px}}
/* fundo: manchas de cor desfocadas que se movem devagar (nuances da cor da peça) */
.story__panel::before{content:"";position:absolute;inset:-25%;z-index:0;
  background:
    radial-gradient(38% 34% at 22% 72%,var(--d) 0%,transparent 70%),
    radial-gradient(34% 30% at 82% 30%,var(--g) 0%,transparent 70%),
    radial-gradient(45% 40% at 70% 85%,var(--m) 0%,transparent 72%),
    radial-gradient(60% 55% at 40% 25%,#fff8 0%,transparent 70%),
    linear-gradient(160deg,var(--l),var(--m));
  filter:blur(28px);animation:drift 18s ease-in-out infinite alternate}
.story__panel:nth-child(odd)::before{animation-duration:23s;animation-direction:alternate-reverse}
@keyframes drift{0%{transform:translate(0,0) scale(1)}50%{transform:translate(4%,-3%) scale(1.08)}100%{transform:translate(-4%,3%) scale(1.03)}}
/* letreiro gigante: passa POR TRÁS dos modelos e por cima dos fundos */
.story__marquee{position:absolute;left:0;top:50%;transform:translateY(-50%);z-index:1;pointer-events:none;white-space:nowrap;width:100%;overflow:hidden}
.story__marquee div{display:inline-flex;gap:clamp(40px,6vw,110px);animation:storyRun 60s linear infinite;padding-left:4vw}
.story__marquee span{font-family:var(--f-body);font-weight:500;font-size:clamp(4rem,10vw,9rem);letter-spacing:-.02em;color:#fff;line-height:1;text-shadow:0 2px 30px rgba(0,0,0,.08)}
@keyframes storyRun{to{transform:translateX(-50%)}}
.story__panel img{position:absolute;z-index:2;left:50%;bottom:0;transform:translateX(-50%);height:92%;width:auto;max-width:96%;object-fit:contain;object-position:bottom;filter:drop-shadow(0 26px 30px rgba(0,0,0,.22));transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.story__panel:hover img{transform:translateX(-50%) scale(1.04)}
.story__name{position:absolute;z-index:3;left:28px;top:26px;font-size:1.5rem;font-weight:500;letter-spacing:-.01em;display:flex;flex-direction:column}
.story__name small{font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;opacity:.7;margin-top:4px}
.story__cta{position:absolute;z-index:3;left:28px;bottom:24px;font-size:.88rem;font-weight:600;background:rgba(255,255,255,.85);backdrop-filter:blur(6px);padding:10px 16px;border-radius:999px;transform:translateY(8px);opacity:.92;transition:.3s}
.story__panel:hover .story__cta{transform:none;opacity:1;background:#fff}
.story .rail-btn{top:50%;transform:translateY(-50%)}
.story .rail-btn.prev{left:14px}.story .rail-btn.next{right:14px}
@media (prefers-reduced-motion:reduce){.story__panel::before,.story__marquee div{animation:none}}
.story__panel img{height:84%}
@media(max-width:700px){.story__panel img{height:80%}.story__name{left:20px;top:20px;font-size:1.3rem}.story__cta{left:20px}}

/* letreiro NA FRENTE dos modelos, fonte fina e delicada (estilo Mandala) */
.story__marquee{z-index:3}
.story__marquee span{font-family:'Jost',var(--f-body);font-weight:300;letter-spacing:.01em;text-transform:uppercase;text-shadow:0 1px 18px rgba(0,0,0,.10)}
.story__name,.story__cta{z-index:4}

/* =========================================================
   Página de produto — layout editorial (referência: Mandala)
   2 fotos grandes com rolagem à esquerda + painel fixo à direita
   ========================================================= */
.pg{display:grid;grid-template-columns:1fr;border-bottom:1px solid var(--line)}
@media(min-width:1000px){.pg{grid-template-columns:minmax(0,1fr) 420px}}
@media(min-width:1400px){.pg{grid-template-columns:minmax(0,1fr) 480px}}
.pg__gallery{position:relative;background:#fff}
.pg__grid{display:grid;grid-template-columns:1fr 1fr;gap:3px}
.pg__shot{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;cursor:zoom-in;padding:0;
  background:radial-gradient(90% 70% at 50% 100%,#f4f4f2 0%,#e6e6e3 70%)}
.pg__shot img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center bottom;padding-top:5%;
  filter:drop-shadow(0 18px 22px rgba(0,0,0,.14));transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.pg__shot:hover img{transform:scale(1.03)}
.pg__shot img.det1{transform:scale(2);transform-origin:50% 20%}
.pg__shot img.det2{transform:scale(2.6);transform-origin:50% 42%}
.pg__shot img.det3{transform:scale(1.7);transform-origin:50% 85%}
.pg__shot:hover img.det1{transform:scale(2.08)}.pg__shot:hover img.det2{transform:scale(2.7)}.pg__shot:hover img.det3{transform:scale(1.76)}
.pg__count{display:none}
.pg__panel{border-left:1px solid var(--line);background:#fff}
.pg__sticky{position:sticky;top:72px;padding:36px 34px 40px;max-height:calc(100vh - 72px);overflow:auto;scrollbar-width:thin}
.pg__panel .crumbs{font-size:.84rem;color:var(--ink-2);margin-bottom:22px}
.pg__title{display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.pg__title h1{font-family:var(--f-body);font-weight:500;font-size:1.32rem;color:var(--ink);letter-spacing:0;line-height:1.3}
.pg__price{text-align:right;white-space:nowrap}.pg__price b{font-weight:500;font-size:1.3rem}.pg__price s{color:var(--muted);font-size:.9rem;margin-right:8px}
.pg__sub{font-size:.82rem;color:var(--muted);margin:6px 0 4px}
.pg__label{font-size:.95rem;margin:26px 0 12px;color:var(--ink)}
.pg__label span{color:var(--muted);margin-left:6px}
.pg__label--row{display:flex;justify-content:space-between;align-items:center}
.pg__label--row button{font-size:.92rem;text-decoration:underline;text-underline-offset:5px;color:var(--ink)}
.sq{display:flex;flex-wrap:wrap;gap:6px}
.sq__b{width:44px;height:44px;border-radius:2px;position:relative;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08);transition:transform .15s}
.sq__b:hover{transform:translateY(-2px)}
.sq__b.on::after{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.25)}
.szgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.szgrid button{height:52px;border:1px solid #d9dcdb;background:#fff;font-size:.92rem;transition:.15s;position:relative}
.szgrid button:hover:not([disabled]){border-color:var(--ink)}
.szgrid button.on{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);font-weight:600}
.szgrid button[disabled]{color:#bdbdbd;text-decoration:line-through;cursor:not-allowed}
.szgrid button.low::after{content:"";position:absolute;top:6px;right:6px;width:6px;height:6px;border-radius:50%;background:var(--rose)}
.szgrid.shake{animation:shake .45s}
@keyframes shake{20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}
.lengrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.lengrid button{min-height:54px;border:1px solid #d9dcdb;background:#fff;font-size:.92rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.lengrid button small{font-size:.68rem;color:var(--muted)}
.lengrid button.on{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.pg__input{width:100%;height:50px;border:1px solid #d9dcdb;padding:0 14px;font-size:.95rem;outline:none}
.pg__input:focus{border-color:var(--ink)}
.pg__buy{display:block;width:calc(100% + 68px);margin:30px -34px 0;height:72px;background:#1f2324;color:#fff;font-size:1.2rem;font-weight:500;text-align:left;padding:0 34px;transition:background .2s}
.pg__buy.ready{background:var(--teal-800)}
.pg__buy.ready:hover{background:var(--teal-900)}
.pg__ship{font-size:.9rem;margin:20px 0 10px;color:var(--ink-2)}
.pg__panel details.acc summary{font-family:var(--f-body);font-weight:500}
/* celular e tablet: fotos em carrossel deslizante, painel abaixo */
@media(max-width:999px){
  .pg__grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;gap:0}
  .pg__grid::-webkit-scrollbar{display:none}
  .pg__shot{flex:0 0 100%;scroll-snap-align:start;aspect-ratio:4/5;max-height:78vh}
  .pg__count{display:block;position:absolute;right:14px;bottom:14px;background:rgba(255,255,255,.9);font-size:.78rem;font-weight:600;padding:5px 10px;border-radius:999px}
  .pg__panel{border-left:0}
  .pg__sticky{position:static;max-height:none;padding:24px 16px 32px}
  .pg__buy{width:calc(100% + 32px);margin:26px -16px 0;padding:0 16px;position:sticky;bottom:0;z-index:20}
}
@media(min-width:600px) and (max-width:999px){.pg__shot{flex-basis:50%}}
/* ampliação */
.lb{position:fixed;inset:0;z-index:150;background:#f2f2f0;display:flex;align-items:center;justify-content:center;animation:fade .25s}
.lb__pic{width:100%;height:100%;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}
.lb__pic img{max-height:96vh;max-width:96vw;object-fit:contain}
.lb__pic img.det1{transform:scale(2);transform-origin:50% 20%}.lb__pic img.det2{transform:scale(2.6);transform-origin:50% 42%}.lb__pic img.det3{transform:scale(1.7);transform-origin:50% 85%}
.lb__x{position:absolute;top:16px;right:16px;width:46px;height:46px;border-radius:50%;background:#fff;font-size:1.1rem;box-shadow:var(--shadow);z-index:2}
.lb__nav{position:absolute;top:50%;transform:translateY(-50%);width:50px;height:50px;border-radius:50%;background:#fff;font-size:1.6rem;box-shadow:var(--shadow);z-index:2}
.lb__nav.prev{left:16px}.lb__nav.next{right:16px}
.lb__n{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);font-size:.85rem;font-weight:600;background:#fff;padding:6px 12px;border-radius:999px}

/* =========================================================
   Conta do cliente · favoritos · frete
   ========================================================= */
.avatar{width:30px;height:30px;border-radius:50%;background:var(--teal-700);color:#fff;font-weight:700;font-size:.85rem;display:grid;place-items:center}
.heart{position:absolute;right:10px;top:10px;z-index:3;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.9);display:grid;place-items:center;box-shadow:0 4px 12px rgba(0,0,0,.08);transition:transform .15s}
.heart svg{width:19px;height:19px;fill:none;stroke:var(--teal-900);stroke-width:1.8;transition:.2s}
.heart:hover{transform:scale(1.08)}
.heart.on svg{fill:#d9466a;stroke:#d9466a;animation:pop .35s}
@keyframes pop{50%{transform:scale(1.3)}}
.card .badge--off{right:auto;left:12px;top:44px}
.pg__title h1{display:flex;align-items:flex-start;gap:10px}
.pg__title .heart{position:static;flex:none;width:34px;height:34px;box-shadow:inset 0 0 0 1px var(--line)}
.acct{padding:30px 16px 60px}
.acct__head{display:flex;justify-content:space-between;align-items:end;gap:12px;flex-wrap:wrap}
.acct__head h1{font-family:var(--f-serif);font-weight:400;font-size:clamp(2rem,4vw,2.8rem)}
.acct__head h1 em{color:var(--teal-600)}
.acct__tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:22px 0 24px;overflow-x:auto}
.acct__tabs a{padding:12px 16px;font-weight:600;color:var(--muted);border-bottom:2px solid transparent;white-space:nowrap}
.acct__tabs a.on{color:var(--teal-900);border-color:var(--teal-700)}
.ocard{border:1px solid var(--line);border-radius:14px;padding:18px;margin-bottom:14px;background:#fff}
.ocard__top{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.ocard__top small{display:block;color:var(--muted)}
.track{display:flex;list-style:none;margin:18px 0 6px;counter-reset:s}
.track li{flex:1;position:relative;text-align:center;font-size:.72rem;color:var(--muted);padding-top:22px}
.track li::before{content:"";position:absolute;top:4px;left:50%;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:var(--line);z-index:1}
.track li::after{content:"";position:absolute;top:9px;left:-50%;width:100%;height:2px;background:var(--line)}
.track li:first-child::after{display:none}
.track li.done{color:var(--teal-800);font-weight:600}.track li.done::before,.track li.done::after{background:var(--teal-600)}
.ocard__items{list-style:none;margin-top:12px;display:grid;gap:10px}
.ocard__items li{display:flex;align-items:center;gap:12px;font-size:.9rem}
.ocard__items li .btn{margin-left:auto;height:34px;padding:0 14px;font-size:.78rem}
.ocard__pic{width:52px;height:64px;border-radius:8px;background:var(--bg);overflow:hidden;flex:none;display:block}
.ocard__pic img{width:100%;height:100%;object-fit:contain;object-position:bottom}
.ocard__track{margin-top:10px;font-size:.88rem}
.addr{display:grid;gap:14px}@media(min-width:800px){.addr{grid-template-columns:repeat(2,1fr)}}
.addr__card{border:1px solid var(--line);border-radius:14px;padding:18px;background:#fff;position:relative}
.addr__card.def{border-color:var(--teal-400)}
.addr__card .tag{position:static;margin-left:8px;background:var(--teal-50);color:var(--teal-800)}
.addr__card p{color:var(--ink-2);font-size:.9rem;margin:8px 0}
.addr__new{background:var(--bg-soft)}
.chk{display:flex;gap:8px;align-items:center;font-size:.86rem;margin-top:12px;color:var(--ink-2)}
.chk input{accent-color:var(--teal-700);width:17px;height:17px}
.auth{display:grid;min-height:calc(100vh - 110px)}
@media(min-width:900px){.auth{grid-template-columns:1fr 1fr}}
.auth__art{position:relative;background:radial-gradient(90% 70% at 50% 100%,#fff 0%,#e8efe9 60%,#d4e6e2 100%);overflow:hidden;min-height:260px;display:flex;align-items:flex-end;justify-content:center}
.auth__art img{height:92%;max-height:640px;object-fit:contain;filter:drop-shadow(0 20px 30px rgba(0,0,0,.18))}
.auth__art p{position:absolute;left:28px;top:28px;font-family:var(--f-serif);font-size:clamp(1.6rem,3vw,2.4rem);color:var(--teal-900);max-width:300px;line-height:1.1}
.auth__art em{color:var(--teal-600)}
@media(max-width:899px){.auth__art{display:none}}
.auth__box{padding:40px 16px;max-width:460px;width:100%;margin:0 auto;align-self:center}
.auth__tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:10px}
.auth__tabs button{flex:1;padding:14px;font-weight:600;color:var(--muted);border-bottom:2px solid transparent;font-size:1rem}
.auth__tabs button.on{color:var(--teal-900);border-color:var(--teal-700)}
.auth__perks{list-style:none;margin-top:26px;display:grid;gap:8px;font-size:.88rem;color:var(--ink-2)}
.auth__perks li::before{content:"✓";color:var(--teal-600);font-weight:700;margin-right:8px}
.okmsg{color:var(--ok);font-weight:600}
.login-hint{background:var(--teal-50);border:1px solid var(--teal-100);border-radius:12px;padding:12px 16px;font-size:.9rem;margin-bottom:6px}
.login-hint a{color:var(--teal-700);font-weight:700;text-decoration:underline}
.addrpick{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 4px}
.addrpick .chip{height:auto;min-height:38px;padding:8px 14px;font-size:.8rem;text-align:left}
.ship-h{font-weight:700;font-size:.9rem;margin:20px 0 8px}
.shipopts{display:grid;gap:8px;margin:6px 0 12px}
.shipopt{display:flex;align-items:center;gap:12px;border:1.5px solid var(--line);border-radius:12px;padding:10px 14px;cursor:pointer;font-size:.88rem;background:#fff}
.shipopt.on{border-color:var(--teal-700);background:var(--teal-50)}
.shipopt input{accent-color:var(--teal-700)}
.shipopt span{flex:1;display:flex;flex-direction:column}.shipopt small{color:var(--muted)}
.shipopt .free{color:var(--ok)}

/* =========================================================
   WOOCOMMERCE · ajustes do tema Visual Saúde sobre o Storefront
   ========================================================= */
body.vs-site,body{font-family:var(--f-body);color:var(--ink);background:#fff}
.site-header,.storefront-handheld-footer-bar,.storefront-breadcrumb{display:none!important}
.vs-content{padding-top:0}
.col-full{max-width:1320px;padding:0 16px;margin:0 auto}
@media(min-width:768px){.col-full{padding:0 28px}}
h1,h2,h3,h4,.entry-title,.page-title{font-family:var(--f-head);color:var(--teal-900)}
.entry-title,.woocommerce-products-header__title{font-family:var(--f-serif)!important;font-weight:400!important;font-size:clamp(2rem,4vw,2.8rem)!important;margin:28px 0 8px}
a{color:inherit}
/* botões do WooCommerce no padrão da marca */
.button,button.button,a.button,input.button,.wc-block-components-button,.woocommerce #respond input#submit,.added_to_cart{
  background:var(--teal-700)!important;color:#fff!important;border-radius:999px!important;font-weight:700!important;font-family:var(--f-head)!important;padding:.9em 1.8em!important;border:0!important;text-shadow:none!important}
.button:hover,a.button:hover{background:var(--teal-900)!important}
.button.alt,.checkout-button,#place_order{background:var(--teal-800)!important;font-size:1.05rem!important}
input[type=text],input[type=email],input[type=tel],input[type=password],input[type=number],select,textarea,.select2-container .select2-selection--single{
  border:1.5px solid var(--line)!important;border-radius:12px!important;background:#fff!important;box-shadow:none!important;padding:.75em 1em!important}
input:focus,select:focus,textarea:focus{border-color:var(--teal-400)!important;outline:0;box-shadow:0 0 0 4px var(--teal-100)!important}
.woocommerce-message,.woocommerce-info,.woocommerce-error{border-radius:12px;background:var(--teal-50)!important;color:var(--teal-900)!important;border:0!important}
.woocommerce-error{background:#fdecec!important;color:#8a1c1c!important}

/* vitrine (loja / categorias) */
ul.products{display:grid!important;grid-template-columns:repeat(2,1fr);gap:22px 16px;margin:20px 0!important}
@media(min-width:900px){ul.products{grid-template-columns:repeat(3,1fr)}}@media(min-width:1180px){ul.products{grid-template-columns:repeat(4,1fr)}}
ul.products::before,ul.products::after{display:none!important}
ul.products li.product{width:auto!important;margin:0!important;float:none!important;text-align:left!important}
ul.products li.product img{border-radius:16px;background:radial-gradient(110% 70% at 50% 100%,#fff 0%,#e7efed 62%);aspect-ratio:3/4;object-fit:contain;object-position:bottom;padding-top:6%;margin-bottom:10px!important;transition:transform .6s}
ul.products li.product:hover img{transform:scale(1.03)}
ul.products li.product .woocommerce-loop-product__title{font-family:var(--f-head);font-weight:700;font-size:.98rem!important;color:var(--ink);padding:0!important}
ul.products li.product .price{color:var(--teal-900)!important;font-weight:700;font-size:1.05rem}
ul.products li.product .price del{color:var(--muted);font-weight:400;font-size:.85rem}
ul.products li.product .button{margin-top:10px;font-size:.8rem!important;padding:.7em 1.3em!important}
.vs-price-extra{display:flex;flex-direction:column;font-size:.78rem;line-height:1.4}
.vs-pix{color:var(--ok);font-weight:600}.vs-inst{color:var(--muted)}
.onsale{background:var(--rose)!important;color:#fff!important;border:0!important;border-radius:999px!important;padding:4px 10px!important;font-weight:700}
.woocommerce-ordering select{border-radius:999px!important}

/* página de produto — layout editorial: fotos grandes em 2 colunas + painel fixo */
.single-product div.product{display:grid;grid-template-columns:1fr;gap:0;margin:0 -16px}
@media(min-width:1000px){.single-product div.product{grid-template-columns:minmax(0,1fr) 440px;margin:0 -28px}}
.single-product div.product .woocommerce-product-gallery{width:100%!important;float:none!important;margin:0!important;opacity:1!important}
.single-product div.product .woocommerce-product-gallery__wrapper{display:grid;grid-template-columns:1fr 1fr;gap:3px;margin:0!important}
.single-product .woocommerce-product-gallery__image{display:block;aspect-ratio:4/5;background:radial-gradient(90% 70% at 50% 100%,#f4f4f2 0%,#e6e6e3 70%);overflow:hidden;margin:0!important;width:auto!important}
.single-product .woocommerce-product-gallery__image a{display:block;height:100%}
.single-product .woocommerce-product-gallery__image img{width:100%!important;height:100%!important;object-fit:contain;object-position:center bottom;padding-top:5%;filter:drop-shadow(0 18px 22px rgba(0,0,0,.14))}
.single-product .flex-control-nav{display:none!important}
.woocommerce-product-gallery__trigger{z-index:5;top:12px!important;right:12px!important}
.single-product div.product .summary{width:100%!important;float:none!important;margin:0!important;border-left:1px solid var(--line);padding:34px 34px 40px;position:sticky;top:0;align-self:start;max-height:100vh;overflow:auto}
.single-product div.product .product_title{font-family:var(--f-body)!important;font-weight:500!important;font-size:1.35rem!important;color:var(--ink)!important;margin-bottom:6px}
.single-product div.product p.price{font-size:1.35rem!important;color:var(--ink)!important;font-weight:500}
.single-product div.product p.price del{color:var(--muted);font-size:1rem}
.vs-price-extra{margin:4px 0 6px}
.single-product .woocommerce-product-details__short-description{color:var(--ink-2);font-size:.92rem}
.vs-hidden-selects{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)}
.vs-variations .pg__label{font-size:.95rem;margin:22px 0 12px;color:var(--ink)}
.vs-variations .pg__label span{color:var(--muted);margin-left:6px}
.vs-variations .pg__label--row{display:flex;justify-content:space-between;align-items:center}
.vs-variations .pg__label--row button{font-size:.9rem;text-decoration:underline;text-underline-offset:5px;background:none;color:var(--ink);padding:0}
.vs-variations .sq{display:flex;flex-wrap:wrap;gap:6px}
.vs-variations .sq__b{width:44px;height:44px;border-radius:2px;position:relative;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08);padding:0;border:0}
.vs-variations .sq__b.on::after{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.25)}
.vs-variations .szgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.vs-variations .szgrid button{height:52px;border:1px solid #d9dcdb;background:#fff;color:var(--ink);font-size:.92rem;border-radius:0;padding:0}
.vs-variations .szgrid button.on{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);font-weight:600}
.vs-variations .szgrid button[disabled]{color:#bdbdbd;text-decoration:line-through;cursor:not-allowed}
.vs-embroidery{margin:18px 0 0}.vs-embroidery label{display:block;font-size:.95rem;margin-bottom:8px}.vs-embroidery small{color:var(--muted)}
.vs-embroidery input{width:100%}
.single-product form.cart{margin-top:10px}
.single-product form.cart .quantity{display:none}
.single-product .single_add_to_cart_button.vs-buy{display:block;width:100%;height:68px;border-radius:0!important;background:#1f2324!important;font-family:var(--f-body)!important;font-weight:500!important;font-size:1.15rem!important;text-align:left;padding:0 26px!important;margin-top:24px}
.single-product .single_add_to_cart_button.vs-buy.ready{background:var(--teal-800)!important}
.single-product .woocommerce-variation-price{margin-top:14px}
.single-product .woocommerce-tabs{grid-column:1/-1;padding:30px 16px!important}
@media(min-width:1000px){.single-product .woocommerce-tabs{padding:40px 28px!important}}
.single-product .related,.single-product .upsells{grid-column:1/-1;padding:0 16px}
.product_meta{font-size:.8rem;color:var(--muted);margin-top:18px}
@media(max-width:999px){
  .single-product div.product .woocommerce-product-gallery__wrapper{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:0}
  .single-product .woocommerce-product-gallery__image{flex:0 0 100%;scroll-snap-align:start;max-height:78vh}
  .single-product div.product .summary{position:static;max-height:none;border-left:0;padding:24px 16px}
  .single-product .single_add_to_cart_button.vs-buy{position:sticky;bottom:0;z-index:20}
}
@media(min-width:600px) and (max-width:999px){.single-product .woocommerce-product-gallery__image{flex-basis:50%}}
.vs-guide{background:#fff;border-radius:16px;padding:26px;max-width:560px;width:calc(100% - 32px);position:relative}
.vs-guide table{width:100%;border-collapse:collapse;margin-top:12px;font-size:.88rem}.vs-guide th,.vs-guide td{padding:9px;border-bottom:1px solid var(--line);text-align:center}
.vs-guide th{background:var(--teal-50)}

/* carrinho, checkout e minha conta */
.woocommerce-cart table.cart img{border-radius:10px;background:#eef3f2;width:72px}
.woocommerce table.shop_table{border-radius:14px;border:1px solid var(--line)}
.cart-collaterals .cart_totals,.woocommerce-checkout-review-order{background:var(--bg-soft);border-radius:16px;padding:20px}
.woocommerce-checkout h3{font-family:var(--f-head);font-size:1.15rem}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.woocommerce-MyAccount-navigation li a{display:block;padding:12px 16px;font-weight:600;color:var(--ink-2)}
.woocommerce-MyAccount-navigation li.is-active a{background:var(--teal-50);color:var(--teal-900)}

/* cards da home montados pelo home.js */
.vs-grid{display:grid;gap:22px 16px;grid-template-columns:repeat(2,1fr)}
@media(min-width:900px){.vs-grid{grid-template-columns:repeat(4,1fr)}}
.vcard{display:flex;flex-direction:column;gap:2px;position:relative}
.vcard__media{position:relative;display:block;aspect-ratio:3/4;border-radius:16px;overflow:hidden;background:radial-gradient(110% 70% at 50% 100%,#fff 0%,var(--bg) 62%);margin-bottom:8px}
.vcard__media .ph{object-fit:contain;object-position:center bottom;padding-top:6%;filter:drop-shadow(0 16px 20px rgba(6,57,58,.16))}
.vcard:hover .ph1{opacity:0}.vcard:hover .ph2{opacity:1}
.vcard__name{font-family:var(--f-head);font-weight:700;font-size:.95rem}
.trust__item{flex-direction:column;align-items:flex-start;gap:0}
.vs-sac{display:grid;gap:28px;margin:20px 0 60px}@media(min-width:900px){.vs-sac{grid-template-columns:1fr 1fr;gap:48px}}.vs-sac input,.vs-sac select,.vs-sac textarea{width:100%}.vs-ticket-msg{margin-top:10px;color:var(--teal-800);font-weight:600}

/* =========================================================
   Pop-up de boas-vindas (10% OFF) — referência: Cherokee
   ========================================================= */
.promo{position:fixed;inset:0;z-index:200;background:rgba(6,30,31,.55);display:grid;place-items:center;padding:16px;opacity:0;transition:opacity .3s}
.promo.on{opacity:1}
.promo[hidden]{display:none}
.promo__box{position:relative;display:grid;grid-template-columns:1fr;width:min(820px,100%);max-height:calc(100vh - 32px);overflow:auto;background:#fff;border-radius:10px;box-shadow:0 40px 90px -20px rgba(0,0,0,.45);transform:translateY(16px) scale(.98);transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.promo.on .promo__box{transform:none}
@media(min-width:720px){.promo__box{grid-template-columns:1fr 1fr;overflow:hidden}}
.promo__x{position:absolute;right:12px;top:12px;z-index:3;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.92);color:var(--teal-900);font-size:1.05rem;box-shadow:0 0 0 2px var(--teal-700)}
.promo__txt{padding:34px 30px 28px;text-align:center;display:flex;flex-direction:column;align-items:center}
.promo__logo{height:46px;width:auto;margin-bottom:10px}
.promo__step{width:100%;display:flex;flex-direction:column;align-items:center}
.promo__get{font-family:var(--f-serif);font-style:italic;font-size:1.7rem;color:var(--teal-600);line-height:1;margin-top:4px}
.promo__big{font-family:var(--f-head);font-weight:800;font-size:clamp(3rem,9vw,4.4rem);line-height:1;color:var(--teal-900);letter-spacing:-.03em;margin:4px 0}
.promo__sub{font-size:1.25rem;color:var(--teal-900);margin-bottom:18px}
.promo__mid{font-size:1.2rem;color:var(--teal-900);margin:10px 0 16px}
.promo__ask{font-size:.98rem;margin-bottom:12px;color:var(--ink)}
.promo__btn{display:flex;align-items:center;justify-content:center;width:100%;height:52px;margin-bottom:10px;border-radius:6px;background:var(--teal-900);color:#fff!important;font-weight:600;font-size:1.02rem;transition:background .2s,transform .15s}
.promo__btn:hover{background:var(--teal-700);transform:translateY(-1px)}
.promo__no{margin-top:8px;font-size:.92rem;color:var(--ink-2);text-decoration:underline;text-underline-offset:4px;background:none}
.promo input[type=email]{width:100%;height:52px;border:1.5px solid var(--line);border-radius:6px;padding:0 14px;font-size:1rem;margin-bottom:10px}
.promo__lgpd{display:flex;gap:8px;text-align:left;font-size:.76rem;color:var(--muted);margin-bottom:14px;align-items:flex-start}
.promo__lgpd input{margin-top:2px;accent-color:var(--teal-700)}
.promo__err{color:#b3261e;font-size:.85rem;min-height:1em}
.promo__code{display:flex;flex-direction:column;align-items:center;gap:2px;width:100%;padding:14px;border:2px dashed var(--teal-600);border-radius:8px;background:var(--teal-50);font-family:var(--f-head);font-weight:800;font-size:1.7rem;letter-spacing:.08em;color:var(--teal-900);margin-bottom:14px}
.promo__code small{font-family:var(--f-body);font-weight:500;font-size:.72rem;letter-spacing:0;color:var(--muted)}
.promo__fine{font-size:.75rem;color:var(--muted);margin-top:4px}
/* arte: equipe recortada diante de um arco nas cores da marca */
.promo__art{position:relative;min-height:240px;overflow:hidden;background:linear-gradient(180deg,#f6f1ea 0%,#efe7dc 62%,#e6dccd 62.2%,#efe8de 100%)}
@media(max-width:719px){.promo__art{order:-1;min-height:220px}}
.promo__arch{position:absolute;left:14%;right:14%;top:12%;bottom:30%;border-radius:999px 999px 0 0;background:radial-gradient(120% 90% at 50% 100%,#1fb5a8 0%,#0d5c5c 70%);box-shadow:inset 0 0 0 22px #e7a37c}
.promo__arch::after{content:"";position:absolute;inset:22px;border-radius:999px 999px 0 0;background:linear-gradient(180deg,#bfe9e3,#e9f6f3)}
.pm{position:absolute;bottom:6%;height:78%;width:auto;object-fit:contain;filter:drop-shadow(0 14px 16px rgba(0,0,0,.22));opacity:0;transform:translateY(24px)}
.promo.on .pm{animation:pmIn .7s cubic-bezier(.2,.7,.2,1) forwards}
.pm1{left:-2%;height:70%;animation-delay:.15s!important;z-index:1}
.pm2{left:16%;height:76%;animation-delay:.25s!important;z-index:2}
.pm3{left:37%;height:88%;animation-delay:.05s!important;z-index:4}
.pm4{right:12%;height:74%;animation-delay:.3s!important;z-index:3}
.pm5{right:-3%;height:70%;animation-delay:.2s!important;z-index:2}
@keyframes pmIn{to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.pm{opacity:1;transform:none;animation:none!important}}
.promo__step[hidden]{display:none!important}
@media(max-width:719px){.promo__art{min-height:250px}.promo__arch{left:22%;right:22%;top:8%;bottom:26%}.pm{height:86%}.pm3{height:96%}.pm1,.pm5{height:80%}.promo__txt{padding:22px 20px 20px}.promo__logo{height:38px}}

/* =========================================================
   ABERTURA "ESTÚDIO" (vídeos com fundo verde-sálvia) + CAMPANHAS SAZONAIS
   ========================================================= */
.vhero--studio{--studio:#aac3b6;background:var(--studio);color:var(--teal-900)}
.vhero--studio .vhero__media{left:auto;right:0;width:68%}
.vhero--studio .vhero__media video{object-position:56% 18%;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 26%);mask-image:linear-gradient(90deg,transparent 0,#000 26%);transform:scale(1.02);transition:opacity 1.2s ease,transform 9s ease-out}
.vhero--studio .vhero__media video.on{transform:scale(1.09)}   /* zoom cinematográfico lento */
.vhero--studio .vhero__shade{background:radial-gradient(70% 90% at 72% 40%,transparent 40%,rgba(6,57,58,.10) 100%),linear-gradient(180deg,rgba(255,255,255,.10),transparent 30%,rgba(6,57,58,.10))}
.vhero--studio .vhero__media video{filter:saturate(1.08) contrast(1.04)}       /* grade de cor nas tonalidades da marca */
.vhero--studio .vhero__txt{text-align:left;margin-left:max(16px,calc((100vw - var(--max))/2 + 28px));max-width:min(560px,46vw);padding:0}
.vhero--studio .vhero__txt h1{color:var(--teal-900);font-size:clamp(2.4rem,5.4vw,4.6rem)}
.vhero--studio .vhero__txt h1 em{color:var(--teal-600)}
.vhero--studio .vhero__txt p{color:#1d3a3a;margin:0;max-width:440px}
.vhero--studio .vhero__txt .kicker{color:var(--teal-700)}
.vhero--studio .vhero__cta{justify-content:flex-start}
.vhero--studio .btn--outline{color:var(--teal-900);border-color:var(--teal-900)}
.vhero--studio .btn--outline:hover{background:var(--teal-900);color:#fff}
.vhero--studio .btn--outline:first-child{background:var(--teal-900);color:#fff}
.vhero--studio .vhero__pause{background:rgba(6,57,58,.18);color:var(--teal-900)}
/* preto e branco cinematográfico (opcional / Black Friday) */
.vhero.is-bw .vhero__media video{filter:grayscale(1) contrast(1.14) brightness(.92)}
.vhero--studio.is-bw{--studio:#b9b9b9}
.vhero.is-bw:not(.vhero--studio) .vhero__media video{filter:grayscale(1) contrast(1.14) brightness(.68)}
/* campanha: tonalidade, selo, cupom, assinatura */
.vhero__tint{position:absolute;inset:0;background:var(--tint,transparent);mix-blend-mode:multiply;pointer-events:none;z-index:1;transition:background 1s}
.vhero__badge{display:inline-flex;align-items:center;gap:8px;padding:7px 16px;border-radius:999px;font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;background:rgba(255,255,255,.55);backdrop-filter:blur(8px);color:var(--teal-900);border:1px solid rgba(255,255,255,.7);animation:rise .9s both}
.vhero:not(.vhero--studio) .vhero__badge{background:rgba(255,255,255,.12);color:var(--accent,#bff3ec);border-color:rgba(255,255,255,.25)}
.vhero__coupon{margin-top:14px!important;font-size:.95rem}
.vhero__coupon b{letter-spacing:.08em;padding:3px 10px;border:1.5px dashed currentColor;border-radius:6px;margin-left:4px}
.vhero__sign{margin-top:22px!important;font-family:var(--f-serif);font-style:italic;font-size:1.05rem;opacity:.8}
.vs-particles{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:2}
.vs-p{position:absolute;top:0;left:0;will-change:transform;filter:drop-shadow(0 6px 14px rgba(6,57,58,.35))}
.vs-p.far{filter:blur(.6px) drop-shadow(0 3px 8px rgba(6,57,58,.25))}
.vhero .vhero__txt{z-index:3}
@media (prefers-reduced-motion:reduce){.vs-p{display:none}.vhero--studio .vhero__media video.on{transform:none}}
/* celular: vídeo em cima, texto embaixo sobre o mesmo verde */
@media(max-width:860px){
  .vhero--studio{flex-direction:column;align-items:stretch;height:auto;min-height:0}
  .vhero--studio .vhero__media{position:relative;width:100%;height:58vh;min-height:340px}
  .vhero--studio .vhero__media video{-webkit-mask-image:linear-gradient(180deg,#000 72%,transparent 100%);mask-image:linear-gradient(180deg,#000 72%,transparent 100%);object-position:50% 12%}
  .vhero--studio .vhero__txt{margin:-30px 0 0;max-width:none;padding:0 16px 36px;text-align:left}
  .vhero--studio .vhero__txt h1{font-size:2.5rem}
  .vhero--studio .vhero__shade{display:none}
}

/* ================= PRÉ-LANÇAMENTO ("em breve") ================= */
body.vs-soon{margin:0;background:#aac3b6;font-family:Inter,system-ui,sans-serif}
.soon{position:relative;min-height:100vh;min-height:100svh;background:#aac3b6;color:var(--teal-900);overflow:hidden;display:flex;align-items:center}
.soon::after{content:"";position:absolute;inset:0;background:var(--tint,transparent);pointer-events:none}
.soon__media{position:absolute;top:0;right:0;bottom:0;width:62%}
.soon__media video{width:100%;height:100%;object-fit:cover;object-position:56% 18%;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 30%);mask-image:linear-gradient(90deg,transparent 0,#000 30%);filter:saturate(1.08) contrast(1.04)}
.soon .vs-particles{position:absolute!important;inset:0;pointer-events:none;z-index:1!important}
.soon__form[hidden],.soon__done[hidden]{display:none!important}
.soon__logo{mix-blend-mode:multiply}
.soon__in{position:relative;z-index:3;width:min(560px,100%);margin-left:max(16px,calc((100vw - var(--max))/2 + 28px));padding:48px 0;display:flex;flex-direction:column;gap:16px}
.soon__logo{width:170px;height:auto}
.soon__kicker{margin:0;font:600 .78rem/1 Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-700)}
.soon h1{margin:0;font:200 clamp(2.6rem,6vw,4.8rem)/1.02 Jost,'Avenir Next',sans-serif;letter-spacing:-.01em;color:var(--teal-900)}
.soon h1 em{font-family:'Playfair Display',Georgia,serif;font-style:italic;font-weight:400;color:var(--teal-600)}
.soon__lead{margin:0;max-width:440px;font-size:1.02rem;line-height:1.55;color:#1d3a3a}
.soon__form,.soon__done{background:rgba(255,255,255,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:12px;box-shadow:0 18px 40px -24px rgba(6,57,58,.45)}
.soon__offer{margin:0;font-size:.98rem}
.soon__offer b{color:var(--teal-700)}
.soon__pref{display:flex;gap:8px;flex-wrap:wrap}
.soon__pref label{cursor:pointer}
.soon__pref input{position:absolute;opacity:0;pointer-events:none}
.soon__pref span{display:inline-block;padding:8px 14px;border-radius:999px;border:1.5px solid var(--teal-800);font:600 .85rem Inter,sans-serif;color:var(--teal-800);transition:.2s}
.soon__pref input:checked+span{background:var(--teal-800);color:#fff}
.soon__pref input:focus-visible+span{outline:3px solid var(--teal-300);outline-offset:2px}
.soon__row{display:flex;gap:8px;flex-wrap:wrap}
.soon__row input{flex:1 1 220px;min-width:0;padding:13px 16px;border-radius:999px;border:1.5px solid rgba(6,57,58,.25);font:1rem Inter,sans-serif;background:#fff;color:var(--teal-900)}
.soon__row input:focus{outline:3px solid var(--teal-300);border-color:var(--teal-700)}
.soon__row button,.soon__code{padding:13px 22px;border-radius:999px;border:0;background:var(--teal-900);color:#fff;font:700 .95rem Inter,sans-serif;cursor:pointer;transition:.2s}
.soon__row button:hover{background:var(--teal-700)}
.soon__row button:disabled{opacity:.6;cursor:wait}
.soon__lgpd{font-size:.78rem;line-height:1.4;color:#36504f;display:flex;gap:8px;align-items:flex-start}
.soon__lgpd input{margin-top:2px;accent-color:var(--teal-700)}
.soon__lgpd a,.soon__social a{color:var(--teal-800);font-weight:600}
.soon__err{margin:0;min-height:1em;font-size:.85rem;color:#a12a2a;font-weight:600}
.soon__mid{margin:0;font-size:1.05rem}
.soon__code{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:1.6rem;letter-spacing:.2em;background:#fff;color:var(--teal-900);border:2px dashed var(--teal-600)}
.soon__code small{font-size:.7rem;letter-spacing:.04em;font-weight:500;color:var(--teal-700)}
.soon__fine{margin:0;font-size:.8rem;color:#36504f}
.soon__perks{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:.85rem;color:#1d3a3a}
.soon__perks b{color:var(--teal-800)}
.soon__social{margin:0;font-size:.82rem;color:#36504f}
@media (max-width:820px){
  .soon{flex-direction:column;align-items:stretch}
  .soon__media{position:relative;width:100%;height:46vh;height:46svh}
  .soon__media video{-webkit-mask-image:linear-gradient(180deg,#000 70%,transparent);mask-image:linear-gradient(180deg,#000 70%,transparent)}
  .soon__in{margin:-60px 0 0;padding:0 max(16px,env(safe-area-inset-left,0px)) 40px;width:auto}
  .soon__logo{width:140px}
}
@media (prefers-reduced-motion:reduce){.soon__media video{display:none}}

/* ================= Aviso de cookies (LGPD) ================= */
.cookie{position:fixed;left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:200;max-width:720px;margin:0 auto;background:#fff;color:var(--teal-900);border-radius:16px;padding:14px 16px;display:flex;gap:12px 18px;align-items:center;flex-wrap:wrap;box-shadow:0 18px 50px -12px rgba(6,57,58,.35);border:1px solid rgba(6,57,58,.12);font:.86rem/1.45 Inter,sans-serif}
.cookie[hidden]{display:none!important}
.cookie p{margin:0;flex:1 1 320px;min-width:0}
.cookie a{color:var(--teal-700);font-weight:600}
.cookie__btns{display:flex;gap:8px;flex-wrap:wrap}
.cookie button{padding:10px 16px;border-radius:999px;font:700 .82rem Inter,sans-serif;cursor:pointer;border:1.5px solid var(--teal-900)}
.cookie__min{background:#fff;color:var(--teal-900)}
.cookie__ok{background:var(--teal-900);color:#fff}
