/* ==========================================================================
   Dentale Instituto Odontológico — folha de estilo única
   Cores oficiais da marca (manual em Logo/Dentale.pdf)
   ========================================================================== */

:root{
  --azul:        #004177;   /* institucional  C100 M70 Y10 K30 */
  --azul-escuro: #00305a;
  --azul-claro:  #7190AD;   /* apoio          C40 M15 Y0 K30  */
  --laranja:     #F36523;   /* acento         C0 M75 Y100 K0  */
  --laranja-esc: #d95212;
  --zap:         #25D366;
  --zap-esc:     #1da851;

  --tinta:       #16212b;
  --tinta-suave: #4b5b68;
  --linha:       #e3eaf1;
  --fundo:       #ffffff;
  --fundo-alt:   #f5f8fb;

  --largura:     1160px;
  --raio:        14px;
  --raio-sm:     10px;
  --sombra:      0 1px 2px rgba(0,65,119,.06), 0 8px 24px rgba(0,65,119,.07);
  --sombra-alta: 0 2px 4px rgba(0,65,119,.08), 0 18px 40px rgba(0,65,119,.13);
  --transicao:   .22s cubic-bezier(.4,0,.2,1);

  --f-titulo: 'Asap', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --f-texto:  'Source Sans 3', system-ui, -apple-system, 'Segoe UI', sans-serif;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; scroll-padding-top:88px; -webkit-text-size-adjust:100%; }
body{
  margin:0; background:var(--fundo); color:var(--tinta);
  font-family:var(--f-texto); font-size:17px; line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; height:auto; display:block; }
a{ color:var(--azul); text-decoration:none; }
a:hover{ text-decoration:underline; }
h1,h2,h3,h4{ font-family:var(--f-titulo); color:var(--azul); line-height:1.15; margin:0 0 .5em; font-weight:700; }
h1{ font-size:clamp(2rem,4.6vw,3.15rem); letter-spacing:-.02em; }
h2{ font-size:clamp(1.6rem,3.2vw,2.3rem); letter-spacing:-.015em; }
h3{ font-size:1.22rem; }
p{ margin:0 0 1.1em; }
p:last-child{ margin-bottom:0; }

