:root{
  --bg:#F4F7F6; --ink:#16323A; --muted:#4D6A70; --line:#D3DEDC;
  --accent:#A8434D; --accent-ink:#FFFFFF; --field:#FFFFFF;
  --t1:#F6F1E4; --t2:#F1E9D3; --t3:#EBE0C2; --t4:#E4D5B0; --t5:#DCCA9F; --t6:#D2BE90; --t7:#C8B282; --t8:#BBA373;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#0F2227; --ink:#E6EEEC; --muted:#9DB3B6; --line:#27424A;
  --accent:#E08B91; --accent-ink:#0F2227; --field:#142C32;
}}
:root[data-theme="dark"]{
  --bg:#0F2227; --ink:#E6EEEC; --muted:#9DB3B6; --line:#27424A;
  --accent:#E08B91; --accent-ink:#0F2227; --field:#142C32;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1.0625rem/1.6 "Atkinson Hyperlegible",system-ui,sans-serif;padding-bottom:calc(5.25rem + env(safe-area-inset-bottom,0px))}
main{max-width:36rem;margin:0 auto;padding:calc(2.25rem + env(safe-area-inset-top,0px)) 1rem 1rem}
h1,h2{font-family:"Young Serif",Georgia,serif;font-weight:400;margin:0}
h1{font-size:clamp(2.3rem,9.5vw,3.6rem);line-height:1.05;letter-spacing:-.01em;max-width:12ch}
h2{font-size:1.5rem;line-height:1.2;margin-bottom:.9rem}
p{margin:0}
.lead{color:var(--muted);margin-top:1rem;max-width:32ch;font-size:1.125rem}
a{color:inherit}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:4px}

