/* Mais Odonto Prime — folha única, sem framework.

   🔴 PALETA CORRIGIDA EM 08/09/2026, POR MEDIÇÃO — não por gosto.
   O operador disse que o azul não era o da marca. Conferi nas fontes primárias:

   1. As SEIS fotos do ambiente real da clínica, quantizadas: as 24 cores dominantes
      são bege, madeira, off-white, cinza quente e preto. NENHUMA é azul.
        cafe        #D2C0B4  #7D604A  #A08976
        consultorio #D1CCBE  #DFDBD0  #1B1B1B
        recepcao    #CDCDCB  #6A6360  #B9B8B5
        estar       #302A19  #C7C3BE  #957657
   2. O dourado da LOGO é #D8B15F — mais quente e menos amarelo que o #E9C971
      que vinha da paleta do carrossel.
   3. O azul do site antigo é #01012A, quase preto-azulado. É invenção do site,
      não da marca.

   Conclusão: a marca é PRETO + DOURADO (logo) sobre BEGE/MADEIRA (a clínica).
   O escuro daqui passa a ser um preto quente, não um azul-marinho.

   REGRA DA CASA: o escuro NUNCA domina. Ancora topo, hero e rodapé; o corpo é
   claro e o dourado é acento. Dourado puro só sobre escuro — sobre claro reprova
   em contraste, e aí usa-se o --ouro-t. */

:root{
  --escuro:#1B1B1B;        /* preto quente — medido no consultório */
  --escuro-2:#302A19;      /* marrom profundo — medido no ambiente de estar */
  --ouro:#D8B15F;          /* medido na logo */
  --ouro-claro:#E7CE96;
  --ouro-t:#6E5320;        /* dourado legível sobre claro */
  --bege:#C7B49A;
  --madeira:#957657;
  --papel:#FBF7F1;
  --papel-2:#F2EBE0;
  --texto:#26221E;
  --fraco:#6B6459;
  --fio:#E5DCCE;
  --verde:#1f9d55;         /* só WhatsApp */
  --raio:14px;
  --max:1180px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--papel);color:var(--texto);
  font-family:'Poppins',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;
  font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
.env{max-width:var(--max);margin:0 auto;padding:0 22px}

h1,h2,h3{line-height:1.15;margin:0 0 .5em;font-weight:600;letter-spacing:-.01em}
h1{font-size:clamp(2rem,5vw,3.4rem);font-weight:700}
h2{font-size:clamp(1.6rem,3.4vw,2.5rem)}
h3{font-size:1.15rem}
.ouro{color:var(--ouro-t)}
.sobre-escuro .ouro{color:var(--ouro)}
p{margin:0 0 1em}
.lead{font-size:1.12rem;color:var(--fraco)}

