/* NAOS Odontologia — correções de interface
   Carregado por último no <head>: vence os blocos <style> inline das páginas.
   1) contraste dos botões  2) rodapé legal centralizado  3) menu mobile lateral */

:root{
  --naos-ink:#0d5f57;
  --naos-ink-strong:#084942;
  --naos-hairline:rgba(17,17,17,.09);
  --naos-drawer-ease:cubic-bezier(.16,1,.3,1);
}

/* ---------------------------------------------------------------
   1. Botões — o texto acompanha o fundo do próprio botão
   --------------------------------------------------------------- */

/* CTA final: botão branco sobre a faixa verde */
.naos-cta-final .btn-main,
.naos-cta-final a.btn-main,
.naos-cta-final .btn-main i,
.naos-cta-final .btn-main span,
.naos-cta-final a.btn-main i,
.naos-cta-final a.btn-main span{
  color:var(--naos-ink) !important;
}
.naos-cta-final .btn-main:hover,
.naos-cta-final a.btn-main:hover,
.naos-cta-final .btn-main:hover i,
.naos-cta-final .btn-main:hover span,
.naos-cta-final a.btn-main:hover i,
.naos-cta-final a.btn-main:hover span{
  color:var(--naos-ink-strong) !important;
}

/* "Ver avaliações no Google": contorno sobre seção clara */
a.btn-main.btn-border,
.btn-main.btn-border{
  background:transparent !important;
  border:2px solid rgba(0,165,143,.5) !important;
  border-radius:999px !important;
}
a.btn-main.btn-border,
a.btn-main.btn-border i,
a.btn-main.btn-border span,
.btn-main.btn-border,
.btn-main.btn-border i,
.btn-main.btn-border span{
  color:var(--naos-ink) !important;
}
a.btn-main.btn-border:hover,
.btn-main.btn-border:hover{
  background:var(--naos-ink) !important;
  border-color:var(--naos-ink) !important;
  box-shadow:0 12px 26px rgba(13,95,87,.28);
}
a.btn-main.btn-border:hover,
a.btn-main.btn-border:hover i,
a.btn-main.btn-border:hover span,
.btn-main.btn-border:hover i,
.btn-main.btn-border:hover span{
  color:#fff !important;
}

/* exceção: o mesmo botão sobre fundo escuro continua claro */
.bg-dark a.btn-main.btn-border,
.text-light a.btn-main.btn-border,
.naos-hero a.btn-main.btn-border{
  border-color:rgba(255,255,255,.5) !important;
}
.bg-dark a.btn-main.btn-border,
.bg-dark a.btn-main.btn-border i,
.bg-dark a.btn-main.btn-border span,
.text-light a.btn-main.btn-border,
.text-light a.btn-main.btn-border i,
.text-light a.btn-main.btn-border span,
.naos-hero a.btn-main.btn-border,
.naos-hero a.btn-main.btn-border i,
.naos-hero a.btn-main.btn-border span{
  color:#fff !important;
}

/* foco visível coerente com a marca */
.btn-main:focus-visible,
a.btn-main:focus-visible{
  outline:3px solid rgba(0,165,143,.55) !important;
  outline-offset:3px !important;
}

/* ---------------------------------------------------------------
   2. Rodapé — bloco legal centralizado com o resto do rodapé
   --------------------------------------------------------------- */
.naos-footer-meta{
  text-align:center;
}
.naos-footer-meta .naos-legal-links,
.naos-legal-links{
  justify-content:center;
  align-items:center;
  gap:6px 12px;
  text-align:center;
}

/* ---------------------------------------------------------------
   3. Menu mobile lateral
   --------------------------------------------------------------- */
.naos-burger{
  display:none;
  width:44px;
  height:44px;
  margin-left:6px;
  padding:0;
  border:0;
  border-radius:12px;
  background:transparent;
  color:#1b1b1b;
  cursor:pointer;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  transition:background .2s ease;
}
.naos-burger:hover{ background:rgba(17,17,17,.06); }
.naos-burger:focus-visible{
  outline:3px solid rgba(0,165,143,.55);
  outline-offset:2px;
}
.naos-burger span{
  display:block;
  width:22px;
  height:2px;
  border-radius:2px;
  background:currentColor;
}

