/* Menu hambúrguer mobile — Ipiranga Brows
   Tokens e tipografia do CSS de produção. Só entra abaixo de 1199px,
   onde .nav-links já some. Incluir DEPOIS do CSS existente. */

.nav-toggle{
  display:none;
  appearance:none;-webkit-appearance:none;
  background:none;border:0;padding:0;margin-left:auto;
  width:44px;height:44px;flex:none;
  align-items:center;justify-content:center;
  cursor:pointer;color:var(--fg,#1F1611);
  z-index:902;
}
.nav-toggle-box,
.nav-toggle-box::before,
.nav-toggle-box::after{
  display:block;width:18px;height:1.5px;
  background:currentColor;border-radius:1px;
  transition:transform .3s var(--ease,cubic-bezier(.25,.46,.45,.94)),opacity .2s;
}
.nav-toggle-box{position:relative}
.nav-toggle-box::before,
.nav-toggle-box::after{content:"";position:absolute;left:0}
.nav-toggle-box::before{top:-6px}
.nav-toggle-box::after{top:6px}
.nav.is-open .nav-toggle-box{background:transparent}
.nav.is-open .nav-toggle-box::before{top:0;transform:rotate(45deg)}
.nav.is-open .nav-toggle-box::after{top:0;transform:rotate(-45deg)}

/* Item ativo — desktop, mobile e rodapé */
.nav-links a[aria-current="page"],
.footer-nav a[aria-current="page"],
.footer-services a[aria-current="page"]{
  color:#8A6547;
}
.nav-links a[aria-current="page"]::after{
  width:100%;left:0;background:#8A6547;
}

@media (max-width:1199px){
  .nav-toggle{display:inline-flex}
  .nav.is-open{background:rgba(249,246,241,.98)}
  .nav-brand,.nav-cta,.nav-toggle{position:relative;z-index:902}

  .nav-links{
    display:flex;flex-direction:column;gap:0;
    position:fixed;inset:0;top:0;
    z-index:880;
    margin:0;padding:88px 24px 32px;
    overflow:auto;-webkit-overflow-scrolling:touch;
    background:rgba(249,246,241,.98);
    backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
    border-bottom:0;
    visibility:hidden;pointer-events:none;
    opacity:0;
    transform:translateY(-8px);
    transition:opacity .3s var(--ease,cubic-bezier(.25,.46,.45,.94)),
               transform .3s var(--ease,cubic-bezier(.25,.46,.45,.94)),
               visibility .3s;
  }
  .nav.is-open .nav-links{
    visibility:visible;pointer-events:auto;
    opacity:1;transform:none;
  }
  /* [hidden] no painel mobile fechado — não vazar no desktop */
  .nav-links[hidden]{display:flex !important;visibility:hidden;pointer-events:none}

  .nav-links > li{margin:0;border-bottom:1px solid var(--border,rgba(31,22,17,.12))}
  .nav-links > li > a,
  .nav-links .has-drop > a{
    display:flex;align-items:center;justify-content:space-between;
    min-height:48px;padding:12px 0;
    font-size:13px;font-weight:300;letter-spacing:.15em;
    text-transform:uppercase;
  }
  .nav-links a::after{display:none}

  /* Acordeão de Serviços: anula o dropdown absoluto do desktop */
  .nav-drop,
  .nav-links .has-drop:hover .nav-drop,
  .nav-links .has-drop:focus-within .nav-drop{
    position:static;transform:none;left:auto;top:auto;
    min-width:0;opacity:1;visibility:visible;
    background:none;border:0;padding:0 0 8px 8px;
    backdrop-filter:none;-webkit-backdrop-filter:none;
    display:none;box-shadow:none;
  }
  .nav-links .has-drop.is-open .nav-drop,
  .nav-links .has-drop.is-open:hover .nav-drop,
  .nav-links .has-drop.is-open:focus-within .nav-drop{
    display:block;
  }
  .has-drop.is-open .nav-caret{transform:rotate(225deg) translateY(-1px)}
  .nav-drop a{
    display:flex;align-items:center;
    min-height:44px;padding:10px 0;
    font-size:12.5px;letter-spacing:.1em;
  }
}

@media (min-width:1200px){
  .nav-links[hidden]{display:flex !important;visibility:visible;pointer-events:auto}
}

@media (prefers-reduced-motion:reduce){
  .nav-links,.nav-toggle-box,.nav-toggle-box::before,.nav-toggle-box::after,.nav-caret{
    transition:none !important;
  }
}


/* Steering: o botão flutuante do WhatsApp não pode ficar por cima do painel aberto. */
@media (max-width: 1199px) {
  body:has(.nav.is-open) .wa-float {
    visibility: hidden;
    pointer-events: none;
    opacity: 0;
  }
}