/* ---------- botões ---------- */
.bt{
  display:inline-flex;align-items:center;gap:.55rem;justify-content:center;
  padding:.95rem 1.6rem;border-radius:100px;font-weight:600;font-size:1rem;
  text-decoration:none;border:2px solid transparent;cursor:pointer;
  transition:transform .15s ease,box-shadow .15s ease,background .15s ease;
}
.bt:hover{transform:translateY(-2px)}
.bt-ouro{background:var(--ouro);color:var(--escuro);box-shadow:0 6px 22px rgba(216,177,95,.32)}
.bt-ouro:hover{background:var(--ouro-claro)}
.bt-linha{border-color:currentColor;background:transparent}
.bt-zap{background:var(--verde);color:#fff}
.bt-zap:hover{background:#18874a}
.bt-bloco{width:100%}

/* ---------- topo ---------- */
.topo{position:sticky;top:0;z-index:50;background:rgba(27,27,27,.96);backdrop-filter:blur(8px);
  border-bottom:1px solid rgba(216,177,95,.28)}
.topo .env{display:flex;align-items:center;gap:1.4rem;padding-block:.7rem}
.topo img{width:112px}
.topo nav{margin-left:auto;display:flex;gap:1.5rem;font-size:.92rem}
.topo nav a{color:#fff;opacity:.86;text-decoration:none}
.topo nav a:hover{opacity:1;color:var(--ouro)}
.topo .bt{padding:.6rem 1.2rem;font-size:.9rem}
@media(max-width:900px){.topo nav{display:none}}

/* ---------- hero ---------- */
.hero{position:relative;background:var(--escuro);color:#fff;overflow:hidden}
.hero::after{content:"";position:absolute;inset:0;
  background:linear-gradient(100deg,rgba(24,20,16,.97) 0%,rgba(24,20,16,.88) 40%,rgba(24,20,16,.20) 70%,rgba(24,20,16,.55) 100%)}
.hero .fundo{position:absolute;inset:0;background-size:cover;background-position:72% 40%;
  background-image:url(../img/hero-1.webp)}
/* rodizio da foto de topo — a escolha e feita por script no <head>, antes da pintura,
   entao o navegador baixa SO a imagem escolhida. Acrescentar foto = novo arquivo
   hero-N.webp + uma linha aqui + aumentar o N no script da pagina. */
[data-hero="1"] .hero .fundo{background-image:url(../img/hero-1.webp)}
[data-hero="2"] .hero .fundo{background-image:url(../img/hero-2.webp)}
.hero .env{position:relative;z-index:2;padding-block:clamp(3.5rem,9vw,6.5rem);max-width:var(--max)}
.hero .caixa{max-width:640px}
.hero p{color:#e8e3d9}
.hero .acoes{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:1.8rem}
.selo{display:inline-block;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ouro);border:1px solid rgba(216,177,95,.5);border-radius:100px;padding:.35rem 1rem;margin-bottom:1.3rem}

/* ---------- faixas ---------- */
section{padding-block:clamp(3rem,7vw,5.5rem)}
.claro{background:var(--papel)}
.claro-2{background:var(--papel-2)}
.escura,.sobre-escuro{background:var(--escuro);color:#fff}
.escura p{color:#ddd8ce}
.titulo{max-width:720px;margin-bottom:2.6rem}
.titulo.centro{margin-inline:auto;text-align:center}

/* ---------- grades ---------- */
.grade{display:grid;gap:1.4rem}
.g2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.g4{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}

.cartao{background:#fff;border:1px solid var(--fio);border-radius:var(--raio);padding:1.7rem;
  transition:transform .18s ease,box-shadow .18s ease}
.cartao:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(38,34,30,.10)}
.cartao h3{color:var(--escuro)}
.cartao p{margin:0;color:var(--fraco);font-size:.97rem}
.cartao .ico{width:46px;height:46px;border-radius:12px;background:var(--papel-2);
  display:grid;place-items:center;margin-bottom:1rem;font-size:1.4rem}

/* ---------- depoimentos ---------- */
.dep{background:#fff;border:1px solid var(--fio);border-radius:var(--raio);overflow:hidden;display:flex;flex-direction:column}
.dep img{aspect-ratio:4/5;object-fit:cover;width:100%}
.dep .txt{padding:1.3rem;font-size:.95rem;color:var(--fraco)}
.dep .nome{margin-top:.8rem;font-weight:600;color:var(--escuro);font-size:.9rem}

/* ---------- galeria ---------- */
/* Grade fixa, nao auto-fit: com auto-fit o numero de colunas varia com a largura e
   sobra uma foto orfa na ultima linha (8 pacientes viravam 5+3; 6 ambientes, 5+1).
   Colunas fixas por quantidade mantem as linhas cheias. */
.galeria{display:grid;grid-template-columns:repeat(4,1fr);gap:.9rem}
.galeria-3{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.galeria,.galeria-3{grid-template-columns:repeat(2,1fr)}}
.galeria img{border-radius:10px;aspect-ratio:4/5;object-fit:cover}

/* ---------- unidades ---------- */
.unidade{background:#fff;border:1px solid var(--fio);border-radius:var(--raio);padding:1.8rem}
.unidade h3{font-size:1.3rem}
.unidade .end{color:var(--fraco);font-size:.95rem;margin-bottom:1.2rem}

/* ---------- formulário ---------- */
.form{background:#fff;border:1px solid var(--fio);border-radius:var(--raio);padding:clamp(1.4rem,3vw,2.4rem)}
.campo{margin-bottom:1rem}
.campo label{display:block;font-size:.86rem;font-weight:600;margin-bottom:.35rem;color:var(--escuro)}
.campo input,.campo select,.campo textarea{
  width:100%;padding:.85rem 1rem;border:1px solid var(--fio);border-radius:10px;
  font:inherit;font-size:1rem;background:var(--papel);color:var(--texto)}
.campo input:focus,.campo select:focus{outline:2px solid var(--ouro);outline-offset:1px;background:#fff}
.dupla{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media(max-width:560px){.dupla{grid-template-columns:1fr}}
.aviso{font-size:.8rem;color:var(--fraco);margin-top:.9rem}

/* ---------- rodapé ---------- */
footer{background:var(--escuro);color:#cfcabf;font-size:.9rem;padding-block:3rem 2rem}
footer a{color:#cfcabf;text-decoration:none}
footer a:hover{color:var(--ouro)}
footer h4{color:#fff;font-size:.95rem;margin:0 0 .8rem}
footer img{width:120px;margin-bottom:1rem}
.legal{border-top:1px solid rgba(255,255,255,.12);margin-top:2.2rem;padding-top:1.4rem;font-size:.8rem;opacity:.75}

/* ---------- whatsapp flutuante ---------- */
.zap-flut{position:fixed;right:18px;bottom:18px;z-index:60;width:56px;height:56px;border-radius:50%;
  background:var(--verde);display:grid;place-items:center;box-shadow:0 8px 24px rgba(0,0,0,.28)}
.zap-flut svg{width:30px;height:30px;fill:#fff}

/* ---------- landing ---------- */
.lp-topo{background:var(--escuro);padding-block:.9rem;text-align:center}
.lp-topo img{width:120px;margin:0 auto}
.contador{display:flex;gap:.9rem;margin-top:1.6rem;flex-wrap:wrap}
.contador div{background:rgba(216,177,95,.14);border:1px solid rgba(216,177,95,.4);
  border-radius:12px;padding:.75rem 1.15rem;min-width:96px;text-align:center}
.contador b{display:block;font-size:2.1rem;color:var(--ouro);line-height:1.05;font-weight:700}
.contador span{font-size:.7rem;letter-spacing:.09em;text-transform:uppercase;opacity:.85;display:block;margin-top:.15rem}
/* 🔴 A faixa e o CHAMARIZ da campanha, nao um aviso de rodape (corrigido 08/09).
   Na primeira versao era uma tirinha fina que o olho pulava. Agora: gruda no topo,
   acompanha a rolagem e leva a data destacada em bloco escuro dentro do dourado. */
.faixa-alerta{position:sticky;top:0;z-index:60;background:var(--ouro);color:var(--escuro);
  text-align:center;padding:.9rem 1rem;font-weight:700;font-size:1.05rem;line-height:1.35;
  box-shadow:0 3px 14px rgba(0,0,0,.22)}
.faixa-alerta .data{display:inline-block;background:var(--escuro);color:var(--ouro);
  padding:.12rem .7rem;border-radius:7px;margin:0 .2rem;letter-spacing:.01em}
@media(max-width:620px){.faixa-alerta{font-size:.95rem;padding:.75rem .8rem}}

/* O bloco de data dentro do hero — o segundo ponto de fixacao do olho */
.kicker{margin:0 0 .35rem;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--ouro);font-weight:600}
.datao{margin:0 0 1.1rem;font-size:clamp(1.5rem,3.4vw,2.3rem);font-weight:700;color:#fff;
  line-height:1.1;display:inline-block;border-bottom:3px solid var(--ouro);padding-bottom:.25rem}
.lista-ok{list-style:none;padding:0;margin:0}
.lista-ok li{padding-left:2rem;position:relative;margin-bottom:.85rem}
.lista-ok li::before{content:"✓";position:absolute;left:0;top:0;color:var(--ouro-t);font-weight:700}
.escura .lista-ok li::before{color:var(--ouro)}

.escassez{margin:1.2rem 0 0;font-size:1rem;font-weight:600;color:var(--ouro);
  border-left:2px solid var(--ouro);padding-left:.8rem}

/* lista de objecoes: o marcador vira X, nao check */
.lista-nao li::before{content:"✕";color:#a33b2a}
.lista-ok li{margin-bottom:1rem}

/* ---------- barra fixa de acao, so no celular (landing) ----------
   Duas coisas de uma vez:
   1) o botao flutuante do WhatsApp estava passando por cima do contador na
      primeira tela do celular — some no mobile e vira item da barra;
   2) em landing de trafego pago, a acao principal sempre a mao e a mudanca que
      mais move conversao: a pessoa nao precisa rolar de volta para o formulario.
   O trafego do plantao vem de Instagram e Facebook, ou seja, quase tudo celular. */
.barra-fixa{display:none}
@media(max-width:760px){
  .barra-fixa{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:70;
    gap:.6rem;padding:.6rem .8rem calc(.6rem + env(safe-area-inset-bottom));
    background:rgba(27,27,27,.96);backdrop-filter:blur(8px);
    border-top:1px solid rgba(216,177,95,.3)}
  .barra-fixa .bt{padding:.85rem 1rem;font-size:.98rem}
  .barra-fixa .bt-ouro{flex:1}
  .barra-fixa .bt-zap{width:52px;padding:.85rem}
  .barra-fixa .bt-zap svg{width:22px;height:22px;fill:#fff}
  body.tem-barra{padding-bottom:76px}
  body.tem-barra .zap-flut{display:none}
}
