/* fontes hospedadas no próprio site (Manrope variável e IBM Plex Mono), licença OFL */
@font-face{font-family:"Manrope";font-style:normal;font-weight:200 800;font-display:swap;src:url("/assets/fonts/manrope-latin-wght-normal.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/ibm-plex-mono-latin-400-normal.woff2") format("woff2")}

:root{
  --petroleo:#003B34;
  --verde:#00473F;
  --verde-2:#0A564C;
  --agua:#33C9B2;
  --agua-claro:#5FDBC7;
  --agua-suave:#A9DED3;
  --nevoa:#F2F7F5;
  --papel:#FFFFFF;
  --tinta:#17302C;
  --tinta-2:#4C6560;
  --tinta-3:#5E746F;
  --linha:#D7E2DE;
  --escuro-texto:#E6F0ED;
  --escuro-texto-2:#A9C4BD;
  --escuro-linha:#1B5E53;
  --ph-bg:#E3F4F0;
  --ph-tx:#0A564C;
  --sans:"Manrope","Helvetica Neue",Helvetica,Arial,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  --raio:12px;
  --wrap:1200px;
  color-scheme: light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;background:var(--papel);color:var(--tinta);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--verde);text-underline-offset:3px}
a:hover{color:var(--verde-2)}
:focus-visible{outline:3px solid var(--agua);outline-offset:3px;border-radius:4px}
h1,h2,h3{margin:0;text-wrap:balance;letter-spacing:-.022em;line-height:1.12}
p{margin:0}
img{max-width:100%}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:max(16px, 4vw)}
.band{padding-block:clamp(64px, 9vw, 112px)}
.band.nevoa{background:var(--nevoa)}
.eyebrow{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--verde-2)}
.lead{font-size:clamp(16px, 1.7vw, 20px);color:var(--tinta-2);max-width:62ch}
.sec-head{display:flex;flex-direction:column;gap:14px;margin-bottom:clamp(36px, 5vw, 56px)}
.sec-head h2{font-size:clamp(28px, 3.5vw, 42px);font-weight:700;color:var(--verde)}
.sec-head.centro{align-items:center;text-align:center}
.sec-head.centro .lead{margin-inline:auto}
.ph{background:var(--ph-bg);color:var(--ph-tx);font-weight:600;padding:1px 7px;border-radius:5px;border:1px dashed #9ED9CC;-webkit-box-decoration-break:clone;box-decoration-break:clone;overflow-wrap:anywhere}
.mono{font-family:var(--mono);font-size:14px;letter-spacing:.01em;font-variant-numeric:tabular-nums}

/* espaço de foto: marca onde entra cada imagem */
.foto{position:relative;overflow:hidden;border-radius:var(--raio);margin:0;background:
    repeating-linear-gradient(115deg, rgba(23,48,44,.045) 0 2px, transparent 2px 22px),
    linear-gradient(160deg, #E4E7E3 0%, #CDD3CF 100%);
  color:var(--escuro-texto);display:flex;align-items:flex-end;max-width:100%}
.foto::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 80% at 80% 10%, rgba(255,255,255,.35), transparent 60%);pointer-events:none}
.foto figcaption, .credito{position:relative;z-index:2;margin:14px;padding:8px 12px;border-radius:8px;background:rgba(0,30,26,.62);backdrop-filter:blur(4px);font-size:12px;line-height:1.4;display:flex;gap:9px;align-items:flex-start;max-width:calc(100% - 28px);color:var(--escuro-texto)}
.foto figcaption svg, .credito svg{flex:none;margin-top:1px;color:var(--agua-claro)}
.foto figcaption b, .credito b{display:block;font-weight:700;color:#fff}
.foto.sua{background:repeating-linear-gradient(115deg, rgba(0,71,63,.06) 0 2px, transparent 2px 22px), linear-gradient(160deg, #E3F4F0, #CFE7E0)}
.foto.sua::after{background:none}
.foto.sua figcaption{background:rgba(255,255,255,.88);color:var(--tinta-2)}
.foto.sua figcaption b{color:var(--verde)}
.foto.sua figcaption svg{color:var(--verde-2)}

/* botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:13px 22px;min-height:44px;border-radius:999px;font-weight:700;font-size:16px;text-decoration:none;transition:background .18s ease, color .18s ease, border-color .18s ease;white-space:nowrap;cursor:pointer;font-family:inherit;border:0}
.btn-verde{background:var(--verde);color:#fff}
.btn-verde:hover{background:var(--verde-2);color:#fff}
.btn-agua{background:var(--agua);color:var(--petroleo)}
.btn-agua:hover{background:var(--agua-claro);color:var(--petroleo)}
.btn-linha{border:1.5px solid rgba(230,240,237,.45);color:#fff;background:transparent}
.btn-linha:hover{border-color:var(--agua);color:#fff}
.btn-linha-claro{border:1.5px solid var(--linha);color:var(--verde);background:#fff}
.btn-linha-claro:hover{border-color:var(--verde);color:var(--verde)}
.btn-cinza{background:#E7EEEC;color:var(--tinta)}
.btn-cinza:hover{background:#DCE6E3;color:var(--tinta)}

/* cabeçalho */
.topo{position:sticky;top:env(safe-area-inset-top, 0px);z-index:20;background:rgba(255,255,255,.96);backdrop-filter:saturate(1.2) blur(8px)}
.topo .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:74px}
.topo .marca img{display:block;width:184px;height:auto}
.topo nav{display:flex;align-items:center;gap:26px}
.topo nav ul{display:flex;gap:22px;list-style:none;margin:0;padding:0}
.topo nav ul a{color:var(--tinta-2);text-decoration:none;font-weight:600;font-size:14px}
.topo nav ul a:hover{color:var(--verde)}
.topo .btn{min-height:44px;padding:10px 18px;font-size:14px}
.menu-btn{display:none;align-items:center;justify-content:center;flex:none;width:44px;height:44px;border-radius:10px;border:1px solid var(--linha);background:#fff;color:var(--verde);cursor:pointer}
.menu-btn path{transition:transform .2s ease, opacity .2s ease;transform-origin:12px 12px}
.topo.aberto .menu-btn .l-a{transform:translateY(5px) rotate(45deg)}
.topo.aberto .menu-btn .l-b{opacity:0}
.topo.aberto .menu-btn .l-c{transform:translateY(-5px) rotate(-45deg)}
@media (max-width: 1080px){
  .topo .marca img{width:160px}
  .topo nav{gap:10px}
  .menu-btn{display:inline-flex}
  .topo nav ul{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;gap:0;background:#fff;border-bottom:1px solid var(--linha);box-shadow:0 18px 30px -18px rgba(0,30,26,.35);padding:4px max(16px, 4vw) 12px;max-height:calc(100vh - 74px);overflow-y:auto}
  .topo.aberto nav ul{display:flex}
  .topo nav ul a{display:block;padding:14px 2px;font-size:16.5px;border-bottom:1px solid var(--linha)}
  .topo nav ul li:last-child a{border-bottom:0}
  .topo nav ul a[aria-current="page"]{text-decoration:none;color:var(--verde)}
}

/* hero: foto em tela cheia */
.hero{border-radius:0;min-height:clamp(560px, 46vw, 680px);align-items:center}
.hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg, rgba(0,32,28,.92) 0%, rgba(0,32,28,.66) 50%, rgba(0,32,28,.18) 100%)}
.hero .credito{position:absolute;top:18px;right:max(16px, 4vw);margin:0}
.hero .wrap{position:relative;z-index:2;width:100%;padding-block:clamp(56px, 7vw, 88px) clamp(104px, 11vw, 136px)}
.hero .texto{max-width:660px}
.hero .eyebrow{color:var(--agua-claro)}
.hero h1{font-size:clamp(40px, 5.6vw, 68px);font-weight:800;color:#fff;margin-top:18px;letter-spacing:-.035em;line-height:1.02}
.hero h1 .l2{display:block;font-weight:300;color:var(--agua-claro)}
.hero .lead{color:var(--escuro-texto);margin-top:22px}
.hero .acoes{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.selos{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:30px;padding-top:22px;border-top:1px solid rgba(230,240,237,.22);font-size:14px;color:var(--escuro-texto-2)}
.selos span{display:flex;gap:8px;align-items:center}
.selos svg{color:var(--agua-claro);flex:none}
.selos a{color:var(--escuro-texto)}
.selos a:hover{color:#fff}

/* faixa de modalidades */
.modos{position:relative;z-index:3;margin-top:-64px}
.modos .caixa{background:#fff;border-radius:16px;box-shadow:0 24px 60px -28px rgba(0,30,26,.45);border:1px solid var(--linha);display:grid;grid-template-columns:auto repeat(3, minmax(0, 1fr));align-items:stretch}
.modos .rotulo{padding:22px 26px;display:flex;flex-direction:column;justify-content:center;gap:4px;border-right:1px solid var(--linha);min-width:0}
.modos .rotulo b{font-size:16px;color:var(--verde)}
.modos .rotulo span{font-size:14px;color:var(--tinta-3)}
.modos a{display:grid;grid-template-columns:40px 1fr auto;gap:14px;align-items:center;padding:20px 22px;text-decoration:none;color:var(--tinta);min-width:0}
.modos a + a{border-left:1px solid var(--linha)}
.modos a:hover{background:var(--nevoa)}
.modos .ic{width:40px;height:40px;border-radius:10px;background:var(--nevoa);display:grid;place-items:center;color:var(--verde)}
.modos a b{display:block;font-size:16px}
.modos a small{display:block;font-size:14px;color:var(--tinta-3);line-height:1.4}
.modos .seta{color:var(--verde-2)}
@media (max-width: 900px){ .modos .caixa{grid-template-columns:1fr} .modos .rotulo{border-right:0;border-bottom:1px solid var(--linha)} .modos a + a{border-left:0;border-top:1px solid var(--linha)} }

/* frase + faixa de fotos */
.chamada{padding-block:clamp(64px, 8vw, 100px) clamp(40px, 5vw, 56px);text-align:center}
.chamada h2{font-size:clamp(32px, 4.2vw, 52px);font-weight:800;color:var(--verde);max-width:22ch;margin-inline:auto;letter-spacing:-.03em}
.chamada .lead{margin:18px auto 0}
.chamada .acoes{display:flex;justify-content:center;margin-top:28px}
.chamada .miudo{margin-top:14px;font-size:14px;color:var(--tinta-3)}
.tira{display:grid;grid-template-columns:repeat(4, minmax(0, 1fr))}
.tira .foto{border-radius:0;aspect-ratio:3 / 2}
.tira .foto + .foto{border-left:2px solid #fff}
@media (max-width: 760px){ .tira{grid-template-columns:repeat(2, minmax(0, 1fr))} .tira .foto:nth-child(3){border-left:0} .tira .foto:nth-child(n+3){border-top:2px solid #fff} }

/* para quem */
.perfis{display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));gap:18px}
.perfil{display:flex;flex-direction:column;gap:12px}
.perfil .foto{aspect-ratio:3 / 4}
.perfil.largo{grid-column:span 2}
.perfil.largo .foto{aspect-ratio:14 / 9}
.perfil h3{font-size:19px;font-weight:700;color:var(--tinta)}
.perfil p{font-size:16px;color:var(--tinta-2);line-height:1.5}
@media (max-width: 1000px){ .perfis{grid-template-columns:repeat(2, minmax(0, 1fr))} .perfil .foto{aspect-ratio:4 / 3} .perfil.largo .foto{aspect-ratio:16 / 9} }
@media (max-width: 480px){ .perfis{grid-template-columns:1fr} .perfil.largo{grid-column:auto} .perfil .foto, .perfil.largo .foto{aspect-ratio:16 / 10} }

/* como funciona, com ícones */
.como .acoes{display:flex;justify-content:center;margin:-18px 0 clamp(40px, 5vw, 56px)}
.passos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));gap:clamp(18px, 3vw, 36px);text-align:center}
.passos li{display:flex;flex-direction:column;align-items:center;gap:10px}
.passos .ic{width:64px;height:64px;border-radius:18px;background:#fff;border:1px solid var(--linha);display:grid;place-items:center;color:var(--verde-2);margin-bottom:6px}
.passos h3{font-size:19px;font-weight:700}
.passos p{font-size:16px;color:var(--tinta-2);max-width:28ch}
@media (max-width: 900px){ .passos{grid-template-columns:repeat(2, minmax(0, 1fr))} }
@media (max-width: 480px){ .passos{grid-template-columns:1fr} }

/* consultas */
.consultas{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:18px}
.consulta{background:#fff;border:1px solid var(--linha);border-radius:var(--raio);padding:28px;display:flex;flex-direction:column;gap:12px}
.consulta.destaque{border:2px solid var(--verde)}
.consulta .tag{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--verde-2)}
.consulta h3{font-size:22px;font-weight:700}
.consulta .dur{display:flex;align-items:baseline;gap:8px;margin-top:2px}
.consulta .dur strong{font-size:40px;font-weight:800;letter-spacing:-.03em;color:var(--verde);line-height:1;font-variant-numeric:tabular-nums}
.consulta .dur span{font-size:16px;color:var(--tinta-3);font-weight:600}
.consulta p{font-size:16px;color:var(--tinta-2)}
.consulta .btn{margin-top:auto;width:100%}
.inclui{margin-top:28px;display:grid;grid-template-columns:minmax(0, .9fr) minmax(0, 1.1fr);gap:clamp(20px, 4vw, 48px);align-items:start;background:#fff;border-radius:var(--raio);padding:clamp(22px, 3vw, 32px);border:1px solid var(--linha)}
.inclui h3{font-size:19px;font-weight:700;color:var(--verde)}
.inclui ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:12px 24px}
.inclui li{display:flex;gap:10px;align-items:flex-start;font-size:16px;color:var(--tinta)}
.inclui li svg{flex:none;margin-top:4px;color:var(--verde-2)}
.inclui .nota{font-size:14px;color:var(--tinta-3);margin-top:10px}
.politica{margin-top:22px;display:flex;flex-wrap:wrap;gap:10px 28px;font-size:16px;color:var(--tinta-2)}
.politica span{display:flex;gap:9px;align-items:flex-start}
.politica svg{flex:none;margin-top:4px;color:var(--verde-2)}
@media (max-width: 960px){ .consultas{grid-template-columns:1fr} .inclui{grid-template-columns:1fr} }
@media (max-width: 560px){ .inclui ul{grid-template-columns:1fr} }

/* exames e procedimentos */
.cartoes{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:18px}
.cartoes.dois{grid-template-columns:repeat(2, minmax(0, 1fr))}
.cartao{background:#fff;border:1px solid var(--linha);border-radius:var(--raio);padding:28px;display:flex;flex-direction:column;gap:14px}
.cartao .topo-c{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.cartao .tag{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--verde-2)}
.cartao .amostra{font-size:12px;font-weight:600;color:var(--verde);background:var(--nevoa);border-radius:999px;padding:4px 10px;white-space:nowrap}
.cartao h3{font-size:22px;font-weight:700}
.cartao p{font-size:16px;color:var(--tinta-2)}
.descobre{margin-top:4px;padding-top:16px;border-top:1px solid var(--linha)}
.descobre b{display:block;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--tinta-3);margin-bottom:10px}
.descobre ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.descobre li{display:flex;gap:10px;align-items:flex-start;font-size:16px;color:var(--tinta);line-height:1.45}
.descobre li svg{flex:none;margin-top:4px;color:var(--agua)}
.cta-linha{margin-top:26px;display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;font-size:16px;color:var(--tinta-2)}
@media (max-width: 960px){ .cartoes, .cartoes.dois{grid-template-columns:1fr} }

/* conheça seu médico */
.medico{display:grid;grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);gap:clamp(28px, 5vw, 64px);align-items:center}
.ficha-medico{background:var(--petroleo);color:var(--escuro-texto);border-radius:18px;padding:clamp(24px, 3vw, 34px);display:grid;grid-template-columns:auto minmax(0, 1fr);gap:24px;align-items:center}
.ficha-medico .retrato{width:clamp(110px, 12vw, 140px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:linear-gradient(160deg, #E3F4F0, #CFE7E0);color:var(--verde-2);text-align:center;font-size:12px;font-weight:600;padding:12px;line-height:1.3}
.ficha-medico .pilula{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;background:var(--agua);color:var(--petroleo);padding:4px 10px;border-radius:999px}
.ficha-medico h3{font-size:clamp(22px, 2.6vw, 30px);font-weight:800;color:#fff;margin-top:10px}
.ficha-medico .cred{color:var(--escuro-texto-2);font-size:16px;margin-top:4px}
.ficha-medico .links{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}
.ficha-medico .links a{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:8px 14px;border-radius:999px;border:1px solid rgba(230,240,237,.3);color:#fff;text-decoration:none;font-size:14px;font-weight:600}
.ficha-medico .links a:hover{border-color:var(--agua)}
.medico .corpo{display:flex;flex-direction:column;gap:16px;font-size:19px;color:var(--tinta-2);max-width:56ch}
.medico h2{font-size:clamp(28px, 3.5vw, 42px);font-weight:700;color:var(--verde);margin:12px 0 22px}
.fatos{margin-top:26px;display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:1px;background:var(--linha);border:1px solid var(--linha);border-radius:var(--raio);overflow:hidden}
.fatos div{background:#fff;padding:14px 16px;display:flex;flex-direction:column;gap:4px;min-width:0}
.fatos small{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--tinta-3)}
@media (max-width: 900px){ .medico{grid-template-columns:1fr} }
@media (max-width: 460px){ .ficha-medico{grid-template-columns:1fr;text-align:left} .fatos{grid-template-columns:1fr} }

/* onde atendo */
.locais{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:18px}
.local{background:#fff;border:1px solid var(--linha);border-radius:var(--raio);overflow:hidden;display:flex;flex-direction:column}
.local .foto{aspect-ratio:16 / 10;border-radius:0}
.local .txt{padding:24px;display:flex;flex-direction:column;gap:10px}
.local .tag{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--verde-2)}
.local h3{font-size:22px;font-weight:700}
.local address{font-style:normal;font-size:16px;color:var(--tinta)}
.local p{font-size:16px;color:var(--tinta-2)}
.local a.mapa{font-size:14px;font-weight:600}
@media (max-width: 960px){ .locais{grid-template-columns:1fr} }

/* faq */
.faq{max-width:860px;margin-inline:auto;border-top:1px solid var(--linha)}
.faq details{border-bottom:1px solid var(--linha)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 2px;font-size:19px;font-weight:700;color:var(--tinta)}
.faq summary::-webkit-details-marker{display:none}
.faq summary svg{flex:none;color:var(--verde-2);transition:transform .2s ease}
.faq details[open] summary svg{transform:rotate(45deg)}
.faq .resp{padding:0 2px 22px;color:var(--tinta-2);font-size:16px;max-width:70ch}

/* blog */
.posts{display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));gap:20px}
.post{display:flex;flex-direction:column;gap:14px;text-decoration:none;color:var(--tinta)}
.post .foto{aspect-ratio:16 / 10}
.post h3{font-size:19px;font-weight:700;line-height:1.3;text-align:center}
.post:hover h3{color:var(--verde)}
.post .pauta{align-self:center;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ph-tx);background:var(--ph-bg);border:1px dashed #9ED9CC;border-radius:999px;padding:3px 10px}
.blog-rodape{margin-top:34px;display:flex;justify-content:center}
@media (max-width: 1000px){ .posts{grid-template-columns:repeat(2, minmax(0, 1fr))} }
@media (max-width: 480px){ .posts{grid-template-columns:1fr} }

/* receber dicas */
.dicas{background:var(--agua-suave);border-radius:18px;padding:clamp(28px, 4vw, 48px);display:grid;grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);gap:clamp(24px, 4vw, 56px);align-items:center}
.dicas h2{font-size:clamp(28px, 3.5vw, 42px);font-weight:800;color:var(--petroleo);letter-spacing:-.03em}
.dicas .miudo{margin-top:14px;font-size:14px;color:var(--verde-2)}
.dicas form{display:flex;flex-direction:column;gap:12px}
.dicas input{min-height:52px;border-radius:10px;border:1px solid #fff;background:#fff;padding:0 16px;font:500 16px var(--sans);color:var(--tinta)}
.dicas input::placeholder{color:var(--tinta-3)}
.dicas button{min-height:52px;border-radius:10px;border:0;background:var(--petroleo);color:#fff;font:700 16px var(--sans);cursor:pointer}
.dicas button:hover{background:var(--verde-2)}
.dicas .ok{font-size:14px;color:var(--petroleo);font-weight:600}
@media (max-width: 860px){ .dicas{grid-template-columns:1fr} }

/* chamada final */
.final{background:var(--verde);color:#fff}
.final .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;padding-block:clamp(48px, 6vw, 72px)}
.final h2{font-size:clamp(28px, 3.5vw, 42px);font-weight:700;color:#fff}
.final p{color:var(--escuro-texto-2);margin-top:8px}
.final .acoes{display:flex;flex-wrap:wrap;gap:12px}

/* rodapé */
.rodape-site{background:var(--petroleo);color:var(--escuro-texto-2);font-size:14px}
.rodape-site .wrap{padding-block:52px 36px;display:grid;grid-template-columns:minmax(0, 1.3fr) repeat(3, minmax(0, 1fr));gap:32px}
.rodape-site img{width:200px;height:auto;display:block}
.rodape-site h3{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--agua-claro);margin-bottom:12px}
.rodape-site ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.rodape-site a{color:var(--escuro-texto);text-decoration:none}
.rodape-site a:hover{color:#fff;text-decoration:underline}
.rodape-site .ident{margin-top:18px;line-height:1.55}
.rodape-site .base{grid-column:1 / -1;border-top:1px solid var(--escuro-linha);padding-top:22px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;font-size:14px}
@media (max-width: 960px){ .rodape-site .wrap{grid-template-columns:repeat(2, minmax(0, 1fr))} }
@media (max-width: 560px){ .rodape-site .wrap{grid-template-columns:1fr} }

/* whatsapp flutuante */
.zap{position:fixed;right:max(16px, env(safe-area-inset-right, 0px));bottom:calc(18px + env(safe-area-inset-bottom, 0px));z-index:30;display:inline-flex;align-items:center;gap:10px;padding:12px 18px 12px 14px;min-height:50px;border-radius:999px;background:var(--verde);color:#fff;text-decoration:none;font-weight:700;font-size:16px;box-shadow:0 12px 30px -10px rgba(0,40,34,.6)}
.zap:hover{background:var(--verde-2);color:#fff}

/* seletor de frase, só no protótipo */
@media (max-width: 560px){ .zap span{display:none} .zap{padding:13px} .btn{white-space:normal;text-align:center} .topo .btn{padding:10px 14px} }
/* páginas do protótipo */
[id]{scroll-margin-top:92px}
.topo nav ul a[aria-current="page"]{color:var(--verde);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:8px}

/* provas */
.provas-topo{background:var(--petroleo);color:var(--escuro-texto)}
.provas-topo .wrap{padding-block:clamp(52px, 7vw, 88px) clamp(40px, 5vw, 56px)}
.provas-topo .eyebrow{color:var(--agua-claro)}
.provas-topo h1{font-size:clamp(40px, 5.6vw, 68px);font-weight:800;color:#fff;margin-top:14px;letter-spacing:-.035em}
.provas-topo .lead{color:var(--escuro-texto-2);margin-top:16px}
.filtros{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.filtros label{position:relative;display:inline-flex}
.filtros select{appearance:none;-webkit-appearance:none;min-height:44px;padding:0 40px 0 18px;border-radius:999px;border:1px solid var(--escuro-linha);background:#0B4A42;color:#fff;font:600 14px var(--sans);cursor:pointer}
.filtros label::after{content:"";position:absolute;right:16px;top:50%;width:8px;height:8px;border-right:2px solid var(--agua-claro);border-bottom:2px solid var(--agua-claro);transform:translateY(-70%) rotate(45deg);pointer-events:none}
.filtros button{min-height:44px;padding:0 18px;border-radius:999px;border:1px solid transparent;background:transparent;color:var(--agua-claro);font:600 14px var(--sans);cursor:pointer}
.lista-titulo{font-size:22px;font-weight:700;color:var(--tinta);margin-bottom:22px}
.corridas{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:20px}
.corrida{border:1px solid var(--linha);border-radius:14px;overflow:hidden;background:#fff;display:flex;flex-direction:column}
.corrida .foto{aspect-ratio:16 / 11;border-radius:0}
.corrida .data{position:absolute;top:12px;right:12px;z-index:2;background:#fff;color:var(--tinta);font-size:12px;font-weight:700;padding:5px 10px;border-radius:999px}
.corrida .txt{padding:18px 20px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.corrida h3{font-size:19px;font-weight:700}
.corrida .onde{font-size:14px;color:var(--tinta-3)}
.corrida .dist{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.corrida .dist span{font-size:12px;font-weight:600;background:var(--nevoa);color:var(--verde);border-radius:999px;padding:3px 10px}
.corrida .acoes{margin-top:auto;padding-top:12px;display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center}
.corrida .acoes .btn{min-height:44px;padding:10px 16px;font-size:14px}
.corrida .acoes a.site{font-size:14px;font-weight:600}
.vazio{padding:28px;border:1px dashed var(--linha);border-radius:14px;color:var(--tinta-2)}
.nota-datas{margin-top:22px;font-size:14px;color:var(--tinta-3)}
.pre-prova{display:grid;grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);gap:clamp(24px, 4vw, 56px);align-items:center}
.pre-prova h2{font-size:clamp(28px, 3.5vw, 42px);font-weight:700;color:var(--verde);margin-top:12px}
.pre-prova .lead{margin-top:16px}
.pre-prova ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.pre-prova li{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--linha);border-radius:12px;padding:18px 20px;font-size:16px}
.pre-prova li svg{flex:none;margin-top:3px;color:var(--agua)}
.pre-prova .acoes{margin-top:24px}
@media (max-width: 960px){ .corridas{grid-template-columns:repeat(2, minmax(0, 1fr))} .pre-prova{grid-template-columns:1fr} }
@media (max-width: 560px){ .corridas{grid-template-columns:1fr} }

/* blog completo */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:34px}
.chips button{min-height:40px;padding:0 16px;border-radius:999px;border:1px solid var(--linha);background:#fff;color:var(--tinta-2);font:600 14px var(--sans);cursor:pointer}
.chips button[aria-pressed="true"]{background:var(--verde);border-color:var(--verde);color:#fff}
.destaque{display:grid;grid-template-columns:minmax(0, 1.2fr) minmax(0, 1fr);gap:clamp(20px, 4vw, 48px);align-items:center;text-decoration:none;color:var(--tinta);margin-bottom:40px}
.destaque .foto{aspect-ratio:16 / 10}
.destaque h2{font-size:clamp(28px, 3.5vw, 42px);font-weight:800;color:var(--verde);margin:10px 0 14px;letter-spacing:-.03em}
.destaque p{color:var(--tinta-2);font-size:16px}
.destaque:hover h2{color:var(--verde-2)}
.cat{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--verde-2)}
.grade-posts{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:26px 20px}
.grade-posts .post h3{text-align:left}
.grade-posts .post .pauta{align-self:flex-start}
.post .linha-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
@media (max-width: 900px){ .destaque{grid-template-columns:1fr} .grade-posts{grid-template-columns:repeat(2, minmax(0, 1fr))} }
@media (max-width: 520px){ .grade-posts{grid-template-columns:1fr} }

/* dúvidas */
.duvidas{display:grid;grid-template-columns:220px minmax(0, 1fr);gap:clamp(24px, 4vw, 56px);align-items:start}
.indice{position:sticky;top:100px;display:flex;flex-direction:column;gap:4px}
.indice a{display:block;padding:9px 12px;border-radius:8px;color:var(--tinta-2);text-decoration:none;font-weight:600;font-size:16px}
.indice a:hover{background:var(--nevoa);color:var(--verde)}
.grupo + .grupo{margin-top:44px}
.grupo h2{font-size:26px;font-weight:700;color:var(--verde);margin-bottom:8px}
.grupo .faq{max-width:none;margin:0}
.ajuda{margin-top:48px;background:var(--nevoa);border-radius:16px;padding:clamp(22px, 3vw, 32px);display:flex;flex-wrap:wrap;gap:16px 24px;align-items:center;justify-content:space-between}
.ajuda h3{font-size:22px;font-weight:700;color:var(--verde)}
.ajuda p{color:var(--tinta-2);margin-top:4px}
@media (max-width: 860px){ .duvidas{grid-template-columns:1fr} .indice{position:static;flex-direction:row;flex-wrap:wrap} }
/* ---------------- comum às páginas novas */
[hidden]{display:none!important}
.titulo-pag{font-size:clamp(32px, 4.2vw, 52px);font-weight:800;color:var(--verde);letter-spacing:-.03em}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btn[aria-disabled="true"]{opacity:.45;pointer-events:none}
.btn-texto{border:0;background:none;padding:8px 4px;font:700 14px var(--sans);color:var(--verde);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.btn-peq{min-height:42px;padding:8px 16px;font-size:14px}
.btn-mini{min-height:38px;padding:0 14px;border-radius:999px;border:1.5px solid var(--verde);background:#fff;color:var(--verde);font:700 14px var(--sans);cursor:pointer}
.btn-mini:hover{background:var(--nevoa)}
.btn-mini.neutro{border-color:var(--linha);color:var(--tinta-2)}
.btn-mini[aria-expanded="true"]{background:var(--verde);border-color:var(--verde);color:#fff}
.previa-tag{display:inline-block;align-self:flex-start;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--ph-tx);background:var(--ph-bg);border:1px dashed #9ED9CC;border-radius:999px;padding:2px 10px;margin-right:6px}
.ag-nota{font-size:14px;color:var(--tinta-3)}
.erro{margin:0;font-size:14px;font-weight:600;color:#B42318}
.cal-nav{width:40px;height:40px;flex:none;border-radius:10px;border:1px solid var(--linha);background:#fff;color:var(--verde);display:grid;place-items:center;cursor:pointer}
.cal-nav:disabled{opacity:.35;cursor:default}

/* ---------------- agendamento */
.ag-topo{background:var(--nevoa);border-bottom:1px solid var(--linha)}
.ag-topo .wrap{padding-block:clamp(40px, 6vw, 64px) clamp(28px, 4vw, 36px)}
.ag-topo .titulo-pag{margin-top:10px}
.ag-topo .titulo-pag:focus{outline:none}
.ag-topo .lead{margin-top:12px}
.etapas{list-style:none;margin:28px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px 26px}
.etapas li{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:600;color:var(--tinta-3)}
.etapas .num{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;border:1.5px solid var(--linha);background:#fff;font-size:14px;font-weight:700;font-variant-numeric:tabular-nums}
.etapas li.feito{color:var(--tinta-2)}
.etapas li.feito .num{background:var(--agua-suave);border-color:var(--agua-suave);color:var(--petroleo)}
.etapas li[aria-current="step"]{color:var(--verde)}
.etapas li[aria-current="step"] .num{background:var(--verde);border-color:var(--verde);color:#fff}
@media (max-width: 560px){ .etapas{gap:8px 12px} .etapas li .rot{display:none} .etapas li[aria-current="step"] .rot{display:inline} }

.ag-corpo{padding-block:clamp(32px, 5vw, 56px) clamp(64px, 9vw, 112px)}
.ag-grade{display:grid;grid-template-columns:minmax(0, 1fr) 340px;gap:clamp(24px, 4vw, 48px);align-items:start}
.ag-principal{min-width:0}
.ag-passo{display:flex;flex-direction:column;gap:28px}
.ag-h2, .grupo-opc legend{font-size:22px;font-weight:700;color:var(--tinta);letter-spacing:-.01em;margin:0;padding:0}
.grupo-opc{border:0;margin:0;padding:0;min-width:0}
.grupo-opc legend{margin-bottom:14px}
.opcoes{display:grid;gap:12px}
.opcoes.tres{grid-template-columns:repeat(3, minmax(0, 1fr))}
.opcoes.duas{grid-template-columns:repeat(2, minmax(0, 1fr))}
.opc{position:relative;display:block;cursor:pointer}
.opc input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.opc-corpo{display:flex;flex-direction:column;gap:4px;height:100%;padding:18px 44px 16px 18px;border:1.5px solid var(--linha);border-radius:12px;background:#fff;transition:border-color .15s ease, background .15s ease}
.opc:hover .opc-corpo{border-color:var(--verde-2)}
.opc input:checked + .opc-corpo{border-color:var(--verde);background:var(--nevoa);box-shadow:inset 0 0 0 1px var(--verde)}
.opc input:checked + .opc-corpo::after{content:"";position:absolute;top:14px;right:14px;width:22px;height:22px;border-radius:50%;background:var(--verde) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 12px no-repeat}
.opc input:focus-visible + .opc-corpo{outline:3px solid var(--agua);outline-offset:2px}
.opc-corpo b{font-size:16px;color:var(--tinta)}
.opc-corpo small{font-size:14px;color:var(--tinta-3);line-height:1.4}
.opc-ic{color:var(--verde-2);margin-bottom:6px;display:flex}
.opc-valor, .opc-dur{margin-top:8px;font-size:16px;font-weight:700;color:var(--verde);font-variant-numeric:tabular-nums}
.ag-acoes{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.ag-alerta{margin:0 0 20px;padding:14px 16px;border-radius:10px;background:#FEF3F2;border:1px solid #FECDCA;color:#912018;font-weight:600}
.ag-vazio{padding:22px;border:1px dashed var(--linha);border-radius:12px;color:var(--tinta-2);display:flex;flex-direction:column;align-items:flex-start;gap:14px}

.cal{width:100%;max-width:460px;border:1px solid var(--linha);border-radius:14px;background:#fff;padding:14px}
.cal-topo{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.cal-mes{font-weight:700;font-size:16px;color:var(--tinta)}
.cal-semana, .cal-dias{display:grid;grid-template-columns:repeat(7, minmax(0, 1fr));gap:4px}
.cal-semana span{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--tinta-3);text-align:center;padding:6px 0}
.cal-dia{aspect-ratio:1;min-height:38px;max-width:100%;border-radius:10px;border:0;background:transparent;font:600 16px var(--sans);color:var(--tinta-3);opacity:.45;font-variant-numeric:tabular-nums;padding:0}
.cal-dia.livre{opacity:1;background:var(--nevoa);color:var(--verde);font-weight:800;cursor:pointer;box-shadow:inset 0 0 0 1px #D3E9E3}
.cal-dia.livre:hover{background:#E3F4F0}
.cal-dia.hoje{text-decoration:underline;text-underline-offset:4px}
.cal-dia.escolhido{background:var(--verde);color:#fff;box-shadow:none}

.ag-horas{display:flex;flex-direction:column;gap:4px;scroll-margin-top:96px}
.horas{display:grid;grid-template-columns:repeat(auto-fill, minmax(92px, 1fr));gap:8px;margin-top:10px}
.hora{min-height:46px;border-radius:999px;border:1.5px solid var(--linha);background:#fff;font:700 16px var(--sans);color:var(--verde);cursor:pointer;font-variant-numeric:tabular-nums}
.hora:hover{border-color:var(--verde)}
.hora[aria-pressed="true"]{background:var(--verde);border-color:var(--verde);color:#fff}

.campos{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:16px 18px}
.campo{display:flex;flex-direction:column;gap:6px;min-width:0}
.campo.largo{grid-column:1 / -1}
.campo label{font-size:14px;font-weight:700;color:var(--tinta)}
.campo input{width:100%;min-height:50px;border:1.5px solid var(--linha);border-radius:10px;padding:0 14px;font:500 16px var(--sans);color:var(--tinta);background:#fff}
.campo input::placeholder{color:#8A9C98}
.campo input:focus{outline:none;border-color:var(--verde);box-shadow:0 0 0 3px rgba(51,201,178,.35)}
.campo input[aria-invalid="true"]{border-color:#B42318}
@media (max-width: 560px){ .campos{grid-template-columns:1fr} }
.aceite{display:flex;gap:10px;align-items:flex-start;padding:7px 0;border-radius:0;background:transparent}
.aceite input{width:18px;height:18px;flex:none;margin:1px 0 0;accent-color:var(--verde)}
.aceite label{font-size:14px;color:var(--tinta-2);line-height:1.5}
.aceite label .link-termo{font-size:14px}
.link-termo{border:0;background:none;padding:0;font:inherit;font-weight:700;color:var(--verde);text-decoration:underline;text-underline-offset:3px;cursor:pointer}

.reserva{margin-top:6px;font-size:16px;color:var(--tinta-2)}
.reserva b{color:var(--verde);font-variant-numeric:tabular-nums}
.gateway{border:1.5px dashed #9ED9CC;border-radius:14px;padding:20px;background:#fff;display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.gw{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.gw p{color:var(--tinta-2);font-size:16px;max-width:44ch}
.qr{display:block;width:140px;height:140px;flex:none;padding:8px;border:1px solid var(--linha);border-radius:10px;background:#fff}
.qr svg{display:block;width:100%;height:100%}

.ag-ok{align-items:flex-start;gap:18px;max-width:660px}
.ag-ok:focus{outline:none}
.ok-ic{width:64px;height:64px;border-radius:50%;background:var(--agua-suave);color:var(--petroleo);display:grid;place-items:center}
.ag-ok h2{font-size:clamp(28px, 3.5vw, 42px);font-weight:800;color:var(--verde);letter-spacing:-.025em}
.ag-ok > p:not(.ag-nota){color:var(--tinta-2);font-size:16px}
.ok-lista{margin:0;width:100%;border-top:1px solid var(--linha)}
.ok-lista div{display:grid;grid-template-columns:120px minmax(0, 1fr);gap:12px;padding:12px 0;border-bottom:1px solid var(--linha)}
.ok-lista dt{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--tinta-3);padding-top:3px}
.ok-lista dd{margin:0;color:var(--tinta);font-weight:600}
@media (max-width: 480px){ .ok-lista div{grid-template-columns:1fr;gap:2px} }

.ag-resumo{position:sticky;top:96px;background:#fff;border:1px solid var(--linha);border-radius:16px;padding:22px;display:flex;flex-direction:column;gap:14px;box-shadow:0 18px 40px -30px rgba(0,30,26,.4)}
.ag-resumo h2{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--tinta-3)}
.ag-resumo dl{margin:0;display:flex;flex-direction:column;gap:12px}
.ag-resumo dt{font-size:14px;color:var(--tinta-3)}
.ag-resumo dd{margin:2px 0 0;font-weight:700;color:var(--tinta);font-size:16px}
.ag-resumo dd small{display:block;margin-top:2px;font-weight:500;font-size:14px;color:var(--tinta-3)}
.rs-total{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-top:14px;border-top:1px solid var(--linha)}
.rs-total span{font-weight:600;color:var(--tinta-2)}
.rs-total strong{font-size:26px;font-weight:800;letter-spacing:-.02em;color:var(--verde);font-variant-numeric:tabular-nums}
.rs-politica{font-size:14px;line-height:1.5;color:var(--tinta-3)}
@media (max-width: 860px){ .ag-grade{grid-template-columns:1fr} .ag-resumo{position:static} .opcoes.tres{grid-template-columns:1fr} }
@media (max-width: 560px){ .opcoes.duas{grid-template-columns:1fr} }

.dlg-termos{width:min(680px, calc(100vw - 32px));max-height:min(80vh, 720px);overflow:auto;border:0;border-radius:16px;padding:0;background:#fff;color:var(--tinta);box-shadow:0 30px 80px -20px rgba(0,30,26,.5)}
.dlg-termos::backdrop{background:rgba(0,30,26,.5)}
.dlg-cab{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;border-bottom:1px solid var(--linha);background:#fff}
.dlg-cab h2{font-size:19px;font-weight:700;color:var(--verde)}
.dlg-fechar{width:40px;height:40px;flex:none;border-radius:10px;border:1px solid var(--linha);background:#fff;font:400 26px/1 var(--sans);color:var(--tinta);cursor:pointer}
.dlg-corpo{padding:18px 20px 24px;display:flex;flex-direction:column;gap:12px;font-size:16px;color:var(--tinta-2)}

/* ---------------- termos */
.termos{max-width:860px}
.indice-termos{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.indice-termos a{padding:8px 14px;border-radius:999px;border:1px solid var(--linha);text-decoration:none;font-weight:600;font-size:14px;color:var(--tinta-2)}
.indice-termos a:hover{border-color:var(--verde);color:var(--verde)}
.termo{padding-block:28px;border-top:1px solid var(--linha)}
.termo h2{font-size:26px;font-weight:700;color:var(--verde);margin-bottom:12px}
.termo-texto{display:flex;flex-direction:column;gap:12px;color:var(--tinta-2)}

/* ---------------- painel */
.pn-topo{background:var(--petroleo);color:var(--escuro-texto)}
.pn-topo .wrap{padding-block:clamp(36px, 5vw, 56px) 0}
.pn-cab{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 32px}
.pn-topo .eyebrow{color:var(--agua-claro)}
.pn-topo .titulo-pag{color:#fff;margin-top:8px}
.pn-aviso{max-width:48ch;font-size:14px;line-height:1.55;color:var(--escuro-texto-2)}
.pn-aviso .previa-tag{background:rgba(255,255,255,.1);border-color:rgba(169,222,211,.5);color:var(--agua-suave)}
.abas{display:flex;gap:4px;margin-top:28px;overflow-x:auto}
.abas button{min-height:50px;padding:0 20px;border:0;border-radius:12px 12px 0 0;background:transparent;color:var(--escuro-texto-2);font:700 16px var(--sans);cursor:pointer;white-space:nowrap}
.abas button:hover{color:#fff}
.abas button[aria-selected="true"]{background:var(--papel);color:var(--verde)}
.pn-corpo{padding-block:clamp(28px, 4vw, 40px) clamp(64px, 9vw, 112px)}
.pn-h2{font-size:22px;font-weight:700;color:var(--verde)}
.kpis{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:14px;margin-bottom:36px}
.kpi{border:1px solid var(--linha);border-radius:14px;padding:18px 20px;background:#fff}
.kpi-rot{font-size:14px;font-weight:600;color:var(--tinta-3)}
.kpi-val{margin-top:6px;font-size:clamp(28px, 3.5vw, 42px);font-weight:700;line-height:1.1;letter-spacing:-.02em;color:var(--tinta);font-variant-numeric:tabular-nums}
.kpi-sub{margin-top:4px;font-size:14px;color:var(--tinta-3)}
@media (max-width: 760px){ .kpis{grid-template-columns:1fr} }
.pn-lista-msg{margin-top:10px;font-weight:600;color:var(--verde)}
.pn-lista-msg:empty{display:none}
.pn-dia{margin:24px 0 10px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--tinta-3)}
.pn-itens{list-style:none;margin:0;padding:0;border:1px solid var(--linha);border-radius:14px;background:#fff;overflow:hidden}
.pn-item{display:grid;grid-template-columns:96px minmax(0, 1fr);gap:16px;padding:16px 18px}
.pn-item + .pn-item{border-top:1px solid var(--linha)}
.pn-hora b{display:block;font-size:19px;font-weight:800;color:var(--tinta);font-variant-numeric:tabular-nums}
.pn-hora span{font-size:14px;color:var(--tinta-3)}
.pn-corpo-item{display:flex;flex-direction:column;gap:6px;min-width:0}
.pn-nome{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.pn-nome b{font-size:16px}
.tag-exemplo{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ph-tx);background:var(--ph-bg);border:1px dashed #9ED9CC;border-radius:999px;padding:1px 8px}
.pn-det{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;color:var(--tinta-2)}
.pn-contato{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:14px}
.pn-contato a{font-weight:600;overflow-wrap:anywhere}
.pn-acoes{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.pn-exp{margin-top:8px;padding:14px 16px;border-radius:12px;background:var(--nevoa);display:flex;flex-direction:column;gap:10px}
.pn-exp label{font-size:14px;font-weight:700}
.pn-exp-linha{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.pn-exp input{flex:1 1 240px;min-width:0;min-height:44px;border:1.5px solid var(--linha);border-radius:10px;padding:0 12px;font:500 16px var(--sans);background:#fff;color:var(--tinta)}
.pn-dica{font-size:14px;color:var(--tinta-3)}
.pn-vazio{padding:24px;border:1px dashed var(--linha);border-radius:14px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;color:var(--tinta-2);margin-top:14px}
@media (max-width: 520px){ .pn-item{grid-template-columns:1fr;gap:6px} .pn-hora b{display:inline;margin-right:8px} }

.chip{display:inline-flex;align-items:center;font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;white-space:nowrap}
.chip-sp{background:var(--verde);color:#fff}
.chip-palmas{background:var(--agua-suave);color:var(--petroleo)}
.chip-online{background:#fff;color:var(--verde);box-shadow:inset 0 0 0 1.5px var(--verde)}

.sem-intro{display:flex;flex-direction:column;gap:6px;margin-bottom:22px;max-width:760px}
.sem-topo{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;margin-bottom:16px}
.sem-nav{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.sem-nav p{font-size:16px;font-weight:700;color:var(--tinta)}
.legenda{display:flex;flex-wrap:wrap;gap:8px}
.semana{display:grid;grid-template-columns:repeat(7, minmax(0, 1fr));gap:10px}
@media (max-width: 1100px){ .semana{grid-template-columns:repeat(4, minmax(0, 1fr))} }
@media (max-width: 760px){ .semana{grid-template-columns:repeat(2, minmax(0, 1fr))} }
@media (max-width: 460px){ .semana{grid-template-columns:1fr} }
.sem-dia{border:1px solid var(--linha);border-radius:14px;background:#fff;padding:12px;display:flex;flex-direction:column;gap:10px;min-width:0}
.sem-dia.hoje{border-color:var(--verde);box-shadow:inset 0 0 0 1px var(--verde)}
.sem-dia.passado{background:var(--nevoa);opacity:.7}
.sem-cab{display:flex;align-items:baseline;gap:6px;font-size:14px;font-weight:600;color:var(--tinta-3)}
.sem-cab b{font-size:16px;color:var(--tinta);font-variant-numeric:tabular-nums}
.sem-cab em{margin-left:auto;font-style:normal;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--verde)}
.sem-janelas{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.sem-janelas:empty{display:none}
.janela{display:flex;flex-direction:column;gap:2px;padding:8px 6px 6px 10px;border-radius:10px}
.janela-hora{font-size:14px;white-space:nowrap;font-variant-numeric:tabular-nums}
.janela-rodape{display:flex;align-items:center;justify-content:space-between;gap:6px}
.janela-rodape small{min-width:0;font-size:12px;line-height:1.3;opacity:.92}
.janela-x{width:26px;height:26px;flex:none;border-radius:7px;border:0;background:rgba(255,255,255,.2);color:inherit;font:400 19px/1 var(--sans);cursor:pointer}
.janela.chip-palmas .janela-x{background:rgba(255,255,255,.45)}
.janela.chip-online .janela-x{background:var(--nevoa)}
.rem-conf{flex-basis:100%;display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:4px;padding:8px;border-radius:8px;background:#fff;color:var(--tinta);font-size:14px;font-weight:500}
.sem-livre{font-size:14px;color:var(--tinta-3)}
.sem-add{margin-top:auto;min-height:40px;border:1.5px dashed var(--linha);border-radius:10px;background:transparent;font:700 14px var(--sans);color:var(--verde);cursor:pointer}
.sem-add:hover{border-color:var(--verde);background:var(--nevoa)}
.sem-form{display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:10px;background:var(--nevoa)}
.sem-form select, .sem-form input{width:100%;min-width:0;min-height:40px;border:1.5px solid var(--linha);border-radius:8px;padding:0 8px;font:600 14px var(--sans);background:#fff;color:var(--tinta)}
.sem-form-horas{display:grid;grid-template-columns:auto minmax(0, 1fr);gap:6px 8px;align-items:center;font-size:14px;font-weight:600;color:var(--tinta-2)}
.sem-form-bts{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.sem-form .erro{font-size:14px}
.sem-acoes{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:22px}
.pn-msg{flex-basis:100%;min-height:1.6em;font-weight:600;color:var(--verde)}

/* ---------------- versão 7: página inicial enxuta */
.autoridade{padding-block:clamp(40px, 5vw, 56px) 0}
.autoridade ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4, minmax(0, 1fr))}
.autoridade li{display:flex;flex-direction:column;gap:4px;padding:4px 24px;border-left:1px solid var(--linha);min-width:0}
.autoridade li:first-child{padding-left:0;border-left:0}
.autoridade b{font-size:clamp(22px, 2.6vw, 30px);font-weight:800;line-height:1.15;letter-spacing:-.02em;color:var(--verde)}
.autoridade .mono-num{font-variant-numeric:tabular-nums}
.autoridade span{font-size:14px;line-height:1.45;color:var(--tinta-2)}
@media (max-width: 900px){
  .autoridade ul{grid-template-columns:repeat(2, minmax(0, 1fr));gap:20px 24px}
  .autoridade li, .autoridade li:first-child{padding:0;border-left:0}
}

.podio{padding-top:clamp(72px, 10vw, 128px)}
.podio-texto{display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center;padding-bottom:clamp(48px, 6vw, 72px)}
.podio h2{max-width:17ch;font-size:clamp(40px, 5.6vw, 68px);font-weight:800;line-height:1.02;letter-spacing:-.035em;color:var(--verde)}
.podio .lead{max-width:58ch}
.podio .acoes{display:flex;justify-content:center;margin-top:6px}
.podio .miudo{font-size:14px;color:var(--tinta-3)}
.podio .tira .foto{aspect-ratio:4 / 5}
@media (max-width: 760px){ .podio .tira .foto{aspect-ratio:1} }

.consulta{padding:22px 22px 20px;gap:10px}
.consulta.principal{border:2px solid var(--verde)}
.consulta h3{font-size:22px}
.consulta p{font-size:16px}
.c-topo{display:flex;justify-content:space-between;align-items:center;gap:12px}
.c-dur{flex:none;font-size:14px;font-weight:600;color:var(--tinta-3);white-space:nowrap}
.c-dur strong{margin-right:3px;font-size:26px;font-weight:800;letter-spacing:-.02em;color:var(--verde);font-variant-numeric:tabular-nums}
.consulta .btn{margin-top:auto}

.teasers{display:grid;gap:18px}
.teasers.tres{grid-template-columns:repeat(3, minmax(0, 1fr))}
.teasers.dois{grid-template-columns:repeat(2, minmax(0, 1fr))}
.teaser{display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid var(--linha);border-radius:var(--raio);color:var(--tinta);text-decoration:none;transition:border-color .15s ease, box-shadow .15s ease}
.teaser:hover{border-color:var(--verde);box-shadow:0 18px 40px -28px rgba(0,30,26,.45);color:var(--tinta)}
.teaser .foto{aspect-ratio:16 / 10;border-radius:0}
.teaser-txt{flex:1;display:flex;flex-direction:column;gap:8px;padding:20px 22px 22px}
.teaser .tag{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--verde-2)}
.teaser h3{font-size:22px;font-weight:700}
.teaser p{font-size:16px;color:var(--tinta-2)}
.teaser .mais{margin-top:auto;padding-top:6px;display:inline-flex;align-items:center;gap:6px;font-size:16px;font-weight:700;color:var(--verde)}
.teaser:hover .mais svg{transform:translateX(3px)}
.teaser .mais svg{transition:transform .15s ease}
.teasers.dois .teaser{flex-direction:row}
.teasers.dois .teaser .foto{flex:none;width:44%;min-height:250px;aspect-ratio:auto}
@media (max-width: 900px){ .teasers.tres, .teasers.dois{grid-template-columns:1fr} }
@media (max-width: 560px){ .teasers.dois .teaser{flex-direction:column} .teasers.dois .teaser .foto{width:100%;min-height:0;aspect-ratio:16 / 10} }

.local .midia{position:relative}
.local .midia > .foto{aspect-ratio:16 / 10;border-radius:0}
.local .inset{position:absolute;left:18px;bottom:-30px;z-index:3;width:96px;height:96px;aspect-ratio:auto;border-radius:14px;border:3px solid #fff;box-shadow:0 12px 26px -14px rgba(0,30,26,.55)}
.local .inset figcaption{margin:6px;padding:3px 6px;font-size:12px;line-height:1.25}
.local.com-inset .txt{padding-top:44px}
.local.com-inset .midia > .foto{align-items:flex-start}
.local-links{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:14px;font-weight:700}

/* ---------------- páginas de exames e procedimentos */
.pag-topo{background:var(--petroleo);color:var(--escuro-texto)}
.pag-topo .wrap{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding-block:clamp(52px, 7vw, 88px) clamp(44px, 6vw, 64px)}
.pag-topo .eyebrow{color:var(--agua-claro)}
.pag-topo h1{max-width:20ch;font-size:clamp(40px, 5.6vw, 68px);font-weight:800;letter-spacing:-.035em;color:#fff}
.pag-topo .lead{color:var(--escuro-texto-2)}
.pag-topo .btn{margin-top:8px}
.detalhe{display:grid;grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);gap:clamp(28px, 5vw, 64px);align-items:center}
.detalhe + .detalhe{margin-top:clamp(56px, 8vw, 96px)}
.detalhe.inverte > .foto{order:2}
.detalhe > .foto{aspect-ratio:4 / 3}
.detalhe-txt{display:flex;flex-direction:column;gap:14px;min-width:0}
.detalhe-txt h2{font-size:clamp(28px, 3.5vw, 42px);font-weight:700;color:var(--verde)}
.detalhe-txt > p{font-size:16px;color:var(--tinta-2)}
.detalhe-txt .tag{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--verde-2)}
.detalhe-txt .topo-c{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px}
.detalhe-txt .amostra{font-size:12px;font-weight:600;color:var(--verde);background:var(--nevoa);border-radius:999px;padding:4px 10px}
@media (max-width: 900px){ .detalhe{grid-template-columns:1fr} .detalhe.inverte > .foto{order:0} }
.fluxo{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));gap:18px;counter-reset:etapa}
.fluxo li{counter-increment:etapa;display:flex;flex-direction:column;gap:8px;padding:20px;background:#fff;border:1px solid var(--linha);border-radius:var(--raio)}
.fluxo li::before{content:counter(etapa);width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--verde);color:#fff;font-size:16px;font-weight:800}
.fluxo h3{font-size:19px;font-weight:700}
.fluxo p{font-size:16px;color:var(--tinta-2)}
@media (max-width: 900px){ .fluxo{grid-template-columns:repeat(2, minmax(0, 1fr))} }
@media (max-width: 520px){ .fluxo{grid-template-columns:1fr} }
/* ---------------- versão 8 */
/* perfis: todos do mesmo tamanho, 4 por linha */
.perfis{grid-template-columns:repeat(4, minmax(0, 1fr))}
.perfil .foto, .perfil.largo .foto{aspect-ratio:4 / 5}
.perfil-cta{justify-content:flex-end;gap:12px;padding:24px;border-radius:var(--raio);background:var(--verde);color:var(--escuro-texto)}
.perfil-cta .eyebrow{color:var(--agua-claro)}
.perfil-cta h3{font-size:26px;font-weight:800;color:#fff}
.perfil-cta p{color:var(--escuro-texto-2)}
.perfil-cta .btn{align-self:flex-start;margin-top:6px}
@media (max-width: 1000px){ .perfis{grid-template-columns:repeat(2, minmax(0, 1fr))} .perfil .foto, .perfil.largo .foto{aspect-ratio:4 / 3} }
@media (max-width: 480px){ .perfis{grid-template-columns:1fr} .perfil .foto, .perfil.largo .foto{aspect-ratio:16 / 10} }

/* como funciona em 5 passos */
.passos.cinco{grid-template-columns:repeat(5, minmax(0, 1fr))}
@media (max-width: 1000px){ .passos.cinco{grid-template-columns:repeat(3, minmax(0, 1fr))} }
@media (max-width: 640px){ .passos.cinco{grid-template-columns:repeat(2, minmax(0, 1fr))} }
@media (max-width: 420px){ .passos.cinco{grid-template-columns:1fr} }

/* topo: registros */
.selos .mono{font-size:14px;color:var(--escuro-texto)}

/* conheça seu médico: frase */
.frase-medico{margin:6px 0 0;padding:0;font-size:clamp(16px, 1.7vw, 20px);font-weight:600;line-height:1.45;color:var(--verde);letter-spacing:-.01em}

/* faixa animada de próximas provas */
.faixa{display:flex;align-items:stretch;overflow:hidden;background:var(--petroleo);color:var(--escuro-texto)}
.faixa-rot{flex:none;display:flex;align-items:center;gap:14px;padding:16px max(16px, 4vw);background:var(--verde)}
.faixa-rot b{font-size:14px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#fff;white-space:nowrap}
.faixa-rot a{font-size:14px;font-weight:700;color:var(--agua-claro);white-space:nowrap}
.faixa-trilho{flex:1;min-width:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);mask-image:linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent)}
.faixa-lista{display:flex;width:max-content;gap:36px;margin:0;padding:16px 24px;list-style:none;animation:faixa-rola 70s linear infinite}
.faixa:hover .faixa-lista, .faixa:focus-within .faixa-lista{animation-play-state:paused}
.faixa-lista a{display:flex;align-items:baseline;gap:10px;color:var(--escuro-texto);text-decoration:none;white-space:nowrap;font-size:16px}
.faixa-lista a:hover{color:#fff}
.faixa-lista b{font-size:14px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--agua-claro);font-variant-numeric:tabular-nums}
@keyframes faixa-rola{to{transform:translateX(-50%)}}
@media (max-width: 640px){ .faixa{flex-direction:column} .faixa-rot{justify-content:space-between;padding-block:12px} }
@media (prefers-reduced-motion: reduce){ .faixa-lista{animation:none} .faixa-trilho{overflow-x:auto} }

/* exames em abas */
.ex-bloco{background:#fff;border:1px solid var(--linha);border-radius:18px;overflow:hidden}
.ex-abas{display:flex;overflow-x:auto;border-bottom:1px solid var(--linha);scrollbar-width:none}
.ex-abas::-webkit-scrollbar{display:none}
.ex-abas button{position:relative;flex:1 0 auto;min-height:58px;padding:0 20px;border:0;background:transparent;font:700 16px var(--sans);color:var(--tinta-3);cursor:pointer;white-space:nowrap}
.ex-abas button:hover{color:var(--verde)}
.ex-abas button[aria-selected="true"]{color:var(--verde)}
.ex-abas button::after{content:"";position:absolute;left:16px;right:16px;bottom:0;height:3px;border-radius:3px 3px 0 0;background:var(--verde);transform:scaleX(0);transform-origin:left}
.ex-abas button[aria-selected="true"]::after{transform:scaleX(1)}
.ex-abas.rodando button[aria-selected="true"]::after{animation:ex-progresso 6s linear both}
.ex-abas.pausado button[aria-selected="true"]::after{animation-play-state:paused}
@keyframes ex-progresso{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.ex-painel{display:grid;grid-template-columns:minmax(0, 1fr) minmax(0, 1.1fr);align-items:stretch}
.ex-painel .foto{min-height:320px;border-radius:0}
.ex-txt{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:clamp(24px, 3vw, 40px)}
.ex-txt .tag{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--verde-2)}
.ex-txt h3{font-size:clamp(22px, 2.6vw, 30px);font-weight:800;letter-spacing:-.02em;color:var(--verde)}
.ex-txt > p{font-size:16px;color:var(--tinta-2)}
.ex-destaques{list-style:none;margin:4px 0 8px;padding:0;display:flex;flex-direction:column;gap:9px}
.ex-destaques li{display:flex;gap:10px;align-items:flex-start;font-size:16px;color:var(--tinta)}
.ex-destaques svg{flex:none;margin-top:5px;color:var(--agua)}
.ex-painel:not([hidden]){animation:ex-entra .35s ease both}
@keyframes ex-entra{from{opacity:.4;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (max-width: 860px){ .ex-painel{grid-template-columns:1fr} .ex-painel .foto{min-height:0;aspect-ratio:16 / 9} }
@media (prefers-reduced-motion: reduce){ .ex-abas.rodando button[aria-selected="true"]::after, .ex-painel:not([hidden]){animation:none} }

/* movimento suave ao rolar (só em navegadores com suporte; o conteúdo nunca fica escondido) */
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .sec-head, .perfil, .consulta, .teaser, .local, .post, .fluxo li, .detalhe, .passos li, .autoridade li, .ex-bloco, .kpi{animation:sobe linear both;animation-timeline:view();animation-range:entry 0% entry 55%}
  }
}
@keyframes sobe{from{transform:translateY(28px)}to{transform:none}}

/* fotos: aproximação suave no topo e ao passar o mouse */
.foto > img{transition:transform .6s ease}
.teaser:hover .foto > img, .perfil:hover .foto > img, .post:hover .foto > img, .local:hover .midia > .foto > img{transform:scale(1.04)}
@media (prefers-reduced-motion: no-preference){ .hero.foto > img{animation:hero-zoom 18s ease-out both} }
@keyframes hero-zoom{from{transform:scale(1.08)}to{transform:scale(1)}}

/* ---------------- versão 9: fotos reais */
.foto > img{position:absolute;inset:0;z-index:0;display:block;width:100%;height:100%;object-fit:cover}
.foto:has(> img){background:#DCE6E3}
.foto:has(> img)::after{display:none}
.hero.foto > img{object-position:66% 28%}
.foto .aviso-licenca{background:rgba(120,53,15,.78)}
.foto .aviso-licenca b{color:#FFE7B8}

/* retrato em "Conheça seu médico" */
.ficha-medico img.retrato{width:clamp(120px, 13vw, 156px);height:auto;padding:0;object-fit:cover;border:3px solid rgba(255,255,255,.9);box-shadow:0 14px 30px -18px rgba(0,0,0,.6)}

/* consultório sobre a foto da cidade: maior, para dar para ver o lugar */
.local .inset{width:clamp(128px, 42%, 220px);height:auto;aspect-ratio:4 / 3;bottom:-36px;border-radius:12px}
.local.com-inset .txt{padding-top:52px}
/* ---------------- versão 10: faixa de fotos girando abaixo da frase do pódio */
.tira-giro{position:relative;overflow:hidden}
.tira-trilho{display:flex;width:max-content;animation:tira-rola 80s linear infinite}
.tira-giro:hover .tira-trilho, .tira-giro:focus-within .tira-trilho{animation-play-state:paused}
.tira-trilho .foto{flex:none;width:clamp(210px, 23vw, 340px);aspect-ratio:4 / 5;margin:0 3px 0 0;border-radius:0}
.tira-trilho .foto > img{transition:transform .8s ease}
.tira-trilho .foto:hover > img{transform:scale(1.05)}
@keyframes tira-rola{to{transform:translateX(-50%)}}
@media (max-width: 760px){ .tira-trilho .foto{width:58vw} .tira-trilho{animation-duration:55s} }
@media (prefers-reduced-motion: reduce){
  .tira-trilho{animation:none}
  .tira-giro{overflow-x:auto;scroll-snap-type:x mandatory}
  .tira-trilho .foto{scroll-snap-align:start}
  .tira-trilho .foto[aria-hidden="true"]{display:none}
}

/* topo com o retrato do Braulio */
.hero.com-retrato{position:relative;overflow:hidden;display:block;min-height:0;border-radius:0;background:radial-gradient(55% 85% at 86% 32%, rgba(51,201,178,.20), transparent 70%), var(--petroleo)}
.hero.com-retrato::before{content:none}
.hero.com-retrato .wrap{display:grid;grid-template-columns:minmax(0, 1fr) minmax(250px, 390px);gap:clamp(32px, 5vw, 80px);align-items:center;padding-block:clamp(44px, 5.5vw, 72px) clamp(100px, 10vw, 124px)}
.retrato-topo{position:relative;margin:0;width:100%;justify-self:end}
.retrato-topo::before{content:"";position:absolute;inset:16px -16px -16px 16px;border:2px solid rgba(51,201,178,.5);border-radius:26px}
.retrato-topo img{position:relative;display:block;width:100%;height:auto;aspect-ratio:4 / 5;object-fit:cover;object-position:50% 18%;border-radius:22px;background:#E6E8E8;box-shadow:0 30px 60px -30px rgba(0,0,0,.65)}
/* na página inicial, o bloco verde vira um cartão: 20px de respiro (10px no topo) e cantos de 30px */
#pg-inicio .hero.com-retrato{margin:10px 20px 20px;border-radius:30px}
/* o mesmo cartão no topo verde das páginas internas */
.pag-topo, .provas-topo, .pn-topo{margin:10px 20px 20px;border-radius:30px;overflow:hidden}
.pn-topo > .wrap{padding-bottom:clamp(24px, 3vw, 32px)}  /* o topo da área do paciente não tinha folga embaixo; no cartão, o título encostava na borda */
#pg-inicio .hero.com-retrato + .modos .wrap{padding-inline:calc(max(16px, 4vw) + 20px)}  /* a caixa que sobe sobre o verde fica dentro do cartão */
@media (max-width: 760px){
  /* no celular: cartão mais largo (12px de margem), 25px de respiro por dentro e título 4px menor */
  #pg-inicio .hero.com-retrato{margin:10px 12px 12px}
  #pg-inicio .hero.com-retrato .wrap{padding-inline:25px}
  #pg-inicio .hero.com-retrato h1{font-size:36px}
  #pg-inicio .hero.com-retrato .acoes .btn{width:100%;justify-content:center;text-align:center}
  #pg-inicio .hero.com-retrato + .modos .wrap{padding-inline:28px}
  .pag-topo, .provas-topo, .pn-topo{margin:10px 12px 12px}
  :is(.pag-topo, .provas-topo, .pn-topo) > .wrap{padding-inline:25px}
  :is(.pag-topo, .provas-topo) h1{font-size:34px}
}
@media (max-width: 1000px){ .hero.com-retrato .wrap{grid-template-columns:minmax(0, 1fr) minmax(200px, 300px)} }
@media (max-width: 760px){ .hero.com-retrato .wrap{grid-template-columns:1fr} .retrato-topo{justify-self:start;max-width:380px} }
@media (max-width: 560px){ .retrato-topo{max-width:none;width:calc(100% - 16px)} .retrato-topo img{aspect-ratio:1;object-position:50% 10%} }
/* ---------------- versão 11 */
/* cabeçalho: entrar na área do paciente */
.topo .entrar{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 6px;color:var(--verde);font-weight:700;font-size:14px;text-decoration:none;white-space:nowrap;border-radius:10px}
.topo .btn{border-radius:10px}  /* o "Agendar" do topo com os mesmos cantos dos botões ao lado, em qualquer largura */
.topo .entrar:hover{background:var(--nevoa)}
.topo .entrar[aria-current="page"]{background:var(--nevoa)}
.topo .entrar svg{flex:none}
.topo .btn{white-space:nowrap}
@media (max-width: 480px){ .topo .so-largo{display:none} .topo .marca img{width:142px} .topo .wrap{gap:12px} .topo nav{gap:10px} }
@media (max-width: 560px){
  .topo .entrar{width:44px;justify-content:center;padding:0;border:1px solid var(--linha)}
  .topo .entrar .rot{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}

/* faixa que gira: altura fixa, fotos em pé e deitadas */
.tira-trilho{animation-duration:140s}
.tira-trilho .foto{height:clamp(260px, 30vw, 420px);width:auto;aspect-ratio:4 / 5}
.tira-trilho .foto.larga{aspect-ratio:3 / 2}
@media (max-width: 760px){ .tira-trilho .foto{width:auto} .tira-trilho{animation-duration:90s} }

/* artes no lugar de fotos que ainda não existem */
.foto.arte{display:grid;place-items:center;background:radial-gradient(90% 80% at 85% 5%, rgba(51,201,178,.30), transparent 60%), linear-gradient(150deg, var(--verde) 0%, var(--petroleo) 100%);color:var(--agua-claro)}
.foto.arte::after{display:none}
.foto.arte .arte-svg{position:relative;z-index:1;width:min(76%, 440px);height:auto;max-height:74%}
.foto.arte .arte-rot{position:absolute;left:18px;bottom:16px;z-index:2;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#fff}
.local .foto.arte .arte-rot{top:16px;bottom:auto}
.corrida .foto.arte .arte-svg{width:70%;max-height:62%}
.corrida .foto.arte .arte-rot{font-size:16px;letter-spacing:.06em;text-transform:none}

/* área do paciente */
.pc-sub{margin-top:12px;max-width:54ch;font-size:16px;line-height:1.55;color:var(--escuro-texto-2)}
.pc-sub:empty{display:none}
.pc-sessao{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:14px;font-size:14px;color:var(--escuro-texto);overflow-wrap:anywhere}
.pc-sessao .btn-mini{background:transparent;border-color:rgba(230,240,237,.45);color:#fff}
.pc-sessao .btn-mini:hover{background:rgba(255,255,255,.1)}

/* a área logada, com cara de app: o verde cumprimenta (avatar com as iniciais em anéis,
   "Editar perfil" discreto e Sair); fora dele, Consultas e Documentos em cartões claros */
.pc-topo{position:relative;isolation:isolate}
.pc-topo::before{content:"";position:absolute;z-index:-1;right:-90px;top:50%;width:360px;height:360px;margin-top:-180px;border-radius:50%;background:radial-gradient(circle, rgba(51,201,178,.18) 0 38%, rgba(255,255,255,.05) 38% 58%, rgba(255,255,255,.03) 58% 100%)}
.pc-topo .pn-cab{align-items:center;flex-wrap:nowrap}
.pc-topo .titulo-pag{font-size:clamp(28px, 4vw, 44px);letter-spacing:-.035em}
.pc-sessao{flex-direction:column;align-items:flex-start;gap:12px;margin-top:6px}
.pc-quem{font-size:15px;color:var(--escuro-texto)}
.pc-sessao-acoes{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}
.pc-editar{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:0 4px;border:0;background:none;color:var(--agua-claro);font:700 14px var(--sans);cursor:pointer;text-decoration:underline;text-decoration-color:rgba(160,232,219,.35);text-underline-offset:4px}
.pc-editar:hover{color:#fff}
.pc-avatar{flex:none;display:grid;place-items:center;width:88px;height:88px;border-radius:50%;background:linear-gradient(140deg, var(--agua), #0E7A6B);color:#fff;font:800 30px var(--sans);letter-spacing:-.02em;box-shadow:0 0 0 10px rgba(255,255,255,.07), 0 0 0 22px rgba(255,255,255,.04), 0 18px 40px -14px rgba(0,0,0,.45)}
.pc-avatar:empty, body:has(#pc-sessao[hidden]) .pc-avatar{display:none}

.pc-atalhos{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:12px;margin:0 0 28px}
.pc-atalhos[hidden]{display:none}
.pc-atalhos button{display:grid;grid-template-columns:44px minmax(0, 1fr) 20px;align-items:center;gap:14px;min-height:76px;padding:14px 16px;border:0;border-radius:15px;background:#fff;box-shadow:0 0 0 1px #EDF2F0, 0 10px 26px -16px rgba(0,40,34,.28);font:inherit;text-align:left;color:var(--tinta);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:box-shadow .25s ease, transform .4s cubic-bezier(.34,1.45,.64,1)}
.pc-atalhos button:active{transform:scale(.97)}
.pc-atalhos button:focus-visible{outline:3px solid var(--agua);outline-offset:3px}
.pc-at-ic{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:rgba(51,201,178,.14);color:var(--verde);transition:background .25s ease, color .25s ease}
#pc-tab-documentos .pc-at-ic{background:#FFF3E2;color:#B76E12}
.pc-at-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.pc-at-txt b{font-size:16px;font-weight:800;letter-spacing:-.015em}
.pc-at-txt small{font-size:13px;color:#7C8F8B;line-height:1.35}
.pc-at-seta{color:#9AABA7;transition:transform .25s ease, color .25s ease}
.pc-atalhos button[aria-selected="true"]{box-shadow:0 0 0 2px var(--verde), 0 14px 30px -16px rgba(0,71,63,.45)}
.pc-atalhos button[aria-selected="true"] .pc-at-ic{background:linear-gradient(135deg, var(--verde), #17907E);color:#fff}
.pc-atalhos button[aria-selected="true"] .pc-at-seta{color:var(--verde);transform:rotate(90deg)}
@media (hover: hover){ .pc-atalhos button:hover{box-shadow:0 0 0 1px #D5E3DF, 0 14px 30px -16px rgba(0,40,34,.32)} }
.pc-atalhos .pc-at-oculta{display:none}
@media (max-width: 760px){
  .pc-topo .pn-cab{gap:16px}
  .pc-avatar{width:64px;height:64px;font-size:22px;box-shadow:0 0 0 7px rgba(255,255,255,.07), 0 0 0 15px rgba(255,255,255,.04)}
  .pc-topo::before{width:260px;height:260px;margin-top:-130px;right:-110px}
  .pc-atalhos{grid-template-columns:1fr;gap:10px}
  .pc-atalhos button{min-height:70px}
}
.pc-entrar{display:grid;grid-template-columns:minmax(0, 1fr) 330px;gap:clamp(24px, 4vw, 48px);align-items:start}
.pc-cartao{display:flex;flex-direction:column;gap:16px;max-width:540px;padding:clamp(22px, 3vw, 32px);background:#fff;border:1px solid var(--linha);border-radius:16px}
.pc-cartao > .btn{align-self:flex-start}
.pc-dica{font-size:14px;line-height:1.6;color:var(--tinta-3)}
.pc-dica b{font-family:var(--mono);font-size:16px;letter-spacing:.18em;color:var(--verde)}
#pc-codigo{max-width:240px;font:700 26px var(--mono);letter-spacing:.3em}
.pc-lado{padding:24px;border-radius:16px;background:var(--nevoa)}
.pc-lado h2{font-size:19px;font-weight:700;color:var(--verde)}
.pc-lado ul{list-style:none;margin:14px 0 18px;padding:0;display:flex;flex-direction:column;gap:10px}
.pc-lado li{display:flex;gap:10px;align-items:flex-start;font-size:16px;line-height:1.5;color:var(--tinta)}
.pc-lado li svg{flex:none;margin-top:4px;color:var(--verde-2)}
.pc-lado p{font-size:16px;color:var(--tinta-2)}
.pc-lado a{font-weight:700}
@media (max-width: 860px){ .pc-entrar{grid-template-columns:1fr} }

/* o login: página branca, uma caixa 50/50 — formulário de um lado, o verde de boas-vindas do
   outro. Enquanto a pessoa não entrou, o topo verde sai da tela (o título segue lá para leitor
   de tela); depois de entrar, o topo com as abas volta. */
body[data-pagina="paciente"]:has(#pc-entrar:not([hidden])){background:#fff}
body:has(#pc-entrar:not([hidden])) .pc-topo{position:absolute;width:1px;height:1px;margin:0;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
body:has(#pc-entrar:not([hidden])) .pc-corpo{padding-block:clamp(12px, 3vw, 40px) clamp(48px, 7vw, 96px)}
.pc-entrar{grid-template-columns:repeat(2, minmax(0, 1fr));gap:0;align-items:stretch;max-width:1080px;min-height:min(620px, calc(100dvh - 140px));margin-inline:auto;padding:14px;border-radius:30px;background:#fff;box-shadow:0 0 0 1px #EDF2F0, 0 24px 60px -28px rgba(0,40,34,.22)}
.pc-entrar-form{display:flex;flex-direction:column;justify-content:center;gap:12px;padding:clamp(24px, 5vw, 64px)}
.pc-entrar .pc-cartao{width:100%;max-width:400px;margin-inline:auto;padding:0;border:0;border-radius:0;background:none;gap:14px}
.pc-entrar .pn-h2{font-size:clamp(24px, 2.6vw, 30px);font-weight:800;letter-spacing:-.03em;color:var(--tinta)}
.pc-entrar .ag-nota{font-size:14.5px;color:#7C8F8B}
.pc-entrar .campo{margin-top:6px}
.pc-entrar .campo input{min-height:54px;border-radius:14px;border:1.5px solid #DCE6E3;padding-inline:16px}
.pc-entrar .ag-acoes .btn{width:100%;min-height:54px;border-radius:14px;background:linear-gradient(135deg, var(--verde) 0%, #0B6457 52%, #17907E 100%);box-shadow:0 10px 26px -12px rgba(0,71,63,.5);transition:transform .4s cubic-bezier(.34,1.45,.64,1)}
.pc-entrar .ag-acoes .btn:active{transform:scale(.97)}
.pc-entrar-form > .pn-msg{max-width:400px;margin-inline:auto;width:100%}
.pc-boasvindas{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;gap:14px;padding:clamp(28px, 4vw, 48px);border-radius:22px;background:radial-gradient(70% 60% at 85% 15%, rgba(51,201,178,.35), transparent 70%), linear-gradient(160deg, #0B6457 0%, var(--verde) 55%, #002E29 100%);color:rgba(255,255,255,.82)}
.pc-boasvindas::before{content:"";position:absolute;z-index:-1;top:-80px;left:-60px;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.08);filter:blur(30px)}
.pc-boasvindas .eyebrow{color:var(--agua-claro)}
.pc-boasvindas h2{font-size:clamp(30px, 3.4vw, 42px);line-height:1.05;font-weight:800;letter-spacing:-.035em;color:#fff}
.pc-bv-lead{max-width:36ch;font-size:16px;line-height:1.55}
.pc-bv-passos{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.pc-bv-passos li{display:flex;align-items:center;gap:12px;font-size:14.5px;font-weight:600;color:#fff}
.pc-bv-passos span{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.12);color:var(--agua-claro);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
@media (max-width: 860px){
  .pc-entrar{grid-template-columns:1fr;min-height:0;padding:10px}
  .pc-boasvindas{order:-1;gap:10px;padding:26px 24px}
  .pc-boasvindas h2{font-size:28px}
  .pc-bv-lead{font-size:14.5px}
  .pc-bv-passos{display:none}
  .pc-entrar-form{padding:26px 16px 22px}
}

.pc-lista{display:flex;flex-direction:column;gap:14px;margin:14px 0 40px}
.pc-cons{display:grid;grid-template-columns:84px minmax(0, 1fr);gap:18px;padding:18px;background:#fff;border:1px solid var(--linha);border-radius:16px}
.pc-data{display:flex;flex-direction:column;align-items:center;justify-content:center;height:84px;border-radius:14px;background:var(--nevoa);color:var(--verde)}
.pc-data b{font-size:32px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}
.pc-data span{margin-top:4px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.pc-info{display:flex;flex-direction:column;gap:6px;min-width:0}
.pc-quando{font-size:14px;font-weight:700;color:var(--verde-2)}
.pc-info h3{font-size:19px;font-weight:700;color:var(--tinta)}
.pc-onde, .pc-pag{font-size:14px;line-height:1.5;color:var(--tinta-2)}
.pc-onde a{font-weight:700}
.pc-selo{display:inline-block;padding:3px 9px;border-radius:999px;background:var(--agua-suave);color:var(--petroleo);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;vertical-align:1px}
.pc-selo.cinza{background:#EEF1F0;color:var(--tinta-3)}
.pc-acoes{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}
.pc-acoes .btn-mini, .pc-hist .btn-mini{display:inline-flex;align-items:center;min-height:40px;text-decoration:none}
.btn-mini.perigo{border-color:#B42318;background:#B42318;color:#fff}
.btn-mini.perigo:hover{background:#912018}
.btn-mini:disabled{opacity:.5;cursor:not-allowed}
.btn-mini.pc-confirmar:not(:disabled){background:var(--verde);border-color:var(--verde);color:#fff}
.pc-aviso24{margin-top:6px;padding:10px 12px;border-radius:10px;background:var(--nevoa);font-size:14px;color:var(--tinta-2)}
.pc-aviso24 a{font-weight:700}
.pc-painel{margin-top:10px;padding:16px;border-radius:12px;background:var(--papel);border:1px solid var(--linha);display:flex;flex-direction:column;gap:12px}
.pc-painel:focus{outline:none;box-shadow:0 0 0 3px rgba(51,201,178,.35)}
.pc-painel-alerta{background:#FFFBFA;border-color:#FECDCA}
.pc-painel h4{font-size:16px;font-weight:700;color:var(--tinta)}
.pc-painel p{font-size:16px;color:var(--tinta-2)}
.pc-painel .horas{margin-top:0}
.pc-dias{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 6px;scrollbar-width:thin}
.pc-dia{flex:none;display:flex;flex-direction:column;align-items:center;gap:1px;min-width:66px;padding:8px 10px;border-radius:12px;border:1.5px solid var(--linha);background:#fff;font:600 12px var(--sans);color:var(--tinta-3);cursor:pointer}
.pc-dia b{font-size:19px;font-weight:800;color:var(--verde);font-variant-numeric:tabular-nums}
.pc-dia:hover{border-color:var(--verde)}
.pc-dia[aria-pressed="true"]{background:var(--verde);border-color:var(--verde);color:#fff}
.pc-dia[aria-pressed="true"] b{color:#fff}
#pc-h2-hist{margin-top:8px}
.pc-hist{list-style:none;margin:14px 0 0;padding:0;border:1px solid var(--linha);border-radius:14px;background:#fff;overflow:hidden}
.pc-hist li{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;padding:14px 18px}
.pc-hist li + li{border-top:1px solid var(--linha)}
.pc-hist b{display:block;font-size:16px;color:var(--tinta)}
.pc-hist small{font-size:14px;color:var(--tinta-3)}
.pc-hist-dir{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.pc-form-dados{max-width:720px}
.pc-form-dados input[readonly]{background:var(--nevoa);color:var(--tinta-2)}
.pc-form-dados .pn-msg:empty{display:none}
.pc-termos-intro{margin:6px 0 16px}
.pc-termos-lista{display:grid;grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));gap:14px}
.pc-termo{padding:18px 20px;background:#fff;border:1px solid var(--linha);border-radius:14px}
.pc-termo h3{font-size:16px;font-weight:700;color:var(--tinta)}
.pc-termo .ag-nota{margin-top:4px}
.pc-termo ul{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.pc-termo li{display:flex;gap:8px;align-items:center;font-size:16px}
.pc-termo li svg{flex:none;color:var(--verde-2)}
.pc-termo a{font-weight:600}
@media (max-width: 520px){
  .pc-cons{grid-template-columns:1fr;gap:12px}
  .pc-data{flex-direction:row;gap:8px;width:max-content;height:auto;padding:8px 14px}
  .pc-data span{margin-top:0}
}

/* confirmação do agendamento */
.ag-ok .ag-acoes .btn-linha-claro{white-space:nowrap}
/* ---------------- versão 12 */
/* topo: frase do pódio como frase principal */
.hero.com-retrato h1{font-size:clamp(40px, 5.6vw, 68px)}
/* seção do pódio: "Todo atleta tem um médico. Agora você também." */
.podio h2{max-width:20ch}
.podio h2 .l2{display:block;font-weight:300;color:var(--verde-2)}

/* perfis: títulos de objetivo e condição (mais longos) */
.perfil h3{font-size:19px;line-height:1.3}

/* provas: ano, foto da cidade e triatlo */
.corridas .ano-titulo{grid-column:1 / -1;display:flex;align-items:center;gap:14px;margin:14px 0 2px;font-size:clamp(22px, 2.6vw, 30px);font-weight:800;letter-spacing:-.02em;color:var(--verde);font-variant-numeric:tabular-nums}
.corridas .ano-titulo::after{content:"";flex:1;height:1px;background:var(--linha)}
.corridas .ano-titulo:first-child{margin-top:0}
.corrida h4{margin:0;font-size:19px;font-weight:700;line-height:1.25;letter-spacing:-.01em;text-wrap:balance;color:var(--tinta)}
.corrida .foto .cidade-rot{position:absolute;left:12px;bottom:12px;z-index:2;padding:4px 10px;border-radius:999px;background:rgba(0,30,26,.66);color:#fff;font-size:14px;font-weight:700}
.corrida .dist span.tri{background:var(--agua-suave);color:var(--petroleo)}
/* ---------------- versão 13: conversão (consultoria de 22/09/2026) */
/* próximo horário livre no quadro do topo e nos cartões */
.modos .prox{display:block;margin-top:5px;font-style:normal;font-size:12px;font-weight:700;color:var(--verde-2)}
.modos .prox:empty{display:none}

/* Método Largada */
.metodo .sec-head{margin-bottom:clamp(28px, 4vw, 44px)}
.etapas-metodo{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:18px}
.etapas-metodo li{position:relative;background:#fff;border:1px solid var(--linha);border-radius:var(--raio);padding:26px 26px 24px;display:flex;flex-direction:column;gap:8px}
.etapas-metodo .n{width:42px;height:42px;border-radius:12px;background:var(--verde);color:#fff;display:grid;place-items:center;font-weight:800;font-size:19px;margin-bottom:6px}
.etapas-metodo h3{font-size:26px;font-weight:800;letter-spacing:-.02em;color:var(--verde)}
.etapas-metodo .quando{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--verde-2)}
.etapas-metodo p{font-size:16px;color:var(--tinta-2);line-height:1.55}
.etapas-metodo li + li::before{content:"";position:absolute;left:-18px;top:46px;width:18px;height:2px;background:var(--agua)}
.metodo-rodape{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px 24px;margin-top:clamp(28px, 4vw, 40px);text-align:center}
.metodo-rodape p{font-size:16px;color:var(--tinta-2);max-width:62ch}
@media (max-width: 900px){
  .etapas-metodo{grid-template-columns:1fr}
  .etapas-metodo li + li::before{left:40px;top:-18px;width:2px;height:18px}
}

/* consultas: o que está incluído */
.consulta .para{font-size:14px;color:var(--tinta-3)}
.consulta .c-inclui{list-style:none;margin:2px 0 6px;padding:0;display:grid;gap:8px;font-size:14px;line-height:1.45;color:var(--tinta-2)}
.consulta .c-inclui li{display:flex;gap:9px;align-items:flex-start}
.consulta .c-inclui svg{flex:none;margin-top:3px;color:var(--verde-2)}
.consulta .prox-c{font-size:14px;font-weight:700;color:var(--verde-2)}
.consulta .prox-c:empty{display:none}

/* programas de acompanhamento */
.programas{margin-top:18px;display:grid;grid-template-columns:minmax(0, 1.25fr) minmax(0, 1.6fr) auto;gap:22px 28px;align-items:center;padding:26px 28px;border-radius:var(--raio);background:var(--petroleo);color:var(--escuro-texto)}
.programas .tag{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--agua-claro)}
.programas h3{margin-top:6px;font-size:22px;font-weight:800;color:#fff}
.programas p{margin-top:6px;font-size:16px;line-height:1.5;color:var(--escuro-texto-2)}
.programas ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:10px}
.programas li{border:1px solid rgba(230,240,237,.22);border-radius:12px;padding:12px 14px;font-size:14px;color:var(--escuro-texto-2)}
.programas li b{display:block;font-size:19px;font-weight:800;color:#fff;letter-spacing:-.01em}
@media (max-width: 1000px){ .programas{grid-template-columns:1fr} .programas .btn{justify-self:start} }
@media (max-width: 340px){ .programas ul{grid-template-columns:1fr} }

/* particular, com reembolso */
.reembolso{margin-top:18px;display:grid;grid-template-columns:minmax(0, 1fr) minmax(0, 2.3fr);gap:18px 28px;align-items:center;padding:22px 26px;border-radius:var(--raio);background:var(--nevoa);border:1px solid var(--linha)}
.reembolso h3{font-size:19px;font-weight:800;color:var(--verde)}
.reembolso .nota{margin-top:6px;font-size:14px;color:var(--tinta-3)}
.reembolso ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:14px}
.reembolso li{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.45;color:var(--tinta-2)}
.reembolso li .n{flex:none;width:28px;height:28px;border-radius:50%;background:#fff;border:1px solid var(--linha);display:grid;place-items:center;font-size:14px;font-weight:800;color:var(--verde)}
@media (max-width: 900px){ .reembolso{grid-template-columns:1fr} }
@media (max-width: 560px){ .reembolso ol{grid-template-columns:1fr} }

/* agendamento: valor logo após o local, parcelamento e o que está incluído */
/* ---------------- versão 40: código de desconto */
.ag-cupom{display:flex;flex-direction:column;gap:8px;padding:16px;border:1.5px dashed var(--linha);
  border-radius:14px}
.ag-cupom > label{font-size:14px;font-weight:700;color:var(--tinta-2)}
.ag-cupom-linha{display:flex;gap:8px;flex-wrap:wrap}
.ag-cupom-linha input{flex:1 1 180px;min-width:0;border:1.5px solid var(--linha);border-radius:12px;
  padding:12px 14px;font:inherit;font-size:16px;text-transform:uppercase}
.ag-cupom-linha .btn{flex:0 0 auto}
.ag-cupom-aviso{margin:0;font-size:14px;line-height:1.5;color:var(--tinta-2)}
.ag-cupom-aviso.ok{color:var(--verde);font-weight:600}
.ag-cupom-aviso.nao{color:#9B2C2C}
.rs-desconto{display:flex;justify-content:space-between;align-items:baseline;gap:12px;
  font-size:14px;color:var(--verde);font-weight:600}
.rs-total s{display:block;font-weight:500;font-size:14px;color:var(--tinta-3);
  text-decoration:line-through}
.ag-valor{margin:2px 0 0;padding:12px 16px;border-radius:12px;background:var(--nevoa);font-size:16px;line-height:1.5;color:var(--tinta-2)}
.ag-valor b{font-size:16px;color:var(--verde);font-variant-numeric:tabular-nums}
.rs-parcela{margin-top:-6px;text-align:right;font-size:14px;color:var(--tinta-3)}
.rs-inclui{list-style:none;margin:0;padding:12px 0 0;border-top:1px solid var(--linha);display:grid;gap:7px;font-size:14px;line-height:1.45;color:var(--tinta-2)}
.rs-inclui .rot{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--tinta-3)}
.rs-inclui li{display:flex;gap:8px;align-items:flex-start}
.rs-inclui li svg{flex:none;margin-top:2px;color:var(--verde-2)}

/* celular: perfis em carrossel, para a página ficar mais curta */
.perfis-dica{display:none;margin-top:12px;font-size:14px;font-weight:600;color:var(--tinta-3)}
@media (max-width: 640px){
  .perfis{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin-inline:calc(-1 * max(16px, 4vw));padding:0 max(16px, 4vw) 10px;scrollbar-width:none}
  .perfis::-webkit-scrollbar{display:none}
  .perfis > .perfil{flex:0 0 76%;scroll-snap-align:center;animation:none}
  .perfis > .perfil .foto{aspect-ratio:4 / 5}
  .perfis-dica{display:block}
}
/* ---------------- versão 14: rodada B da consultoria */
/* quiz "Por onde começar" */
.quiz-cta{margin-top:22px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 24px;padding:20px 24px;border-radius:var(--raio);background:var(--nevoa);border:1px solid var(--linha)}
.quiz-cta b{display:block;font-size:19px;color:var(--verde)}
.quiz-cta span{display:block;margin-top:2px;font-size:16px;color:var(--tinta-2)}
.dlg-ferr{width:min(720px, calc(100vw - 32px))}
.dlg-ferr .dlg-corpo{padding:20px 22px 26px}
.quiz fieldset{border:0;margin:0;padding:0;min-width:0}
.quiz legend{padding:0;margin-bottom:14px;font-size:19px;font-weight:700;color:var(--tinta)}
.quiz .opcoes{grid-template-columns:1fr}
.quiz .opcoes.duas{grid-template-columns:repeat(2, minmax(0, 1fr))}
.quiz .opcoes.tres{grid-template-columns:repeat(3, minmax(0, 1fr))}
.quiz .opc-corpo{padding:14px 44px 14px 16px}
.quiz .opc-corpo b{font-size:16px}
.quiz-passo{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--verde-2);margin-bottom:8px}
.quiz-acoes{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.quiz-acoes [data-quiz="voltar"][hidden]{display:none}
.quiz-res h3{margin-top:6px;font-size:26px;font-weight:800;color:var(--verde);outline:0}
.quiz-res > p{margin-top:10px;font-size:16px;color:var(--tinta-2)}
.quiz-local{display:flex;flex-wrap:wrap;gap:4px 14px;padding:12px 14px;border-radius:12px;background:var(--nevoa)}
.quiz-local b{color:var(--verde-2);font-size:14px}
.quiz-local b:empty{display:none}
.quiz-email{margin-top:22px;padding-top:18px;border-top:1px solid var(--linha)}
.quiz-email label{display:block;font-size:14px;color:var(--tinta-2);margin-bottom:8px}
@media (max-width: 560px){ .quiz .opcoes.duas, .quiz .opcoes.tres{grid-template-columns:1fr} }

/* linha de e-mail usada nos formulários de captura */
.linha-email{display:flex;gap:8px;flex-wrap:wrap}
.linha-email input{flex:1 1 220px;min-height:48px;padding:10px 14px;border:1.5px solid var(--linha);border-radius:12px;font:inherit;font-size:16px;background:#fff;color:var(--tinta)}
.linha-email input:focus{outline:3px solid var(--agua);outline-offset:1px;border-color:var(--verde-2)}
.linha-email input[aria-invalid="true"]{border-color:#B42318}
.linha-email button{min-height:48px;padding:10px 20px;border:0;border-radius:999px;background:var(--verde);color:#fff;font:inherit;font-size:16px;font-weight:700;cursor:pointer}
.linha-email button:hover{background:var(--petroleo)}
form[data-captura] .erro{margin-top:8px;font-size:14px;font-weight:600;color:#B42318}
form[data-captura] .ok{margin-top:10px;font-size:14px;font-weight:600;color:var(--verde-2)}

/* modelo de plano (fictício) */
.dlg-plano{width:min(760px, calc(100vw - 32px))}
.plano-folha{position:relative;border:1px solid var(--linha);border-radius:14px;padding:clamp(20px, 3vw, 30px);background:#fff;display:flex;flex-direction:column;gap:18px}
.plano-tag{position:absolute;top:14px;right:14px;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--ph-tx, #0A564C);background:var(--ph-bg, #E6F6F2);border:1px dashed #9ED9CC;border-radius:999px;padding:4px 10px}
.plano-folha header h3{margin-top:6px;font-size:22px;font-weight:800;color:var(--tinta)}
.plano-folha header p:last-child{margin-top:6px;font-size:16px;color:var(--tinta-2)}
.plano-folha h4{font-size:14px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--verde-2);margin-bottom:8px}
.plano-folha ol, .plano-folha ul{margin:0;padding-left:20px;display:grid;gap:6px;font-size:16px;color:var(--tinta-2)}
.plano-folha section > p{font-size:16px;color:var(--tinta-2)}
.plano-zonas{width:100%;border-collapse:collapse;font-size:14px}
.plano-zonas th, .plano-zonas td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--linha);vertical-align:top}
.plano-zonas th{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--tinta-3)}
.plano-zonas td:nth-child(2){font-weight:700;color:var(--verde);white-space:nowrap;font-variant-numeric:tabular-nums}
.plano-nota{margin-top:8px;font-size:14px;color:var(--tinta-3)}
.plano-folha footer{padding-top:14px;border-top:1px solid var(--linha);font-size:14px;color:var(--tinta-3)}
.metodo-rodape p a{font-weight:700}

/* guias gratuitos */
.sec-guias{padding-bottom:clamp(64px, 9vw, 112px)}
.guias{display:grid;grid-template-columns:minmax(0, 1fr) minmax(0, 1.3fr);gap:clamp(24px, 4vw, 48px);align-items:center;padding:clamp(24px, 4vw, 44px);border-radius:20px;background:var(--agua-claro, #A9DED3)}
.guias h2{margin-top:8px;font-size:clamp(28px, 3.5vw, 42px);font-weight:800;letter-spacing:-.02em;color:var(--petroleo)}
.guias-txt > p:last-child{margin-top:12px;font-size:16px;color:var(--petroleo)}
.form-guias fieldset{border:0;margin:0 0 14px;padding:0;display:grid;gap:10px}
.guia{position:relative;display:block;cursor:pointer}
.guia input{position:absolute;opacity:0;width:1px;height:1px}
.guia span{display:block;padding:14px 16px 14px 46px;border-radius:12px;background:#fff;border:1.5px solid transparent;transition:border-color .15s ease}
.guia span::before{content:"";position:absolute;left:16px;top:17px;box-sizing:border-box;width:18px;height:18px;border-radius:50%;border:2px solid var(--verde-2);background:#fff}
.guia input:checked + span{border-color:var(--verde)}
.guia input:checked + span::before{border:6px solid var(--verde)}
.guia input:focus-visible + span{outline:3px solid var(--petroleo);outline-offset:2px}
.guia b{display:block;font-size:16px;color:var(--tinta)}
.guia small{display:block;margin-top:2px;font-size:14px;color:var(--tinta-2)}
.form-guias .miudo{margin-top:10px;font-size:14px;color:var(--petroleo)}
@media (max-width: 860px){ .guias{grid-template-columns:1fr} }

/* provas: semanas até a largada, "Me lembre" e link para assessorias */
.corrida .faltam{font-size:14px;font-weight:700;color:var(--verde-2)}
.corrida .acoes .lembrar{min-height:44px;padding:10px 14px;border-radius:999px;border:1.5px solid var(--linha);background:#fff;color:var(--verde);font:inherit;font-size:14px;font-weight:700;cursor:pointer}
.corrida .acoes .lembrar:hover{border-color:var(--verde-2)}
.pre-assessoria{margin-top:14px;font-size:16px;color:var(--tinta-2)}
.pre-assessoria a{font-weight:700}
.lem-prova{font-size:19px;font-weight:800;color:var(--verde)}
.lembrete{display:flex;flex-direction:column;gap:10px;font-size:16px;color:var(--tinta-2)}
.lembrete label{font-weight:700;color:var(--tinta)}
.lembrete .miudo{font-size:14px;color:var(--tinta-3)}

/* exames e procedimentos */
.detalhe .parceiro{margin-top:14px;font-size:14px;color:var(--tinta-3);border-left:3px solid var(--agua);padding-left:12px}
.revisado{margin-top:22px;font-size:14px;color:var(--tinta-3)}

/* agendamento: devolutiva e aceites */
.opc-larga{grid-column:1 / -1}
.aceites{border:0;margin:6px 0 0;padding:12px 16px;border-radius:12px;background:var(--nevoa);display:grid;gap:0}
.aceites legend{float:left;width:100%;margin-bottom:2px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--tinta-3)}
.aceites .aceite{margin:0}

/* página "Antes da sua consulta" */
.antes-grade{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:18px}
.antes-bloco{padding:26px;border:1px solid var(--linha);border-radius:var(--raio);background:#fff}
.antes-bloco.principal{border:2px solid var(--verde)}
.antes-bloco h2{font-size:22px;font-weight:800;color:var(--verde);margin-bottom:12px}
.antes-bloco ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-size:16px;color:var(--tinta-2)}
.antes-bloco li{display:flex;gap:10px;align-items:flex-start}
.antes-bloco li svg{flex:none;margin-top:4px;color:var(--verde-2)}
.antes-nota{margin-top:14px;font-size:14px;color:var(--tinta-3)}
@media (max-width: 760px){ .antes-grade{grid-template-columns:1fr} }

/* página "Assessorias e empresas" */
.as-grade{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:18px}
.as-card{padding:26px;border:1px solid var(--linha);border-radius:var(--raio);background:#fff}
.as-card h2{font-size:22px;font-weight:800;color:var(--verde);margin-bottom:10px}
.as-card p{font-size:16px;color:var(--tinta-2)}
.fluxo.tres{grid-template-columns:repeat(3, minmax(0, 1fr))}
@media (max-width: 860px){ .as-grade, .fluxo.tres{grid-template-columns:1fr} }
/* ---------------- versão 15: Ferramentas (públicas) e Área médica */
/* página Ferramentas: cartões */
.ferr-grade{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:18px}
.ferr-cartao{display:flex;flex-direction:column;gap:10px;padding:24px;border:1px solid var(--linha);border-radius:var(--raio);background:#fff;text-decoration:none;color:inherit;transition:border-color .15s ease, transform .15s ease}
.ferr-cartao:hover{border-color:var(--verde-2);transform:translateY(-2px)}
.ferr-cartao .tag{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--verde-2)}
.ferr-cartao h2{font-size:19px;font-weight:800;line-height:1.25;color:var(--verde)}
.ferr-cartao p{font-size:16px;color:var(--tinta-2);line-height:1.5}
.ferr-cartao .abrir{margin-top:auto;padding-top:6px;font-size:16px;font-weight:700;color:var(--verde)}
.ferr-nota{max-width:760px;margin:0 auto;display:grid;gap:10px;font-size:16px;color:var(--tinta-2)}
.ferr-nota h2{font-size:22px;font-weight:800;color:var(--verde)}
@media (max-width: 1000px){ .ferr-grade{grid-template-columns:repeat(2, minmax(0, 1fr))} }
@media (max-width: 640px){ .ferr-grade{grid-template-columns:1fr} }

/* página de cada ferramenta */
.voltar{display:inline-flex;align-items:center;gap:6px;margin-bottom:14px;font-size:14px;font-weight:700;color:var(--agua-claro);text-decoration:none}
.voltar:hover{text-decoration:underline}
.ferr-calc-band{padding-block:clamp(40px, 5vw, 64px)}
.ferr-texto{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:clamp(32px, 4vw, 48px)}
.ferr-artigo h2{font-size:clamp(22px, 2.6vw, 30px);font-weight:800;letter-spacing:-.02em;color:var(--verde);margin-bottom:12px}
.ferr-artigo h3{font-size:19px;font-weight:700;color:var(--tinta);margin:22px 0 6px}
.ferr-artigo p{font-size:16px;line-height:1.65;color:var(--tinta-2)}
.ferr-artigo p + p{margin-top:10px}
.ferr-faq h2{font-size:clamp(22px, 2.6vw, 30px);font-weight:800;color:var(--verde);margin-bottom:12px}
.ferr-servico{font-size:16px;color:var(--tinta-2)}
.ferr-servico a{font-weight:700}
.ferr-outras-t{font-size:22px;font-weight:800;color:var(--verde);margin-bottom:14px}
.ferr-mini{display:flex;flex-wrap:wrap;gap:10px}
.ferr-mini a{display:inline-flex;align-items:center;min-height:44px;padding:9px 16px;border:1px solid var(--linha);border-radius:999px;background:#fff;color:var(--verde);font-size:14px;font-weight:700;text-decoration:none}
.ferr-mini a:hover{border-color:var(--verde-2)}

/* provas: atalho para as ferramentas de prova */
.prova-ferr{display:grid;grid-template-columns:minmax(0, 1fr) minmax(0, 2fr);gap:20px 32px;align-items:center}
.prova-ferr h2{font-size:clamp(22px, 2.6vw, 30px);font-weight:800;color:var(--verde);margin-top:8px}
.prova-ferr p.lead{margin-top:10px}
.prova-ferr .ferr-grade{grid-template-columns:repeat(3, minmax(0, 1fr))}
@media (max-width: 1000px){ .prova-ferr, .prova-ferr .ferr-grade{grid-template-columns:1fr} }

/* Área médica */
.am-topo .eyebrow{color:var(--agua-claro)}
.am-caixa{max-width:520px;margin:0 auto;padding:clamp(22px, 3vw, 32px);border:1px solid var(--linha);border-radius:var(--raio);background:#fff;display:flex;flex-direction:column;gap:14px}
.am-caixa h2{font-size:26px;font-weight:800;color:var(--verde)}
.am-caixa p{font-size:16px;color:var(--tinta-2)}
.am-caixa form{display:flex;flex-direction:column;gap:12px}
.am-caixa label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:700;color:var(--tinta)}
.am-caixa input[type="email"], .am-caixa input[type="text"]{min-height:48px;padding:10px 14px;border:1.5px solid var(--linha);border-radius:12px;font:inherit;font-size:16px;font-weight:500;color:var(--tinta);background:#fff}
.am-caixa input:focus{outline:3px solid var(--agua);outline-offset:1px;border-color:var(--verde-2)}
.am-caixa .am-declaro{flex-direction:row;align-items:flex-start;gap:10px;font-weight:500;color:var(--tinta-2)}
.am-caixa .am-declaro input{margin-top:4px;width:18px;height:18px;flex:none;accent-color:var(--verde)}
.am-caixa .erro{font-size:14px;font-weight:600;color:#B42318}
.am-previa{font-size:14px;color:var(--tinta-3);border-top:1px solid var(--linha);padding-top:12px}
.am-codigo-previa{padding:10px 14px;border-radius:10px;background:var(--nevoa);font-size:16px}
.am-codigo-previa b{font-size:19px;letter-spacing:.12em;color:var(--verde)}
.am-barra{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px;font-size:14px;color:var(--tinta-2)}
.am-sair{min-height:40px;padding:8px 16px;border-radius:999px;border:1.5px solid var(--linha);background:#fff;color:var(--verde);font:inherit;font-size:14px;font-weight:700;cursor:pointer}
.am-indice{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:clamp(28px, 4vw, 40px)}
.am-indice a{display:inline-flex;align-items:center;min-height:40px;padding:8px 14px;border:1px solid var(--linha);border-radius:999px;background:#fff;color:var(--verde);font-size:14px;font-weight:700;text-decoration:none}
.am-indice a:hover{border-color:var(--verde-2)}
.am-lista{display:flex;flex-direction:column;gap:8px}
.am-ferr{scroll-margin-top:96px}

/* cabeçalho com o link Ferramentas: o logo não encolhe; nas telas médias, o menu fica mais compacto */
@media (min-width: 1081px){
  .topo .marca{flex:none}
  .topo .marca img{width:160px}
  .topo nav{gap:14px}
  .topo nav ul{gap:15px}
  .topo nav ul a{font-size:14px}
  .topo .so-largo{display:none}
  .topo .entrar{width:auto;justify-content:center;padding:0 12px;border:1px solid var(--linha);border-radius:10px}
  .topo .entrar .rot{position:static;width:auto;height:auto;overflow:visible;clip:auto}
}

/* ---------------- calculadoras (pacote calculadoras_nucleo_validado, sem alterações) */
/* MedCalc — estilos com escopo em .mc-root (não interferem no tema do site).
 Personalize as cores trocando as variáveis abaixo. */
.mc-root{
/* Paleta do site drbraulio.com.br */
--mc-accent:#0A564C; --mc-accent-ink:#0A564C; --mc-navy:#00473F; --mc-ink:#17302C; --mc-muted:#4C6560;
--mc-bg:#ffffff; --mc-soft:#F2F7F5; --mc-line:#D7E2DE; --mc-radius:12px;
--mc-cta-bg:#003B34; --mc-cta-btn:#33C9B2; --mc-cta-btn-ink:#003B34; --mc-focus:rgba(51,201,178,.35);
--mc-ok:#2f7d32; --mc-ok-bg:#edf6ec; --mc-warn:#9a5b00; --mc-warn-bg:#fdf3e3; --mc-bad:#b3261e; --mc-bad-bg:#fdecea;
--mc-orange:#c25e00; --mc-orange-bg:#fff0e0; --mc-info-bg:#EAF6F3;
font-family:inherit; font-family:var(--sans, "Manrope", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif);
color:var(--mc-ink); line-height:1.5; font-size:16px; max-width:760px; margin:0 auto 32px;
}
.mc-root *{ box-sizing:border-box; }
.mc-card{ background:var(--mc-bg); border:1px solid var(--mc-line); border-radius:var(--mc-radius); padding:22px 22px 14px; box-shadow:0 1px 2px rgba(16,24,40,.04),0 4px 16px rgba(16,24,40,.05); }
.mc-head h3{ margin:6px 0 6px; font-size:1.35rem; line-height:1.25; color:var(--mc-navy); letter-spacing:-.01em; }
.mc-head p{ margin:0 0 14px; color:var(--mc-muted); font-size:.95rem; }
.mc-tag{ display:inline-block; font-size:.72rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; padding:3px 9px; border-radius:99px; }
.mc-tag.pat{ background:#E3F4F0; color:var(--mc-accent-ink); }
.mc-tag.pro{ background:#e8edf5; color:var(--mc-navy); }
.mc-form{ display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:12px 14px; margin:4px 0 16px; }
.mc-sec{ grid-column:1/-1; font-size:.78rem; font-weight:700; text-transform:uppercase; letter-spacing:.07em; color:var(--mc-accent-ink); border-bottom:1px solid var(--mc-line); padding:8px 0 4px; margin-top:4px; }
.mc-field{ display:flex; flex-direction:column; gap:5px; font-size:.88rem; font-weight:600; color:var(--mc-ink); }
.mc-field.wide,.mc-check.wide{ grid-column:1/-1; }
.mc-field em{ font-weight:400; color:var(--mc-muted); font-style:normal; }
.mc-field small,.mc-check small{ font-weight:400; color:var(--mc-muted); font-size:.78rem; display:block; }
.mc-in{ display:flex; align-items:stretch; border:1px solid var(--mc-line); border-radius:10px; background:#fff; overflow:hidden; }
.mc-in:focus-within,.mc-field select:focus{ border-color:var(--mc-accent); box-shadow:0 0 0 3px var(--mc-focus); }
.mc-in input{ flex:1; min-width:0; border:0; outline:0; padding:10px 11px; font-size:1rem; font:inherit; font-weight:500; background:transparent; color:var(--mc-ink); }
.mc-in input.bad{ background:var(--mc-bad-bg); }
.mc-in b{ display:flex; align-items:center; padding:0 11px; background:var(--mc-soft); color:var(--mc-muted); font-weight:500; font-size:.85rem; border-left:1px solid var(--mc-line); white-space:nowrap; }
.mc-field select{ border:1px solid var(--mc-line); border-radius:10px; padding:10px 11px; font:inherit; font-weight:500; background:#fff; color:var(--mc-ink); outline:0; }
.mc-check{ align-self:start; display:flex; gap:10px; align-items:flex-start; font-size:.92rem; padding:9px 11px; border:1px solid var(--mc-line); border-radius:10px; background:var(--mc-soft); cursor:pointer; }
.mc-check input{ width:18px; height:18px; margin:2px 0 0; accent-color:var(--mc-accent); flex:none; }
.mc-check:has(input:checked){ border-color:var(--mc-accent); background:#E3F4F0; }
.mc-result{ min-height:40px; }
.mc-hint{ color:var(--mc-muted); font-size:.92rem; padding:12px 14px; border:1px dashed var(--mc-line); border-radius:10px; }
.mc-kpis{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:10px; margin:0 0 12px; }
.mc-kpi{ background:var(--mc-soft); border-radius:12px; padding:12px 14px; border:1px solid transparent; }
.mc-kpi-l{ font-size:.78rem; color:var(--mc-muted); font-weight:600; text-transform:uppercase; letter-spacing:.04em; }
.mc-kpi-v{ font-size:1.55rem; font-weight:700; color:var(--mc-navy); line-height:1.2; margin-top:2px; font-variant-numeric:tabular-nums; }
.mc-kpi-s{ font-size:.82rem; color:var(--mc-muted); margin-top:2px; }
.mc-kpi.lv-ok{ background:var(--mc-ok-bg); } .mc-kpi.lv-ok .mc-kpi-v{ color:var(--mc-ok); }
.mc-kpi.lv-warn{ background:var(--mc-warn-bg); } .mc-kpi.lv-warn .mc-kpi-v{ color:var(--mc-warn); }
.mc-kpi.lv-orange{ background:var(--mc-orange-bg); } .mc-kpi.lv-orange .mc-kpi-v{ color:var(--mc-orange); }
.mc-kpi.lv-bad{ background:var(--mc-bad-bg); } .mc-kpi.lv-bad .mc-kpi-v{ color:var(--mc-bad); }
.mc-alert{ border-radius:10px; padding:11px 14px; font-size:.92rem; margin:0 0 12px; border-left:4px solid; }
.mc-alert.lv-info{ background:var(--mc-info-bg); border-color:#33C9B2; }
.mc-alert.lv-ok{ background:var(--mc-ok-bg); border-color:var(--mc-ok); }
.mc-alert.lv-warn{ background:var(--mc-warn-bg); border-color:#d58b00; }
.mc-alert.lv-orange{ background:var(--mc-orange-bg); border-color:var(--mc-orange); }
.mc-alert.lv-bad{ background:var(--mc-bad-bg); border-color:var(--mc-bad); }
.mc-tw{ overflow-x:auto; margin:0 0 12px; }
.mc-table{ width:100%; border-collapse:collapse; font-size:.88rem; }
.mc-table th{ text-align:left; font-size:.75rem; text-transform:uppercase; letter-spacing:.04em; color:var(--mc-muted); padding:7px 8px; border-bottom:2px solid var(--mc-line); }
.mc-table td{ padding:7px 8px; border-bottom:1px solid var(--mc-line); font-variant-numeric:tabular-nums; }
.mc-cta{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; justify-content:space-between; background:var(--mc-cta-bg); color:#fff; border-radius:12px; padding:12px 14px; margin:4px 0 12px; font-size:.92rem; }
.mc-cta a{ background:var(--mc-cta-btn); color:var(--mc-cta-btn-ink); text-decoration:none; font-weight:700; padding:10px 18px; border-radius:999px; white-space:nowrap; }
.mc-cta a:hover{ filter:brightness(1.08); }
.mc-ref{ border-top:1px solid var(--mc-line); padding-top:10px; font-size:.86rem; color:var(--mc-muted); }
.mc-ref p{ margin:8px 0 0; }
.mc-ref summary{ cursor:pointer; font-weight:600; color:var(--mc-accent-ink); }
.mc-ref ol,.mc-ref ul{ padding-left:18px; margin:8px 0; }
.mc-ref code{ background:var(--mc-soft); padding:1px 5px; border-radius:5px; font-size:.84em; }
.mc-aviso{ margin:4px 0 14px; padding:14px 16px; border:1px solid #F3D9A4; border-left:4px solid #D58B00; border-radius:10px; background:#FFF8EC; color:var(--mc-ink); font-size:.86rem; line-height:1.5; }
.mc-aviso strong{ display:block; font-size:.78rem; text-transform:uppercase; letter-spacing:.07em; color:#8A5200; margin-bottom:6px; }
.mc-aviso p{ margin:0 0 6px; }
.mc-aviso p:last-child{ margin-bottom:0; }
.mc-aviso b{ color:#7A2E0E; font-weight:700; }
.mc-aviso .mc-aviso-min{ font-size:.78rem; color:var(--mc-muted); }
.mc-aviso.pro{ border-color:var(--mc-line); border-left-color:var(--mc-navy); background:var(--mc-soft); }
.mc-aviso.pro strong{ color:var(--mc-navy); }
.mc-bib{ margin-top:12px; padding-top:10px; border-top:1px solid var(--mc-line); }
.mc-bib h4{ margin:0 0 6px; font-size:.78rem; text-transform:uppercase; letter-spacing:.07em; color:var(--mc-accent-ink); }
.mc-bib ol{ margin:0; padding-left:20px; font-size:.78rem; line-height:1.45; color:var(--mc-muted); }
.mc-bib li{ margin-bottom:4px; overflow-wrap:anywhere; }
@media (max-width:520px){ .mc-card{ padding:16px 14px 10px; } .mc-kpi-v{ font-size:1.3rem; } }

/* ---------------- versão 17: documentos jurídicos */
.termo-texto h3{margin-top:8px;font-size:16px;font-weight:800;letter-spacing:.02em;text-transform:uppercase;color:var(--verde)}
.termo-texto p{font-size:16px;line-height:1.6}
.termo-texto ul{margin:0;padding-left:20px;display:grid;gap:8px;font-size:16px;line-height:1.6}
.termo-texto b{color:var(--tinta)}
.doc-meta{padding:10px 14px;border-radius:10px;background:var(--nevoa);font-size:14px;color:var(--tinta-3)}
.termos-nota{margin-top:26px;font-size:14px;color:var(--tinta-3)}
#ag-dlg-corpo .doc-meta{margin-bottom:12px}
#ag-dlg-corpo h3{margin-top:14px;font-size:16px;font-weight:800;text-transform:uppercase;color:var(--verde)}
#ag-dlg-corpo p, #ag-dlg-corpo ul{font-size:16px;line-height:1.6;color:var(--tinta-2)}
#ag-dlg-corpo p + p{margin-top:10px}
#ag-dlg-corpo ul{margin:10px 0 0;padding-left:20px;display:grid;gap:8px}

/* ---------------- versão 19: blog ainda sem artigos */
.pauta{background:var(--nevoa);border:1px solid var(--linha);color:var(--tinta-3);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
article.post:hover h3{color:var(--tinta)}
article.destaque:hover h2{color:var(--verde)}
.blog-aviso{max-width:60ch;margin:0 auto;text-align:center;font-size:16px;color:var(--tinta-2)}

/* ---------------- versão 21: painel da agenda ligado ao banco */
.pa-caixa{max-width:420px;margin:0 auto;padding:clamp(22px, 3vw, 32px);border:1px solid var(--linha);border-radius:var(--raio);background:#fff;display:flex;flex-direction:column;gap:14px}
.pa-caixa h2{font-size:26px;font-weight:800;color:var(--verde)}
.pa-caixa p{font-size:16px;color:var(--tinta-2)}
.pa-caixa form{display:flex;flex-direction:column;gap:12px}
.pa-caixa label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:700;color:var(--tinta)}
.pa-caixa input{min-height:48px;padding:10px 14px;border:1.5px solid var(--linha);border-radius:12px;font:inherit;font-size:16px;color:var(--tinta);background:#fff}
.pa-caixa input:focus{outline:3px solid var(--agua);outline-offset:1px;border-color:var(--verde-2)}

.pa-barra{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;margin-bottom:20px}
.pa-navega{display:flex;align-items:center;gap:12px}
.pa-navega b{font-size:16px;font-weight:800;color:var(--verde);min-width:11ch;text-align:center}
.pa-seta{width:40px;height:40px;border-radius:50%;border:1.5px solid var(--linha);background:#fff;color:var(--verde);font:inherit;font-size:16px;line-height:1;cursor:pointer}
.pa-seta:hover{border-color:var(--verde-2)}
.pa-quem{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--tinta-2)}
.pa-sair{min-height:40px;padding:8px 16px;border-radius:999px;border:1.5px solid var(--linha);background:#fff;color:var(--verde);font:inherit;font-size:14px;font-weight:700;cursor:pointer}

.pa-abrir{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;padding:16px 18px;border-radius:14px;background:var(--nevoa);border:1px solid var(--linha);margin-bottom:8px}
.pa-abrir label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--tinta-3)}
.pa-abrir input, .pa-abrir select{min-height:44px;padding:8px 12px;border:1.5px solid var(--linha);border-radius:10px;font:inherit;font-size:16px;color:var(--tinta);background:#fff}
.pa-abrir input:focus, .pa-abrir select:focus{outline:3px solid var(--agua);outline-offset:1px;border-color:var(--verde-2)}
.pa-abrir .btn{min-height:44px}
#pn-erro{margin:10px 0 0;font-size:14px;font-weight:600;color:#B42318}

.pa-semana{display:grid;grid-template-columns:repeat(7, minmax(0, 1fr));gap:10px;margin-top:22px}
.pa-semana[aria-busy="true"]{opacity:.5}
.pa-dia{min-width:0;display:flex;flex-direction:column;gap:8px;padding:12px 10px;border:1px solid var(--linha);border-radius:12px;background:#fff}
.pa-dia.hoje{border-color:var(--verde-2);box-shadow:0 0 0 1px var(--verde-2)}
.pa-dia h3{font-size:14px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--verde)}
.pa-data-col{font-size:14px;color:var(--tinta-3);margin-top:-4px}
.pa-vazio{font-size:14px;color:var(--tinta-3);font-style:italic}
.pa-janela{position:relative;display:flex;flex-direction:column;gap:2px;padding:9px 26px 9px 10px;border-radius:9px;background:var(--nevoa);border:1px solid var(--linha)}
.pa-janela b{font-size:14px;color:var(--tinta);font-variant-numeric:tabular-nums}
.pa-janela .pa-local{font-size:12px;color:var(--tinta-2)}
.pa-fechar{position:absolute;top:4px;right:4px;width:22px;height:22px;border:0;border-radius:6px;background:transparent;color:var(--tinta-3);font:inherit;font-size:16px;line-height:1;cursor:pointer}
.pa-fechar:hover{background:#FDE8E6;color:#B42318}
.pa-consulta{display:flex;flex-direction:column;gap:2px;padding:9px 10px;border-radius:9px;background:#fff;border:1.5px solid var(--agua-claro)}
.pa-consulta.paga{border-color:var(--verde-2);background:var(--agua)}
.pa-consulta b{font-size:14px;color:var(--verde);font-variant-numeric:tabular-nums}
.pa-consulta span{font-size:14px;color:var(--tinta);line-height:1.3;overflow-wrap:anywhere}
.pa-consulta small{font-size:12px;color:var(--tinta-2)}

@media (max-width: 1000px){ .pa-semana{grid-template-columns:repeat(2, minmax(0, 1fr))} }
@media (max-width: 560px){ .pa-semana{grid-template-columns:1fr} .pa-abrir label{flex:1 1 140px} }
body[data-pagina="painel"] .zap{display:none}
/* ---------------- versão 22: endereço no agendamento */
.opcional{font-weight:500;color:var(--tinta-3)}
.ag-endereco{grid-column:1 / -1;margin:2px 0 0;padding:10px 14px;border-radius:10px;background:var(--nevoa);border:1px solid var(--linha);font-size:14px;color:var(--tinta-2)}
.ag-endereco.buscando{color:var(--tinta-3);font-style:italic}  /* ---------------- versão 23: pagamento de verdade */
.pix-qr{display:block;margin:0 auto 14px;width:240px;height:240px;border-radius:12px;border:1px solid var(--linha);background:#fff}
.pix-copia{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.pix-copia input{flex:1 1 220px;min-width:0;min-height:44px;padding:8px 12px;border:1.5px solid var(--linha);border-radius:10px;font:inherit;font-size:14px;color:var(--tinta-2);background:var(--nevoa);text-overflow:ellipsis}
.pix-copia .btn{min-height:44px}
.ag-esperando{margin:16px 0 0;font-size:14px;color:var(--tinta-2)}
.ag-esperando.ok{color:var(--verde);font-weight:700}
.ag-esperando.falhou{color:#B42318;font-weight:600}  /* ---------------- versão 24: pesquisa de satisfação */
.av-wrap{max-width:720px;margin:0 auto}
.av-caixa{border:1px solid var(--linha);border-radius:16px;background:#fff;padding:clamp(22px, 3.4vw, 34px)}
.av-caixa h2{margin:0 0 10px;font-size:clamp(22px, 2.6vw, 30px);color:var(--verde);letter-spacing:-.02em}
.av-caixa > p{margin:0;font-size:16px;line-height:1.65;color:var(--tinta-2)}
.av-escala{border:0;margin:0;padding:0}
.av-escala legend{padding:0;font-size:clamp(16px, 1.7vw, 20px);font-weight:700;color:var(--tinta);line-height:1.45}
.av-notas{display:grid;grid-template-columns:repeat(11, 1fr);gap:6px;margin-top:20px}
.av-nota{min-height:48px;border:1.5px solid var(--linha);border-radius:10px;background:#fff;color:var(--verde);font:inherit;font-size:16px;font-weight:700;cursor:pointer;transition:background .15s ease, color .15s ease, border-color .15s ease}
.av-nota:hover{border-color:var(--verde)}
.av-nota[aria-pressed="true"]{background:var(--verde);border-color:var(--verde);color:#fff}
.av-pontas{display:flex;justify-content:space-between;gap:12px;margin-top:8px;font-size:12px;color:var(--tinta-3)}
.av-comentario{margin-top:26px}
.av-comentario textarea{width:100%;min-height:112px;padding:12px 14px;border:1.5px solid var(--linha);border-radius:12px;font:inherit;font-size:16px;color:var(--tinta);background:#fff;resize:vertical}
.av-comentario textarea:focus{outline:2px solid var(--verde);outline-offset:1px;border-color:var(--verde)}
.av-acoes{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.av-nota-rodape{margin:18px 0 0;font-size:14px;line-height:1.6;color:var(--tinta-3)}
.av-obrigado h2{color:var(--verde)}
@media (max-width: 620px){
  .av-notas{grid-template-columns:repeat(6, 1fr)}
  .av-pontas{font-size:12px}
}  /* ---------------- versão 25: atendimentos e NPS no painel */
.pa-abas{display:flex;gap:8px;margin:18px 0 4px;border-bottom:1px solid var(--linha)}
.pa-aba{appearance:none;border:0;background:none;font:inherit;font-size:16px;font-weight:700;color:var(--tinta-3);padding:10px 4px;margin-bottom:-1px;border-bottom:2.5px solid transparent;cursor:pointer}
.pa-aba:hover{color:var(--verde)}
.pa-aba[aria-selected="true"]{color:var(--verde);border-bottom-color:var(--verde)}
.pa-nps{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(18px, 3vw, 40px);margin:22px 0 6px;padding:20px 22px;border:1px solid var(--linha);border-radius:14px;background:var(--nevoa)}
.pa-nps-numero{display:flex;flex-direction:column;gap:2px}
.pa-nps-numero b{font-size:40px;line-height:1;color:var(--verde);letter-spacing:-.03em}
.pa-nps-numero span{font-size:12px;color:var(--tinta-3)}
.pa-nps-detalhe{display:flex;flex-wrap:wrap;gap:clamp(14px, 2.6vw, 32px);margin:0}
.pa-nps-detalhe div{display:flex;flex-direction:column;gap:2px}
.pa-nps-detalhe dt{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--tinta-3);font-weight:700}
.pa-nps-detalhe dd{margin:0;font-size:19px;font-weight:700;color:var(--tinta)}
.pa-lista{display:flex;flex-direction:column;gap:10px;margin-top:18px}
.pa-atend{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--linha);border-radius:12px;background:#fff}
.pa-atend-quem{flex:1 1 210px;min-width:0}
.pa-atend-quem b{display:block;font-size:16px;color:var(--tinta)}
.pa-atend-quem small{display:block;margin-top:2px;font-size:12px;color:var(--tinta-3)}
.pa-atend .btn{min-height:40px;padding:8px 16px;font-size:14px}
.pa-selo{font-size:12px;font-weight:700;padding:5px 11px;border-radius:999px;background:var(--nevoa);color:var(--tinta-2);border:1px solid var(--linha)}
.pa-selo.enviado{background:#EAF4F0;color:var(--verde);border-color:#BFE0D5}
.pa-selo.promotor{background:#EAF4F0;color:var(--verde);border-color:#BFE0D5}
.pa-selo.neutro{background:#FBF6E8;color:#7A6320;border-color:#EADFBF}
.pa-selo.detrator{background:#FDEDEA;color:#8C2A1B;border-color:#F3CFC8}
.pa-comentarios{margin-top:30px}
.pa-comentarios h3{margin:0 0 12px;font-size:16px;color:var(--verde)}
.pa-comentario{padding:14px 16px;border:1px solid var(--linha);border-left-width:3px;border-radius:10px;background:#fff;margin-bottom:10px}
.pa-comentario.promotor{border-left-color:var(--verde)}
.pa-comentario.neutro{border-left-color:#D9C489}
.pa-comentario.detrator{border-left-color:#C9705F}
.pa-comentario p{margin:0;font-size:14px;line-height:1.6;color:var(--tinta-2)}
.pa-comentario small{display:block;margin-top:8px;font-size:12px;color:var(--tinta-3)}
.pa-vazio-lista{padding:26px;text-align:center;font-size:14px;color:var(--tinta-3);border:1px dashed var(--linha);border-radius:12px}  /* ---------------- versão 26: marcar a próxima consulta */
.pa-marcar{margin:18px 0 4px;padding:20px 22px;border:1.5px solid var(--verde);border-radius:14px;background:#fff}
.pa-marcar-quem{margin:0 0 14px;font-size:16px;color:var(--tinta-2)}
.pa-marcar-quem b{color:var(--verde)}
.pa-marcar-campos{display:flex;flex-wrap:wrap;gap:12px}
.pa-marcar-campos label{display:flex;flex-direction:column;gap:5px;flex:1 1 150px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--tinta-3)}
.pa-marcar-campos input,.pa-marcar-campos select{min-height:46px;padding:8px 12px;border:1.5px solid var(--linha);border-radius:10px;font:inherit;font-size:16px;font-weight:500;letter-spacing:normal;text-transform:none;color:var(--tinta);background:#fff}
.pa-marcar-campos input:focus,.pa-marcar-campos select:focus{outline:2px solid var(--verde);outline-offset:1px;border-color:var(--verde)}
.pa-marcar-nota{margin:12px 0 0;font-size:14px;color:var(--tinta-3)}
.pa-marcar-acoes{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.pa-marcar-acoes .btn{min-height:44px;padding:10px 20px;font-size:14px}
.pa-proxima{font-size:12px;color:var(--verde);font-weight:700}  /* ---------------- versão 27: confirmação do horário */
.cf-quando{padding:20px 22px;border:1px solid var(--linha);border-radius:12px;background:var(--nevoa)}
.cf-quando .cf-dia{font-size:clamp(16px, 1.7vw, 20px);font-weight:800;color:var(--verde);line-height:1.25}
.cf-quando .cf-hora{margin-top:4px;font-size:16px;font-weight:700;color:var(--verde)}
.cf-quando .cf-hora span{font-weight:400;font-size:14px;color:var(--tinta-3)}
.cf-quando .cf-onde{margin-top:14px;padding-top:14px;border-top:1px solid var(--linha);font-size:16px;line-height:1.55;color:var(--tinta)}
.cf-quando .cf-servico{font-size:14px;color:var(--tinta-3);margin-bottom:4px}
.cf-aceite{margin:20px 0 0;font-size:14px;line-height:1.65;color:var(--tinta-3)}
.cf-aceite a{color:var(--verde);font-weight:700}  /* ---------------- versão 28: pagamento na confirmação */
.cf-metodos{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.cf-metodos .btn{min-height:46px}
.cf-reserva{margin:14px 0 0;font-size:14px;color:var(--tinta-3)}
.cf-reserva b{color:var(--verde)}
#cf-pagar .gateway{margin-top:22px;padding-top:20px;border-top:1px solid var(--linha)}
#cf-pagar .gateway p{font-size:14px;line-height:1.6;color:var(--tinta-2)}  /* ---------------- versão 30: cancelar e remarcar */
/* a consulta virou botão: precisa desfazer o visual que o navegador dá a um */
.pa-consulta{display:block;width:100%;text-align:left;font:inherit;cursor:pointer;appearance:none}
.pa-consulta:hover{border-color:var(--verde)}
.pa-consulta:focus-visible{outline:2px solid var(--verde);outline-offset:2px}
.pa-det{margin-top:18px;padding:20px 22px;border:1.5px solid var(--verde);border-radius:14px;background:#fff}
.pa-det-cab{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}
.pa-det-cab b{display:block;font-size:16px;color:var(--tinta)}
.pa-det-cab small{display:block;margin-top:3px;font-size:14px;color:var(--tinta-3)}
.pa-det-motivo{display:block;margin:0 0 4px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--tinta-3)}
.pa-det-motivo input{display:block;width:100%;margin-top:6px;min-height:46px;padding:8px 12px;border:1.5px solid var(--linha);border-radius:10px;font:inherit;font-size:16px;font-weight:500;letter-spacing:normal;text-transform:none;color:var(--tinta);background:#fff}
.pa-det-motivo input:focus{outline:2px solid var(--verde);outline-offset:1px;border-color:var(--verde)}
.pa-det-saida{margin:16px 0 0;padding:12px 14px;border-radius:10px;background:var(--nevoa);border:1px solid var(--linha);font-size:14px;line-height:1.6;color:var(--tinta-2)}
.btn-perigo{background:#fff;color:#8C2A1B;border:1.5px solid #E7BDB5}
.btn-perigo:hover{background:#FDEDEA;border-color:#C9705F;color:#8C2A1B}  /* ---------------- versão 31: a tela da consulta do paciente */
.cf-prazo{margin:16px 0 0;font-size:14px;line-height:1.6;color:var(--tinta-3)}
.cf-prazo b{color:var(--verde)}
.cf-feito{margin:16px 0 0;padding:12px 14px;border-radius:10px;background:var(--nevoa);border:1px solid var(--verde);font-size:14px;line-height:1.6;color:var(--tinta)}
.cf-alterar{margin-top:22px;padding-top:20px;border-top:1px solid var(--linha)}
.cf-alterar h3{margin:0 0 8px;font-size:16px;color:var(--tinta)}
.cf-nota{margin:0 0 16px;font-size:14px;line-height:1.6;color:var(--tinta-2)}
.cf-tiras{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.cf-tiras:empty{display:none}
.cf-tira{appearance:none;font:inherit;font-size:14px;font-weight:600;line-height:1.3;cursor:pointer;
  padding:9px 13px;border:1.5px solid var(--linha);border-radius:10px;background:#fff;color:var(--tinta-2);min-height:44px}
.cf-tira:hover{border-color:var(--verde)}
.cf-tira:focus-visible{outline:2px solid var(--verde);outline-offset:2px}
.cf-tira[aria-pressed="true"]{background:var(--verde);border-color:var(--verde);color:#fff}
.cf-horas .cf-tira{min-width:76px;text-align:center}
.cf-motivo{display:block;margin:0 0 6px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--tinta-3)}
.cf-motivo .opcional{font-weight:400;letter-spacing:normal;text-transform:none}
#cf-cancelar-motivo{display:block;width:100%;min-height:46px;margin-bottom:16px;padding:8px 12px;border:1.5px solid var(--linha);border-radius:10px;font:inherit;font-size:16px;color:var(--tinta);background:#fff}
#cf-cancelar-motivo:focus{outline:2px solid var(--verde);outline-offset:1px;border-color:var(--verde)}  /* ---------------- versão 33: o consentimento opcional */
.ag-opcional{margin-top:8px;padding:8px 16px;border:1.5px dashed var(--linha);border-radius:12px}
.ag-opcional .aceite{padding:4px 0}
.ag-opcional .aceite label{font-size:14px;color:var(--tinta-2);line-height:1.5}
.ag-opcional .opcional{font-size:14px;white-space:nowrap}
/* ---------------- versão 36: a fila do painel */
.pa-conta{display:inline-block;min-width:20px;margin-left:6px;padding:1px 6px;border-radius:999px;
  background:var(--verde);color:#fff;font-size:12px;font-weight:700;line-height:18px;text-align:center}
.pa-fila-topo{display:flex;justify-content:flex-end;margin:10px 0 2px}
.pa-atualiza{border:1.5px solid var(--linha);background:#fff;color:var(--tinta-2);
  border-radius:999px;padding:8px 16px;font-size:14px;font-weight:600;cursor:pointer}
.pa-atualiza:hover{border-color:var(--verde);color:var(--verde)}
.pa-fila-titulo{margin:18px 0 8px;font-size:14px;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;color:var(--tinta-3)}
.pa-fila{display:grid;gap:10px}
.pa-fila-vazio{margin:0;padding:18px;border:1.5px dashed var(--linha);border-radius:12px;
  color:var(--tinta-3);font-size:14px;text-align:center}

.pa-cartao{display:block;width:100%;text-align:left;border:1.5px solid var(--linha);
  background:#fff;border-radius:14px;padding:14px 16px;cursor:pointer;font:inherit;color:inherit}
.pa-cartao:hover{border-color:var(--verde)}
.pa-cartao-alto{border-color:#C0392B;border-left-width:5px}
.pa-cartao-linha{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.pa-cartao-nome{font-size:16px;font-weight:700;color:var(--tinta)}
.pa-cartao-quando{font-size:12px;color:var(--tinta-3);white-space:nowrap}
.pa-cartao-motivo{display:inline-block;margin:6px 0 0;padding:2px 8px;border-radius:999px;
  background:var(--nevoa);font-size:12px;font-weight:600;color:var(--tinta-2)}
.pa-cartao-motivo.eh-clinico{background:#FDECEA;color:#A5281B}
.pa-cartao-ultima{margin:8px 0 0;font-size:14px;color:var(--tinta-2);line-height:1.5;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pa-cartao-acoes{display:flex;gap:8px;margin-top:12px}
.pa-cartao-acoes .btn{flex:1;padding:10px 12px;font-size:14px}

.pa-conversa{position:fixed;inset:0;z-index:60;background:var(--fundo,#fff);overflow-y:auto;
  padding:16px 16px 24px;display:grid;align-content:start;gap:14px}
.pa-conversa-topo{display:flex;align-items:center;gap:12px}
.pa-voltar{border:0;background:none;color:var(--verde);font:inherit;font-weight:700;
  font-size:16px;cursor:pointer;padding:8px 4px}
.pa-conversa-topo b{display:block;font-size:16px;color:var(--tinta)}
.pa-conversa-topo small{display:block;font-size:14px;color:var(--tinta-3)}
.pa-conversa-ficha{border:1.5px solid var(--linha);border-radius:12px;padding:12px 14px;
  font-size:14px;color:var(--tinta-2);line-height:1.6;background:var(--nevoa)}
.pa-conversa-fio{display:grid;gap:8px}
.pa-fala{max-width:86%;padding:10px 13px;border-radius:14px;font-size:16px;line-height:1.55;
  white-space:pre-wrap;word-wrap:break-word}
.pa-fala-entrada{justify-self:start;background:var(--nevoa);color:var(--tinta);
  border-bottom-left-radius:4px}
.pa-fala-saida{justify-self:end;background:var(--verde);color:#fff;border-bottom-right-radius:4px}
.pa-fala-equipe{justify-self:end;background:var(--verde-alto,#0A564C);color:#fff;
  border-bottom-right-radius:4px}
.pa-fala-quem{display:block;margin-bottom:2px;font-size:12px;font-weight:700;
  letter-spacing:.04em;text-transform:uppercase;opacity:.75}
.pa-conversa-responder{display:grid;gap:10px;position:sticky;bottom:0;
  background:var(--fundo,#fff);padding-top:10px}
.pa-conversa-responder textarea{width:100%;border:1.5px solid var(--linha);border-radius:12px;
  padding:12px 14px;font:inherit;font-size:16px;resize:vertical}
.pa-conversa-acoes{display:flex;gap:10px}
.pa-conversa-acoes .btn{flex:1}
/* ---------------- versão 38: identificação no cartão */
.pa-cartao-quem{display:block;margin:3px 0 0;font-size:14px;color:var(--tinta-3);
  font-variant-numeric:tabular-nums}

/* ---------------- versão 42: resumo de gestão */
.rs-topo{display:flex;gap:8px;margin:12px 0 4px;flex-wrap:wrap;align-items:center}
.rs-atualizar{padding:10px 16px;font-size:14px}
.rs-bloco{margin-top:18px}
.rs-bloco > h3{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--tinta-3);margin:0 0 8px}
.rs-cartoes{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.rs-cartao{border:1.5px solid var(--linha);border-radius:14px;padding:14px 16px;background:#fff;
  display:flex;flex-direction:column;gap:2px}
.rs-cartao b{font-size:26px;line-height:1.1;color:var(--tinta);font-variant-numeric:tabular-nums}
.rs-cartao span{font-size:14px;color:var(--tinta-2);font-weight:600}
.rs-cartao small{font-size:12px;color:var(--tinta-3);line-height:1.45}
.rs-cartao.bom{border-color:#9FCFC4;background:#F3FAF8}
.rs-cartao.bom b{color:#0A564C}
.rs-cartao.atencao{border-color:#E8C88A;background:#FFFAF0}
.rs-cartao.atencao b{color:#8A5A00}
.rs-cartao button{margin-top:8px;align-self:flex-start;border:1.5px solid currentColor;
  background:none;border-radius:999px;padding:5px 12px;font:inherit;font-size:12px;
  font-weight:700;cursor:pointer;color:inherit}
.rs-nota{margin:8px 0 0;font-size:12px;line-height:1.5;color:var(--tinta-3)}
.pn-h3{margin:0 0 6px;font-size:16px;font-weight:800;color:var(--tinta)}
/* "para quem faz sentido, e quando não é necessário": o critério, em voz mais baixa que a lista */
.quando{margin:12px 0 0;font-size:14px;line-height:1.6;color:var(--tinta-3);
  border-left:2px solid var(--linha);padding-left:12px}
.pa-envio{border:1.5px dashed var(--linha);border-radius:12px;padding:12px 14px;margin:0 0 10px;
  display:flex;flex-direction:column;gap:8px;background:var(--nevoa)}
.pa-envio > b{font-size:14px;color:var(--tinta-2)}
.pa-envio select,.pa-envio input[type=text]{border:1.5px solid var(--linha);border-radius:10px;
  padding:9px 11px;font:inherit;font-size:16px;background:#fff}
.pa-envio input[type=file]{font-size:14px}
.pa-envio-aviso{display:flex;gap:8px;align-items:center;font-size:14px;color:var(--tinta-3)}
.pa-envio-aviso input{width:16px;height:16px}
.pa-envio-msg{margin:0;font-size:14px;color:var(--tinta-3);min-height:1em}

/* ---------------- a agenda: cor por modalidade, local no alto ----------------
   UMA DIMENSÃO POR CANAL. Cor carrega a modalidade e só ela. O local, que também importa,
   vai como texto no alto do cartão — se as duas coisas virassem cor seriam nove
   combinações, e nove cores não se distinguem de relance.

   AS CORES PASSARAM POR VALIDADOR, em todos os pares e nos três tipos de daltonismo. Dois
   verdes (a ideia inicial) foram descartados: somem um no outro para quem tem deuteranopia.
   E a cor nunca fica sozinha — o nome da modalidade continua escrito no cartão. */
.pa-semana .pa-consulta[data-tipo="primeira"]{--modal:#0E9C80;--modal-fundo:#E7F5F2;
  --modal-linha:#A6DACE}
.pa-semana .pa-consulta[data-tipo="acompanhamento"]{--modal:#7A57D1;--modal-fundo:#F2EEFA;
  --modal-linha:#CBBCEE}
.pa-semana .pa-consulta[data-tipo="devolutiva"]{--modal:#C07C10;--modal-fundo:#F9F2E7;
  --modal-linha:#E8CFA3}
/* O FUNDO PREENCHIDO, e não só a faixa. Uma tinta de 10% da cor sobre branco: forte o
   bastante para a modalidade se reconhecer de longe, clara o bastante para o texto
   continuar em tinta escura e legível. A faixa esquerda fica, mais grossa, porque é ela
   que ainda funciona em impressão a preto e branco e em modo de alto contraste. */
.pa-semana .pa-consulta{--modal:var(--tinta-3);--modal-fundo:#fff;--modal-linha:var(--linha);
  background:var(--modal-fundo);border:1.5px solid var(--modal-linha);
  border-left:4px solid var(--modal)}
.pa-semana .pa-consulta:hover{border-color:var(--modal);border-left-color:var(--modal)}
/* "paga" deixa de repintar o cartão inteiro: a cor agora pertence à modalidade, e duas
   coisas disputando o mesmo fundo é como se perde as duas. Pago vira o texto do rodapé. */
.pa-semana .pa-consulta.paga{background:var(--modal-fundo);border-color:var(--modal-linha);
  border-left-color:var(--modal)}
.pa-semana .pa-consulta.paga .pa-c-tipo{color:var(--verde);font-weight:700}

.pa-c-local{display:block;font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;
  font-weight:700;color:var(--modal);margin-bottom:5px}
/* HORÁRIO EM CIMA, NOME EMBAIXO. A primeira tentativa pôs os dois lado a lado e a
   renderização mostrou por que não dá: numa semana de sete colunas sobram uns 75px para o
   nome, e "Braulio Pinheiro" quebrava letra por letra — "Brauli/o/Pinhe/iro". Em linhas
   separadas, cada um tem a largura inteira da coluna.
   Na visão de dia, que tem uma coluna larga, eles voltam para a mesma linha. */
.pa-c-linha{display:block;margin-bottom:4px}
.pa-c-linha b{display:block;font-size:14.5px;font-weight:800;color:var(--tinta);
  line-height:1.2}
.pa-c-nome{display:block;font-size:13.5px;color:var(--tinta);line-height:1.3;
  overflow-wrap:break-word}
.pa-c-tipo{display:block;font-size:11.5px;color:var(--tinta-3);line-height:1.4}

/* ---------------- o cartão do horário aberto ----------------
   Mesma ordem do cartão da consulta: cidade em cima, horário embaixo. Duas ordens
   diferentes na mesma coluna obrigam o olho a reaprender a cada cartão.

   O horário ganha nowrap: "08:00 às 12:00" quebrava em "08:00 às" / "12:00", e meia
   frase de horário não é horário. Com o traço no lugar do "às" ele cabe inteiro. */
.pa-semana .pa-janela{padding:10px 28px 11px 12px;gap:4px}
.pa-semana .pa-janela .pa-local{order:-1;font-size:10.5px;letter-spacing:.11em;
  text-transform:uppercase;font-weight:700;color:var(--tinta-3)}
.pa-semana .pa-janela b{font-size:14.5px;font-weight:800;white-space:nowrap}
.pa-semana .pa-fechar{top:6px;right:6px;width:24px;height:24px;font-size:17px}
.pa-semana .pa-fechar:hover{background:var(--linha);color:var(--tinta)}

.pa-legenda{display:flex;flex-wrap:wrap;gap:14px;margin:0 0 14px;
  font-size:12px;color:var(--tinta-3)}
.pa-legenda span{display:inline-flex;align-items:center;gap:6px}
.pa-legenda i{width:9px;height:9px;border-radius:3px;flex:0 0 auto}
.pa-legenda i[data-tipo="primeira"]{background:#0E9C80}
.pa-legenda i[data-tipo="acompanhamento"]{background:#7A57D1}
.pa-legenda i[data-tipo="devolutiva"]{background:#C07C10}

.pa-visoes{display:inline-flex;border:1px solid var(--linha);border-radius:999px;
  overflow:hidden;margin-left:auto}
.pa-visao{border:0;background:#fff;font:inherit;font-size:12.5px;font-weight:700;
  color:var(--tinta-3);padding:6px 14px;cursor:pointer}
.pa-visao + .pa-visao{border-left:1px solid var(--linha)}
.pa-visao:hover{color:var(--verde)}
.pa-visao.ativo{background:var(--verde);color:#fff}
.pa-hoje{border:1px solid var(--linha);background:#fff;font:inherit;font-size:12.5px;
  font-weight:700;color:var(--tinta-2);padding:6px 13px;border-radius:999px;cursor:pointer}
.pa-hoje:hover{border-color:var(--verde);color:var(--verde)}

/* ---- visão de um dia só: uma coluna larga, com mais ar */
.pa-semana.dia{grid-template-columns:minmax(0,560px)}
.pa-semana.dia .pa-consulta{padding:12px 14px}
.pa-semana.dia .pa-c-linha{display:flex;align-items:baseline;gap:9px}
.pa-semana.dia .pa-c-linha b{display:inline;flex:0 0 auto;font-size:16px}
.pa-semana.dia .pa-c-nome{display:inline;font-size:15px}

/* ---- visão do mês: sete colunas, cartão reduzido à linha essencial */
.pa-semana.mes{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.pa-semana.mes .pa-dia{min-height:96px;padding:7px 8px}
.pa-semana.mes .pa-dia h3{font-size:10px;letter-spacing:.08em}
.pa-semana.mes .pa-data-col{font-size:12px;margin-bottom:5px}
.pa-semana.mes .pa-vazio,
.pa-semana.mes .pa-janela{display:none}
.pa-semana.mes .pa-consulta{padding:4px 6px;margin-bottom:3px}
.pa-semana.mes .pa-c-local,
.pa-semana.mes .pa-c-tipo{display:none}
.pa-semana.mes .pa-c-linha{gap:5px;margin:0}
.pa-semana.mes .pa-c-linha b{font-size:11.5px}
.pa-semana.mes .pa-c-nome{font-size:11.5px;white-space:nowrap;overflow:hidden;
  text-overflow:ellipsis}
.pa-semana.mes .pa-dia.fora{opacity:.42}
.pa-cabeca-dia{font-size:10px;letter-spacing:.1em;font-weight:800;color:var(--tinta-3);
  text-align:center;padding:2px 0 4px}

/* ---------------- CELULAR ----------------
   Três coisas quebram numa tela estreita, e as três são minhas:

   1. .pa-semana.mes tem duas classes e por isso VENCE as regras de uma classe só que já
      faziam a semana cair para duas colunas e depois uma. Sem desfazer aqui, o mês ficaria
      com sete colunas de 45px no celular.
   2. O seletor de visão estava colado à direita por margin-left:auto, o que no celular o
      empurra para fora da linha.
   3. No mês, nome e horário não cabem numa célula de 45px.

   O mês não vira lista: ele existe justamente para mostrar a FORMA do mês — onde há buraco
   de agenda, onde as cidades se alternam. Uma lista perde isso. Então a célula guarda o
   número do dia e um ponto colorido por consulta, que é como todo calendário de telefone
   resolve o mesmo problema. Tocar no dia continua abrindo a consulta. */
@media (max-width:820px){
  .pa-visoes{margin-left:0}
  .pa-navega.gs-semana{flex-wrap:wrap;gap:8px}
}
@media (max-width:640px){
  .pa-semana.dia{grid-template-columns:1fr}
  .pa-semana.mes{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
  .pa-semana.mes .pa-dia{min-height:54px;padding:4px 2px}
  .pa-semana.mes .pa-data-col{font-size:11px;text-align:center;margin:0 0 3px}
  .pa-cabeca-dia{font-size:8.5px;letter-spacing:.04em}
  .pa-semana.mes .pa-consulta{display:inline-block;width:7px;height:7px;padding:0;
    margin:0 2px 2px 0;border:0;border-left:0;border-radius:2px;background:var(--modal);
    min-height:0;vertical-align:top}
  .pa-semana.mes .pa-c-linha{display:none}
  .pa-legenda{font-size:11px;gap:10px}
  /* Numa coluna só, o dia sem nada encolhe para uma linha. Quatro cartões de "sem horário
     aberto" ocupavam a primeira tela inteira antes da primeira consulta aparecer. */
  /* flex-direction:row desfaz o column da regra base de .pa-dia — sem isso, display:flex
     sozinho não muda nada e os três pedaços continuam empilhados. */
  .pa-semana .pa-dia.sem-nada{padding:9px 13px;min-height:0;
    display:flex;flex-direction:row;align-items:baseline;gap:8px;flex-wrap:nowrap}
  /* flex:0 0 auto nos dois primeiros: sem isso o h3 herda a largura de bloco e empurra a
     data para a linha de baixo, que era o que sobrava de altura para cortar */
  .pa-semana .pa-dia.sem-nada h3{flex:0 0 auto;font-size:11.5px;margin:0;width:auto}
  .pa-semana .pa-dia.sem-nada .pa-data-col{flex:0 0 auto;margin:0;font-size:12px;width:auto}
  .pa-semana .pa-dia.sem-nada .pa-vazio{flex:1 1 auto;text-align:right;margin:0;
    font-size:11.5px;white-space:nowrap}
}

/* A célula do mês vira alvo de toque: o ponto colorido tem sete pixels, que serve ao olho
   e não ao dedo. Tocar no dia abre aquele dia, onde cada consulta é um cartão inteiro. */
.pa-semana.mes .pa-dia.clicavel{cursor:pointer}
.pa-semana.mes .pa-dia.clicavel:hover{border-color:var(--verde)}
.pa-semana.mes .pa-dia.clicavel:focus-visible{outline:2px solid var(--verde);
  outline-offset:2px}


/* ---------------- a pasta: divisórias à esquerda, conteúdo à direita ----------------
   A divisória fica ao lado, não na frente. Todas continuam à mostra — inclusive as vazias,
   que é como o paciente aprende que existe lugar para a receita antes de ter receita — mas
   sem empurrar o documento para baixo da dobra. */
.pc-pasta{display:grid;grid-template-columns:232px minmax(0,1fr);gap:22px;align-items:start}
.pc-menu{display:flex;flex-direction:column;border:1px solid var(--linha);border-radius:12px;
  overflow:hidden;background:#fff}
.pc-menu-item{display:flex;align-items:center;gap:11px;width:100%;text-align:left;
  border:0;border-bottom:1px solid var(--linha);background:#fff;font:inherit;
  padding:10px 13px;cursor:pointer;color:var(--tinta-2);transition:background .12s,color .12s}
.pc-menu-item:last-child{border-bottom:0}
.pc-menu-item svg{width:21px;height:21px;flex:0 0 auto;color:var(--verde)}
.pc-menu-txt{min-width:0}
.pc-menu-txt b{display:block;font-size:13.5px;font-weight:700;color:var(--tinta);
  line-height:1.25}
.pc-menu-txt i{display:block;font-style:normal;font-size:11.5px;color:var(--tinta-3);
  margin-top:1px}
.pc-menu-item:hover{background:var(--nevoa)}
.pc-menu-item.vazia svg{color:var(--tinta-3);opacity:.6}
.pc-menu-item.vazia .pc-menu-txt b{color:var(--tinta-3);font-weight:600}
.pc-menu-item.ativo{background:var(--nevoa)}
.pc-menu-item.ativo .pc-menu-txt b{color:var(--verde)}
.pc-menu-item.ativo svg{color:var(--verde);opacity:1}

.pc-pasta-tit{margin:0 0 12px;font-size:16px;font-weight:800;color:var(--verde)}
.pc-vazio{margin:0;padding:18px 2px;font-size:14px;line-height:1.6;color:var(--tinta-3)}

/* No telefone a coluna vira fila. Doze itens empilhados num celular esconderiam o
   documento atrás de uma rolagem inteira — o defeito que este desenho veio consertar. */
@media (max-width:820px){
  .pc-pasta{grid-template-columns:1fr;gap:16px}
  .pc-menu{flex-direction:row;overflow-x:auto;border-radius:11px;
    scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .pc-menu::-webkit-scrollbar{display:none}
  /* width:auto desfaz o 100% da regra base: numa fila, 100% faz cada item ocupar a
     largura toda e esconder todos os outros atrás da rolagem. */
  .pc-menu-item{flex:0 0 auto;width:auto;border-bottom:0;
    border-right:1px solid var(--linha);padding:9px 14px}
  .pc-menu-item:last-child{border-right:0}
  .pc-menu-txt i{display:none}
}

/* ---------------- o visualizador ----------------
   Sair da página para ver um exame é perder o lugar. A camada mostra o documento por cima
   da lista; fechar devolve a pessoa exatamente onde ela estava. Fundo escuro o bastante
   para tirar a lista do caminho, claro o bastante para ela continuar ali atrás. */
.pc-visor{position:fixed;inset:0;z-index:90;background:rgba(9,33,26,.72);
  display:flex;align-items:center;justify-content:center;padding:16px}
.pc-visor-caixa{background:#fff;border-radius:14px;width:min(960px,100%);
  height:min(88vh,100%);display:flex;flex-direction:column;overflow:hidden;
  box-shadow:0 24px 60px rgba(9,33,26,.34)}
.pc-visor-topo{display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:14px 16px;border-bottom:1px solid var(--linha)}
.pc-visor-tit{min-width:0}
.pc-visor-tit b{display:block;font-size:15px;color:var(--tinta);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pc-visor-tit span{font-size:12.5px;color:var(--tinta-3)}
.pc-visor-acoes{display:flex;gap:8px;flex:0 0 auto}
.pc-visor-corpo{flex:1;min-height:0;background:var(--nevoa);display:flex}
.pc-visor-corpo iframe{width:100%;height:100%;border:0}
.pc-visor-corpo img{margin:auto;max-width:100%;max-height:100%;object-fit:contain}
@media (max-width:640px){
  .pc-visor{padding:0}
  .pc-visor-caixa{height:100%;border-radius:0;width:100%}
}


/* ---------------- o que fazer depois de agendar ----------------
   Três ações, não um parágrafo. A pessoa acabou de confirmar uma consulta e está no
   único momento em que vai ler isto; se não estiver varrível com o olho, não é lido.

   O tom é deliberadamente contido: fundo de névoa, sem borda colorida, sem ícone. Não
   disputa atenção com a confirmação — só deixa de estar escondido. */
.ok-proximos{margin:22px 0 0;padding:18px 20px;background:var(--nevoa);border-radius:12px}
.ok-proximos h3{margin:0 0 12px;font-size:14px;font-weight:800;color:var(--verde);
  letter-spacing:.01em}
.ok-proximos ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.ok-proximos li{font-size:14px;line-height:1.5;color:var(--tinta-2)}
.ok-proximos li b{display:block;color:var(--tinta);font-weight:700}
.ok-proximos li span{color:var(--tinta-3);font-size:13.5px}
.ok-proximos p{margin:14px 0 0;font-size:13px;line-height:1.6;color:var(--tinta-3)}


/* ---------------- a saída que não depende do WhatsApp ----------------
   Seis lugares do site ofereciam o WhatsApp e mais nada. Num dia em que o WhatsApp
   falha — e hoje descobrimos que ele falha para quem tem conversa antiga com o número —
   esses seis lugares viram beco sem saída para quem já estava tentando resolver algo.

   A linha é discreta de propósito: não compete com o botão, só garante que sempre há
   outro caminho. Telefone e e-mail não dependem de plataforma nenhuma. */
.saida-alt{margin:10px 0 0;font-size:13px;line-height:1.6;color:var(--tinta-3)}
.saida-alt a{color:var(--tinta-2);text-decoration:underline;text-underline-offset:2px}
.saida-alt a:hover{color:var(--verde)}


/* ---------------- o estouro da confirmação ----------------
   A tela de "consulta confirmada" já existia e chegava muda: ícone, título, lista. Do
   ponto de vista de quem acabou de decidir marcar uma consulta, isso é um aviso de
   sistema, não uma conclusão.

   O estouro dura menos de um segundo e acontece UMA vez. Não fica piscando, não repete,
   não volta quando a pessoa rola a página: comemoração que insiste vira ruído.

   As partículas não têm significado nenhum, então são aria-hidden e nunca entram na
   leitura de tela — quem usa leitor ouve "Consulta confirmada", que é a informação. */
/* Ancorada no centro do ícone, não no topo do cartão: o cartão tem corte (overflow
   hidden) para nada escapar da caixa, e partícula que nasce na borda superior é cortada
   no primeiro quadro — foi o que aconteceu na primeira tentativa. */
.ok-festa{position:absolute;left:34px;top:34px;width:1px;height:1px;pointer-events:none;z-index:2}
.ok-festa i{position:absolute;left:0;top:0;width:8px;height:8px;border-radius:2px;
  opacity:0;transform-origin:center}
.ag-ok{position:relative;overflow:hidden}

@keyframes ok-voa{
  0%  {opacity:0;transform:translate(0,0) scale(.4) rotate(0deg)}
  12% {opacity:1}
  100%{opacity:0;transform:translate(var(--x),var(--y)) scale(1) rotate(var(--g))}
}
@keyframes ok-entra{
  0%  {transform:scale(.3);opacity:0}
  55% {transform:scale(1.14);opacity:1}
  100%{transform:scale(1);opacity:1}
}
.ag-ok.festejando .ok-ic{animation:ok-entra .52s cubic-bezier(.2,.9,.3,1.3) both}
.ag-ok.festejando .ok-festa i{animation:ok-voa .9s cubic-bezier(.15,.7,.35,1) both}

/* Movimento involuntário dá enjoo e dor de cabeça em quem tem sensibilidade vestibular.
   Com "reduzir movimento" ligado, a tela é a mesma — só não se mexe. */
@media (prefers-reduced-motion: reduce){
  .ok-festa{display:none}
  .ag-ok.festejando .ok-ic{animation:none}
}


/* ---------------- alvos de toque ----------------
   Medido a 390px: link solto com 19 a 22px de altura. O dedo cobre uns 44px, e abaixo
   disso errar o botão deixa de ser culpa de quem toca. A área cresce por padding, então
   nada muda de tamanho na tela — só fica mais fácil de acertar.

   Link dentro de parágrafo fica de fora de propósito: ali o alvo é a linha de texto, e
   inchar a área quebraria o próprio parágrafo. */
.corrida .acoes a.site,
.local a.mapa,
.rodape-site a,
.selos a,
.faixa-rot a,
.local-links a,
.links a{display:inline-flex;align-items:center;min-height:44px}
.rodape-site a{padding:2px 0}

/* o logotipo do topo: mesmo desenho, área de toque inteira */
.topo .marca{display:inline-flex;align-items:center;min-height:44px}

/* os filtros de assunto do blog */
.chips button{min-height:44px}

/* Os itens da faixa de provas ficam como estão, e isso é decisão, não esquecimento:
   alvo que anda não vira bom alvo por ser maior, e todos eles levam para a mesma página
   de calendário — errar um não custa nada a quem toca. */

/* ---------------- a faixa de provas ----------------
   Ela rola, então as palavras são cortadas nas duas pontas. Cortadas a machado parece
   defeito; dissolvidas num degradê, parece movimento. A informação é a mesma. */
.faixa-trilho{-webkit-mask-image:linear-gradient(to right,transparent 0,#000 56px,#000 calc(100% - 72px),transparent 100%);
  mask-image:linear-gradient(to right,transparent 0,#000 56px,#000 calc(100% - 72px),transparent 100%)}

@media (max-width:560px){
  .faixa-trilho{
    -webkit-mask-image:linear-gradient(to right,transparent 0,#000 28px,#000 calc(100% - 36px),transparent 100%);
    mask-image:linear-gradient(to right,transparent 0,#000 28px,#000 calc(100% - 36px),transparent 100%)}
}


/* ---------------- rótulo só para leitor de tela ----------------
   Oito rótulos no painel usavam .sr-so e um usava .sr-only, e NENHUMA das duas classes
   existia na folha de estilo. O resultado é que todos apareciam escritos na tela: um
   "Período" solto ao lado de cada menu, um "Procurar por nome ou número" gigante ao lado
   da caixa de busca. Parecia texto decidido de propósito; era classe inexistente.
   A regra abaixo tira da vista sem tirar do leitor de tela — que era a intenção. */
.sr-so,.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------------- Conversas: filtros ---------------- */
/* Fichas, não um segundo menu: são filtros que se ligam e desligam, e o estado ligado
   precisa ser óbvio de relance — quem esquece um filtro ligado conclui coisa errada
   sobre o próprio consultório. */
.cv-filtros{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;margin:0 0 14px}
.cv-chips{display:flex;flex-wrap:wrap;gap:6px}
.cv-chip{min-height:32px;padding:0 12px;border-radius:999px;border:1px solid var(--linha);
  background:var(--papel);color:var(--tinta-2);font:600 14px var(--sans);cursor:pointer}
.cv-chip:hover{border-color:var(--agua)}
.cv-chip[aria-pressed="true"]{background:var(--petroleo);border-color:var(--petroleo);
  color:#fff;font-weight:700}
.cv-selects{display:flex;gap:8px;margin-left:auto}
.cv-trecho{margin:6px 0 0;padding:7px 10px;border-left:2px solid var(--agua);
  background:var(--nevoa);border-radius:0 8px 8px 0;font-size:12px;line-height:1.5;
  color:var(--tinta-2)}
.cv-trecho b{font-weight:700;color:var(--tinta)}

/* ---------------- Leads: por que param ---------------- */
.ld-motivos{margin:0 0 16px;padding:16px;background:var(--papel);
  border:1px solid var(--linha);border-radius:14px}
.ld-motivos h3{margin:0;font-size:14px;font-weight:800;color:var(--tinta)}
.ld-motivos-nota{margin:2px 0 12px;font-size:12px;line-height:1.5;color:var(--tinta-3)}
.ld-motivos-lista{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));
  gap:8px}
.mo-item{display:flex;align-items:flex-start;gap:10px;text-align:left;width:100%;
  padding:10px 12px;border:1px solid var(--linha);border-radius:11px;background:var(--papel);
  cursor:pointer;min-width:0}
.mo-item:hover{border-color:var(--agua);background:var(--nevoa)}
.mo-item[aria-pressed="true"]{border-color:var(--petroleo);background:var(--nevoa);
  box-shadow:inset 0 0 0 1px var(--petroleo)}
.mo-n{font:800 19px var(--sans);color:var(--tinta);line-height:1.1;min-width:26px;
  font-variant-numeric:tabular-nums}
.mo-texto{min-width:0}
.mo-texto b{display:block;font-size:14px;font-weight:700;color:var(--tinta)}
.mo-texto small{display:block;margin-top:2px;font-size:12px;line-height:1.45;
  color:var(--tinta-3);overflow-wrap:anywhere}
.mo-converteu{color:var(--verde);font-weight:700}

/* ---------------- a anotação do médico ---------------- */
.ld-nota{margin:8px 0 0}
.ld-nota textarea{width:100%;min-height:60px;padding:9px 11px;border:1px solid var(--linha);
  border-radius:10px;font:500 14px/1.5 var(--sans);color:var(--tinta);background:var(--nevoa);
  resize:vertical}
.ld-nota textarea:focus{outline:2px solid var(--agua);outline-offset:1px;background:var(--papel)}
.ld-nota-acoes{display:flex;align-items:center;gap:8px;margin-top:6px}
.ld-nota-ok{font-size:12px;color:var(--verde);font-weight:700}
.ld-nota-abrir{background:none;border:0;padding:0;font:600 12px var(--sans);
  color:var(--tinta-3);cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.ld-nota-abrir:hover{color:var(--verde)}
.ld-nota-tem{color:var(--verde)}

@media (max-width:640px){
  .cv-selects{margin-left:0;width:100%}
  .cv-selects select{flex:1 1 0;min-width:0}
}


/* ---------------- Financeiro: o lado que sai ---------------- */
/* O fechamento é tabela, não cartão: a pergunta aqui é comparativa — este mês contra o
   passado — e comparar número alinhado em coluna é muito mais fácil que comparar
   cartão espalhado. */
.fe-tabela{margin-top:10px;border:1px solid var(--linha);border-radius:12px;overflow:hidden}
.fe-linha{display:grid;grid-template-columns:1fr repeat(3,minmax(84px,auto));
  gap:10px;align-items:center;padding:10px 14px;border-top:1px solid var(--linha);
  font-size:14px;font-variant-numeric:tabular-nums}
.fe-linha:first-child{border-top:0}
.fe-linha > span,.fe-linha > b{text-align:right}
.fe-linha > b:first-child{text-align:left;font-weight:700;color:var(--tinta)}
.fe-cab{background:var(--nevoa);font-size:12px;font-weight:800;letter-spacing:.06em;
  text-transform:uppercase;color:var(--tinta-3)}
.fe-cab span:first-child{text-align:left}
.fe-sobra{font-weight:800;color:var(--verde)}
.fe-sobra.neg{color:#a3341b}

/* conta vencida: uma marca na borda, não um fundo vermelho. A lista continua legível e
   o atraso continua impossível de não ver. */
.pe-linha.atrasada{border-left:3px solid #eb6834;padding-left:11px}
/* o detalhe da conta é uma segunda linha, não uma continuação da primeira: colado no
   nome ele vira uma frase sem sentido ("Água, luz e condomíniovenceu 22/09") */
.pe-linha small{display:block;margin-top:2px;font-size:12px;line-height:1.45;color:var(--tinta-3)}
.pe-acoes{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.pe-acoes > span{font-variant-numeric:tabular-nums;font-weight:700;color:var(--tinta)}

.pa-mini{min-height:34px;padding:0 12px;border-radius:9px;border:1px solid var(--linha);
  background:var(--papel);color:var(--tinta);font:700 14px var(--sans);cursor:pointer}
.pa-mini:hover{border-color:var(--agua);background:var(--nevoa)}
.pa-mini[disabled]{opacity:.5;cursor:default}
.pa-mini-fraco{color:var(--tinta-3);font-weight:600}

.re-valor{width:104px;min-height:34px;padding:0 10px;border:1px solid var(--linha);
  border-radius:9px;font:600 14px var(--sans);color:var(--tinta);text-align:right;
  font-variant-numeric:tabular-nums;background:var(--papel)}
.re-valor:focus{outline:2px solid var(--agua);outline-offset:1px;border-color:var(--agua)}

.re-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(170px,100%),1fr));
  gap:10px;margin:12px 0 4px;padding:14px;background:var(--nevoa);
  border:1px solid var(--linha);border-radius:12px}
.re-campo{display:flex;flex-direction:column;gap:4px;min-width:0}
.re-campo span{font-size:12px;font-weight:700;color:var(--tinta-3)}
.re-campo input,.re-campo select{min-height:38px;padding:0 10px;border:1px solid var(--linha);
  border-radius:9px;font:600 14px var(--sans);color:var(--tinta);background:var(--papel);
  min-width:0;width:100%}
.re-form-acoes{grid-column:1/-1;display:flex;gap:8px}
.re-form-acoes .pa-mini{min-height:38px}

@media (max-width:640px){
  .fe-linha{grid-template-columns:1fr repeat(3,minmax(66px,auto));
    gap:6px;padding:10px;font-size:12px}
  .re-linha{align-items:flex-start}
  .pe-acoes{width:100%;justify-content:flex-start}
}


/* ---------------- Gráficos do resumo ---------------- */
/* Dois por linha nas telas largas; um por linha quando a largura não dá para ler o
   eixo sem apertar os olhos. O do movimento ocupa a linha inteira: é uma série de
   trinta dias, e espremida em meia tela ela vira um rabisco. */
.gf-grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(400px,100%),1fr));
  gap:14px;margin:0 0 6px}
.gf-grade > .gf:first-child{grid-column:1/-1}
.gf{margin:0;background:var(--papel);border:1px solid var(--linha);border-radius:14px;
  padding:16px 16px 14px;min-width:0}
.gf-cab h3{margin:0;font-size:14px;font-weight:800;color:var(--tinta)}
.gf-cab p{margin:2px 0 12px;font-size:12px;line-height:1.5;color:var(--tinta-3)}
.gf svg{overflow:hidden;max-width:100%}
.gf-vazio{margin:6px 0 2px;font-size:14px;color:var(--tinta-3)}
.gf-legenda{display:flex;flex-wrap:wrap;gap:6px 16px;margin:10px 0 0;padding:0;
  list-style:none;font-size:12px;color:var(--tinta-2);font-weight:600}
.gf-legenda li{display:flex;align-items:center;gap:6px}
.gf-marca{width:10px;height:10px;border-radius:3px;flex:none}
@media (max-width:560px){
  .gf{padding:14px 12px 12px}
  .gf-cab p{margin-bottom:10px}
}


/* ---------------- Gestão: barra lateral e largura de ferramenta ---------------- */
/* O cabeçalho e o rodapé do site somem aqui: menu de marketing numa tela de trabalho
   é ruído, e o botão "Agendar" é do paciente, não do médico. */
body:has(#pg-painel:not([hidden])) .topo,
body:has(#pg-painel:not([hidden])) .rodape-site,
body:has(#pg-painel:not([hidden])) .zap-flutua{display:none}
body:has(#pg-painel:not([hidden])){background:var(--nevoa)}

.gs-band{padding:0}
.gs{display:grid;grid-template-columns:232px minmax(0,1fr);gap:0;
  max-width:1760px;margin:0 auto;min-height:100vh;align-items:start}

.gs-lado{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:18px;
  padding:22px 14px;background:var(--petroleo);color:var(--escuro-texto)}
.gs-marca{padding:0 10px}
.gs-marca h1{margin:0;font-size:22px;font-weight:800;color:#fff;letter-spacing:-.01em}
.gs-marca p{margin:2px 0 0;font-size:12px;color:var(--escuro-texto-2)}

.gs-menu{display:flex;flex-direction:column;gap:2px;flex:1 1 auto}
.gs-item{display:flex;align-items:center;gap:11px;width:100%;min-height:42px;
  padding:0 12px;border:0;border-radius:10px;background:transparent;
  color:var(--escuro-texto-2);font:600 14px var(--sans);text-align:left;cursor:pointer}
.gs-item svg{width:18px;height:18px;flex:none}
.gs-item:hover{background:rgba(255,255,255,.07);color:#fff}
.gs-item[aria-selected="true"]{background:var(--agua);color:var(--petroleo);font-weight:800}
.gs-conta{margin-left:auto;min-width:20px;height:20px;border-radius:999px;background:var(--agua);
  color:var(--petroleo);font:800 12px var(--sans);display:grid;place-items:center;padding:0 6px}
.gs-item[aria-selected="true"] .gs-conta{background:var(--petroleo);color:var(--agua)}

.gs-quem{display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:12px 10px 0;border-top:1px solid var(--escuro-linha);font-size:14px}
.gs-quem .pa-sair{background:transparent;border:1px solid var(--escuro-linha);color:var(--escuro-texto);
  border-radius:9px;min-height:34px;padding:0 12px;font:700 14px var(--sans);cursor:pointer}

.gs-corpo{padding:26px 28px 60px;min-width:0}

@media (max-width:899px){
  .gs{grid-template-columns:1fr;min-height:0}
  .gs-lado{position:static;height:auto;flex-direction:row;align-items:center;gap:12px;
    padding:12px 14px;overflow:hidden}
  .gs-marca{display:none}
  .gs-menu{flex-direction:row;gap:6px;overflow-x:auto;overflow-y:hidden;
    flex:1 1 auto;min-width:0;scrollbar-width:none}
  .gs-menu::-webkit-scrollbar{display:none}
  .gs-item{width:auto;flex:none;white-space:nowrap;min-height:38px;padding:0 12px}
  .gs-item svg{display:none}
  .gs-quem{border-top:0;padding:0;flex:none}
  .gs-quem span{display:none}
  .gs-corpo{padding:18px 16px 48px}
}

.pa-busca{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.pa-busca input{flex:1 1 220px;border:1.5px solid var(--linha);border-radius:12px;
  padding:11px 14px;font:inherit;font-size:16px}
.pa-barra-simples{display:flex;gap:8px;align-items:center;margin-bottom:14px;flex-wrap:wrap}
.pa-barra-simples label{font-size:14px;font-weight:700;color:var(--tinta-3)}
.pa-barra-simples select{border:1.5px solid var(--linha);border-radius:12px;padding:9px 12px;
  font:inherit;font-size:16px;background:#fff}
.pe-pessoa{display:flex;gap:10px;justify-content:space-between;align-items:center;flex-wrap:wrap;
  border:1.5px solid var(--linha);border-radius:12px;padding:12px 14px;margin-bottom:8px;
  cursor:pointer;background:#fff}
.pe-pessoa:hover{border-color:var(--verde)}
.pe-pessoa-quem{display:flex;flex-direction:column;gap:2px;min-width:0}
.pe-pessoa-quem b{font-size:16px;color:var(--tinta)}
.pe-pessoa-quem small{font-size:12px;color:var(--tinta-3)}
.pe-marca{font-size:12px;font-weight:800;border-radius:999px;padding:3px 9px;
  background:var(--nevoa);color:var(--tinta-3);border:1px solid var(--linha)}
.pe-marca-paciente{background:#E8F5EF;color:#0E3A2F;border-color:#BFE3D5}
.pe-cab{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;
  flex-wrap:wrap;margin-bottom:12px}
.pe-cab h3{margin:0 0 4px;font-size:22px;color:var(--verde)}
.pe-dado{margin:0;font-size:14px;color:var(--tinta-2);line-height:1.6}
.pe-bloco{margin-top:20px}
.pe-bloco h4{margin:0 0 8px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--tinta-3);font-weight:800}
.pe-linha{display:flex;gap:10px;justify-content:space-between;align-items:center;flex-wrap:wrap;
  border-bottom:1px solid var(--linha);padding:9px 0;font-size:14px;color:var(--tinta-2)}
.pe-linha:last-child{border-bottom:0}
.pe-linha b{color:var(--tinta)}

/* ================= a ficha do paciente =================
   Prefixo pf-. As regras pe- acima continuam servindo a lista de pessoas e a ficha do
   lead, que não mudou: lead não tem cofre, nem consulta, nem termo. */

/* a linha que está devendo o plano: a borda avisa antes do texto, como no botão de
   apagar cadastro */
.pa-atend-devendo{border-left:3px solid #C0392B;padding-left:11px}

.pf-voltar{display:inline-flex;align-items:center;gap:7px;color:var(--tinta-3);
  background:none;border:0;font:inherit;font-size:13.5px;font-weight:700;cursor:pointer;
  padding:0;margin-bottom:16px}
.pf-voltar:hover{color:var(--verde)}

.pf-topo{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.pf-avatar{width:56px;height:56px;border-radius:17px;flex:0 0 auto;color:#fff;
  background:linear-gradient(140deg,var(--verde) 0%,var(--verde-2) 60%,#0d6b5c 100%);
  display:grid;place-items:center;font-size:18px;font-weight:800}
.pf-quem{flex:1 1 240px;min-width:0}
.pf-quem h3{margin:0;font-size:24px;font-weight:800;color:var(--tinta);line-height:1.2}
.pf-quem p{margin:5px 0 0;font-size:13.5px;color:var(--tinta-3)}
.pf-selo{display:inline-flex;align-items:center;gap:5px;margin-left:8px;padding:2px 9px;
  border-radius:999px;background:#E7F5F2;color:#0A6B57;font-size:11.5px;font-weight:800}
.pf-selo.falta{background:#F9F2E7;color:#8A5E10}
.pf-acoes{display:flex;gap:8px;flex:0 0 auto;flex-wrap:wrap}

/* ---- os quatro números ---- */
.pf-numeros{display:grid;grid-template-columns:repeat(auto-fit,minmax(158px,1fr));
  gap:11px;margin-bottom:20px}
.pf-num{background:#fff;border:1.5px solid var(--linha);border-radius:15px;padding:15px 17px}
.pf-num b{display:block;font-size:25px;font-weight:800;line-height:1.1;color:var(--tinta)}
.pf-num span{display:block;margin-top:4px;font-size:12.5px;color:var(--tinta-3);font-weight:700}
.pf-num small{display:block;margin-top:2px;font-size:11.5px;color:var(--tinta-3);opacity:.85}
/* NOME PRÓPRIO, E NÃO "destaque": existe um .destaque global, do blog, que é um grid de
   duas colunas. Ele capturava este cartão e punha o número ao lado do rótulo em vez de em
   cima. Classe genérica em folha compartilhada colide — esta tem sobrenome. */
.pf-num-destaque{background:var(--verde);border-color:var(--verde)}
.pf-num-destaque b,.pf-num-destaque span,.pf-num-destaque small{color:#fff}
.pf-num-destaque span{opacity:.88} .pf-num-destaque small{opacity:.72}

/* ---- as duas colunas ---- */
.pf-colunas{display:grid;grid-template-columns:320px minmax(0,1fr);gap:16px;align-items:start}
.pf-cartao{background:#fff;border:1.5px solid var(--linha);border-radius:16px;overflow:hidden}
.pf-cartao + .pf-cartao{margin-top:14px}
.pf-cartao-topo{display:flex;align-items:center;gap:9px;padding:14px 17px 12px;
  border-bottom:1px solid var(--linha);flex-wrap:wrap}
.pf-cartao-topo h4{margin:0;font-size:14px;font-weight:800;color:var(--tinta)}
.pf-conta{font-size:11.5px;font-weight:800;color:var(--tinta-3);background:var(--nevoa);
  border-radius:999px;padding:2px 8px}
.pf-fim{margin-left:auto;display:flex;gap:8px;align-items:center}
.pf-corpo{padding:15px 17px}

.pf-campo{display:flex;gap:12px;padding:9px 0;font-size:13.5px;
  border-bottom:1px dashed var(--linha)}
.pf-campo:last-child{border-bottom:0;padding-bottom:0}
.pf-campo dt{flex:0 0 92px;color:var(--tinta-3);font-size:12.5px;font-weight:700}
.pf-campo dd{margin:0;min-width:0;word-break:break-word;color:var(--tinta)}
.pf-campo + .pf-campo{}

.pf-acesso{display:flex;justify-content:space-between;gap:10px;padding:8px 0;
  font-size:12.5px;border-bottom:1px dashed var(--linha)}
.pf-acesso:last-child{border-bottom:0}
.pf-acesso span{color:var(--tinta-3);text-align:right}

/* ---- o cofre ---- */
.pf-gavetas{display:flex;gap:7px;overflow-x:auto;padding:13px 17px 12px;
  scrollbar-width:none;-webkit-overflow-scrolling:touch}
.pf-gavetas::-webkit-scrollbar{display:none}
.pf-gav{flex:0 0 auto;border:1.5px solid var(--linha);background:#fff;border-radius:999px;
  font:inherit;font-size:12.5px;font-weight:800;color:var(--tinta-2);padding:6px 13px;
  cursor:pointer;white-space:nowrap}
.pf-gav i{font-style:normal;margin-left:6px;padding:1px 6px;border-radius:999px;
  background:var(--nevoa);color:var(--tinta-3);font-size:11px}
.pf-gav.ativo{background:var(--verde);border-color:var(--verde);color:#fff}
.pf-gav.ativo i{background:rgba(255,255,255,.22);color:#fff}

.pf-doc{display:flex;align-items:center;gap:13px;padding:12px 17px;
  border-top:1px solid var(--linha)}
.pf-doc-ic{width:36px;height:36px;border-radius:11px;flex:0 0 auto;display:grid;
  place-items:center;background:var(--nevoa);color:var(--verde-2)}
.pf-doc-ic svg{width:19px;height:19px}
.pf-doc-txt{flex:1 1 auto;min-width:0}
.pf-doc-l1{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pf-doc-l1 b{font-size:14px;font-weight:700;color:var(--tinta)}
/* filho direto: um "span" solto pegava também o selo aninhado e o jogava para outra linha */
.pf-doc-txt > span{display:block;font-size:12px;color:var(--tinta-3);margin-top:2px}
.pf-tag{display:inline-block;flex:0 0 auto;font-size:11px;font-weight:800;padding:2px 9px;
  border-radius:999px;line-height:1.5;white-space:nowrap}
.pf-tag.paciente{background:#F2EEFA;color:#5B3FA8}
.pf-tag.consultorio{background:#E7F5F2;color:#0A6B57}
.pf-tag.oculto{background:#F4F2EE;color:#8A7550}
.pf-integro{display:inline;font-size:11px;font-weight:800;color:#0A6B57;white-space:nowrap}
.pf-integro.esperando{color:var(--tinta-3);font-weight:700}
.pf-doc-acoes{display:flex;gap:7px;flex:0 0 auto}

/* ---- consultas ---- */
.pf-consulta{display:flex;align-items:center;gap:13px;padding:12px 17px;
  border-top:1px solid var(--linha)}
.pf-faixa{width:4px;align-self:stretch;border-radius:3px;flex:0 0 auto;background:var(--linha)}
.pf-consulta[data-tipo="primeira"] .pf-faixa{background:#0E9C80}
.pf-consulta[data-tipo="acompanhamento"] .pf-faixa{background:#7A57D1}
.pf-consulta[data-tipo="devolutiva"] .pf-faixa{background:#C07C10}
.pf-consulta-txt{flex:1 1 auto;min-width:0}
.pf-consulta-txt b{display:block;font-size:14px;font-weight:700;color:var(--tinta)}
.pf-consulta-txt span{display:block;font-size:12px;color:var(--tinta-3);margin-top:2px}
.pf-valor{font-size:13px;font-weight:800;color:var(--tinta-2);flex:0 0 auto}
.pf-estado{font-size:11.5px;font-weight:800;padding:3px 10px;border-radius:999px;
  background:#E7F5F2;color:#0A6B57;flex:0 0 auto;white-space:nowrap}
.pf-estado.aberto{background:#F9F2E7;color:#8A5E10}
.pf-estado.frio{background:var(--nevoa);color:var(--tinta-3)}

.pf-nota{margin:13px 17px 16px;padding:12px 14px;background:var(--nevoa);border-radius:12px;
  font-size:12.5px;line-height:1.6;color:var(--tinta-3)}
.pf-nota b{color:var(--tinta)}
.pf-vazio{margin:0;padding:16px 17px;font-size:13.5px;color:var(--tinta-3)}

/* ---- os termos, no rodapé ---- */
.pf-termos{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr))}
.pf-termo{display:flex;align-items:center;gap:11px;padding:14px 17px;
  border-top:1px solid var(--linha)}
.pf-termo + .pf-termo{border-left:1px solid var(--linha)}
.pf-tick{width:17px;height:17px;border-radius:50%;background:#E7F5F2;color:#0A6B57;
  display:grid;place-items:center;flex:0 0 auto;font-size:10px;font-weight:800}
.pf-termo-txt{flex:1 1 auto;min-width:0}
.pf-termo-txt b{display:block;font-size:13.5px;font-weight:700;color:var(--tinta);line-height:1.35}
.pf-termo-txt span{display:block;font-size:11.5px;color:var(--tinta-3);margin-top:3px}

/* ---- o visor: documento e termo abrem aqui dentro, sem sair da ficha ---- */
.pf-visor{position:fixed;inset:0;z-index:70;background:rgba(10,32,28,.55);
  display:flex;align-items:center;justify-content:center;padding:18px}
.pf-visor-caixa{background:#fff;border-radius:16px;width:min(980px,100%);
  height:min(88vh,100%);display:flex;flex-direction:column;overflow:hidden}
.pf-visor-topo{display:flex;align-items:center;gap:10px;padding:13px 16px;
  border-bottom:1px solid var(--linha)}
.pf-visor-topo b{font-size:14.5px;color:var(--tinta);min-width:0;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.pf-visor-fim{margin-left:auto;display:flex;gap:8px;flex:0 0 auto}
.pf-visor-corpo{flex:1 1 auto;min-height:0;background:var(--nevoa)}
.pf-visor-corpo iframe{width:100%;height:100%;border:0;display:block;background:#fff}
/* sem pre-wrap: o texto do contrato tem marcação de verdade, e as quebras de linha do
   banco são separação entre elementos, não parágrafos em branco na tela */
.pf-visor-texto{height:100%;overflow:auto;padding:22px 28px 34px;background:#fff;
  font-size:14.5px;line-height:1.7;color:var(--tinta-2)}
.pf-visor-texto p{margin:0 0 12px}
.pf-visor-texto h3{margin:24px 0 10px;font-size:15px;font-weight:800;color:var(--verde);
  letter-spacing:-.005em}
.pf-visor-texto h3:first-child{margin-top:0}
.pf-visor-texto ul,.pf-visor-texto ol{margin:0 0 12px;padding-left:22px}
.pf-visor-texto li{margin-bottom:6px}
.pf-visor-texto b,.pf-visor-texto strong{color:var(--tinta)}
.pf-visor-texto a{color:var(--verde);font-weight:700}
/* a linha de versão, no alto de todo documento legal */
.pf-visor-texto .doc-meta{font-size:12.5px;color:var(--tinta-3);padding-bottom:12px;
  border-bottom:1px solid var(--linha);margin-bottom:18px}

/* ---- envio pela ficha ---- */
.pf-envio{padding:14px 17px;border-top:1px solid var(--linha);display:flex;gap:9px;
  flex-wrap:wrap;align-items:center}
.pf-envio select,.pf-envio input[type=text]{border:1.5px solid var(--linha);border-radius:11px;
  padding:9px 12px;font:inherit;font-size:15px;background:#fff;min-width:0}
.pf-envio input[type=text]{flex:1 1 180px}
.pf-envio-msg{flex:1 1 100%;margin:0;font-size:12.5px;color:var(--tinta-3)}

@media (max-width:900px){
  /* minmax(0,1fr), e não 1fr: "1fr" é minmax(AUTO,1fr) e por isso nunca encolhe abaixo da
     largura mínima do conteúdo. A coluna ficava com 900px dentro de uma tela de 390 e o
     painel inteiro ganhava rolagem lateral — com a grade colapsada, o que é o mais
     traiçoeiro: a regra estava certa e o resultado, errado. */
  .pf-colunas{grid-template-columns:minmax(0,1fr)}
  .pf-colunas > *{min-width:0}
  .pf-quem h3{font-size:20px}
  .pf-termo + .pf-termo{border-left:0}
  .pf-doc,.pf-consulta{flex-wrap:wrap}
  .pf-doc-acoes{width:100%;padding-left:49px}
  .pf-acoes{width:100%}
  .pf-visor{padding:0}
  .pf-visor-caixa{height:100%;border-radius:0;width:100%}
}
.fi-mes{display:flex;justify-content:space-between;align-items:center;gap:10px;
  padding:8px 0;border-bottom:1px solid var(--linha);font-size:14px}
.fi-barra{flex:1 1 auto;height:8px;border-radius:99px;background:var(--nevoa);
  border:1px solid var(--linha);overflow:hidden;min-width:60px}
.fi-barra > i{display:block;height:100%;background:var(--verde)}
.pc-sub-titulo{margin:22px 0 10px;font-size:14px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--tinta-3);font-weight:800}
/* Três abas em 390px de tela: com 20px de respiro de cada lado elas somavam 382px num
   espaço de 358px, e "Meus dados" nascia cortado. */
@media (max-width:430px){ .pc-corpo ~ *, .pc-topo .abas button{padding:0 12px;font-size:14px} }
/* Apagar cadastro é ação de risco: a borda avisa antes do texto. */
.pc-btn-perigo{border-color:#E6B8B8;color:#8A2B2B}
/* consultas: seletor Próximas | Já aconteceram e cartões compactos que abrem ao tocar */
.pc-seg{display:inline-grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;margin:0 0 16px;padding:4px;border-radius:14px;background:#EEF4F2}
.pc-seg button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 16px;border:0;border-radius:11px;background:transparent;color:var(--tinta-2);font:700 14px var(--sans);cursor:pointer;white-space:nowrap;transition:background .2s ease, color .2s ease, box-shadow .2s ease}
.pc-seg button[aria-pressed="true"]{background:#fff;color:var(--verde);box-shadow:0 1px 2px rgba(0,40,34,.06), 0 6px 16px -8px rgba(0,40,34,.25)}
.pc-seg button:focus-visible{outline:3px solid var(--agua);outline-offset:2px}
.pc-seg-n{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:rgba(0,71,63,.08);font-size:11.5px;font-variant-numeric:tabular-nums}
.pc-seg button[aria-pressed="true"] .pc-seg-n{background:rgba(51,201,178,.18)}
.pc-cons-lista{display:flex;flex-direction:column;gap:10px;align-items:stretch}
.pc-cons-lista > .btn{align-self:flex-start}
.pc-consulta{border-radius:15px;background:#fff;box-shadow:0 0 0 1px #EDF2F0, 0 10px 26px -16px rgba(0,40,34,.28);overflow:hidden;transition:box-shadow .25s ease}
.pc-consulta.aberto{box-shadow:0 0 0 1.5px var(--verde), 0 14px 30px -16px rgba(0,71,63,.35)}
.pc-cons-cab{display:grid;grid-template-columns:44px minmax(0, 1fr) auto 20px;align-items:center;gap:12px;width:100%;min-height:72px;padding:12px 14px;border:0;background:none;font:inherit;text-align:left;color:var(--tinta);cursor:pointer;-webkit-tap-highlight-color:transparent}
.pc-cons-cab:focus-visible{outline:3px solid var(--agua);outline-offset:-3px;border-radius:15px}
.pc-cons-ic{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:rgba(51,201,178,.14);color:var(--verde)}
.pc-consulta:not(.pc-consulta-proxima) .pc-cons-ic{background:#F1F4F3;color:#7C8F8B}
.pc-cons-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.pc-cons-txt small{font-size:12.5px;color:#7C8F8B;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pc-cons-txt b{font-size:15.5px;font-weight:800;letter-spacing:-.015em;color:var(--tinta)}
.pc-cons-seta{color:#9AABA7;transition:transform .25s ease}
.pc-consulta.aberto .pc-cons-seta{transform:rotate(180deg);color:var(--verde)}
.pc-cons-corpo{display:flex;flex-direction:column;gap:6px;align-items:flex-start;padding:2px 16px 16px 70px;animation:pc-abre .3s cubic-bezier(.16,1,.3,1) both}
.pc-cons-corpo .ag-acoes{margin-top:8px}
.pc-cons-corpo .btn{min-height:44px;border-radius:12px;font-size:14.5px}
@keyframes pc-abre{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media (max-width: 560px){
  .pc-seg{display:grid;width:100%}
  .pc-cons-cab{grid-template-columns:40px minmax(0, 1fr) 18px;row-gap:6px}
  .pc-cons-ic{width:40px;height:40px}
  .pc-cons-cab .pc-marca{grid-column:2;grid-row:2;justify-self:start}
  .pc-cons-cab .pc-cons-seta{grid-column:3;grid-row:1 / span 2}
  .pc-cons-ic{grid-row:1 / span 2}
  .pc-cons-corpo{padding:0 14px 14px}
  .pc-cons-corpo .ag-acoes, .pc-cons-corpo .btn{width:100%}
}
@media (prefers-reduced-motion: reduce){ .pc-cons-corpo{animation:none} }
.pc-consulta-quando{margin:0;font-size:15px;font-weight:800;color:var(--tinta)}
.pc-consulta-qual{margin:0;font-size:14px;color:var(--tinta-2)}
.pc-marca{font-size:11.5px;font-weight:800;border-radius:999px;padding:3px 10px;white-space:nowrap;
  background:var(--nevoa);color:var(--tinta-3);border:1px solid var(--linha)}
.pc-marca-confirmado{background:#E8F5EF;color:#0E3A2F;border-color:#BFE3D5}
.pc-marca-reservado{background:#FFF6E5;color:#7A5A12;border-color:#F0DCB0}
.pc-marca-cancelado,.pc-marca-faltou{background:#FDEDED;color:#8A2B2B;border-color:#F3CFCF}
/* documentos: atalhos redondos em cima (como app de banco) e gavetas que abrem embaixo.
   Cada gaveta tem a sua cor pastel: fundo claro, ícone na cor cheia. */
.pc-cor-enviar{--c-bg:rgba(51,201,178,.14);--c-ic:var(--verde)}
.pc-cor-exame_laboratorial{--c-bg:#EAF2FF;--c-ic:#2F6FD6}
.pc-cor-exame_imagem{--c-bg:#F1ECFF;--c-ic:#6B4FD8}
.pc-cor-avaliacao_corporal{--c-bg:#E5F6F1;--c-ic:#0E7A6B}
.pc-cor-planejamento_alimentar{--c-bg:#FFF2E0;--c-ic:#B76E12}
.pc-cor-plano_de_treino{--c-bg:rgba(51,201,178,.14);--c-ic:var(--verde)}
.pc-cor-receita{--c-bg:#FDECEF;--c-ic:#C2415B}
.pc-cor-atestado{--c-bg:#FFF6D9;--c-ic:#9A7300}
.pc-cor-encaminhamento{--c-bg:#E8F5FC;--c-ic:#2380B8}
.pc-cor-orientacao{--c-bg:#E9F7EE;--c-ic:#2E8B57}
.pc-cor-pedido_exame{--c-bg:#F2EFFF;--c-ic:#5B4BC4}
.pc-cor-laudo{--c-bg:#FFEEE6;--c-ic:#C2531E}
.pc-cor-exame_do_paciente{--c-bg:#EEF3F1;--c-ic:#4C6560}
.pc-cor-outro{--c-bg:#F1F4F3;--c-ic:#7C8F8B}

.pc-docs-atalhos{display:grid;grid-template-columns:repeat(auto-fill, minmax(84px, 1fr));gap:18px 8px;margin:6px 0 26px;padding-bottom:24px;border-bottom:1px solid #EDF2F0}
.pc-atalho{display:flex;flex-direction:column;align-items:center;gap:8px;padding:0;border:0;background:none;font:inherit;color:var(--tinta);cursor:pointer;-webkit-tap-highlight-color:transparent}
.pc-atalho-bola{position:relative;display:grid;place-items:center;width:60px;height:60px;border-radius:50%;background:var(--c-bg);color:var(--c-ic);transition:transform .4s cubic-bezier(.34,1.45,.64,1), box-shadow .25s ease}
.pc-atalho-bola svg{width:26px;height:26px;stroke-width:1.8}
.pc-atalho:active .pc-atalho-bola{transform:scale(.9)}
.pc-atalho:focus-visible{outline:none}
.pc-atalho:focus-visible .pc-atalho-bola{box-shadow:0 0 0 3px var(--agua)}
@media (hover: hover){ .pc-atalho:hover .pc-atalho-bola{box-shadow:0 10px 22px -12px rgba(0,40,34,.4)} }
.pc-atalho-n{position:absolute;top:-2px;right:-4px;display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#fff;box-shadow:0 0 0 1px #E3EBE8, 0 4px 10px -4px rgba(0,40,34,.3);font:800 11px var(--sans);font-style:normal;color:var(--tinta)}
.pc-atalho-rot{max-width:100%;font-size:12.5px;font-weight:700;line-height:1.25;text-align:center;color:var(--tinta-2)}

.pc-gavetas{display:flex;flex-direction:column;gap:12px}
.pc-gaveta{scroll-margin-top:96px;border-radius:15px;background:#fff;box-shadow:0 0 0 1px #EDF2F0, 0 10px 26px -16px rgba(0,40,34,.28);overflow:hidden;transition:box-shadow .25s ease}
.pc-gaveta.aberta{box-shadow:0 0 0 1.5px var(--c-ic), 0 14px 30px -16px rgba(0,40,34,.32)}
.pc-gaveta-cab{display:grid;grid-template-columns:48px minmax(0, 1fr) 24px;align-items:center;gap:14px;width:100%;min-height:76px;padding:14px 16px;border:0;background:none;font:inherit;text-align:left;color:var(--tinta);cursor:pointer;-webkit-tap-highlight-color:transparent}
.pc-gaveta-cab:focus-visible{outline:3px solid var(--agua);outline-offset:-3px;border-radius:15px}
.pc-gaveta-ic{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:var(--c-bg);color:var(--c-ic);box-shadow:inset 0 0 0 1px rgba(0,0,0,.03)}
.pc-gaveta-ic svg{width:24px;height:24px;stroke-width:1.8}
.pc-gaveta-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.pc-gaveta-txt b{font-size:15.5px;font-weight:800;letter-spacing:-.015em}
.pc-gaveta-txt small{font-size:12.5px;color:#7C8F8B}
.pc-gaveta-mais{position:relative;width:18px;height:18px;color:var(--c-ic);transition:transform .3s cubic-bezier(.34,1.45,.64,1)}
.pc-gaveta-mais::before, .pc-gaveta-mais::after{content:"";position:absolute;left:50%;top:50%;width:16px;height:2px;margin:-1px 0 0 -8px;border-radius:2px;background:currentColor}
.pc-gaveta-mais::after{transform:rotate(90deg);transition:transform .3s ease}
.pc-gaveta.aberta .pc-gaveta-mais{transform:rotate(180deg)}
.pc-gaveta.aberta .pc-gaveta-mais::after{transform:rotate(0deg)}
.pc-gaveta-corpo{display:flex;flex-direction:column;gap:8px;padding:0 14px 14px;animation:pc-abre .3s cubic-bezier(.16,1,.3,1) both}
.pc-doc{display:flex;gap:10px 14px;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:12px 14px;border-radius:12px;background:#F6F9F8}
.pc-doc-texto{display:flex;flex-direction:column;gap:2px;min-width:0}
.pc-doc-texto b{font-size:14px;color:var(--tinta)}
.pc-doc-texto span{font-size:12px;color:var(--tinta-3)}
.pc-doc-acoes{display:flex;gap:6px;flex-wrap:wrap}
.pc-doc-acoes .btn-mini{min-height:34px;padding:0 12px;border:0;border-radius:10px;background:#fff;box-shadow:0 0 0 1px #E3EBE8;font-size:13px}
.pc-doc-acoes .btn-mini:hover{background:#fff;box-shadow:0 0 0 1px var(--verde)}
@media (max-width: 560px){
  .pc-docs-atalhos{grid-template-columns:repeat(4, minmax(0, 1fr));gap:16px 4px}
  .pc-atalho-bola{width:56px;height:56px}
  .pc-atalho-rot{font-size:11.5px}
  .pc-doc{flex-direction:column;align-items:stretch}
  .pc-doc-acoes .btn-mini{flex:1}
}
.pc-envio{margin-top:18px}
.pc-fixo{margin:0 0 4px;font-size:14px;color:var(--tinta-2)}
.pc-grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-top:12px}
.pc-perigo{margin-top:22px;border-color:#F3CFCF}
@media (max-width:560px){ .pc-grade{grid-template-columns:1fr} }
.rs-saldo{margin-top:12px;border:1.5px dashed var(--linha);border-radius:14px;padding:14px 16px;
  display:flex;flex-direction:column;gap:8px}
.rs-saldo > b{font-size:14px;color:var(--tinta-2)}
.rs-saldo p{margin:0;font-size:12px;line-height:1.5;color:var(--tinta-3)}
.rs-saldo-campos{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end}
.rs-saldo-campo{display:flex;flex-direction:column;gap:4px;flex:1 1 130px;min-width:0}
.rs-saldo-campo label{font-size:12px;font-weight:700;color:var(--tinta-3)}
.rs-saldo-campo input{border:1.5px solid var(--linha);border-radius:12px;padding:10px 12px;
  font:inherit;font-size:16px;width:100%}
.rs-saldo button{flex:0 0 auto}
.rs-modelos{margin-top:10px;display:flex;flex-direction:column;gap:6px}
.rs-modelo{display:flex;justify-content:space-between;gap:12px;font-size:14px;color:var(--tinta-2);
  border-top:1px solid var(--linha);padding-top:6px}
.rs-modelo b{font-variant-numeric:tabular-nums;color:var(--tinta);font-weight:700}

/* ---------------- versão 41: funil de leads */
.ld-resumo{margin:12px 0 0;font-size:14px;line-height:1.6;color:var(--tinta-2)}
.ld-resumo b{color:var(--tinta);font-variant-numeric:tabular-nums}
.ld-funil{display:flex;gap:8px;margin:12px 0 0;overflow-x:auto;padding-bottom:4px;
  scrollbar-width:thin}
.ld-etapa{flex:0 0 auto;display:flex;flex-direction:column;gap:2px;align-items:flex-start;
  border:1.5px solid var(--linha);border-radius:12px;padding:8px 14px;background:#fff;
  font:inherit;cursor:pointer;min-width:92px;text-align:left}
.ld-etapa b{font-size:19px;line-height:1.1;color:var(--tinta);font-variant-numeric:tabular-nums}
.ld-etapa span{font-size:12px;color:var(--tinta-3)}
.ld-etapa[aria-pressed="true"]{border-color:var(--verde);background:#E8F3F1}
.ld-etapa[aria-pressed="true"] b,.ld-etapa[aria-pressed="true"] span{color:#0A564C}
.ld-etapa .ld-barra{width:100%;height:3px;border-radius:2px;background:var(--linha);margin-top:4px}
.ld-etapa .ld-barra i{display:block;height:100%;border-radius:2px;background:var(--verde)}
.ld-dias{flex:0 0 auto;border:1.5px solid var(--linha);border-radius:999px;padding:10px 14px;
  font:inherit;font-size:14px;background:#fff}
.ld-origens{margin:12px 0 0;border:1.5px solid var(--linha);border-radius:12px;padding:10px 14px}
.ld-origens summary{font-size:14px;font-weight:700;color:var(--tinta-2);cursor:pointer}
.ld-origens div{margin-top:8px;display:flex;flex-direction:column;gap:6px}
.ld-origem{display:flex;justify-content:space-between;gap:12px;font-size:14px;
  color:var(--tinta-2)}
.ld-origem b{font-variant-numeric:tabular-nums;color:var(--tinta)}
.ld-mover{margin-top:8px;border:1.5px solid var(--linha);border-radius:999px;padding:6px 10px;
  font:inherit;font-size:14px;background:#fff;color:var(--tinta-2);max-width:100%}
.ld-linha2{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:6px;font-size:14px;
  color:var(--tinta-3)}
.ld-alerta{color:#8A5A00;font-weight:600}

/* ---------------- versão 37: todas as conversas e começar uma */
.pa-todas-topo{display:flex;gap:8px;margin:12px 0 10px;flex-wrap:wrap}
.pa-todas-topo input[type="search"]{flex:1 1 200px;min-width:0;border:1.5px solid var(--linha);
  border-radius:999px;padding:10px 16px;font:inherit;font-size:16px}
.pa-nova-btn{flex:0 0 auto;padding:10px 18px;font-size:14px}
.pa-selo{display:inline-block;margin:6px 6px 0 0;padding:2px 8px;border-radius:999px;
  background:var(--nevoa);font-size:12px;font-weight:600;color:var(--tinta-2)}
.pa-selo-iron{background:#E8F3F1;color:#0A564C}
.pa-selo-fechada{background:#FDF2E2;color:#8A5A00}
.pa-selo-encerrada{background:var(--nevoa);color:var(--tinta-3)}
.pa-aviso-janela{margin:0;padding:12px 14px;border:1.5px solid var(--linha);border-radius:12px;
  background:var(--nevoa);font-size:14px;line-height:1.55;color:var(--tinta-2)}
.pa-conversa-responder label{font-size:14px;font-weight:700;color:var(--tinta-2);
  letter-spacing:.02em}
.pa-conversa-responder input[type="tel"]{width:100%;border:1.5px solid var(--linha);
  border-radius:12px;padding:12px 14px;font:inherit;font-size:16px}
@media (min-width:760px){
  .pa-conversa{position:static;padding:0;background:none}
  .pa-fila{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
}

/* ================================================================= a tabbar do site (celular e tablet)
   Em todas as páginas, até 1023px: uma pílula branca flutuante com cinco destinos e o
   "Agendar" no centro, em destaque e "respirando". A marcação é única (fica ao lado do
   botão do WhatsApp) e o gerador marca a aba da página atual com aria-current. No
   computador ela some e o menu do topo segue sendo a navegação. */
.tabbar{display:none}
@keyframes tab-flutua{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@media (max-width: 1023px){
  /* a folga para a tabbar fica dentro do rodapé (escuro até o fim da página) */
  body:not([data-pagina="painel"]) .rodape-site{padding-bottom:calc(96px + env(safe-area-inset-bottom, 0px))}
  body:not([data-pagina="painel"]) .zap{bottom:calc(92px + env(safe-area-inset-bottom, 0px))}
  .tabbar{position:fixed;z-index:30;left:50%;bottom:calc(14px + env(safe-area-inset-bottom, 0px));display:grid;grid-template-columns:1fr 1fr 76px 1fr 1fr;align-items:stretch;width:calc(100% - 32px);max-width:440px;height:62px;padding:0 6px;border-radius:28px;background:#fff;box-shadow:0 0 0 1px #E7EFEC, 0 14px 34px -14px rgba(0,40,34,.26);transform:translateX(-50%)}
  body[data-pagina="painel"] .tabbar{display:none}
  .tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:10px;font-weight:700;line-height:1.2;color:#7C8F8B;text-decoration:none;-webkit-tap-highlight-color:transparent;transition:color .2s ease, transform .4s cubic-bezier(.34,1.45,.64,1)}
  .tab svg{width:21px;height:21px}
  .tab[aria-current="page"]{color:var(--verde)}
  .tab[aria-current="page"] svg{stroke-width:2.4}
  .tab:not(.tab-central):active{transform:scale(.88)}
  .tab:focus-visible{outline:3px solid var(--agua);outline-offset:-4px;border-radius:14px}
  .tab-central{position:relative;justify-content:flex-end;padding-bottom:9px}
  .tab-bolha{position:absolute;top:-26px;left:50%;display:grid;place-items:center;width:60px;height:60px;margin-left:-30px;border-radius:50%;background:linear-gradient(135deg, #0A5E52 0%, #14957F 100%);color:#fff;box-shadow:0 18px 40px -12px rgba(0,71,63,.55);animation:tab-flutua 4s ease-in-out infinite;transition:scale .35s cubic-bezier(.34,1.45,.64,1)}
  .tab-bolha::before{content:"";position:absolute;z-index:-1;inset:8px;border-radius:50%;background:rgba(51,201,178,.55);filter:blur(12px)}
  .tab-bolha svg{position:relative;width:26px;height:26px;stroke-width:2.3}
  .tab-central:active .tab-bolha{scale:.92}
}
@media (prefers-reduced-motion: reduce){ .tab-bolha{animation:none} }

/* ================================================================= o wizard como aplicativo (v3)
   Mobile-first, só em /agendar/ (body[data-pagina="agendar"]). As telas, a gaveta da data e o
   cabeçalho são conduzidos por site/js/agendar-app.js; os contratos com agendar.js não mudam
   (testes/frontend/testar-contratos-agendar.mjs). Nesta rodada: cabeçalho, o médico em
   destaque, local, tipo, e a etapa de data e horário com o calendário numa gaveta.
   Dados, pagamento e confirmação seguem como antes. */
body[data-pagina="agendar"]{--ag-tabbar:64px;--ag-raio:20px;--ag-sombra:0 1px 2px rgba(0,30,26,.05), 0 12px 28px -20px rgba(0,30,26,.32);--ag-ease:cubic-bezier(.2,.8,.2,1);--ag-agua-10:rgba(51,201,178,.12)}
[data-pagina="agendar"] #ag-etapas{display:none}

/* o cabeçalho: voltar · título e nome da etapa · Etapa N/7 · progresso */
[data-pagina="agendar"] .app-voltar{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:var(--nevoa);color:var(--tinta);cursor:pointer;transition:background .15s, transform .15s;-webkit-tap-highlight-color:transparent}
[data-pagina="agendar"] .app-voltar:active{transform:scale(.92)}
[data-pagina="agendar"] .app-voltar:focus-visible{outline:3px solid var(--agua);outline-offset:2px}
[data-pagina="agendar"] .app-voltar[hidden]{display:grid!important;visibility:hidden}
[data-pagina="agendar"] .app-cab-meio{min-width:0}
[data-pagina="agendar"] .app-sub{margin:0;font-size:13px;font-weight:600;color:var(--tinta-3)}
[data-pagina="agendar"] .app-etapa{margin:0;font-size:12px;font-weight:700;letter-spacing:.02em;color:var(--tinta-3);font-variant-numeric:tabular-nums;white-space:nowrap}
[data-pagina="agendar"] .app-etapa-num b{color:var(--verde);font-weight:800}
[data-pagina="agendar"] .app-barra{height:6px;border-radius:999px;background:#E6EEEB;overflow:hidden}
[data-pagina="agendar"] .app-barra i{display:block;height:100%;width:14.29%;border-radius:inherit;background:linear-gradient(90deg, var(--verde), var(--agua));transition:width .5s var(--ag-ease)}
#pg-agendar[data-tela="2"] .app-barra i{width:28.57%}
#pg-agendar[data-tela="3"] .app-barra i{width:42.86%}
#pg-agendar[data-tela="4"] .app-barra i{width:57.14%}
#pg-agendar[data-tela="5"] .app-barra i{width:71.43%}
#pg-agendar[data-tela="6"] .app-barra i{width:85.71%}
#pg-agendar[data-tela="7"] .app-barra i{width:100%}

/* o médico em destaque: retrato em anéis, nome, especialidade e registros (CFM) */
#ag-p1{gap:0}
[data-pagina="agendar"] .app-hero{display:flex;flex-direction:column;align-items:center;text-align:center;margin:2px 0 18px}
[data-pagina="agendar"] .app-medalhao{flex:none;width:84px;height:84px;margin:16px 0 14px;padding:3px;border-radius:50%;background:linear-gradient(140deg, var(--agua), var(--verde));box-shadow:0 0 0 10px var(--ag-agua-10), 0 0 0 21px rgba(51,201,178,.06)}
[data-pagina="agendar"] .app-medalhao img{display:block;width:100%;height:100%;object-fit:cover;border:3px solid #fff;border-radius:50%;background:var(--nevoa)}
[data-pagina="agendar"] .app-medico{margin:0;display:flex;flex-direction:column;gap:1px;line-height:1.3}
[data-pagina="agendar"] .app-medico b{font-size:17px;font-weight:800;letter-spacing:-.01em;color:var(--tinta)}
[data-pagina="agendar"] .app-medico span{font-size:13px;font-weight:700;color:var(--verde-2)}
[data-pagina="agendar"] .app-crm{display:flex;flex-wrap:wrap;justify-content:center;gap:0 10px;margin:6px 0 0;font-size:11.5px;line-height:1.5;color:var(--tinta-3);font-variant-numeric:tabular-nums}
#pg-agendar[data-tela="2"] .app-hero{display:grid;grid-template-columns:auto minmax(0, 1fr);align-items:center;column-gap:14px;text-align:left;margin:2px 0 16px;padding:12px 14px;border-radius:18px;background:var(--nevoa)}
#pg-agendar[data-tela="2"] .app-medalhao{grid-row:1 / span 2;width:52px;height:52px;margin:0 6px 0 4px;padding:2px;box-shadow:0 0 0 5px var(--ag-agua-10)}
#pg-agendar[data-tela="2"] .app-medalhao img{border-width:2px}
#pg-agendar[data-tela="2"] .app-medico{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:0 8px}
#pg-agendar[data-tela="2"] .app-medico b{font-size:15px}
#pg-agendar[data-tela="2"] .app-crm{flex-direction:column;justify-content:flex-start;margin-top:2px;font-size:11px;line-height:1.4}

/* as telas: uma pergunta por vez, centrada */
[data-pagina="agendar"] .tela-cab{margin:0 0 16px;text-align:center}
[data-pagina="agendar"] .tela-titulo{font-size:clamp(25px, 6.8vw, 32px);line-height:1.12;font-weight:800;letter-spacing:-.03em;color:var(--tinta);outline:none;text-wrap:balance}
[data-pagina="agendar"] .tela-sub{margin-top:8px;font-size:15px;line-height:1.5;color:var(--tinta-2);text-wrap:balance}
#ag-p1 .grupo-opc{margin:0;padding:0;border:0;min-width:0}
#ag-p1 .opcoes, #ag-p1 .opcoes.tres{grid-template-columns:1fr;gap:10px}

/* o cartão de escolha: não selecionado, toque, selecionado, foco */
#ag-p1 .opc-corpo{position:relative;display:grid;grid-template-columns:minmax(0, 1fr);row-gap:2px;align-content:center;min-height:70px;padding:12px 58px 12px 16px;border:1.5px solid var(--linha);border-radius:var(--ag-raio);background:#fff;box-shadow:var(--ag-sombra);transition:border-color .2s ease, background .2s ease, box-shadow .2s ease, transform .15s ease}
#ag-p1 .opc-ic{display:grid;place-items:center;width:48px;height:48px;margin:0;border-radius:50%;background:var(--nevoa);color:var(--verde);box-shadow:0 0 0 6px rgba(242,247,245,.7);transition:background .2s ease, color .2s ease, box-shadow .2s ease}
#ag-tela-local .opc-corpo{grid-template-columns:48px minmax(0, 1fr);column-gap:16px}
#ag-tela-local .opc-ic{grid-row:1 / span 2;align-self:center}
#ag-p1 .opc-corpo b{font-size:17px;font-weight:800;letter-spacing:-.01em;color:var(--tinta)}
#ag-p1 .opc-corpo small{font-size:14px;line-height:1.4;color:var(--tinta-3)}
#ag-p1 .opc-corpo::after{content:"";position:absolute;top:50%;right:18px;width:24px;height:24px;margin-top:-12px;border-radius:50%;border:2px solid #C3D2CE;background:#fff;transition:background-color .2s ease, border-color .2s ease, transform .2s var(--ag-ease)}
#ag-p1 .opc input:checked + .opc-corpo{border-color:var(--verde);background:#F5FBF9;box-shadow:inset 0 0 0 1px var(--verde), 0 18px 34px -22px rgba(0,71,63,.6)}
#ag-p1 .opc input:checked + .opc-corpo::after{top:50%;right:18px;width:24px;height:24px;margin-top:-12px;border-color:var(--verde);background:var(--verde) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/14px no-repeat;transform:scale(1.06)}
#ag-p1 .opc input:checked + .opc-corpo .opc-ic{background:var(--verde);color:#fff;box-shadow:0 0 0 6px var(--ag-agua-10)}
#ag-p1 .opc:active .opc-corpo{transform:scale(.985)}
#ag-p1 .opc input:focus-visible + .opc-corpo{outline:3px solid var(--agua);outline-offset:3px}
@media (hover: hover){ #ag-p1 .opc:hover .opc-corpo{border-color:var(--verde-2)} }

/* o tipo: dois blocos lado a lado, o selo de check no canto */
#ag-tela-tipo .opcoes.duas{grid-template-columns:repeat(2, minmax(0, 1fr));gap:12px}
#ag-tela-tipo .opc-larga{grid-column:1 / -1}
#ag-tela-tipo .opc-corpo{align-content:start;row-gap:4px;min-height:184px;padding:18px 16px 16px}
#ag-tela-tipo .opc-ic{margin:0 0 12px}
#ag-tela-tipo .opc-corpo b{font-size:clamp(14.5px, 4.1vw, 16px);line-height:1.25}
#ag-tela-tipo .opc-corpo small{font-size:13px}
#ag-tela-tipo .opc-dur{justify-self:start;align-self:end;margin-top:10px;padding:5px 10px;border-radius:999px;background:var(--nevoa);font-size:12.5px;font-weight:700;color:var(--verde)}
#ag-tela-tipo .opc-corpo::after, #ag-tela-tipo .opc input:checked + .opc-corpo::after{top:16px;right:16px;margin-top:0}
#ag-tela-tipo .opc-larga .opc-corpo{min-height:0;padding-right:56px}

/* o valor: em destaque; carregando (esqueleto), pronto, falhou */
[data-pagina="agendar"] #ag-valor-local{margin-top:14px;padding:14px 18px;border-radius:18px;border:1px solid #E1ECE8;background:var(--nevoa);font-size:14px;line-height:1.5;color:var(--tinta-2)}
[data-pagina="agendar"] #ag-valor-local b{font-size:22px;line-height:1.2;letter-spacing:-.02em;color:var(--verde);font-weight:800;font-variant-numeric:tabular-nums}
[data-pagina="agendar"] #ag-valor-local.carregando b{display:inline-block;width:132px;border-radius:8px;color:transparent;background:linear-gradient(90deg, #DDE8E4 0%, #F3F8F6 50%, #DDE8E4 100%);background-size:200% 100%;animation:ag-brilho 1.2s linear infinite}
[data-pagina="agendar"] #ag-valor-local.falhou{border-color:#E8C88A;background:#FFFAF0;color:#8A5A00}
[data-pagina="agendar"] #ag-valor-local.falhou b{font-size:16px;color:#8A5A00}
@keyframes ag-brilho{from{background-position:200% 0}to{background-position:-200% 0}}

/* data e horário: o botão que abre a gaveta e os horários do dia */
[data-pagina="agendar"] .app-data{display:grid;grid-template-columns:48px minmax(0, 1fr) 24px;align-items:center;gap:16px;width:100%;min-height:80px;margin:0 0 22px;padding:14px 18px;border:1.5px solid var(--linha);border-radius:var(--ag-raio);background:#fff;box-shadow:var(--ag-sombra);font:inherit;text-align:left;color:var(--tinta);cursor:pointer;transition:border-color .2s ease, transform .15s ease, box-shadow .2s ease;-webkit-tap-highlight-color:transparent}
[data-pagina="agendar"] .app-data:active{transform:scale(.985)}
[data-pagina="agendar"] .app-data:focus-visible{outline:3px solid var(--agua);outline-offset:3px}
[data-pagina="agendar"] .app-data-ic{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--verde);color:#fff;box-shadow:0 0 0 6px var(--ag-agua-10)}
[data-pagina="agendar"] .app-data-txt{display:flex;flex-direction:column;min-width:0}
[data-pagina="agendar"] .app-data-txt small{font-size:12.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--tinta-3)}
[data-pagina="agendar"] .app-data-txt b{font-size:18px;font-weight:800;letter-spacing:-.01em;color:var(--verde);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
[data-pagina="agendar"] .app-data-txt b::first-letter{text-transform:uppercase}
[data-pagina="agendar"] .app-data-seta{color:var(--tinta-3)}
[data-pagina="agendar"] .app-data.tem-data{border-color:var(--verde);background:#F5FBF9}
@media (hover: hover){ [data-pagina="agendar"] .app-data:hover{border-color:var(--verde-2)} }
#ag-p2 .ag-vazio{align-items:center;justify-content:center;min-height:120px;padding:22px;border:0;border-radius:var(--ag-raio);background:var(--nevoa);text-align:center;font-weight:600}
#ag-p2 .ag-vazio.carregando::before{content:"";width:28px;height:28px;border-radius:50%;border:3px solid #D3E4DF;border-top-color:var(--verde);animation:ag-gira .8s linear infinite}
@keyframes ag-gira{to{transform:rotate(360deg)}}
#ag-p2 .ag-horas h2{font-size:18px;font-weight:800;letter-spacing:-.01em}
#ag-p2 .ag-horas h2::first-letter{text-transform:uppercase}
#ag-p2 .horas{grid-template-columns:repeat(3, minmax(0, 1fr));gap:10px;margin-top:12px}
#ag-p2 .hora{min-height:52px;border-radius:16px;border:1.5px solid var(--linha);font-size:17px;box-shadow:var(--ag-sombra);transition:background .2s ease, border-color .2s ease, transform .15s ease, box-shadow .2s ease;-webkit-tap-highlight-color:transparent}
#ag-p2 .hora:active{transform:scale(.96)}
#ag-p2 .hora:focus-visible{outline:3px solid var(--agua);outline-offset:2px}
#ag-p2 .hora[aria-pressed="true"]{background:var(--verde);border-color:var(--verde);color:#fff;box-shadow:0 14px 26px -16px rgba(0,71,63,.75)}

/* o calendário (dentro da gaveta no celular, solto no computador) */
#ag-gaveta .cal{max-width:none;padding:0;border:0;border-radius:0}
#ag-gaveta .cal-topo{margin:4px 0 10px}
#ag-gaveta .cal-mes{font-size:17px;font-weight:800;letter-spacing:-.01em}
#ag-gaveta .cal-nav{display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid var(--linha);border-radius:50%;background:#fff;color:var(--tinta);cursor:pointer}
#ag-gaveta .cal-nav:disabled{opacity:.35;cursor:default}
#ag-gaveta .cal-semana, #ag-gaveta .cal-dias{gap:6px}
#ag-gaveta .cal-semana span{font-size:11px;padding:4px 0}
#ag-gaveta .cal-dia{min-height:40px;border-radius:50%;font-size:15px;transition:background .15s ease, transform .15s ease}
#ag-gaveta .cal-dia.livre{box-shadow:none}
#ag-gaveta .cal-dia.livre:active{transform:scale(.92)}
#ag-gaveta .cal-dia.escolhido{background:var(--verde);color:#fff;box-shadow:0 0 0 4px var(--ag-agua-10)}
#ag-gaveta .cal-dia:focus-visible{outline:3px solid var(--agua);outline-offset:1px}
[data-pagina="agendar"] .gaveta-fundo, [data-pagina="agendar"] .gaveta-alca, [data-pagina="agendar"] .gaveta-x, [data-pagina="agendar"] .gaveta-ok{display:none}
[data-pagina="agendar"] .gaveta-cab h3{font-size:18px;font-weight:800;letter-spacing:-.01em;color:var(--tinta)}
[data-pagina="agendar"] .gaveta-cab .ag-nota{margin:2px 0 0;font-size:13.5px}

/* o botão principal */
#ag-p1 .app-cta .btn, #ag-p2 .app-cta .btn-verde{display:flex;width:100%;min-height:56px;border-radius:18px;font-size:17px;box-shadow:0 14px 26px -16px rgba(0,71,63,.7);transition:transform .15s ease, background .2s ease, box-shadow .2s ease}
#ag-p1 .app-cta .btn:active, #ag-p2 .app-cta .btn:active{transform:scale(.98)}
#ag-p1 .app-cta .btn:disabled, #ag-p2 .app-cta .btn-verde:disabled{opacity:1;background:#CCDAD6;color:#fff;box-shadow:none}

/* transições: o conteúdo entra deslizando; o botão fixo e a gaveta ficam parados */
[data-pagina="agendar"] .entra-frente > :not(.app-cta):not(.gaveta){animation:ag-entra-frente .36s var(--ag-ease) both}
[data-pagina="agendar"] .entra-tras > :not(.app-cta):not(.gaveta){animation:ag-entra-tras .36s var(--ag-ease) both}
[data-pagina="agendar"] .entra-frente > .tela, [data-pagina="agendar"] .entra-tras > .tela{animation:none}
[data-pagina="agendar"] .entra-frente > .tela > :not(.app-cta){animation:ag-entra-frente .36s var(--ag-ease) both}
[data-pagina="agendar"] .entra-tras > .tela > :not(.app-cta){animation:ag-entra-tras .36s var(--ag-ease) both}
@keyframes ag-entra-frente{from{opacity:0;transform:translateX(26px)}to{opacity:1;transform:none}}
@keyframes ag-entra-tras{from{opacity:0;transform:translateX(-26px)}to{opacity:1;transform:none}}


/* ------------------------------------------------ celular e tablet: o aplicativo */
@media (max-width: 1023px){
  body[data-pagina="agendar"]{background:#fff;padding-bottom:calc(var(--ag-tabbar) + env(safe-area-inset-bottom, 0px) + 112px)}
  [data-pagina="agendar"] .topo, [data-pagina="agendar"] .zap, [data-pagina="agendar"] .rodape-site{display:none}
  [data-pagina="agendar"] .ag-topo{position:sticky;top:0;z-index:25;padding-top:env(safe-area-inset-top, 0px);border-bottom:0;background:rgba(255,255,255,.94);-webkit-backdrop-filter:saturate(1.3) blur(14px);backdrop-filter:saturate(1.3) blur(14px)}
  [data-pagina="agendar"] .ag-topo .wrap{max-width:680px;padding:8px max(16px, env(safe-area-inset-left, 0px)) 10px}
  [data-pagina="agendar"] .ag-topo .eyebrow, [data-pagina="agendar"] .ag-topo .lead{display:none}
  [data-pagina="agendar"] .app-cab{display:grid;grid-template-columns:48px minmax(0, 1fr) 48px;align-items:center;gap:6px;min-height:50px}
  [data-pagina="agendar"] .app-cab-meio{text-align:center}
  [data-pagina="agendar"] .app-cab .titulo-pag{margin:0;font-size:16px;line-height:1.25;font-weight:800;letter-spacing:-.01em;color:var(--tinta);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  [data-pagina="agendar"] .app-sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  [data-pagina="agendar"] .app-etapa{display:flex;flex-direction:column;align-items:flex-end;line-height:1.15}
  [data-pagina="agendar"] .app-etapa-rot{font-size:10px;letter-spacing:.08em;text-transform:uppercase}
  [data-pagina="agendar"] .app-etapa-num{font-size:15px;color:var(--tinta-3)}
  [data-pagina="agendar"] .app-barra{margin-top:8px}
  [data-pagina="agendar"] .ag-corpo{overflow-x:clip;padding:8px 0 0}
  [data-pagina="agendar"] .ag-corpo .wrap{max-width:680px;padding-inline:max(20px, env(safe-area-inset-left, 0px))}
  [data-pagina="agendar"] .ag-grade{grid-template-columns:minmax(0, 1fr)}
  #pg-agendar[data-tela="1"] .ag-resumo, #pg-agendar[data-tela="2"] .ag-resumo, #pg-agendar[data-tela="3"] .ag-resumo{display:none}
  #ag-p1 .app-cta, #ag-p2 .app-cta{position:fixed;left:0;right:0;bottom:calc(var(--ag-tabbar) + 22px + env(safe-area-inset-bottom, 0px));z-index:28;margin:0;padding:14px max(20px, env(safe-area-inset-right, 0px)) 12px max(20px, env(safe-area-inset-left, 0px));background:linear-gradient(to top, #fff 72%, rgba(255,255,255,0))}
  #ag-p1 .app-cta .btn, #ag-p2 .app-cta .btn-verde{max-width:640px;margin-inline:auto}
  #ag-p2 .app-cta [data-voltar]{display:none}
  /* momentos críticos (dados, revisão, pagamento) e teclado aberto: sem tabbar */
  body:has(#pg-agendar:is([data-tela="4"], [data-tela="5"], [data-tela="6"], .digitando)) .tabbar{display:none}
  #pg-agendar[data-tela="4"] .app-cta, #pg-agendar[data-tela="5"] .app-cta, #pg-agendar[data-tela="6"] .app-cta, #pg-agendar.digitando .app-cta{bottom:0;padding-bottom:calc(12px + env(safe-area-inset-bottom, 0px))}

  /* a gaveta: sobe de baixo, com fundo escurecido, alça, fechar e "Ver horários" */
  html.com-gaveta, html.com-gaveta body{overflow:hidden}
  [data-pagina="agendar"] .gaveta{position:fixed;inset:0;z-index:60;display:flex;flex-direction:column;justify-content:flex-end}
  [data-pagina="agendar"] .gaveta-fundo{display:block;position:absolute;inset:0;background:rgba(0,30,26,.46);opacity:0;transition:opacity .3s ease}
  [data-pagina="agendar"] .gaveta-painel{position:relative;width:100%;max-width:560px;max-height:calc(100dvh - 24px);margin:0 auto;overflow-y:auto;overscroll-behavior:contain;padding:6px max(20px, env(safe-area-inset-right, 0px)) calc(18px + env(safe-area-inset-bottom, 0px)) max(20px, env(safe-area-inset-left, 0px));border-radius:28px 28px 0 0;background:#fff;box-shadow:0 -20px 50px -20px rgba(0,30,26,.4);transform:translateY(100%);transition:transform .36s var(--ag-ease)}
  [data-pagina="agendar"] .gaveta.aberta .gaveta-fundo{opacity:1}
  [data-pagina="agendar"] .gaveta.aberta .gaveta-painel{transform:none}
  [data-pagina="agendar"] .gaveta.arrastando .gaveta-painel{transition:none}
  [data-pagina="agendar"] .gaveta-alca{display:block;padding:6px 0 12px;touch-action:none;cursor:grab}
  [data-pagina="agendar"] .gaveta-alca i{display:block;width:44px;height:5px;margin:0 auto;border-radius:999px;background:#D3DDDA}
  [data-pagina="agendar"] .gaveta-cab{position:relative;margin-bottom:10px;padding-right:52px;touch-action:none}
  [data-pagina="agendar"] .gaveta-x{display:grid;place-items:center;position:absolute;top:-2px;right:0;width:40px;height:40px;padding:0;border:0;border-radius:50%;background:var(--nevoa);color:var(--tinta);cursor:pointer}
  [data-pagina="agendar"] .gaveta-x:focus-visible{outline:3px solid var(--agua);outline-offset:2px}
  [data-pagina="agendar"] .gaveta-ok{display:flex;width:100%;min-height:56px;margin-top:18px;border-radius:18px;font-size:17px;box-shadow:0 14px 26px -16px rgba(0,71,63,.7)}
  [data-pagina="agendar"] .gaveta-ok:disabled{opacity:1;background:#CCDAD6;color:#fff;box-shadow:none}
}
/* celular baixo (iPhone SE e afins): o médico vira uma faixa, a pergunta encolhe */
@media (max-width: 1023px) and (max-height: 760px){
  #pg-agendar .app-hero{display:grid;grid-template-columns:auto minmax(0, 1fr);align-items:center;column-gap:14px;text-align:left;margin:2px 0 14px;padding:10px 12px;border-radius:18px;background:var(--nevoa)}
  #pg-agendar .app-medalhao{grid-row:1 / span 2;width:48px;height:48px;margin:0 6px 0 4px;padding:2px;box-shadow:0 0 0 5px var(--ag-agua-10)}
  #pg-agendar .app-medalhao img{border-width:2px}
  #pg-agendar .app-medico{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:0 8px}
  #pg-agendar .app-medico b{font-size:15px}
  #pg-agendar .app-crm{flex-direction:column;justify-content:flex-start;margin-top:2px;font-size:11px;line-height:1.4}
  [data-pagina="agendar"] .tela-titulo{font-size:24px}
  [data-pagina="agendar"] .tela-sub{margin-top:4px;font-size:14px}
  [data-pagina="agendar"] .tela-cab{margin-bottom:12px}
  #ag-tela-tipo .opc-corpo{min-height:156px;padding:14px 14px 12px}
  #ag-tela-tipo .opc-ic{width:40px;height:40px;margin-bottom:8px}
}
@media (max-width: 1023px) and (prefers-reduced-motion: reduce){
  [data-pagina="agendar"] .gaveta-painel, [data-pagina="agendar"] .gaveta-fundo{transition:none}
}

/* ------------------------------------------------ tablet e computador: cartões lado a lado */
@media (min-width: 700px){
  #ag-tela-local .opcoes.tres{grid-template-columns:repeat(3, minmax(0, 1fr));gap:16px}
  #ag-tela-local .opc-corpo{grid-template-columns:minmax(0, 1fr);align-content:start;min-height:190px;padding:24px 22px}
  #ag-tela-local .opc-ic{grid-row:auto;width:56px;height:56px;margin-bottom:20px}
  #ag-tela-tipo .opc-corpo{min-height:170px;padding:24px 22px 20px}
  #ag-tela-local .opc-corpo::after, #ag-tela-local .opc input:checked + .opc-corpo::after{top:22px;right:22px;margin-top:0}
  #ag-p2 .horas{grid-template-columns:repeat(auto-fill, minmax(104px, 1fr))}
}

/* ------------------------------------------------ computador: um painel, não um celular esticado */
@media (min-width: 1024px){
  [data-pagina="agendar"] .ag-topo .wrap{padding-block:40px 28px}
  [data-pagina="agendar"] .app-cab{display:grid;grid-template-columns:auto minmax(0, 1fr) auto;align-items:center;gap:20px;margin-top:10px}
  [data-pagina="agendar"] .app-voltar{background:#fff;border:1px solid var(--linha)}
  [data-pagina="agendar"] .app-cab .titulo-pag{margin:0;font-size:clamp(36px, 3.4vw, 48px)}
  [data-pagina="agendar"] .app-sub{margin-top:4px;font-size:15px}
  [data-pagina="agendar"] .app-etapa{align-self:end;padding-bottom:8px;font-size:14px}
  [data-pagina="agendar"] .app-etapa-num{font-size:16px}
  [data-pagina="agendar"] .app-barra{margin-top:24px}
  [data-pagina="agendar"] .ag-topo .lead{margin-top:16px}
  [data-pagina="agendar"] .ag-corpo{background:var(--nevoa);padding-block:8px 104px}
  [data-pagina="agendar"] .ag-principal{min-width:0;padding:40px 48px;border:1px solid var(--linha);border-radius:28px;background:#fff;box-shadow:0 34px 70px -52px rgba(0,30,26,.45)}
  [data-pagina="agendar"] .app-hero, #pg-agendar[data-tela="2"] .app-hero{display:grid;grid-template-columns:auto minmax(0, 1fr);align-items:center;column-gap:18px;text-align:left;margin:0 0 30px;padding:0 0 26px;border-radius:0;background:none;border-bottom:1px solid var(--linha)}
  [data-pagina="agendar"] .app-medalhao, #pg-agendar[data-tela="2"] .app-medalhao{grid-row:1 / span 2;width:64px;height:64px;margin:0 8px 0 6px;box-shadow:0 0 0 7px var(--ag-agua-10)}
  [data-pagina="agendar"] .app-medico, #pg-agendar[data-tela="2"] .app-medico{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:0 10px}
  [data-pagina="agendar"] .app-medico b, #pg-agendar[data-tela="2"] .app-medico b{font-size:17px}
  [data-pagina="agendar"] .app-crm, #pg-agendar[data-tela="2"] .app-crm{flex-direction:row;justify-content:flex-start;margin-top:2px;font-size:12px}
  [data-pagina="agendar"] .tela-cab{text-align:left}
  [data-pagina="agendar"] .tela-titulo{font-size:32px}
  #ag-p1 .app-cta, #ag-p2 .app-cta{display:flex;justify-content:flex-end;gap:12px;margin-top:36px;padding-top:24px;border-top:1px solid var(--linha)}
  #ag-p1 .app-cta .btn, #ag-p2 .app-cta .btn-verde{width:auto;min-width:280px}
  #ag-p2 .app-cta [data-voltar]{min-height:56px;border-radius:18px;margin-right:auto}
  #ag-p2 .app-data{display:none}
  #ag-gaveta{max-width:480px;margin-bottom:28px;padding:22px;border:1px solid var(--linha);border-radius:24px}
  [data-pagina="agendar"] .gaveta-cab{margin-bottom:12px}
  [data-pagina="agendar"] .ag-resumo{top:104px;border-radius:24px;padding:26px}
}
/* ================================================================= acabamento de aplicativo (v4)
   Por cima do v3: a mesma estrutura, a mesma marca (verde, degradê verde → água, Manrope),
   com acabamento de app — tipografia um pouco menor, cartões sem borda (anel de 1px + sombra
   difusa esverdeada), toques com "mola", entradas em cascata, valor num cartão em degradê,
   gaveta com fundo desfocado e a tabbar flutuante em pílula com o botão central respirando. */
body[data-pagina="agendar"]{
  --ag-grad:linear-gradient(135deg, var(--verde) 0%, #0B6457 52%, #17907E 100%);
  --ag-anel:0 0 0 1px #E7EFEC;
  --ag-sombra:0 0 0 1px #E7EFEC, 0 8px 24px -12px rgba(0,50,42,.16);
  --ag-sombra-macia:0 10px 26px -12px rgba(0,71,63,.50);
  --ag-sombra-flutua:0 18px 40px -12px rgba(0,71,63,.55);
  --ag-mola:cubic-bezier(.34,1.45,.64,1);
  --ag-suave:cubic-bezier(.16,1,.3,1);
  --ag-pastel:rgba(51,201,178,.14);
  --ag-cinza:#7C8F8B;
}

/* cabeçalho mais leve */
[data-pagina="agendar"] .app-voltar{width:40px;height:40px;background:#F3F7F5;transition:transform .35s var(--ag-mola), background .2s ease}
[data-pagina="agendar"] .app-voltar:active{transform:scale(.88)}
[data-pagina="agendar"] .app-barra{height:5px}

/* o médico: medalhão com selo "Agendamento online" e ponto pulsante */
[data-pagina="agendar"] .app-medalhao{position:relative}
[data-pagina="agendar"] .app-selo{position:absolute;left:50%;bottom:-11px;display:inline-flex;align-items:center;gap:6px;margin:0;padding:3px 10px 3px 8px;border-radius:999px;background:#fff;box-shadow:var(--ag-sombra);font-size:10.5px;font-weight:700;letter-spacing:.01em;color:var(--verde);white-space:nowrap;transform:translateX(-50%)}
[data-pagina="agendar"] .app-selo i{position:relative;width:7px;height:7px;border-radius:50%;background:#1FB58F}
[data-pagina="agendar"] .app-selo i::after{content:"";position:absolute;inset:0;border-radius:50%;background:#1FB58F;animation:ag-ping 1.6s cubic-bezier(0,0,.2,1) infinite}
@keyframes ag-ping{75%,100%{transform:scale(2.4);opacity:0}}
/* o selo só cabe no medalhão grande; nas versões compactas (tela 2, celular baixo, computador) sai */
#pg-agendar[data-tela="2"] .app-selo{display:none}
@media (max-height: 760px), (min-width: 1024px){ [data-pagina="agendar"] .app-selo{display:none} }

/* cartões de escolha: sem borda, anel + sombra difusa; toque com mola */
#ag-p1 .opc-corpo{border:0;border-radius:22px;box-shadow:var(--ag-sombra);transition:box-shadow .25s ease, background .25s ease, transform .4s var(--ag-mola)}
#ag-p1 .opc-ic{width:44px;height:44px;background:var(--ag-pastel);box-shadow:none}
#ag-tela-local .opc-corpo{grid-template-columns:44px minmax(0, 1fr);column-gap:14px}
#ag-p1 .opc-corpo b{font-size:15.5px;letter-spacing:-.015em}
#ag-p1 .opc-corpo small{font-size:13px;color:var(--ag-cinza)}
#ag-p1 .opc-corpo::after{width:22px;height:22px;margin-top:-11px;border-width:1.5px;border-color:#CFDCD8}
#ag-p1 .opc input:checked + .opc-corpo{background:#F5FBF9;box-shadow:0 0 0 2px var(--verde), 0 14px 30px -14px rgba(0,71,63,.45)}
#ag-p1 .opc input:checked + .opc-corpo::after{width:22px;height:22px;margin-top:-11px;background-color:var(--verde);background-size:12px;animation:ag-estala .45s var(--ag-mola)}
#ag-p1 .opc input:checked + .opc-corpo .opc-ic{background:var(--ag-grad);box-shadow:0 8px 18px -8px rgba(0,71,63,.6)}
#ag-p1 .opc:active .opc-corpo{transform:scale(.96)}
@keyframes ag-estala{0%{transform:scale(.4)}100%{transform:scale(1)}}
#ag-tela-tipo .opc-corpo{border-radius:24px}
#ag-tela-tipo .opc-corpo::after, #ag-tela-tipo .opc input:checked + .opc-corpo::after{margin-top:0}
#ag-tela-tipo .opc-dur{background:var(--ag-pastel);font-size:12px}
@media (hover: hover){ #ag-p1 .opc:hover .opc-corpo{box-shadow:0 0 0 1px #D5E3DF, 0 12px 28px -12px rgba(0,50,42,.22)} }

/* o valor: cartão em degradê da marca, com dois orbes desfocados (como um cartão de saldo) */
[data-pagina="agendar"] #ag-valor-local{position:relative;isolation:isolate;overflow:hidden;margin-top:14px;padding:16px 18px;border:0;border-radius:24px;background:var(--ag-grad);box-shadow:var(--ag-sombra-flutua);font-size:13px;line-height:1.5;color:rgba(255,255,255,.82)}
[data-pagina="agendar"] #ag-valor-local::before{content:"";position:absolute;z-index:-1;top:-60px;right:-40px;width:150px;height:150px;border-radius:50%;background:rgba(255,255,255,.12);filter:blur(22px)}
[data-pagina="agendar"] #ag-valor-local::after{content:"";position:absolute;z-index:-1;bottom:-70px;left:-30px;width:140px;height:140px;border-radius:50%;background:rgba(51,201,178,.45);filter:blur(28px)}
[data-pagina="agendar"] #ag-valor-local b{font-size:24px;letter-spacing:-.03em;color:#fff}
[data-pagina="agendar"] #ag-valor-local a{color:#fff;font-weight:700}
[data-pagina="agendar"] #ag-valor-local.carregando b{background:linear-gradient(90deg, rgba(255,255,255,.18) 0%, rgba(255,255,255,.42) 50%, rgba(255,255,255,.18) 100%);background-size:200% 100%}
[data-pagina="agendar"] #ag-valor-local.falhou{background:#FFF8EC;box-shadow:0 0 0 1px #F0D9A8;color:#8A5A00}
[data-pagina="agendar"] #ag-valor-local.falhou::before, [data-pagina="agendar"] #ag-valor-local.falhou::after{display:none}
[data-pagina="agendar"] #ag-valor-local.falhou b{color:#8A5A00}

/* data e horário */
[data-pagina="agendar"] .app-data{min-height:72px;gap:14px;grid-template-columns:44px minmax(0, 1fr) 20px;border:0;border-radius:22px;box-shadow:var(--ag-sombra);transition:box-shadow .25s ease, background .25s ease, transform .4s var(--ag-mola)}
[data-pagina="agendar"] .app-data:active{transform:scale(.96)}
[data-pagina="agendar"] .app-data-ic{width:44px;height:44px;background:var(--ag-grad);box-shadow:0 8px 18px -8px rgba(0,71,63,.6)}
[data-pagina="agendar"] .app-data-txt small{font-size:10.5px;letter-spacing:.06em;color:var(--ag-cinza)}
[data-pagina="agendar"] .app-data-txt b{font-size:16px;letter-spacing:-.015em}
[data-pagina="agendar"] .app-data.tem-data{box-shadow:0 0 0 2px var(--verde), 0 14px 30px -14px rgba(0,71,63,.45)}
@media (hover: hover){ [data-pagina="agendar"] .app-data:hover{box-shadow:0 0 0 1px #D5E3DF, 0 12px 28px -12px rgba(0,50,42,.22)} }
#ag-p2 .ag-vazio{border-radius:24px;background:#F5F9F7;box-shadow:var(--ag-anel);font-size:14px}
#ag-p2 .ag-horas h2{font-size:15.5px;letter-spacing:-.015em}
#ag-p2 .ag-horas .ag-nota{font-size:12px;color:var(--ag-cinza)}
#ag-p2 .horas{gap:8px}
#ag-p2 .hora{min-height:48px;border:0;border-radius:16px;font-size:15px;box-shadow:var(--ag-sombra);transition:background .2s ease, box-shadow .25s ease, transform .4s var(--ag-mola);animation:ag-sobe .45s var(--ag-suave) both}
#ag-p2 .hora:nth-child(2){animation-delay:.04s} #ag-p2 .hora:nth-child(3){animation-delay:.08s}
#ag-p2 .hora:nth-child(4){animation-delay:.12s} #ag-p2 .hora:nth-child(5){animation-delay:.16s}
#ag-p2 .hora:nth-child(n+6){animation-delay:.2s}
#ag-p2 .hora:active{transform:scale(.92)}
#ag-p2 .hora[aria-pressed="true"]{background:var(--ag-grad);box-shadow:var(--ag-sombra-macia)}

/* o calendário */
#ag-gaveta .cal-mes{font-size:15.5px}
#ag-gaveta .cal-nav{width:36px;height:36px;border:0;background:#F3F7F5;transition:transform .35s var(--ag-mola)}
#ag-gaveta .cal-nav:active{transform:scale(.88)}
#ag-gaveta .cal-semana span{font-size:10.5px;color:var(--ag-cinza)}
#ag-gaveta .cal-dia{font-size:14px;transition:background .2s ease, transform .35s var(--ag-mola)}
#ag-gaveta .cal-dia.livre{background:var(--ag-pastel)}
#ag-gaveta .cal-dia.livre:active{transform:scale(.86)}
#ag-gaveta .cal-dia.escolhido{background:var(--ag-grad);box-shadow:var(--ag-sombra-macia);animation:ag-estala .4s var(--ag-mola)}
[data-pagina="agendar"] .gaveta-cab h3{font-size:19px;letter-spacing:-.025em}
[data-pagina="agendar"] .gaveta-cab .ag-nota{font-size:12.5px;color:var(--ag-cinza)}

/* botões principais: degradê da marca, sombra macia, toque com mola */
#ag-p1 .app-cta .btn, #ag-p2 .app-cta .btn-verde, [data-pagina="agendar"] .gaveta-ok{min-height:54px;border-radius:18px;font-size:16px;letter-spacing:-.01em;background:var(--ag-grad);box-shadow:var(--ag-sombra-macia);transition:transform .4s var(--ag-mola), box-shadow .25s ease, opacity .2s ease}
#ag-p1 .app-cta .btn:active, #ag-p2 .app-cta .btn:active, [data-pagina="agendar"] .gaveta-ok:active{transform:scale(.96)}
#ag-p1 .app-cta .btn:disabled, #ag-p2 .app-cta .btn-verde:disabled, [data-pagina="agendar"] .gaveta-ok:disabled{background:#D5E1DE;box-shadow:none}

/* entradas em cascata: cada cartão sobe um pouco depois do anterior */
@keyframes ag-sobe{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
[data-pagina="agendar"] .entra-sobe > :not(.app-cta){animation:ag-sobe .55s var(--ag-suave) both}
[data-pagina="agendar"] .entra-sobe > :nth-child(2){animation-delay:.05s}
[data-pagina="agendar"] .entra-sobe > :nth-child(3){animation-delay:.1s}
[data-pagina="agendar"] :is(.entra-frente, .entra-tras, .entra-sobe) .opcoes > .opc{animation:ag-sobe .5s var(--ag-suave) both}
[data-pagina="agendar"] :is(.entra-frente, .entra-tras, .entra-sobe) .opcoes > .opc:nth-child(1){animation-delay:.08s}
[data-pagina="agendar"] :is(.entra-frente, .entra-tras, .entra-sobe) .opcoes > .opc:nth-child(2){animation-delay:.13s}
[data-pagina="agendar"] :is(.entra-frente, .entra-tras, .entra-sobe) .opcoes > .opc:nth-child(3){animation-delay:.18s}
[data-pagina="agendar"] .app-hero > *{animation:ag-sobe .55s var(--ag-suave) both}
[data-pagina="agendar"] .app-hero > :nth-child(2){animation-delay:.05s}
[data-pagina="agendar"] .app-hero > :nth-child(3){animation-delay:.1s}

@media (max-width: 1023px){
  body[data-pagina="agendar"]{padding-bottom:calc(196px + env(safe-area-inset-bottom, 0px))}
  [data-pagina="agendar"] .app-cab .titulo-pag{font-size:15px;letter-spacing:-.015em}
  [data-pagina="agendar"] .app-sub{font-size:12px;color:var(--ag-cinza)}
  [data-pagina="agendar"] .app-etapa-rot{font-size:9.5px;color:var(--ag-cinza)}
  [data-pagina="agendar"] .app-etapa-num{font-size:14px}
  [data-pagina="agendar"] .tela-titulo{font-size:clamp(22px, 6.2vw, 26px);letter-spacing:-.035em}
  [data-pagina="agendar"] .tela-sub{font-size:14px;color:var(--ag-cinza)}
  [data-pagina="agendar"] .app-medalhao{width:78px;height:78px;margin:14px 0 20px}
  [data-pagina="agendar"] .app-medico b{font-size:16px;letter-spacing:-.015em}
  [data-pagina="agendar"] .app-medico span{font-size:12.5px}
  [data-pagina="agendar"] .app-crm{font-size:10.5px;color:var(--ag-cinza)}
  #ag-p1 .opc-corpo{min-height:66px}

  /* o botão principal fica acima da tabbar e do botão central */
  #ag-p1 .app-cta, #ag-p2 .app-cta{bottom:calc(112px + env(safe-area-inset-bottom, 0px));padding-top:10px;padding-bottom:6px;background:linear-gradient(to top, #fff 70%, rgba(255,255,255,0))}


  /* a gaveta: fundo desfocado, cantos de 32px, subida com desaceleração de mola */
  [data-pagina="agendar"] .gaveta-fundo{background:rgba(0,30,26,.30);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
  [data-pagina="agendar"] .gaveta-painel{border-radius:32px 32px 0 0;padding-top:4px;box-shadow:0 -18px 40px -12px rgba(0,40,34,.28);transition:transform .55s var(--ag-suave)}
  [data-pagina="agendar"] .gaveta-alca i{width:48px;height:6px;background:#E2EAE7}
  [data-pagina="agendar"] .gaveta-x{width:36px;height:36px;background:#F3F7F5;transition:transform .35s var(--ag-mola)}
  [data-pagina="agendar"] .gaveta-x:active{transform:scale(.88)}
}
@media (max-width: 1023px) and (max-height: 760px){
  #pg-agendar .app-medalhao{width:48px;height:48px;margin:0 6px 0 4px}
  [data-pagina="agendar"] .tela-titulo{font-size:22px}
  #ag-p1 .opc-corpo{min-height:60px}
  #ag-tela-tipo .opc-corpo{min-height:150px}
}
@media (prefers-reduced-motion: reduce){
  [data-pagina="agendar"] .app-selo i::after, [data-pagina="agendar"] .app-hero > *,
  [data-pagina="agendar"] .opc, [data-pagina="agendar"] .hora, [data-pagina="agendar"] .entra-sobe > *{animation:none!important}
}

/* ajustes da versão publicada */
[hidden]{display:none!important}
.pular{position:absolute;left:12px;top:-60px;z-index:50;background:var(--verde);color:#fff;padding:10px 16px;border-radius:8px;font-weight:700;text-decoration:none}
.pular:focus{top:12px;color:#fff}
.sec-dicas{padding-bottom:clamp(64px, 9vw, 112px)}
.pauta{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ph-tx);background:var(--ph-bg);border:1px dashed #9ED9CC;border-radius:999px;padding:3px 10px}
.destaque .linha-meta{display:flex;gap:8px;align-items:center}
.nao-achou{text-align:center}
.nao-achou .titulo-pag{margin-top:14px}
.nao-achou .lead{margin:18px auto 0}
.nao-achou .acoes{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:28px}

/* ---------------------------------------------------------------- blog: página do artigo */
a.post{cursor:pointer}
a.post:hover h3{color:var(--verde)}
.art-topo{padding:clamp(32px, 5vw, 64px) 0 clamp(24px, 3vw, 36px);background:var(--nevoa)}
.art-trilha{display:flex;gap:8px;align-items:center;font-size:14px;color:var(--tinta-3);margin-bottom:14px}
.art-trilha a{color:var(--verde-2);font-weight:700;text-decoration:none}
.art-titulo{font-size:clamp(30px, 4vw, 48px);font-weight:800;color:var(--verde);letter-spacing:-.03em;line-height:1.12;max-width:22ch;margin:0}
.art-topo .lead{margin:16px 0 0}
.art-autor{display:flex;gap:14px;align-items:center;margin-top:24px}
.art-autor img{width:56px;height:56px;border-radius:50%;object-fit:cover;flex:none}
.art-autor div{display:flex;flex-direction:column;font-size:14px;color:var(--tinta-3);line-height:1.45}
.art-autor b{color:var(--tinta);font-size:15.5px}
.art-grade{display:grid;grid-template-columns:minmax(0, 1fr) 300px;gap:clamp(28px, 4vw, 64px);align-items:start;padding-block:clamp(28px, 4vw, 48px)}
.art-corpo{max-width:720px;font-size:17.5px;line-height:1.75}
.art-corpo h2{font-size:clamp(24px, 2.6vw, 30px);margin:44px 0 12px;line-height:1.25;scroll-margin-top:90px}
.art-corpo h3{font-size:20px;color:var(--verde);margin:30px 0 8px}
.art-corpo p, .art-corpo ul, .art-corpo ol{margin:0 0 16px}
.art-corpo ul, .art-corpo ol{padding-left:22px}
.art-corpo li{margin-bottom:6px}
.art-corpo a{color:var(--verde);font-weight:700}
.art-capa{margin:0 0 8px;border-radius:var(--raio);overflow:hidden;aspect-ratio:16 / 9}
.art-capa img{width:100%;height:100%;object-fit:cover;display:block}
.art-nota{margin:20px 0;padding:16px 20px;border-left:4px solid var(--agua);background:var(--nevoa);border-radius:0 var(--raio) var(--raio) 0;font-size:16px;color:var(--tinta-2)}
.art-nota p{margin:0}
.art-cta{margin:28px 0;padding:22px 24px;border-radius:16px;background:var(--ph-bg);border:1px solid #BFE6DC;display:flex;flex-wrap:wrap;gap:16px 24px;align-items:center;justify-content:space-between}
.art-cta p{margin:0;flex:1 1 320px;font-size:16.5px;line-height:1.6}
.art-cta .btn{flex:none;color:#fff}
.art-tabela{overflow-x:auto;margin:20px 0}
.art-tabela table{border-collapse:collapse;width:100%;font-size:15px;line-height:1.5}
.art-tabela th, .art-tabela td{padding:10px 12px;border-bottom:1px solid var(--linha);text-align:left;vertical-align:top}
.art-tabela th{color:var(--verde);background:var(--nevoa)}
.art-faq{margin-top:48px}
.art-faq h2{margin-top:0}
.art-refs{margin-top:40px;font-size:14px;line-height:1.6;color:var(--tinta-2)}
.art-refs summary{cursor:pointer;font-weight:700;color:var(--verde)}
.art-refs ol{margin:12px 0 0;padding-left:20px}
.art-refs li{margin-bottom:8px;word-break:break-word}
.art-aviso{margin-top:18px;font-size:13.5px;color:var(--tinta-3)}
.art-lateral{position:sticky;top:96px}
.art-cartao{border:1px solid var(--linha);border-radius:18px;padding:24px;text-align:center;background:#fff;box-shadow:0 18px 40px -28px rgba(0,30,26,.35)}
.art-cartao img{width:88px;height:88px;border-radius:50%;object-fit:cover}
.art-cartao-nome{margin:12px 0 0;font-weight:800;color:var(--verde);font-size:17px}
.art-cartao-cargo{margin:2px 0 14px;font-size:14px;color:var(--tinta-3)}
.art-cartao ul{list-style:none;padding:0;margin:0 0 18px;text-align:left;font-size:14.5px;line-height:1.5}
.art-cartao li{padding:8px 0 8px 22px;border-top:1px solid var(--linha);position:relative}
.art-cartao li::before{content:"";position:absolute;left:4px;top:15px;width:8px;height:8px;border-radius:50%;background:var(--agua)}
.art-cartao .btn{width:100%;color:#fff}
.art-cartao-link{display:inline-block;margin-top:12px;font-size:14px;font-weight:700;color:var(--verde-2)}
.art-final{background:var(--petroleo);color:var(--escuro-texto);padding-block:clamp(48px, 7vw, 88px);text-align:center}
.art-final .eyebrow{color:var(--agua-claro)}
.art-final h2{color:#fff;margin:8px 0 12px;font-size:clamp(28px, 3.5vw, 42px)}
.art-final p{max-width:60ch;margin:0 auto;color:var(--escuro-texto-2);font-size:clamp(16px, 1.6vw, 18px)}
.art-final-acoes{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:28px}
.art-final .btn{min-width:220px}
.btn-linha-escuro{border:1.5px solid var(--escuro-linha);color:#fff;background:transparent}
.btn-linha-escuro:hover{border-color:var(--agua)}
.art-news{padding-block:clamp(48px, 7vw, 80px) 0}
.form-lead{display:grid;gap:10px}
.form-lead input[type=text], .form-lead input[type=email], .form-lead select{width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--linha);border-radius:10px;font:inherit;background:#fff;color:var(--tinta)}
.form-lead .lead-aceite{display:grid;grid-template-columns:auto minmax(0, 1fr);gap:10px;align-items:start;font-size:13.5px;line-height:1.5;color:var(--tinta-2);text-align:left}
.form-lead .lead-aceite span{display:block}
.form-lead .lead-aceite a{display:inline;color:var(--verde);font-weight:700}
.form-lead .lead-aceite input{margin-top:3px;flex:none}
.form-lead .erro{margin:0;font-size:14px;font-weight:700;color:#A3261B}
.form-lead .ok{margin:0;font-size:14.5px;font-weight:700;color:var(--verde)}
.form-lead button[disabled]{opacity:.6;cursor:wait}
.art-leia{padding-block:clamp(48px, 7vw, 88px)}
.art-leia h2{margin-bottom:24px}
@media (max-width: 960px){
  .art-grade{grid-template-columns:minmax(0, 1fr)}
  .art-lateral{position:static}
  .art-cartao{max-width:420px;margin-inline:auto}
}
@media (max-width: 760px){
  /* no celular o cartão lateral repete a faixa final e a barra "Agendar" fixa: sai */
  .art-lateral{display:none}
  .art-grade{padding-block:20px 8px}
}
@media (max-width: 560px){
  .art-topo{padding:18px 0 20px}
  .art-trilha{font-size:13px;margin-bottom:8px}
  .art-titulo{font-size:27px;line-height:1.15;max-width:none}
  .art-topo .lead{font-size:15.5px;line-height:1.55;margin-top:10px}
  .art-autor{margin-top:14px;gap:10px}
  .art-autor img{width:30px;height:30px}
  /* no celular o texto começa logo depois do autor: a foto de capa sai */
  .art-capa{display:none}
  .art-autor div{font-size:12.5px;line-height:1.4}
  .art-autor b{font-size:14px}

  .art-corpo{font-size:16.5px;line-height:1.7}
  .art-corpo h2{font-size:22px;margin:32px 0 10px}
  .art-corpo h3{font-size:18px;margin:24px 0 6px}
  .art-cta{margin:22px 0;padding:16px;gap:12px;border-radius:14px}
  .art-cta p{font-size:15px;flex-basis:100%}
  .art-cta .btn, .art-final .btn{width:100%}
  .art-faq{margin-top:36px}
  .art-final{padding-block:36px 40px}
  .art-final h2{font-size:26px}
  .art-final p{font-size:15.5px}
  .art-final-acoes{margin-top:20px}
  .art-news{padding-top:32px}
  .art-news .dicas{padding:22px 18px;gap:16px}
  .art-news h2{font-size:24px}
  .art-leia{padding-block:36px 48px}
  .art-leia h2{font-size:24px;margin-bottom:16px}
}

.novo{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#fff;background:var(--verde-2);border-radius:999px;padding:3px 10px;align-self:center}