.naos-drawer-overlay{
  position:fixed;
  inset:0;
  z-index:100001;
  background:rgba(6,38,34,.5);
  backdrop-filter:blur(2px);
  opacity:0;
  visibility:hidden;
  transition:opacity .28s ease, visibility .28s ease;
}
.naos-drawer{
  position:fixed;
  top:0;
  right:0;
  z-index:100002;
  width:min(86vw,330px);
  height:100%;
  height:100dvh;
  display:flex;
  flex-direction:column;
  background:#fff;
  box-shadow:-24px 0 60px rgba(4,32,28,.28);
  transform:translateX(102%);
  transition:transform .42s var(--naos-drawer-ease);
  overscroll-behavior:contain;
  visibility:hidden;
}
.naos-drawer:focus{ outline:none; }
body.naos-nav-open .naos-drawer-overlay{
  opacity:1;
  visibility:visible;
}
body.naos-nav-open .naos-drawer{
  transform:translateX(0);
  visibility:visible;
}
body.naos-nav-open{ overflow:hidden; }

/* o WhatsApp flutuante sai de cena enquanto o menu está aberto */
body.naos-nav-open .naos-fab{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .2s ease, visibility .2s ease;
}

.naos-drawer-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:16px 16px 14px 20px;
  border-bottom:1px solid var(--naos-hairline);
}
.naos-drawer-head img{
  width:auto;
  height:38px;
  object-fit:contain;
}
.naos-drawer-close{
  width:44px;
  height:44px;
  flex:0 0 44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:12px;
  background:rgba(17,17,17,.05);
  color:#1b1b1b;
  font-size:20px;
  line-height:1;
  cursor:pointer;
  transition:background .2s ease, color .2s ease;
}
.naos-drawer-close:hover{
  background:var(--naos-secondary,#00A58F);
  color:#fff;
}
.naos-drawer-close:focus-visible{
  outline:3px solid rgba(0,165,143,.55);
  outline-offset:2px;
}

.naos-drawer-nav{
  flex:1 1 auto;
  overflow-y:auto;
  padding:10px 0 18px;
  -webkit-overflow-scrolling:touch;
}
.naos-drawer-nav ul{
  list-style:none;
  margin:0;
  padding:0;
}
.naos-drawer-nav a{
  display:block;
  padding:14px 20px;
  font-size:16px;
  font-weight:600;
  line-height:1.3;
  color:#161616;
  text-decoration:none;
  transition:color .18s ease, background .18s ease;
}
.naos-drawer-nav a:hover{
  color:var(--naos-ink);
  background:rgba(0,165,143,.07);
}
.naos-drawer-nav a[aria-current="page"]{
  color:var(--naos-ink);
}
.naos-drawer-group{
  margin-top:6px;
  padding-top:12px;
  border-top:1px solid var(--naos-hairline);
}
.naos-drawer-group-label{
  display:block;
  padding:0 20px 6px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:rgba(17,17,17,.62);
}
.naos-drawer-group a{
  padding:12px 20px;
  font-size:15px;
  font-weight:500;
  color:#333;
}

.naos-drawer-foot{
  padding:16px 20px calc(18px + env(safe-area-inset-bottom,0px));
  border-top:1px solid var(--naos-hairline);
}
.naos-drawer-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.55em;
  width:100%;
  min-height:52px;
  padding:14px 22px;
  border:0;
  border-radius:999px;
  background:linear-gradient(135deg,var(--naos-primary,#42BBAD) 0%,var(--naos-secondary,#00A58F) 100%);
  color:#fff;
  font-size:16px;
  font-weight:700;
  cursor:pointer;
  box-shadow:0 14px 30px rgba(0,165,143,.3);
  transition:transform .2s ease, box-shadow .2s ease;
}
.naos-drawer-cta:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 38px rgba(0,165,143,.36);
}
.naos-drawer-cta:focus-visible{
  outline:3px solid rgba(0,165,143,.55);
  outline-offset:3px;
}
.naos-drawer-note{
  margin:12px 0 0;
  font-size:13px;
  line-height:1.5;
  color:rgba(17,17,17,.6);
  text-align:center;
}

@media (max-width:992px){
  #menu-btn{ display:none !important; }
  .naos-burger{ display:inline-flex; }
  .menu_side_area{
    display:flex !important;
    align-items:center;
    justify-content:flex-end;
  }
}
@media (min-width:993px){
  .naos-drawer,
  .naos-drawer-overlay{ display:none; }
}

@media (prefers-reduced-motion:reduce){
  .naos-drawer{ transition:transform .01ms linear; }
  .naos-drawer-overlay{ transition:opacity .01ms linear, visibility .01ms linear; }
  .naos-drawer-cta:hover{ transform:none; }
}
