/* VYKA · tema: branco azulado, Plus Jakarta Sans, páginas largas. Carregado por último. */
:root{
  --font:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --pad:clamp(20px,4vw,96px);
  --maxw:1840px;
  --bg:#F5F7FA; --sidebar:#FFFFFF; --card:#FFFFFF; --card-2:#F8FAFC;
  --border:#E2E8F0; --border-2:#EDF1F6;
  --text:#0B1B33; --text-2:#475569; --text-3:#64748B;
  --green:#15803D; --green-l:#E8F6EE; --green-m:#9AD3B0;
  --yellow:#B45309; --yellow-l:#FEF5E0; --yellow-m:#F3CF85;
  --red:#C62828; --red-l:#FDECEC; --red-m:#F1A5A5;
  --radius:12px;
  --shadow:0 1px 2px rgba(15,23,42,.05),0 4px 14px rgba(15,23,42,.04);
  --shadow-md:0 2px 6px rgba(15,23,42,.08),0 10px 28px rgba(15,23,42,.06);
}
html,body{font-family:var(--font);font-size:15px;line-height:1.55;letter-spacing:-.005em;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font-family:inherit}

/* ── tipografia: menos texto miúdo ── */
.page-title{font-size:28px;font-weight:800;letter-spacing:-.03em}
.page-sub{font-size:15px}
.stat-label{font-size:12px;letter-spacing:.07em}
.stat-val{font-size:36px;font-weight:800;letter-spacing:-.035em}
.stat-trend{font-size:12px;padding:4px 10px}
.section-title,.card .font-semibold{font-size:15px}
.section-title{font-weight:700}
th{font-size:12px}td{font-size:14px;padding:13px 14px}
.badge{font-size:12px;padding:4px 10px}
.text-xs{font-size:12px}.text-sm{font-size:13.5px}
.tl-time{font-size:12px}.tl-event{font-size:14px}.tl-meta{font-size:12.5px}
.tb-btn{font-size:14px;font-weight:600;padding:9px 15px;border-radius:9px}
.btn-lg{padding:14px 26px;font-size:15px;border-radius:11px}
.chip{font-size:13.5px;padding:7px 15px}
.demo-tag{font-size:12px}
.ex-tag{font-size:11px}
a.slot{font-size:13.5px;padding:5px 11px}
.checklist li{font-size:15.5px}
details.faq summary{font-size:15.5px}
details.faq p{font-size:14.5px}
.field label{font-size:13px}.field input{font-size:15px;padding:13px 14px}

/* ── painel: mais largo e legível ── */
.sidebar{width:252px;min-width:252px}
.sb-item{font-size:14.5px;padding:10px 13px}
.sb-section{font-size:11px}
.sb-logo-text{font-size:16px;font-weight:800}.sb-logo-sub{font-size:11.5px}
.topbar{height:64px;min-height:64px;padding:0 32px}
.content{padding:30px 36px 44px}
.card{padding:22px}
.grid-5,.grid-4{gap:18px}
.next-card .when{font-size:42px;font-weight:800;letter-spacing:-.03em}
.search-input{font-size:14px;padding:11px 12px 11px 38px}