.container{ width:100%; max-width:var(--largura); margin-inline:auto; padding-inline:22px; }
.secao{ padding:clamp(56px,7vw,92px) 0; }
.secao--alt{ background:var(--fundo-alt); }
.secao--azul{ background:var(--azul); color:#fff; }
.secao--azul h2,.secao--azul h3{ color:#fff; }

.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;
}
.pular-link{
  position:absolute; left:-9999px; top:0; z-index:200;
  background:var(--laranja); color:#fff; padding:12px 18px; border-radius:0 0 8px 0;
}
.pular-link:focus{ left:0; }

/* ---------- Cabeçalho de seção ---------- */
.cab{ max-width:720px; margin:0 0 clamp(32px,4vw,48px); }
.cab--centro{ margin-inline:auto; text-align:center; }
.olho{
  display:inline-block; font-family:var(--f-titulo); font-weight:600;
  font-size:.8rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--laranja); margin-bottom:.7em;
}
.secao--azul .olho{ color:#ffb489; }
.cab p{ color:var(--tinta-suave); font-size:1.075rem; }
.secao--azul .cab p{ color:rgba(255,255,255,.85); }

/* ---------- Botões ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.55em;
  font-family:var(--f-titulo); font-weight:600; font-size:1rem; line-height:1;
  padding:.92em 1.6em; border-radius:100px; border:2px solid transparent;
  cursor:pointer; transition:var(--transicao); text-align:center;
}
.btn:hover{ text-decoration:none; transform:translateY(-2px); }
.btn svg{ width:1.15em; height:1.15em; flex:none; }
.btn--laranja{ background:var(--laranja); color:#fff; box-shadow:0 6px 18px rgba(243,101,35,.28); }
.btn--laranja:hover{ background:var(--laranja-esc); color:#fff; box-shadow:0 10px 26px rgba(243,101,35,.36); }
.btn--zap{ background:var(--zap); color:#fff; box-shadow:0 6px 18px rgba(37,211,102,.28); }
.btn--zap:hover{ background:var(--zap-esc); color:#fff; }
.btn--azul{ background:var(--azul); color:#fff; }
.btn--azul:hover{ background:var(--azul-escuro); color:#fff; }
.btn--linha{ border-color:currentColor; color:var(--azul); background:transparent; }
.btn--linha:hover{ background:var(--azul); border-color:var(--azul); color:#fff; }
.btn--branco{ background:#fff; color:var(--azul); }
.btn--branco:hover{ background:#eef4fa; color:var(--azul); }
.btn--peq{ font-size:.9rem; padding:.75em 1.25em; }

/* ---------- Topo ---------- */
.topo{
  position:sticky; top:0; z-index:90; background:#fff;
  border-bottom:1px solid var(--linha); transition:box-shadow var(--transicao);
}
.topo.rolou{ box-shadow:0 2px 16px rgba(0,65,119,.10); }
.topo__interno{ display:flex; align-items:center; gap:20px; min-height:76px; }
.topo__logo{ flex:none; }
.topo__logo img{ width:clamp(150px,17vw,190px); }
.topo__nav{ margin-left:auto; }
.topo__lista{ display:flex; align-items:center; gap:6px; list-style:none; margin:0; padding:0; }
.topo__lista a{
  display:block; font-family:var(--f-titulo); font-weight:600; font-size:.98rem;
  color:var(--azul); padding:.55em .8em; border-radius:8px; transition:var(--transicao);
}
.topo__lista a:hover{ background:var(--fundo-alt); text-decoration:none; }
.topo__lista a[aria-current="page"]{ color:var(--laranja); }
.topo__cta{ flex:none; margin-left:10px; }
.topo__hamburger{
  display:none; margin-left:auto; width:46px; height:46px; border:1px solid var(--linha);
  background:#fff; border-radius:10px; cursor:pointer; padding:0;
  align-items:center; justify-content:center;
}
.topo__hamburger span{ display:block; width:20px; height:2px; background:var(--azul); position:relative; }
.topo__hamburger span::before,.topo__hamburger span::after{
  content:''; position:absolute; left:0; width:20px; height:2px; background:var(--azul);
  transition:var(--transicao);
}
.topo__hamburger span::before{ top:-6px; }
.topo__hamburger span::after{ top:6px; }
.topo__hamburger[aria-expanded="true"] span{ background:transparent; }
.topo__hamburger[aria-expanded="true"] span::before{ top:0; transform:rotate(45deg); }
.topo__hamburger[aria-expanded="true"] span::after{ top:0; transform:rotate(-45deg); }

@media (max-width:920px){
  .topo__hamburger{ display:flex; }
  .topo__cta{ display:none; }
  .topo__nav{
    position:absolute; left:0; right:0; top:100%; background:#fff;
    border-bottom:1px solid var(--linha); box-shadow:0 12px 24px rgba(0,65,119,.10);
    display:none; margin:0;
  }
  .topo__nav.aberto{ display:block; }
  .topo__lista{ flex-direction:column; align-items:stretch; gap:0; padding:10px 22px 22px; }
  .topo__lista a{ padding:.85em .4em; border-bottom:1px solid var(--linha); border-radius:0; }
  .topo__lista .btn{ margin-top:16px; }
}

/* ---------- Hero ---------- */
.hero{ position:relative; background:var(--azul); color:#fff; overflow:hidden; }
.hero__grade{ display:grid; }
.hero__col{
  display:flex; flex-direction:column; justify-content:center;
  padding-block:clamp(52px,7vw,96px) clamp(76px,9vw,116px);
  padding-inline-start:max(22px, calc((100vw - var(--largura)) / 2));
  padding-inline-end:clamp(22px,4vw,56px);
}
.hero__foto{ position:relative; min-height:270px; }
.hero__foto img{ width:100%; height:100%; object-fit:cover; }
.hero__foto::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(90deg, var(--azul) 0%, rgba(0,65,119,.55) 9%, rgba(0,65,119,0) 30%);
}
@media (min-width:900px){
  .hero__grade{ grid-template-columns:1.04fr .96fr; }
  .hero__foto{ min-height:540px; }
}
@media (max-width:899px){
  .hero__foto{ height:290px; }
  .hero__col{ padding-inline:22px; padding-block:clamp(44px,8vw,64px) clamp(30px,6vw,44px); }
  .hero__foto::after{ background:linear-gradient(180deg, var(--azul) 0%, rgba(0,65,119,.4) 34%, rgba(0,65,119,0) 74%); }
}
.hero h1{ color:#fff; margin-bottom:.42em; }
.hero h1 em{ font-style:normal; color:#ffc7a6; }
.hero__texto{ font-size:1.15rem; color:rgba(255,255,255,.9); max-width:32em; }
.hero__acoes{ display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
.hero__selo{
  display:inline-flex; align-items:center; gap:.6em; margin-bottom:22px;
  background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.24);
  padding:.5em 1em; border-radius:100px; font-size:.9rem; font-family:var(--f-titulo); font-weight:600;
}
.hero__selo::before{ content:''; width:8px; height:8px; border-radius:50%; background:var(--laranja); }

/* curva da marca fechando o hero */
.curva{ display:block; width:100%; height:auto; }
.curva path{ fill:#fff; }
.curva--alt path{ fill:var(--fundo-alt); }
.hero .curva{ position:absolute; left:0; right:0; bottom:-1px; z-index:2; }

/* ---------- Faixa de destaques ---------- */
.destaques{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.destaque{
  background:#fff; border:1px solid var(--linha); border-radius:var(--raio);
  padding:26px 22px; text-align:center; transition:var(--transicao);
}
.destaque:hover{ box-shadow:var(--sombra); transform:translateY(-3px); }
.destaque__icone{
  width:52px; height:52px; margin:0 auto 14px; border-radius:50%;
  background:rgba(0,65,119,.07); display:grid; place-items:center; color:var(--azul);
}
.destaque__icone svg{ width:26px; height:26px; }
.destaque h3{ font-size:1.02rem; margin:0; }
@media (max-width:900px){ .destaques{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:460px){ .destaques{ grid-template-columns:1fr; } }

/* ---------- Blocos com foto ---------- */
.dupla{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px,5vw,68px); align-items:center; }
.dupla--inverso .dupla__midia{ order:2; }
.dupla__midia img{ width:100%; border-radius:var(--raio); box-shadow:var(--sombra-alta); }
.dupla__texto p{ color:var(--tinta-suave); }
@media (max-width:820px){
  .dupla{ grid-template-columns:1fr; }
  .dupla--inverso .dupla__midia{ order:0; }
}

.lista-check{ list-style:none; margin:1.4em 0 0; padding:0; display:grid; gap:.75em; }
.lista-check li{ position:relative; padding-left:2em; color:var(--tinta-suave); }
.lista-check li::before{
  content:''; position:absolute; left:0; top:.42em; width:1.25em; height:1.25em;
  border-radius:50%; background:var(--laranja);
  -webkit-mask:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/78% no-repeat;
  mask:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/78% no-repeat;
}

/* ---------- Tratamentos ---------- */
.grade-trat{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
@media (max-width:900px){ .grade-trat{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .grade-trat{ grid-template-columns:1fr; } }
.trat{
  display:flex; flex-direction:column; background:#fff; border:1px solid var(--linha);
  border-radius:var(--raio); padding:26px 24px 22px; transition:var(--transicao);
}
.trat:hover{ box-shadow:var(--sombra-alta); transform:translateY(-4px); border-color:#cddced; text-decoration:none; }
.trat__icone{
  width:48px; height:48px; border-radius:12px; background:rgba(113,144,173,.15);
  color:var(--azul); display:grid; place-items:center; margin-bottom:16px;
}
.trat__icone svg{ width:24px; height:24px; }
.trat h3{ margin-bottom:.4em; }
.trat p{ color:var(--tinta-suave); font-size:.97rem; flex:1; }
.trat__mais{
  margin-top:16px; font-family:var(--f-titulo); font-weight:600; font-size:.95rem;
  color:var(--laranja); display:inline-flex; align-items:center; gap:.4em;
}
.trat__mais svg{ width:1.05em; height:1.05em; }
.trat:hover .trat__mais{ gap:.7em; }

/* ---------- Unidades ---------- */
.grade-unid{ display:grid; grid-template-columns:1fr 1fr; gap:26px; }
@media (max-width:820px){ .grade-unid{ grid-template-columns:1fr; } }
.unid{
  background:#fff; border:1px solid var(--linha); border-radius:var(--raio);
  overflow:hidden; display:flex; flex-direction:column; box-shadow:var(--sombra);
}
.unid__foto{ aspect-ratio:16/9; overflow:hidden; background:var(--fundo-alt); }
.unid__foto img{ width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.unid:hover .unid__foto img{ transform:scale(1.04); }
.unid__corpo{ padding:26px 26px 28px; display:flex; flex-direction:column; flex:1; }
.unid__corpo h3{ font-size:1.45rem; margin-bottom:.35em; }
.unid__end{ color:var(--tinta-suave); margin-bottom:1em; }
.unid__dados{ list-style:none; margin:0 0 1.4em; padding:0; display:grid; gap:.6em; font-size:.98rem; }
.unid__dados li{ display:flex; gap:.7em; align-items:flex-start; color:var(--tinta-suave); }
.unid__dados svg{ width:19px; height:19px; flex:none; color:var(--azul-claro); margin-top:.22em; }
.unid__acoes{ display:flex; flex-wrap:wrap; gap:10px; margin-top:auto; }
.unid__cro{
  margin-top:18px; padding-top:16px; border-top:1px solid var(--linha);
  font-size:.85rem; color:var(--azul-claro);
}
.mapa{ border:0; width:100%; aspect-ratio:16/10; border-radius:var(--raio); display:block; }

/* ---------- Convênios / CTA ---------- */
.cta-faixa{ text-align:center; }
.cta-faixa .btn{ margin:6px; }

/* ---------- Página interna ---------- */
.trilha{ font-size:.9rem; color:var(--azul-claro); padding:20px 0 0; }
.trilha a{ color:var(--azul-claro); }
.trilha span{ margin:0 .45em; }
.pagina-topo{ background:var(--fundo-alt); padding:clamp(28px,4vw,44px) 0 clamp(40px,5vw,60px); border-bottom:1px solid var(--linha); }
.pagina-topo h1{ margin-bottom:.25em; }
.pagina-topo p{ color:var(--tinta-suave); max-width:44em; font-size:1.08rem; }
.conteudo{ max-width:760px; }
.conteudo h2{ margin-top:1.8em; }
.conteudo h2:first-child{ margin-top:0; }
.conteudo p{ color:var(--tinta-suave); }
.aviso{
  background:var(--fundo-alt); border-left:4px solid var(--azul-claro);
  padding:18px 22px; border-radius:0 var(--raio-sm) var(--raio-sm) 0; margin:2em 0;
  font-size:.97rem; color:var(--tinta-suave);
}
.caixa-cta{
  margin-top:2.5em; background:var(--azul); color:#fff; border-radius:var(--raio);
  padding:clamp(28px,4vw,40px); text-align:center;
}
.caixa-cta h2{ color:#fff; margin-bottom:.4em; }
.caixa-cta p{ color:rgba(255,255,255,.86); margin-bottom:1.5em; }
.caixa-cta .btn{ margin:5px; }

.outros-trat{ display:flex; flex-wrap:wrap; gap:10px; list-style:none; padding:0; margin:1.2em 0 0; }
.outros-trat a{
  display:inline-block; font-size:.92rem; padding:.5em 1em; border-radius:100px;
  border:1px solid var(--linha); background:#fff; color:var(--azul); transition:var(--transicao);
}
.outros-trat a:hover{ background:var(--azul); color:#fff; border-color:var(--azul); text-decoration:none; }

/* ---------- Rodapé ---------- */
.rodape{ background:var(--azul-escuro); color:rgba(255,255,255,.78); padding:clamp(48px,6vw,72px) 0 0; font-size:.96rem; }
.rodape a{ color:rgba(255,255,255,.78); }
.rodape a:hover{ color:#fff; }
.rodape__grade{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1.1fr; gap:36px; }
@media (max-width:900px){ .rodape__grade{ grid-template-columns:1fr 1fr; gap:32px; } }
@media (max-width:520px){ .rodape__grade{ grid-template-columns:1fr; } }
.rodape h4{ color:#fff; font-size:.82rem; letter-spacing:.12em; text-transform:uppercase; margin-bottom:1.1em; }
.rodape__logo{ width:186px; margin-bottom:18px; }
.rodape ul{ list-style:none; margin:0; padding:0; display:grid; gap:.6em; }
.rodape__social{ display:flex; gap:10px; margin-top:16px; }
.rodape__social a{
  width:40px; height:40px; border-radius:50%; background:rgba(255,255,255,.1);
  display:grid; place-items:center; color:#fff; transition:var(--transicao);
}
.rodape__social a:hover{ background:var(--laranja); }
.rodape__social svg{ width:19px; height:19px; }
.rodape__base{
  margin-top:clamp(36px,5vw,52px); border-top:1px solid rgba(255,255,255,.14);
  padding:22px 0; font-size:.86rem; color:rgba(255,255,255,.6);
  display:flex; flex-wrap:wrap; gap:8px 20px; justify-content:space-between;
}

/* ---------- Botão flutuante de WhatsApp ---------- */
.zap{ position:fixed; right:20px; bottom:20px; z-index:95; }
.zap__botao{
  width:60px; height:60px; border-radius:50%; border:0; cursor:pointer;
  background:var(--zap); color:#fff; display:grid; place-items:center;
  box-shadow:0 6px 22px rgba(0,0,0,.24); transition:var(--transicao);
}
.zap__botao:hover{ transform:scale(1.06); background:var(--zap-esc); }
.zap__botao svg{ width:32px; height:32px; }
.zap__painel{
  position:absolute; right:0; bottom:74px; width:288px; background:#fff;
  border-radius:var(--raio); box-shadow:0 12px 44px rgba(0,0,0,.24);
  padding:18px; opacity:0; visibility:hidden; transform:translateY(10px);
  transition:var(--transicao);
}
.zap__painel.aberto{ opacity:1; visibility:visible; transform:translateY(0); }
.zap__painel p{ font-family:var(--f-titulo); font-weight:600; color:var(--azul); font-size:.98rem; margin-bottom:.9em; }
.zap__painel a{
  display:flex; align-items:center; gap:.7em; padding:.75em .9em; border-radius:var(--raio-sm);
  background:var(--fundo-alt); color:var(--azul); font-weight:600; font-family:var(--f-titulo);
  margin-bottom:8px; transition:var(--transicao); font-size:.97rem;
}
.zap__painel a:last-child{ margin-bottom:0; }
.zap__painel a:hover{ background:var(--zap); color:#fff; text-decoration:none; }
.zap__painel a svg{ width:20px; height:20px; flex:none; }
.zap__painel small{ display:block; font-weight:400; font-size:.8rem; opacity:.75; }
@media (max-width:520px){ .zap{ right:14px; bottom:14px; } .zap__painel{ width:calc(100vw - 40px); } }

@media (prefers-reduced-motion:reduce){
  *{ animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}

/* item de menu que só aparece no celular */
.so-celular{ display:none; }
@media (max-width:920px){ .so-celular{ display:block; } .so-celular a{ border-bottom:0 !important; } }


/* ---------- Página de artigo com coluna lateral ---------- */
.artigo{ display:grid; grid-template-columns:minmax(0,1fr) 316px; gap:clamp(32px,5vw,60px); align-items:start; }
@media (max-width:960px){ .artigo{ grid-template-columns:1fr; } }
.artigo .conteudo{ max-width:none; }
.lateral{ position:sticky; top:104px; background:var(--fundo-alt); border:1px solid var(--linha);
  border-radius:var(--raio); padding:26px 24px 28px; }
@media (max-width:960px){ .lateral{ position:static; } }
.lateral h3{ font-size:1.1rem; margin-bottom:.5em; }
.lateral p{ font-size:.95rem; color:var(--tinta-suave); margin-bottom:1.2em; }
.lateral .btn{ width:100%; margin-bottom:9px; }
.lateral__nota{ font-size:.85rem; color:var(--azul-claro); margin:14px 0 0; }

/* ---------- Bloco de realce dentro do texto ---------- */
.realce{
  background:var(--azul); color:#fff; border-radius:var(--raio);
  padding:clamp(26px,3.4vw,34px); margin:2.2em 0 0; text-align:center;
}
.realce h2{ color:#fff; font-size:clamp(1.3rem,2.4vw,1.6rem); margin:0 0 .5em; }
.realce p{ color:rgba(255,255,255,.9); margin:0; max-width:34em; margin-inline:auto; }
.realce::before{
  content:''; display:block; width:44px; height:44px; margin:0 auto 16px;
  border:2px solid var(--laranja); border-radius:50%;
  background:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F36523' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9.5l6 5.5 6-5.5'/%3E%3C/svg%3E") center/58% no-repeat;
}

/* ---------- Modal de agendamento ---------- */
body.sem-rolagem{ overflow:hidden; }

.agd{ position:fixed; inset:0; z-index:120; display:flex; align-items:flex-start;
  justify-content:center; padding:clamp(12px,4vh,48px) 16px; overflow-y:auto; }
.agd[hidden]{ display:none; }
.agd__fundo{ position:fixed; inset:0; background:rgba(0,32,58,.55); backdrop-filter:blur(2px); }
.agd__caixa{
  position:relative; width:100%; max-width:520px; background:#fff;
  border-radius:var(--raio); padding:clamp(22px,3.4vw,34px);
  box-shadow:var(--sombra-alta); animation:agd-entra .22s cubic-bezier(.4,0,.2,1);
}
@keyframes agd-entra{ from{ opacity:0; transform:translateY(14px); } to{ opacity:1; transform:none; } }
@media (prefers-reduced-motion:reduce){ .agd__caixa{ animation:none; } }

.agd__x{
  position:absolute; top:12px; right:12px; width:38px; height:38px; border:0; cursor:pointer;
  border-radius:50%; background:var(--fundo-alt); color:var(--azul);
  font-size:1.5rem; line-height:1; transition:var(--transicao);
}
.agd__x:hover{ background:var(--linha); }
.agd__caixa h2{ font-size:1.5rem; margin-bottom:.25em; padding-right:36px; }
.agd__sub{ color:var(--tinta-suave); font-size:.95rem; margin-bottom:1.4em; }

.agd__campo{ border:0; padding:0; margin:0 0 20px; }
.agd__rot{ display:block; font-family:var(--f-titulo); font-weight:600; color:var(--azul);
  font-size:.92rem; margin-bottom:.55em; padding:0; }

.agd__unids{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.agd__unid input{ position:absolute; opacity:0; pointer-events:none; }
.agd__unid span{
  display:block; padding:.8em .9em; border:2px solid var(--linha); border-radius:var(--raio-sm);
  cursor:pointer; transition:var(--transicao); height:100%;
}
.agd__unid strong{ display:block; font-family:var(--f-titulo); color:var(--azul); font-size:1rem; }
.agd__unid small{ display:block; color:var(--tinta-suave); font-size:.76rem; line-height:1.35; margin-top:.25em; }
.agd__unid span:hover{ border-color:var(--azul-claro); }
.agd__unid input:checked + span{ border-color:var(--laranja); background:#fff7f3; }
.agd__unid input:focus-visible + span{ outline:2px solid var(--azul); outline-offset:2px; }

.agd__input{
  width:100%; font-family:var(--f-texto); font-size:1rem; color:var(--tinta);
  padding:.72em .9em; border:2px solid var(--linha); border-radius:var(--raio-sm);
  background:#fff; transition:var(--transicao);
}
.agd__input:focus{ outline:0; border-color:var(--azul-claro); }

.agd__cal{ border:2px solid var(--linha); border-radius:var(--raio-sm); padding:10px; }
.agd__cal-topo{ display:flex; align-items:center; justify-content:space-between; margin-bottom:6px; }
.agd__cal-topo strong{ font-family:var(--f-titulo); color:var(--azul); font-size:1rem; }
.agd__nav{
  width:34px; height:34px; border:0; border-radius:50%; cursor:pointer;
  background:var(--fundo-alt); color:var(--azul); font-size:1.25rem; line-height:1; transition:var(--transicao);
}
.agd__nav:hover:not(:disabled){ background:var(--linha); }
.agd__nav:disabled{ opacity:.3; cursor:default; }
.agd__semana{ display:grid; grid-template-columns:repeat(7,1fr); gap:2px; margin-bottom:4px; }
.agd__semana span{ text-align:center; font-size:.7rem; color:var(--azul-claro); text-transform:uppercase; letter-spacing:.04em; }
.agd__dias{ display:grid; grid-template-columns:repeat(7,1fr); gap:3px; }
.agd__dia{
  aspect-ratio:1; border:0; background:transparent; border-radius:8px; cursor:pointer;
  font-family:var(--f-texto); font-size:.92rem; color:var(--tinta); transition:var(--transicao);
}
.agd__dia:hover:not(:disabled){ background:var(--fundo-alt); }
.agd__dia:disabled{ color:#c6d2dd; cursor:default; }
.agd__dia.selecionado{ background:var(--laranja); color:#fff; font-weight:700; }

.agd__slots{ display:flex; flex-wrap:wrap; gap:6px; }
.agd__slot{
  border:2px solid var(--linha); background:#fff; border-radius:100px; cursor:pointer;
  padding:.42em .85em; font-family:var(--f-texto); font-size:.9rem; color:var(--tinta);
  transition:var(--transicao);
}
.agd__slot:hover{ border-color:var(--azul-claro); }
.agd__slot.selecionado{ background:var(--laranja); border-color:var(--laranja); color:#fff; font-weight:600; }
.agd__dica{ color:var(--tinta-suave); font-size:.9rem; margin:0; }

.agd__sn{ display:flex; gap:10px; flex-wrap:wrap; }
.agd__sn input{ position:absolute; opacity:0; pointer-events:none; }
.agd__sn span{
  display:block; padding:.5em 1em; border:2px solid var(--linha); border-radius:100px;
  cursor:pointer; font-size:.9rem; transition:var(--transicao);
}
.agd__sn input:checked + span{ border-color:var(--laranja); background:#fff7f3; color:var(--azul); font-weight:600; }
.agd__sn input:focus-visible + span{ outline:2px solid var(--azul); outline-offset:2px; }

.agd__erro{ color:#c0341a; font-size:.9rem; margin:0 0 .8em; min-height:0; }
.agd__erro:empty{ display:none; }
.agd__enviar{ width:100%; }
.agd__nota{ font-size:.8rem; color:var(--tinta-suave); text-align:center; margin:.9em 0 0; line-height:1.45; }

@media (max-width:420px){
  .agd__unids{ grid-template-columns:1fr; }
  .agd__caixa{ padding:20px 16px; }
}