/* Escala de cor de dentes: o elemento marcante da página */
.escala{display:flex;gap:6px;margin:2rem 0 1.75rem;padding:0;list-style:none}
.escala li{flex:1;height:4.25rem;background:var(--c);border-radius:6px 6px 45% 45% / 6px 6px 60% 60%;box-shadow:inset 0 -6px 0 rgba(0,0,0,.05);display:flex;align-items:flex-start;justify-content:center;padding-top:.35rem;font-size:.7rem;font-weight:700;color:#6B5A3C}

.btn{display:inline-flex;align-items:center;justify-content:center;min-height:3rem;padding:.8rem 1.4rem;border-radius:999px;border:0;background:var(--accent);color:var(--accent-ink);font:700 1rem/1 "Atkinson Hyperlegible",system-ui,sans-serif;text-decoration:none;cursor:pointer}
.btn:hover{filter:brightness(1.06)}

section{margin-top:3rem}
.lista{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.lista li{padding:.9rem 0;border-bottom:1px solid var(--line)}
.lista b{display:block;font-weight:700}
.lista span{color:var(--muted);font-size:.975rem}

.convenios{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0;padding:0}
.convenios li{border:1px solid var(--line);border-radius:999px;padding:.35rem .85rem;font-size:.95rem}

dl.info{display:grid;grid-template-columns:auto 1fr;gap:.45rem 1.25rem;margin:0}
dl.info dt{color:var(--muted)}
dl.info dd{margin:0}

form{display:grid;gap:1.1rem;margin-top:.25rem}
label,legend{font-weight:700;display:block;margin-bottom:.4rem}
input[type=text],select{width:100%;min-height:3rem;padding:.7rem .85rem;border:1px solid var(--line);border-radius:10px;background:var(--field);color:var(--ink);font:inherit}
fieldset{border:0;margin:0;padding:0}
.opcoes{display:flex;flex-wrap:wrap;gap:.5rem}
.opcoes input{position:absolute;opacity:0;pointer-events:none}
.opcoes label{font-weight:400;margin:0;border:1px solid var(--line);border-radius:999px;padding:.55rem 1rem;cursor:pointer;background:var(--field)}
.opcoes input:checked + label{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.opcoes input:focus-visible + label{outline:3px solid var(--accent);outline-offset:2px}
.erro{color:var(--accent);font-size:.95rem;min-height:1.3em}

footer{margin-top:3rem;padding-top:1.25rem;border-top:1px solid var(--line);color:var(--muted);font-size:.9rem;display:grid;gap:.35rem}

.barra{position:fixed;left:0;right:0;bottom:0;background:var(--bg);border-top:1px solid var(--line);padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom,0px))}
.barra .btn{display:flex;max-width:36rem;margin:0 auto}

/* Fotos da clínica (até 3 inclusas) e galeria opcional (até 12) */
.fotos{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.fotos figure{margin:0;position:relative;border-radius:10px;overflow:hidden;background:var(--line);aspect-ratio:4/3}
.fotos figure:first-child{grid-column:1/-1;aspect-ratio:16/10}
.fotos img,.fotos .ph{width:100%;height:100%;object-fit:cover;display:block}
.fotos .ph{background:linear-gradient(160deg,var(--t2),var(--t7))}
.fotos figcaption{position:absolute;left:.5rem;bottom:.5rem;background:var(--bg);color:var(--ink);font-size:.8rem;padding:.15rem .6rem;border-radius:999px}
.nota{color:var(--muted);font-size:.9rem;margin-top:.6rem}
.galeria{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.galeria img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;display:block}

/* Faixa de prévia (só aparece em prévias, nunca no site publicado) */
.previa{background:var(--ink);color:var(--bg);text-align:center;font-size:.85rem;padding:.45rem 1rem}
.cta-topo{display:none}
.logo{display:block;max-height:4rem;max-width:12rem;width:auto;margin-bottom:1.25rem}

/* Computador (telas largas, 16:9): topo em duas colunas e agendamento fixo ao lado */
@media (min-width:60em){
  body{padding-bottom:0}
  .barra{display:none}
  main{max-width:78rem;padding:3.5rem 3rem 2rem}
  .topo{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:4.5rem;align-items:center;align-content:center;min-height:min(42rem,calc(100vh - 7rem))}
  .topo header{display:contents}
  .topo .logo,.topo h1{grid-column:1/-1}
  .topo h1{white-space:nowrap;max-width:none;margin-bottom:2.25rem}
  .topo h1.quebra{white-space:normal}
  .topo-texto{grid-column:1}
  .topo .lead{margin-top:0}
  .topo #bloco-fotos{grid-column:2}
  .topo:has(#bloco-fotos[hidden]){grid-template-columns:1fr}
  .topo #bloco-fotos{margin-top:0}
  .topo #t-fotos{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  h1{font-size:clamp(3rem,4.6vw,4.4rem)}
  .fotos{grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:10px;height:clamp(20rem,56vh,34rem)}
  .fotos figure,.fotos figure:first-child{aspect-ratio:auto;grid-column:auto}
  .fotos figure:first-child{grid-row:1/3}
  .fotos:has(figure:only-child){grid-template-columns:1fr;grid-template-rows:1fr}
  .fotos:has(figure:nth-child(2):last-child){grid-template-columns:3fr 2fr;grid-template-rows:1fr}
  .fotos:has(figure:nth-child(2):last-child) figure:first-child{grid-row:auto}
  .corpo{display:grid;grid-template-columns:minmax(0,1fr) 24rem;gap:5rem;align-items:start;margin-top:5rem}
  .conteudo>section:first-child{margin-top:0}
  #tratamentos,#equipe{display:grid;grid-template-columns:1fr 1fr;column-gap:2.5rem}
  .galeria{grid-template-columns:repeat(4,1fr);gap:8px}
  aside{position:sticky;top:2rem}
  #agendar{margin-top:0;background:var(--field);border:1px solid var(--line);border-radius:16px;padding:1.75rem}
  #agendar input[type=text],#agendar select,#agendar .opcoes label{background:var(--bg)}
  #agendar .opcoes input:checked + label{background:var(--ink)}
  #agendar .btn{width:100%}
  .cta-topo{display:inline-flex;margin-top:.25rem}
  footer{margin-top:4rem}
}