/* ── páginas públicas: largura de 1440 ── */
body.pub,html:has(body.pub){background:#fff}
.pub-hd{height:68px;padding-inline:max(var(--pad),calc((100vw - var(--maxw))/2 + var(--pad)));border-bottom:1px solid var(--border)}
.pub-nav a.lnk{font-size:14px;font-weight:600}
.wrap{max-width:var(--maxw);padding:0 var(--pad)}
.page{max-width:var(--maxw);padding:36px var(--pad) 64px}
.hero-band{background:linear-gradient(180deg,color-mix(in srgb,var(--brand) 7%,#fff) 0%,#fff 100%);border-bottom:1px solid var(--border-2)}
.hero{grid-template-columns:1.05fr .95fr;gap:72px;padding:84px 0 72px}
.hero h1{font-size:clamp(36px,4.7vw,62px);font-weight:800;letter-spacing:-.04em;line-height:1.03}
.hero p{font-size:19px;line-height:1.6;color:var(--text-2);margin:20px 0 30px;max-width:36em}
.search{max-width:42em;padding:10px;border-radius:14px}
.search select{font-size:16px;padding:12px 12px}
.search button{font-size:15px;padding:12px 24px;border-radius:10px}
body.pub .card{border-color:var(--border);box-shadow:var(--shadow)}
.sec{margin-top:80px}
.sec-h h2{font-size:26px;font-weight:800;letter-spacing:-.03em}
.sec-h p{font-size:14.5px}.sec-h a{font-size:14.5px}
.passo .font-semibold{font-size:17px}
.prof h3{font-size:16.5px}.prof .meta{font-size:13px}.prof .bio{font-size:14px}.prox{font-size:13px}
.perfil{grid-template-columns:minmax(0,1fr) 420px;gap:28px}
.tabs-nav a{font-size:14.5px}
.blk h3{font-size:19px}
.pub-foot{font-size:13px;margin-top:80px}
@media (max-width:980px){.hero{padding:44px 0 40px;gap:36px}.perfil{grid-template-columns:1fr}.content{padding:20px}}

/* ── hero com foto ── */
.hero-media{position:relative}
.hero-media picture,.hero-media img{display:block;width:100%}
.hero-media img{height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:22px;box-shadow:var(--shadow-md)}
.hero-media .ilus{position:absolute;right:12px;top:12px;font-size:11px;font-weight:600;background:rgba(255,255,255,.88);backdrop-filter:blur(4px);border-radius:20px;padding:4px 11px;color:var(--text-2)}
.hero-media .float{position:absolute;left:-36px;bottom:-30px;width:min(280px,64%);box-shadow:var(--shadow-md)}
@media (max-width:980px){.hero-media .float{position:static;width:auto;margin-top:14px}}

/* ── preparo com foto ── */
.prep{display:grid;grid-template-columns:1.1fr 1fr;gap:24px;align-items:stretch}
.prep-img,.prep-img picture{display:block;height:100%}
.prep-img img{width:100%;height:100%;min-height:300px;object-fit:cover;border-radius:18px;box-shadow:var(--shadow)}
.banner{margin-bottom:26px}
.banner img{display:block;width:100%;height:clamp(190px,21vw,320px);object-fit:cover;object-position:center 60%;border-radius:18px;box-shadow:var(--shadow)}
@media (max-width:900px){.prep{grid-template-columns:1fr}.prep-img img{min-height:200px;height:auto;aspect-ratio:16/10}}

/* ── Meu município com foto ── */
.muni-grid{display:grid;grid-template-columns:minmax(320px,.75fr) 1.25fr;gap:24px;align-items:stretch}
.muni-img,.muni-img picture{display:block;height:100%}
.muni-img img{width:100%;height:100%;min-height:340px;object-fit:cover;border-radius:18px;box-shadow:var(--shadow)}
.muni-grid .card.muni{display:flex;flex-direction:column;justify-content:center;padding:28px}
@media (max-width:900px){.muni-grid{grid-template-columns:1fr}.muni-img img{min-height:220px;height:auto;aspect-ratio:3/2}}

/* ── controle de tamanho do texto ── */
.a11y-btns{gap:0}
.a11y-btns button{font-size:13px;padding:6px 10px;border-radius:0;margin-left:-1px;min-width:38px}
.a11y-btns button:first-child{border-radius:8px 0 0 8px;margin-left:0}
.a11y-btns button:nth-child(3){border-radius:0 8px 8px 0}
.a11y-btns #btn-pct{min-width:54px;color:var(--text);font-variant-numeric:tabular-nums}
.a11y-btns #btn-hc{border-radius:8px;margin-left:8px}
.a11y-btns button:disabled{opacity:.4;cursor:not-allowed}
.a11y-btns button:hover:not(:disabled){border-color:var(--brand);color:var(--brand);position:relative;z-index:1}

/* ── WhatsApp em tom sóbrio (cor do tenant) ── */
.wa-float{background:var(--brand);box-shadow:0 4px 14px rgba(11,27,51,.22)}
.wa-float:hover{background:var(--brand-esc);box-shadow:0 6px 18px rgba(11,27,51,.28)}
.wa-float:focus-visible{outline:3px solid #fff;outline-offset:2px;box-shadow:0 0 0 5px var(--brand-esc)}

/* ── cartões de artigo com foto ── */
.card.art{padding:0;overflow:hidden;display:flex;flex-direction:column}
.art-img,.art-img picture{display:block}
.art-img img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.card.art .body{padding:20px 22px 24px}
.eyebrow{font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--brand);margin-bottom:8px}

/* ── cartão de preparo alinhado à foto ── */
.prep-card{display:flex;flex-direction:column;justify-content:center;gap:30px;padding:36px}
.prep-card .checklist{gap:18px}
.prep-card .checklist li{font-size:16px;line-height:1.5}
.prep-card .tb-btn{align-self:flex-start}

/* ── rodapé ── */
.foot{background:var(--bg);border-top:1px solid var(--border);margin-top:96px;padding:60px 0 26px}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:48px}
.foot h4{font-size:14px;font-weight:800;margin-bottom:12px;color:var(--text)}
.foot a{display:block;padding:5px 0;color:var(--text-2);font-size:14.5px}
.foot a:hover{color:var(--brand)}
.foot-txt{font-size:14.5px;color:var(--text-2);max-width:26em;margin-bottom:10px}
.foot-bottom{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:44px;padding-top:20px;border-top:1px solid var(--border);font-size:13px;color:var(--text-3)}
.foot-bottom a{display:inline;font-size:13px;color:var(--text-3)}
@media (max-width:900px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.foot-grid{grid-template-columns:1fr}}

/* ── faixa para profissionais ── */
.cta-pro{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.cta-pro .card{padding:32px;display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.cta-pro .card:first-child{background:color-mix(in srgb,var(--brand) 7%,#fff);border-color:color-mix(in srgb,var(--brand) 22%,#fff)}
.cta-pro h3{font-size:22px;font-weight:800;letter-spacing:-.02em}
.cta-pro p{color:var(--text-2);font-size:15.5px;max-width:34em}
@media (max-width:820px){.cta-pro{grid-template-columns:1fr}}

/* ── páginas institucionais ── */
.doc{max-width:820px;padding-bottom:24px}
.doc h1{font-size:clamp(30px,3.6vw,44px);font-weight:800;letter-spacing:-.035em;line-height:1.1;margin-bottom:22px}
.doc h2{font-size:21px;font-weight:800;letter-spacing:-.02em;margin:32px 0 8px}
.doc p{font-size:16.5px;line-height:1.7;color:var(--text-2);margin-bottom:8px}

.foot-bottom > div > div:first-child{color:var(--text-2)}
.foot-legal{margin-top:2px;font-size:12.5px;color:var(--text-3)}
.cta-parc{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:34px 38px;background:color-mix(in srgb,var(--brand) 6%,#fff);border-color:color-mix(in srgb,var(--brand) 20%,#fff)}
.cta-parc h3{font-size:24px;font-weight:800;letter-spacing:-.025em;margin-bottom:6px}
.cta-parc p{color:var(--text-2);font-size:16px;max-width:44em}
@media (max-width:820px){.cta-parc{flex-direction:column;align-items:flex-start}}

/* parceiros */
.parc{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:start}
.parc h1{font-size:clamp(32px,4vw,52px);font-weight:800;letter-spacing:-.04em;line-height:1.05}
.parc .lead{font-size:19px;color:var(--text-2);margin:18px 0 32px;max-width:34em}
.parc h2{font-size:24px;font-weight:800;letter-spacing:-.025em;margin:40px 0 14px}
.parc-tipos{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.parc-tipos div{border:1px solid var(--border);border-radius:14px;padding:18px 20px;background:#fff}
.parc-tipos b{display:block;font-size:16px;margin-bottom:4px}.parc-tipos span{font-size:14.5px;color:var(--text-2)}
.parc-passos{list-style:none;counter-reset:p;display:grid;gap:14px}
.parc-passos li{counter-increment:p;position:relative;padding-left:46px;font-size:16px;color:var(--text-2)}
.parc-passos li:before{content:counter(p);position:absolute;left:0;top:-2px;width:32px;height:32px;border-radius:50%;background:var(--brand-l);color:var(--brand);font-weight:800;display:flex;align-items:center;justify-content:center}
.parc-passos b{color:var(--text)}
.parc-form{padding:32px;position:sticky;top:24px;display:grid;gap:14px}
.parc-form h3{font-size:22px;font-weight:800;letter-spacing:-.02em}
.parc-form .two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.parc-form select,.parc-form textarea{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:9px;padding:13px 14px;font:inherit;font-size:15px;color:var(--text);outline:none}
.parc-form textarea{resize:vertical}
.parc-form select:focus,.parc-form textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-l)}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:var(--text-2)}
.consent input{margin-top:3px}.consent a{color:var(--brand);text-decoration:underline}
.ok-box{background:var(--green-l);border:1px solid var(--green-m);color:var(--green);border-radius:10px;padding:14px 16px;font-size:14.5px}
@media (max-width:980px){.parc{grid-template-columns:1fr;gap:36px}.parc-form{position:static}.parc-tipos{grid-template-columns:1fr}}

/* ── logo VYKA: máscara na cor do tenant ── */
.logo-lockup{display:block;height:30px;width:111px;background:var(--brand);-webkit-mask:url('/img/logo/vyka-lockup.png') left center/contain no-repeat;mask:url('/img/logo/vyka-lockup.png') left center/contain no-repeat}
.logo-mark{display:block;flex:none;height:30px;width:36px;background:var(--brand);-webkit-mask:url('/img/logo/vyka-symbol.png') center/contain no-repeat;mask:url('/img/logo/vyka-symbol.png') center/contain no-repeat}
.pub-hd .sb-logo,.sidebar .sb-logo{gap:12px}
.sidebar .logo-lockup{height:32px;width:119px}
.foot .logo-lockup{height:32px;width:119px}

/* ── antes, durante e depois ── */
.card.jornada{display:flex;flex-direction:column;padding:28px}
.card.jornada .jlink{margin-top:auto;font-size:14.5px;font-weight:700;color:var(--brand)}
.card.jornada .jlink:hover{text-decoration:underline}

/* ── privacidade e acessibilidade: foto ao lado, sem dominar ── */
.card.split{display:grid;grid-template-columns:minmax(150px,34%) 1fr;padding:0;overflow:hidden;align-items:stretch}
.card.split .art-img,.card.split .art-img picture{display:block;height:100%}
.card.split .art-img img{width:100%;height:100%;min-height:220px;aspect-ratio:auto;object-fit:cover}
.card.split .body{padding:22px 26px;align-self:center}
@media (max-width:700px){.card.split{grid-template-columns:1fr}.card.split .art-img img{height:170px;min-height:0}}

/* ── barra de acessibilidade (acima do menu) ── */
.util-bar{background:var(--bg);border-bottom:1px solid var(--border-2);padding:3px max(var(--pad),calc((100vw - var(--maxw))/2 + var(--pad)));display:flex;justify-content:flex-end}
.util-bar .a11y-btns{display:flex;align-items:center;gap:0}
.util-lbl{font-size:11px;color:var(--text-3);margin-right:10px;text-transform:uppercase;letter-spacing:.07em}
.util-bar .a11y-btns button{font-size:11.5px;padding:2px 9px;min-width:32px;line-height:1.55}
.util-bar #btn-pct{min-width:46px}
.util-bar #btn-hc{margin-left:8px}
.mod .step-n{margin-bottom:12px}
.menu-btn{display:none}
.mnav{display:none}

/* ── celular: nada pode passar da largura da tela ── */
html,body{max-width:100%;overflow-x:clip}
.search{max-width:100%}
@media (max-width:980px){
  .hero,.perfil,.parc,.prep,.muni-grid,.cta-pro,.foot-grid,.card.split{grid-template-columns:minmax(0,1fr)}
  .hero>*,.perfil>*,.parc>*,.prep>*,.muni-grid>*{min-width:0}
  .foot-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
}
@media (max-width:760px){
  .util-bar{padding:2px 12px;justify-content:center}
  .util-lbl{display:none}
  .pub-hd{padding-inline:16px;height:60px}
  .pub-nav .hide-sm{display:none}
  .menu-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--border);border-radius:9px;background:#fff;font-size:20px;color:var(--text);cursor:pointer;padding:0}
  .mnav:not([hidden]){display:grid;background:#fff;border-bottom:1px solid var(--border);padding:4px 16px;position:relative;z-index:15}
  .mnav a{padding:15px 4px;border-bottom:1px solid var(--border-2);font-weight:700;font-size:16px}
  .mnav a:last-child{border-bottom:0}
  .hero h1{font-size:clamp(32px,9vw,44px)}
  .hero p{font-size:16.5px}
  .search{flex-wrap:wrap}.search select{flex:1 1 100%;padding:12px}.search button{flex:1 1 100%}
  .wrap{padding-inline:16px}
  .sec{margin-top:52px}
  .sec-h h2{font-size:22px}
  .days{grid-template-columns:repeat(3,minmax(0,1fr))}
  .foot-grid{grid-template-columns:minmax(0,1fr)}
  .foot{padding-top:40px}
}
@media (max-width:640px){.g2,.g3,.g4{grid-template-columns:minmax(0,1fr)}.cta-pro{grid-template-columns:minmax(0,1fr)}}

.prof .prof-foot{margin-top:auto}

/* ── seletor de idioma ── */
.util-bar{align-items:center;gap:18px}
.util-bar .lang{display:flex;gap:2px}
.util-bar .lang a{font-size:11.5px;font-weight:700;color:var(--text-2);padding:2px 7px;border-radius:5px;letter-spacing:.04em}
.util-bar .lang a:hover{background:var(--brand-l);color:var(--brand)}
.util-bar .lang a[aria-current]{background:var(--brand);color:#fff}

/* ── menu enxuto: 3 ações ── */
.pub-nav{gap:10px}
.pub-nav .tb-btn.primary{white-space:nowrap}
.pub-nav a.lnk{font-weight:700}

.busca-txt{display:flex;gap:8px;max-width:640px;margin:0 0 16px}
.busca-txt input{flex:1;min-width:0;background:#fff;border:1px solid var(--border);border-radius:10px;padding:12px 14px;font:inherit;font-size:15px;outline:none}
.busca-txt input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-l)}

/* ── privacidade e acessibilidade: mesma altura, alinhados pelo topo ── */
#privacidade .g2{align-items:stretch}
#privacidade .g2>div{display:flex;flex-direction:column}
#privacidade .card.split{flex:1}
#privacidade .card.split .body{align-self:start;padding:26px 28px}
@media (max-width:700px){#privacidade .card.split .body{padding:20px}}

/* ── acessibilidade: pular para o conteúdo e foco visível ── */
.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:#fff;color:var(--text);font-weight:700;padding:10px 14px;border-radius:9px;border:2px solid var(--brand)}
.skip:focus{left:8px}
#conteudo:focus{outline:none}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--brand);outline-offset:2px}

/* ── Como funciona: caixas em azul petróleo ── */
.card.passo{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 8px 22px color-mix(in srgb,var(--brand) 28%,transparent);padding:26px 26px 28px}
.card.passo .step-n{background:rgba(255,255,255,.16);color:#fff;width:34px;height:34px;margin-bottom:18px}
.card.passo .font-semibold{color:#fff;font-size:18px;margin-bottom:6px}
.card.passo .text-muted{color:rgba(255,255,255,.86);font-size:14.5px;line-height:1.55}

/* ── quebra de linha: sem palavra sozinha na última linha ── */
.card .text-muted,.card .text-sm,.sec-h p,.hero p,.foot-txt,.body>div>div{text-wrap:balance}
.card p,.faq p,.pagina p,.pagina li{text-wrap:pretty}
h1,h2,h3,.font-semibold{text-wrap:balance}

/* ── faixa "sem app" ── */
.noapp{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:32px 48px;align-items:center;padding:30px 34px;border-radius:var(--radius);background:color-mix(in srgb,var(--brand) 9%,#fff);border:1px solid color-mix(in srgb,var(--brand) 24%,#fff)}
.noapp-t h2{font-size:26px;margin:0 0 6px;color:var(--brand)}
.noapp-t p{margin:0;color:var(--text-2);font-size:16px;line-height:1.55;text-wrap:balance}
.noapp-i{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.noapp-i div{border-left:3px solid var(--brand);padding-left:14px}
.noapp-i b{display:block;font-size:15.5px;color:var(--text);margin-bottom:3px}
.noapp-i span{display:block;font-size:14px;line-height:1.5;color:var(--text-2);text-wrap:balance}
@media (max-width:900px){.noapp{grid-template-columns:minmax(0,1fr);padding:24px 20px}.noapp-i{grid-template-columns:minmax(0,1fr);gap:16px}}

#sem-app{margin-top:22px!important}

/* ═══ revisão UX ═══ */
/* faixas de fundo (ritmo da página) */
.band{margin-top:88px;padding:64px 0}
.band .sec{margin-top:0}
.band-soft{background:color-mix(in srgb,var(--brand) 6%,#fff);border-block:1px solid color-mix(in srgb,var(--brand) 14%,#fff)}
.band-dark{background:var(--brand-esc,var(--brand));color:#fff;padding:72px 0}
.band-dark .sec-h h2{color:#fff}
.band-dark .card{background:#fff;border-color:transparent;box-shadow:none}
.band-dark .card:first-child{background:#fff;border-color:transparent}
main:has(.band-dark:last-child)+.foot{margin-top:0}
/* Valores: barra única */
.valores{display:flex;flex-wrap:wrap;gap:12px 56px;align-items:flex-start;margin-top:14px;padding:18px 26px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius)}
.valores>div{display:flex;flex-direction:column;gap:2px}
.val-res span{font-size:11.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-3)}
.val-res b{font-size:21px;font-weight:800;letter-spacing:-.02em;color:var(--text)}
.val-res em{font-style:normal;font-size:13.5px;color:var(--text-2)}
/* legibilidade */
body.pub{--text-3:#526079}
body.pub .sec-h p{font-size:16px;color:var(--text-2)}
body.pub .prof .meta{font-size:13.5px}
body.pub .prof .bio{font-size:14.5px;color:var(--text-2)}
body.pub .prox{font-size:13.5px}
body.pub .card .text-sm,body.pub .text-dim{font-size:14px}
body.pub a.slot{font-size:13px}
/* Prepare-se: lista alinhada ao topo */
.prep-card{justify-content:flex-start}
/* lista de profissionais: só dias com horário */
.days{grid-template-columns:repeat(var(--nd,5),minmax(0,1fr))}
/* perfil: painel fixo e seletor de dia */
.perfil{align-items:start}
.perfil .book{position:sticky!important;top:16px;align-self:start}
.dsel-row{display:flex;gap:6px;margin:8px 0 14px}
.dsel{flex:1;min-width:0;background:#fff;border:1px solid var(--border);border-radius:9px;padding:7px 4px;cursor:pointer;font-family:inherit;text-align:center;color:var(--text-2)}
.dsel b{display:block;font-size:12.5px;font-weight:700;text-transform:capitalize}
.dsel span{display:block;font-size:12px;color:var(--text-3)}
.dsel.on{background:var(--brand);border-color:var(--brand);color:#fff}
.dsel.on span{color:rgba(255,255,255,.85)}
.dia-slots[hidden]{display:none}
.dia-slots a.slot{flex:0 0 calc(33.333% - 4px);text-align:center;font-size:13.5px;padding:7px 0}

.band-dark .card,.band-dark .card h3{color:var(--text)}
.band-dark .card p{color:var(--text-2)}

/* sticky precisa que o body não seja contêiner de rolagem */
body.pub{overflow:clip!important}
html:has(body.pub){overflow-x:hidden}

@media (max-width:760px){.days{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* itens 9-11 */
.card.split .art-svg{display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--brand) 8%,#fff);min-height:220px;padding:22px}
.card.split .art-svg svg{width:88%;max-width:240px;height:auto}
.foot a,.foot-bottom a{text-decoration:none}
.foot a:hover,.foot-bottom a:hover{text-decoration:underline}
.avatar{overflow:hidden;flex:none}
.avatar img{width:100%;height:100%;object-fit:cover;display:block}

/* carrossel de profissionais */
.sec-h .car-ctl{display:flex;align-items:center;gap:8px}
.sec-h .car-ctl a{margin-right:6px}
.car-btn{width:34px;height:34px;border-radius:50%;border:1px solid var(--border);background:#fff;color:var(--text-2);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
.car-btn:hover{border-color:var(--brand);color:var(--brand)}
.car-play .i-play{display:none}.car-play.on .i-play{display:block}.car-play.on .i-pause{display:none}
.car-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:4px 2px 10px;margin:0 -2px}
.car-track::-webkit-scrollbar{display:none}
.car-item{flex:0 0 calc((100% - 42px)/4);min-width:0;scroll-snap-align:start;display:flex}
.car-item .card.prof{width:100%}
@media (max-width:1100px){.car-item{flex-basis:calc((100% - 28px)/3)}}
@media (max-width:820px){.car-item{flex-basis:calc((100% - 14px)/2)}}
@media (max-width:560px){.car-item{flex-basis:84%}.sec-h .car-ctl a{display:none}}
@media (prefers-reduced-motion:reduce){.car-track{scroll-behavior:auto}}

/* busca com sugestões e filtros */
.busca{position:relative;max-width:42em}
.busca-linha{display:flex;gap:8px;background:var(--card);border:1px solid var(--border);border-radius:14px;padding:8px;box-shadow:var(--shadow)}
.busca-hero .busca-linha{padding:10px}
.busca-campo{position:relative;flex:1;min-width:0}
.busca-campo input{width:100%;border:0;background:transparent;font:inherit;font-size:16px;color:var(--text);padding:12px 12px 12px 40px;outline:none;border-radius:10px}
.busca-campo:focus-within{box-shadow:0 0 0 2px var(--brand);border-radius:10px}
.busca-lupa{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--text-3);pointer-events:none}
.busca-filtro,.busca-ok{border:0;cursor:pointer;font:inherit;font-weight:600;border-radius:10px;padding:12px 18px;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.busca-filtro{background:transparent;color:var(--text-2);border:1px solid var(--border)}
.busca-filtro:hover,.busca-filtro[aria-expanded=true]{border-color:var(--brand);color:var(--brand)}
.busca-n{background:var(--brand);color:#fff;border-radius:20px;font-size:12px;min-width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px}
.busca-ok{background:var(--brand);color:#fff}
.busca-ok:hover{background:var(--brand-esc,var(--brand))}
.sug{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:30;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-md);max-height:340px;overflow:auto;padding:6px;animation:sugin .14s ease-out}
@keyframes sugin{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.sug{animation:none}}
.sug-g{font-size:11.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-3);padding:10px 10px 4px}
.sug-i{display:flex;justify-content:space-between;gap:12px;align-items:baseline;padding:10px 10px;border-radius:8px;cursor:pointer;font-size:15px}
.sug-i small{color:var(--text-3);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:45%}
.sug-i:hover,.sug-i.on{background:color-mix(in srgb,var(--brand) 9%,#fff)}
.sug-i mark{background:none;color:var(--brand);font-weight:800}
.sug-vazio{padding:14px 12px;color:var(--text-2);font-size:14px}
.filtros{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:29;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-md);padding:18px}
.filtros-grade{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}
.filtros label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700;color:var(--text-2)}
.filtros select{font:inherit;font-size:15px;font-weight:500;color:var(--text);padding:10px 12px;border:1px solid var(--border);border-radius:9px;background:#fff}
.filtros-acoes{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}
.busca-limpar{background:none;border:0;color:var(--text-2);font:inherit;font-weight:600;cursor:pointer;padding:10px 14px}
.busca-limpar:hover{color:var(--brand)}
.filtros-acoes .busca-ok{padding:10px 22px}
.pag{display:flex;align-items:center;justify-content:center;gap:16px;margin:26px 0 8px;color:var(--text-2);font-size:14px}
@media (max-width:640px){
  .busca-linha{flex-wrap:wrap}.busca-campo{flex:1 1 100%}
  .busca-filtro,.busca-ok{flex:1 1 0;justify-content:center}
  .filtros{position:fixed;left:0;right:0;bottom:0;top:auto;border-radius:18px 18px 0 0;max-height:82vh;overflow:auto;z-index:60;padding:20px 16px 24px}
  .filtros-grade{grid-template-columns:minmax(0,1fr)}
  .busca.filtros-aberto:before{content:'';position:fixed;inset:0;background:rgba(11,27,51,.45);z-index:59}
}

/* idioma no cabeçalho e ícone de acessibilidade */
.util-bar{display:none!important}
.lang-menu{position:relative}
.lang-btn{display:inline-flex;align-items:center;gap:6px;background:none;border:1px solid var(--border);border-radius:9px;padding:7px 10px;font:inherit;font-size:13.5px;font-weight:700;color:var(--text-2);cursor:pointer}
.lang-btn:hover,.lang-btn[aria-expanded=true]{border-color:var(--brand);color:var(--brand)}
.lang-menu ul{position:absolute;right:0;top:calc(100% + 8px);z-index:50;margin:0;padding:6px;list-style:none;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-md);min-width:150px;animation:sugin .14s ease-out}
.lang-menu li a{display:block;padding:9px 12px;border-radius:8px;font-size:14.5px;font-weight:600;color:var(--text)!important;text-decoration:none}
.lang-menu li a:hover{background:color-mix(in srgb,var(--brand) 9%,#fff)}
.lang-menu li a[aria-current]{color:var(--brand)!important;background:color-mix(in srgb,var(--brand) 12%,#fff)}
.mnav-lang{display:flex;gap:8px;padding:14px 4px 10px}
.mnav-lang a{flex:1;text-align:center;border:1px solid var(--border)!important;border-radius:9px;padding:10px 4px!important;font-size:14px!important}
.mnav-lang a[aria-current]{background:var(--brand);color:#fff;border-color:var(--brand)!important}
@media (max-width:820px){.lang-menu{display:none}}
.a11y-fab{position:fixed;left:16px;bottom:20px;z-index:40;width:48px;height:48px;border-radius:50%;border:0;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 14px rgba(11,27,51,.22)}
.a11y-fab:hover{background:var(--brand-esc,var(--brand))}
.a11y-fab:focus-visible{outline:3px solid #fff;outline-offset:2px;box-shadow:0 0 0 5px var(--brand-esc,var(--brand))}
.a11y-panel{position:fixed;left:16px;bottom:78px;z-index:45;width:min(320px,calc(100vw - 32px));background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-md);padding:14px;animation:sugin .14s ease-out}
.a11y-panel[hidden]{display:none}
.a11y-hd{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:15px}
.a11y-x{background:none;border:0;font-size:24px;line-height:1;cursor:pointer;color:var(--text-2);padding:2px 8px}
.a11y-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;font-size:14px;font-weight:600;color:var(--text)}
.a11y-panel .a11y-btns button{font-size:13.5px;padding:7px 10px}
.a11y-opt{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;background:none;border:0;border-top:1px solid var(--border-2);padding:12px 0;font:inherit;font-size:14px;font-weight:600;color:var(--text);cursor:pointer;text-align:left}
.a11y-opt i{width:38px;height:22px;border-radius:20px;background:#CBD5E1;position:relative;flex:none;transition:background .15s}
.a11y-opt i:after{content:'';position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .15s}
.a11y-opt[aria-pressed=true] i{background:var(--brand)}
.a11y-opt[aria-pressed=true] i:after{transform:translateX(16px)}
.a11y-reset{margin-top:6px;width:100%;background:none;border:1px solid var(--border);border-radius:9px;padding:9px;font:inherit;font-weight:600;color:var(--text-2);cursor:pointer}
.a11y-reset:hover{border-color:var(--brand);color:var(--brand)}
html.a11y-reduce *,html.a11y-reduce *:before,html.a11y-reduce *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html.a11y-links main a:not(.tb-btn):not(.slot):not(.chip){text-decoration:underline!important;text-underline-offset:3px}
@media print{.a11y-fab,.a11y-panel{display:none}}

/* Valores: resumo + valor inicial por área */
.valores{display:grid!important;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:26px 48px;align-items:start;padding:28px 32px!important}
.val-res{display:flex;flex-direction:column;gap:20px}
.val-res>div{display:flex;flex-direction:column;gap:3px}
.val-h{font-size:11.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-3);margin-bottom:12px}
.val-areas ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.val-areas li{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:11px 14px;border-radius:10px;background:color-mix(in srgb,var(--brand) 6%,#fff);border:1px solid color-mix(in srgb,var(--brand) 14%,#fff);font-size:14.5px}
.val-areas li span{color:var(--text-2);font-weight:600}
.val-areas li b{color:var(--brand);font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums}
@media (max-width:900px){.valores{grid-template-columns:minmax(0,1fr)!important;padding:22px 18px!important}.val-res{flex-direction:row;flex-wrap:wrap;gap:16px 36px}}

.val-areas li span{text-transform:none;letter-spacing:0;font-size:14.5px}
.val-areas li b{font-size:14.5px}
.val-areas ul{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}

/* idioma: último item do cabeçalho, globo visível no celular, linha no rodapé, faixa de sugestão */
.pub-nav .lang-menu{margin-left:6px;padding-left:16px;border-left:1px solid var(--border)}
.lang-btn{border-color:transparent}
.lang-btn:hover{background:color-mix(in srgb,var(--brand) 8%,#fff)}
@media (max-width:820px){
  .lang-menu{display:block!important;margin-left:0;padding-left:0;border-left:0}
  .lang-btn{width:40px;height:40px;padding:0;justify-content:center;border:1px solid var(--border)}
  .lang-btn span,.lang-btn svg:last-child{display:none}
  .lang-menu ul{right:-4px}
}
.foot-lang{display:flex;gap:14px;flex-wrap:wrap}
.foot-lang a{font-size:13px;color:var(--text-2)}
.foot-lang a[aria-current]{color:var(--brand);font-weight:700}
.lang-tip{background:var(--brand);color:#fff;text-align:center;padding:9px 44px 9px 16px;font-size:14px;position:relative}
.lang-tip[hidden]{display:none}
.lang-tip a{color:#fff;font-weight:800;text-decoration:underline;text-underline-offset:3px;margin-left:4px}
.lang-tip button{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:0;color:#fff;font-size:22px;line-height:1;cursor:pointer;padding:4px 8px}

/* hero: linha de preço; selo VYKA Acesso; página de especialidades */
.hero-preco{display:flex;flex-wrap:wrap;gap:4px 18px;margin:14px 0 0;font-size:14.5px;color:var(--text-2)}
.hero-preco a{color:var(--text-2)!important;text-decoration:none}
.hero-preco a:hover{text-decoration:underline}
.hero-preco b{color:var(--brand)}
.hero-preco span:before{content:'';display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--text-3);margin:0 12px 3px 0;vertical-align:middle}
.social{font-size:12.5px;font-weight:700;color:var(--brand);background:color-mix(in srgb,var(--brand) 8%,#fff);border:1px solid color-mix(in srgb,var(--brand) 20%,#fff);border-radius:8px;padding:6px 10px}
.esp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,380px),1fr));gap:14px;margin-top:22px}
.esp-card{padding:22px}
.esp-card header{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.esp-card h2{font-size:19px;font-weight:800;letter-spacing:-.02em;margin:0}
.esp-card h2 a{color:var(--text)!important;text-decoration:none}
.esp-card h2 a:hover{color:var(--brand)!important}
.esp-meta{display:flex;gap:12px;font-size:13.5px;color:var(--text-2)}
.esp-meta b{color:var(--brand);font-variant-numeric:tabular-nums}
.esp-chips{display:flex;flex-wrap:wrap;gap:7px}
@media (max-width:560px){.hero-preco span:before{display:none}}

.hero-acesso{color:var(--brand)!important;font-weight:700;text-decoration:none;white-space:normal}
.hero-acesso:hover{text-decoration:underline}

/* cabeçalho no celular: cabe em 360px */
.sm-only{display:none}
@media (max-width:820px){
  .pub-hd .pub-nav{gap:8px}
  .pub-hd a.tb-btn.primary{padding:9px 14px}
}
@media (max-width:560px){
  .lg-only{display:none}.sm-only{display:inline}
  .pub-hd{gap:8px}
  .pub-hd .sb-logo{min-width:0;flex:0 1 auto}
  .pub-hd .sb-logo img,.pub-hd .sb-logo svg{max-height:26px;width:auto}
  .pub-hd a.tb-btn.primary{padding:9px 12px}
}

.foot-bottom{align-items:center}
.foot-lang{gap:6px 16px}
.foot-lang a{font-size:13.5px;font-weight:600}

/* páginas de texto longo: sumário lateral e leitura confortável */
.doc-l{display:block}
.doc-l.com-toc{display:grid;grid-template-columns:240px minmax(0,72ch);gap:56px;justify-content:start;align-items:start}
.doc-toc{position:sticky;top:24px;font-size:14px;border-left:2px solid var(--border);padding-left:16px}
.doc-toc-h{font-size:11.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-3);margin-bottom:10px}
.doc-toc ol{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.doc-toc a{color:var(--text-2)!important;text-decoration:none;line-height:1.35;display:block}
.doc-toc a:hover{color:var(--brand)!important}
.doc-l .doc{max-width:72ch}
.doc-l .doc p{line-height:1.7;margin:0 0 14px}
.doc-l .doc h2{margin:34px 0 10px;scroll-margin-top:24px}
.doc-l .doc ul{margin:0 0 16px;padding-left:22px;display:grid;gap:7px;line-height:1.6}
.doc-meta{font-size:13.5px;color:var(--text-3);margin:-4px 0 22px}
.doc-aviso{background:color-mix(in srgb,var(--brand) 7%,#fff);border:1px solid color-mix(in srgb,var(--brand) 20%,#fff);border-radius:10px;padding:12px 16px;font-size:14px;margin:0 0 22px}
@media (max-width:980px){.doc-l.com-toc{grid-template-columns:minmax(0,1fr)}.doc-toc{position:static;border-left:0;padding:0 0 10px;border-bottom:1px solid var(--border)}.doc-toc ol{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.doc-toc ol{grid-template-columns:1fr}}

.opc{font-weight:500;color:var(--text-3);font-size:.92em}

/* menu do celular: links na cor do texto, sem o azul padrão do navegador */
.mnav a,.mnav a:visited{color:var(--text)!important;text-decoration:none!important}
.mnav a:hover,.mnav a:active,.mnav a:focus-visible{color:var(--brand)!important;background:color-mix(in srgb,var(--brand) 6%,#fff)}
.mnav a{display:block}

/* página da consulta por vídeo */
.consulta-pg{padding-top:20px;padding-bottom:12px}
.consulta-topo{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
.sala-video{width:100%;height:calc(100vh - 250px);min-height:420px;border-radius:14px;overflow:hidden;background:#0f1f2e;box-shadow:var(--shadow-md)}
.sala-video iframe{border:0}
.consulta-acoes{margin-top:12px;padding:14px 16px}
.consulta-fim{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap}
.consulta-fim textarea{width:100%}
.consulta-btns{display:flex;gap:8px;flex-wrap:wrap}
.consulta-espera{max-width:640px;padding:28px}
@media (max-width:640px){.sala-video{height:calc(100vh - 210px);min-height:360px;border-radius:10px}.consulta-topo{flex-wrap:wrap}}

.consulta-pessoas{display:flex;gap:6px 22px;flex-wrap:wrap;margin-top:6px;font-size:14px;color:var(--text)}
.consulta-pessoas b{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);margin-right:6px}

/* anotações do profissional sobre a sala */
.sala-wrap{position:relative}
.painel-notas{position:absolute;right:12px;top:52px;bottom:78px;width:min(340px,86%);background:#fff;border-radius:12px;box-shadow:var(--shadow-md);padding:12px;display:flex;flex-direction:column;gap:8px;z-index:5}
.painel-notas[hidden]{display:none}
.painel-notas-h{display:flex;justify-content:space-between;align-items:center;font-size:14px}
.painel-notas-h button{background:none;border:0;font-size:22px;line-height:1;cursor:pointer;color:var(--text-2);padding:0 6px}
.painel-notas textarea{flex:1;width:100%;resize:none;border:1px solid var(--border);border-radius:9px;padding:10px;font:inherit;font-size:14px}
@media (max-width:640px){.painel-notas{left:8px;right:8px;width:auto;top:44px;bottom:70px}}

/* prontuário durante a consulta */
.painel-notas .pr-aba{flex:1;min-height:0;overflow:auto}
.painel-notas .pr-aba[hidden]{display:none}
.pr-abas{display:flex;gap:4px;background:var(--bg);border-radius:9px;padding:3px}
.pr-abas button{flex:1;border:0;background:none;border-radius:7px;padding:7px 8px;font:inherit;font-size:13px;font-weight:600;color:var(--text-2);cursor:pointer}
.pr-abas button.on{background:#fff;color:var(--brand);box-shadow:var(--shadow)}
.pr-paciente{padding:4px 0 10px;border-bottom:1px solid var(--border-2)}
.pr-nome{font-size:16px;font-weight:800;color:var(--text)}
.pr-meta{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:13px;color:var(--text-2);margin-top:3px}
.pr-titulo{font-size:11.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-3);margin:14px 0 6px}
.pr-item{padding:8px 0;border-bottom:1px solid var(--border-2)}
.pr-linha{display:flex;justify-content:space-between;gap:8px;font-size:13px}
.pr-linha span{color:var(--text-3)}
.pr-texto{font-size:13px;color:var(--text-2);margin-top:3px;line-height:1.45}
.pr-vazio{font-size:13px;color:var(--text-3);padding:6px 0}

/* aviso de proximidade da próxima consulta (sobre a sala) */
.aviso-prox{position:absolute;left:50%;transform:translateX(-50%);top:14px;z-index:6;max-width:calc(100% - 32px);padding:9px 16px;border-radius:999px;font-size:13.5px;font-weight:700;box-shadow:var(--shadow-md);text-align:center}
.aviso-prox[hidden]{display:none}
.aviso-prox.atencao{background:#FEF5E0;color:#8A4B00;border:1px solid #F3CF85}
.aviso-prox.perigo{background:#C62828;color:#fff;border:1px solid #9d1f1f}
.sala-wrap:fullscreen{background:#0B1B33;display:flex}
.sala-wrap:fullscreen .sala-video{height:100vh;border-radius:0}

/* lista de profissionais em grade, com menos botões */
.lista-prof{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,560px),1fr));gap:14px;align-items:start}
.lista-prof .row-prof{grid-template-columns:minmax(0,1fr);margin:0}
.mais-horarios{display:inline-block;margin-top:8px;font-size:13.5px;font-weight:700;color:var(--brand)!important;text-decoration:none}
.mais-horarios:hover{text-decoration:underline}
.lista-prof .days .d a.slot{font-size:13px}
/* teste de câmera mais compacto */
.testbox video{width:100%;aspect-ratio:16/9;max-height:230px;object-fit:cover;border-radius:10px;background:#0f1f2e;display:block}
/* perguntas frequentes: duas colunas e linha de leitura confortável */
#ajuda>div:not(.sec-h){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;align-items:start}
details.faq p{max-width:62ch}
@media (max-width:900px){#ajuda>div:not(.sec-h){grid-template-columns:minmax(0,1fr)}}
.link-decl{display:inline-block;margin-top:12px;font-size:13.5px;font-weight:700;color:var(--brand)!important;text-decoration:none}
.link-decl:hover{text-decoration:underline}

/* entrar na consulta (prepare-se) */
.pronto{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:18px}

/* agendamento */
.when-lg{font-size:22px;font-weight:800;letter-spacing:-.02em;margin-top:2px}
.when-lg::first-letter{text-transform:uppercase}
.aceite{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.5;color:var(--text-2);cursor:pointer}
.aceite input{margin-top:3px;width:18px;height:18px;flex:none}
.aceite a{color:var(--brand);text-decoration:underline}
.aviso-ok{background:#e8f6ee;border:1px solid #b9e3c9;color:#14532d;border-radius:10px;padding:12px 14px;margin-bottom:16px;font-weight:600}
.aviso-ok a{color:inherit;font-weight:700;text-decoration:underline}
.aviso-ok.bad{background:#fdecec;border-color:#f3c2c2;color:#7f1d1d;font-size:13.5px;margin:12px 0 16px}

.hero-cta{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0 18px}
.hero-cta .tb-btn{justify-content:center}
@media (max-width:480px){.hero-cta .tb-btn{flex:1 1 100%}}

/* prepare-se na home: sem área branca sobrando */
@media (min-width:901px){
  .prep{align-items:center}
  .prep-img,.prep-img picture{height:auto}
  .prep-img img{height:350px;min-height:0}
  .prep-card{justify-content:center;gap:24px;padding:34px 36px;min-height:350px}
  .prep-card .checklist{gap:16px}
}

.foot a.foot-login{display:inline-block;margin-top:14px;padding:8px 18px;border:1px solid var(--border);border-radius:9px;background:#fff;color:var(--text);font-weight:700;font-size:14px;text-decoration:none}
.foot a.foot-login:hover{border-color:var(--brand);color:var(--brand);text-decoration:none}

/* três caixas: profissional, instituição, levar à instituição */
.cta-pro{grid-template-columns:repeat(3,minmax(0,1fr))}
.cta-pro .card{padding:28px}
.cta-pro .card .tb-btn{margin-top:auto}
@media (max-width:980px){.cta-pro{grid-template-columns:minmax(0,1fr)}}

.link-senha{display:block;margin:14px auto 0;background:none;border:0;color:var(--brand);font-weight:700;font-size:14px;cursor:pointer;text-decoration:underline;font-family:inherit}

.ajuda-login{margin-top:16px;padding-top:14px;border-top:1px solid var(--border-2);line-height:1.55;text-align:center}
.ajuda-login a{color:var(--brand);font-weight:700}

/* agenda do profissional */
.ag-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:18px;align-items:start}
.ag-dias{display:grid;gap:8px}
.ag-dia{display:grid;grid-template-columns:150px 1fr;gap:6px 12px;align-items:center;padding:8px 0;border-bottom:1px solid var(--border-2)}
.ag-dia .err{grid-column:1/-1}
.ag-marca{display:flex;gap:8px;align-items:center;font-weight:700;font-size:14px;cursor:pointer}
.ag-jan{display:flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:13px;color:var(--text-2)}
.ag-jan input{font:inherit;padding:7px 8px;border:1px solid var(--border);border-radius:8px;width:104px}
.ag-bloq{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ag-rm .tb-btn{width:100%;justify-content:center;font-size:12.5px}
@media (max-width:900px){.ag-grid{grid-template-columns:1fr}.ag-dia{grid-template-columns:1fr}}

.ag-2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
@media (max-width:560px){.ag-2{grid-template-columns:1fr}}
.cad-grade{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}
.cad-grade .cheia{grid-column:1/-1}
@media (max-width:640px){.cad-grade{grid-template-columns:1fr}}
.perigo:hover{border-color:#b91c1c;color:#b91c1c}
.field select,.field textarea{width:100%;font:inherit;font-size:15px;padding:13px 14px;background:var(--bg);border:1px solid var(--border);border-radius:9px;color:var(--text);outline:none}
.field select:focus,.field textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-l)}

/* registro clínico no painel da consulta */
.pr-campo{margin-bottom:10px}
.pr-campo label{display:block;font-size:11.5px;font-weight:700;color:var(--text-2);margin-bottom:4px;text-transform:uppercase;letter-spacing:.04em}
.pr-campo textarea,.pr-campo input{width:100%;font:inherit;font-size:13.5px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;resize:vertical;background:#fff}
.pr-campo textarea{min-height:84px}
.pr-salvo{font-size:11.5px;color:var(--text-3);margin-top:4px}
.qr-box{width:200px;height:200px;margin:14px 0;background:#fff;padding:6px;border:1px solid var(--border);border-radius:10px}
.qr-box svg{width:100%;height:100%}
.chave-2fa{font-family:ui-monospace,monospace;letter-spacing:.06em;background:var(--bg);padding:3px 8px;border-radius:6px}
.cod-rec{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-width:360px}
.cod-rec code{font-family:ui-monospace,monospace;background:var(--bg);border:1px solid var(--border);padding:6px 10px;border-radius:8px;text-align:center}

/* Painel público de progresso e janela de boas-vindas (temporários: remover junto com a página /progresso) */
.prog-larga{width:100%;padding:44px clamp(16px,3vw,48px) 32px}
.prog{width:100%}
.prog h1{font-size:clamp(26px,4vw,34px);letter-spacing:-.02em;margin:0 0 6px}
.prog h2{font-size:20px;margin:34px 0 14px}
.prog-sub{color:var(--muted,#5b6472);margin:0 0 24px}
.prog-geral{display:flex;gap:32px;align-items:center;background:var(--card,#fff);border:1px solid var(--line,#e6e8ec);border-radius:16px;padding:22px}
.prog-pct{min-width:120px;text-align:center}
.prog-pct b{display:block;font-size:52px;line-height:1;letter-spacing:-.03em;color:var(--brand)}
.prog-pct span{font-size:13px;color:var(--muted,#5b6472)}
.prog-geral-corpo{flex:1}
.prog-barra{display:flex;height:12px;border-radius:99px;background:color-mix(in srgb,var(--brand) 10%,#fff);overflow:hidden}
.prog-barra i{display:block;height:100%}
.prog-barra i.feito,.prog-legenda i.feito{background:var(--brand)}
.prog-barra i.parcial,.prog-legenda i.parcial{background:color-mix(in srgb,var(--brand) 42%,#fff)}
.prog-legenda{display:flex;flex-wrap:wrap;gap:6px 18px;list-style:none;padding:0;margin:12px 0 0;font-size:14px}
.prog-legenda li{display:flex;align-items:center;gap:7px}
.prog-legenda i{display:inline-block;width:11px;height:11px;border-radius:3px}
.prog-legenda i.pend{background:color-mix(in srgb,var(--brand) 10%,#fff);border:1px solid color-mix(in srgb,var(--brand) 25%,#fff)}
.prog-nota{font-size:13px;color:var(--muted,#5b6472);margin:12px 0 0}
.prog-lista{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px}
.prog-item{background:var(--card,#fff);border:1px solid var(--line,#e6e8ec);border-radius:14px;padding:16px 18px}
.prog-item-topo{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.prog-item h3{margin:0;font-size:16px}
.prog-item-pct{font-weight:700;color:var(--brand)}
.prog-item p{margin:6px 0 12px;font-size:14px;color:var(--muted,#5b6472)}
.prog-item-nums{margin-top:9px;font-size:12.5px;color:var(--muted,#5b6472)}
.prog-volta{margin:30px 0 0}
@media (max-width:640px){.prog-geral{flex-direction:column;align-items:stretch;text-align:center}.prog-lista{grid-template-columns:1fr}.prog-legenda{justify-content:center}}

.prog-modal{position:fixed;inset:0;z-index:90;background:rgba(15,23,42,.5);display:flex;align-items:center;justify-content:center;padding:16px}
.prog-modal[hidden]{display:none}
.prog-modal-caixa{background:#fff;color:#0f172a;border-radius:18px;max-width:460px;width:100%;padding:26px 24px;box-shadow:0 24px 70px rgba(15,23,42,.35)}
.prog-modal-caixa h2{margin:0 0 8px;font-size:22px;letter-spacing:-.02em}
.prog-modal-caixa p{margin:0 0 20px;color:#475569;line-height:1.5}
.prog-modal-acoes{display:flex;gap:10px;flex-wrap:wrap}
.prog-modal-acoes .tb-btn{flex:1;justify-content:center;min-width:150px;text-align:center}
body.prog-modal-aberto{overflow:hidden}

/* Progresso por funcionalidade: três pedaços e listas numeradas */
.prog-cols{display:grid;grid-template-columns:1fr 2fr;gap:28px;align-items:start}
.prog-col-t{font-size:15px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted,#5b6472);margin:0 0 12px}
.prog-dupla{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.prog-cartao{background:var(--card,#fff);border:1px solid var(--line,#e6e8ec);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:12px}
.prog-cartao-topo{display:flex;justify-content:space-between;gap:14px}
.prog-cartao h3{margin:0 0 4px;font-size:20px;letter-spacing:-.01em}
.prog-cartao p{margin:0;font-size:13.5px;color:var(--muted,#5b6472)}
.prog-cartao .prog-pct{min-width:84px}
.prog-cartao .prog-pct b{font-size:38px}
.prog-total{font-size:14px!important;color:var(--text,#0f172a)!important}
.prog-total b{font-size:22px}
.prog-legenda i.ext{background:repeating-linear-gradient(45deg,#cbd5e1,#cbd5e1 3px,#f1f5f9 3px,#f1f5f9 6px)}
.prog-grupos{display:flex;flex-direction:column;border-top:1px solid var(--line,#e6e8ec);margin-top:4px;max-height:420px;overflow:auto}
.prog-grupo{display:flex;justify-content:space-between;gap:10px;padding:7px 2px;border-bottom:1px solid var(--line,#eef0f3);font-size:13.5px}
.prog-grupo-v{color:var(--muted,#5b6472);font-variant-numeric:tabular-nums;white-space:nowrap}
.prog-ver{align-self:stretch;justify-content:center;text-align:center}
.prog-filtro{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:8px 0 18px}
.prog-filtro input{flex:1;min-width:240px;max-width:420px;font:inherit;padding:10px 12px;border:1px solid var(--line,#d7dbe2);border-radius:10px}
.prog-chips{display:flex;flex-wrap:wrap;gap:8px}
.prog-chip{font:inherit;font-size:13px;padding:7px 12px;border-radius:99px;border:1px solid var(--line,#d7dbe2);background:#fff;cursor:pointer}
.prog-chip b{margin-left:4px;color:var(--muted,#5b6472);font-weight:600}
.prog-chip.ativo{background:var(--brand);border-color:var(--brand);color:#fff}.prog-chip.ativo b{color:#fff}
.prog-det{background:var(--card,#fff);border:1px solid var(--line,#e6e8ec);border-radius:14px;margin-bottom:12px;overflow:hidden}
.prog-det>summary{display:flex;justify-content:space-between;gap:12px;padding:14px 18px;font-weight:600;cursor:pointer;list-style:none}
.prog-det>summary::-webkit-details-marker{display:none}
.prog-det-n{color:var(--muted,#5b6472);font-weight:500;font-variant-numeric:tabular-nums}
.prog-tab-rolagem{overflow-x:auto}
.prog-tab{width:100%;border-collapse:collapse;font-size:14px}
.prog-tab th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted,#5b6472);padding:8px 18px;border-top:1px solid var(--line,#e6e8ec);border-bottom:1px solid var(--line,#e6e8ec);background:color-mix(in srgb,var(--brand) 4%,#fff)}
.prog-tab td{padding:9px 18px;border-bottom:1px solid var(--line,#eef0f3);vertical-align:top}
.prog-tab tr:last-child td{border-bottom:0}
.prog-tab [hidden]{display:none}
.prog-id{white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--muted,#5b6472);width:1%}
.prog-ref{color:var(--muted,#5b6472);font-size:12.5px;max-width:240px}
.prog-st{display:inline-block;white-space:nowrap;font-size:12px;font-weight:600;padding:3px 10px;border-radius:99px}
.prog-st.feito{background:#dcfce7;color:#166534}
.prog-st.parcial{background:#fef3c7;color:#92400e}
.prog-st.pend{background:#f1f5f9;color:#475569}
.prog-st.ext{background:#e0e7ff;color:#3730a3}
.prog-vazio{padding:24px;text-align:center;color:var(--muted,#5b6472)}
.prog-det[hidden]{display:none}
@media (max-width:1100px){.prog-cols{grid-template-columns:1fr}.prog-dupla{grid-template-columns:1fr}}
@media (max-width:640px){.prog-cartao-topo{flex-direction:column}.prog-tab th,.prog-tab td{padding:8px 12px}}

/* campo de município com busca (formulário público) */
.mun-campo{position:relative}
.mun-lista{position:absolute;left:0;right:0;top:calc(100% - 2px);z-index:40;background:#fff;border:1px solid var(--line,#e6e8ec);border-radius:12px;box-shadow:0 12px 32px rgba(15,23,42,.14);max-height:280px;overflow:auto;padding:6px}
.mun-lista[hidden]{display:none}
.mun-item{display:flex;justify-content:space-between;gap:12px;width:100%;text-align:left;background:none;border:0;padding:9px 10px;border-radius:8px;cursor:pointer;font:inherit;font-size:14px;color:var(--ink,#0f172a)}
.mun-item span{color:var(--muted,#5b6472);font-size:12.5px}
.mun-item.ativo,.mun-item:hover{background:color-mix(in srgb,var(--brand) 10%,#fff)}
.mun-vazio{padding:12px 10px;color:var(--muted,#5b6472);font-size:13px}
.mun-campo.invalido input{border-color:#c0392b}
