/* Menu global. Celular/tablet (< 1180px): hambúrguer | logo | WhatsApp, painel lateral. Computador (≥ 1180px): logo | 7 itens em linha | WhatsApp */
.nav-end{display:flex;align-items:center;gap:10px;justify-self:end}
.menu-btn{all:unset;box-sizing:border-box;cursor:pointer;flex:none;display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line-dark);color:var(--gold);transition:border-color .25s,background .25s}
.menu-btn:hover{border-color:var(--gold);background:rgba(238,211,168,.08)}
.menu-btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.menu-bars{position:relative;display:block;width:20px;height:14px}
.menu-bars i{position:absolute;left:0;width:100%;height:1.5px;background:currentColor;transition:transform .3s var(--ease-out,ease),opacity .2s}
.menu-bars i:nth-child(1){top:0}.menu-bars i:nth-child(2){top:6px}.menu-bars i:nth-child(3){top:12px}
.menu-btn[aria-expanded="true"] .menu-bars i:nth-child(1){transform:translateY(6px) rotate(45deg)}
.menu-btn[aria-expanded="true"] .menu-bars i:nth-child(2){opacity:0}
.menu-btn[aria-expanded="true"] .menu-bars i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

.menu-layer{position:fixed;inset:0;z-index:200}
.menu-layer[hidden]{display:none}
.menu-scrim{position:absolute;inset:0;background:transparent}
.menu-panel{position:absolute;background:var(--espresso);border:1px solid var(--line-dark);color:var(--parchment);opacity:0;transition:opacity .22s var(--ease-out,ease),transform .28s var(--ease-out,ease)}
.menu-layer.is-open .menu-panel{opacity:1;transform:none}
.menu-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 8px}
.menu-title{margin:0;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--terracota-lt)}
.menu-close{all:unset;box-sizing:border-box;cursor:pointer;display:grid;place-items:center;width:44px;height:44px;color:var(--gold)}
.menu-close:hover{color:var(--parchment)}
.menu-close:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}
.menu-close svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round}
.menu-panel ul{list-style:none;margin:0;padding:0 8px 12px}
.menu-panel li a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px;padding:0 12px;font-family:var(--f-display);font-size:1.2rem;color:var(--parchment);text-decoration:none;border-bottom:1px solid rgba(238,211,168,.1);transition:color .2s,background .2s}
.menu-panel li:last-child a{border-bottom:0}
.menu-panel li a svg{width:16px;height:16px;flex:none;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;color:var(--terracota-lt)}
.menu-panel li a:hover{color:var(--gold);background:rgba(238,211,168,.06)}
.menu-panel li a:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}
.menu-panel li a[aria-current="page"]{color:var(--gold)}


/* ---- cabeçalho em 3 colunas ---- */
.nav .nav-in{display:grid!important;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;position:relative}
.nav .nav-in .menu-btn{justify-self:start}
.nav .nav-in .nav-logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:1}
.nav .nav-in .nav-end{grid-column:3}
.nav-menu{display:none}
.nav-sub{display:none}

/* ---- celular e tablet: painel lateral ---- */
@media(max-width:1179px){
  .menu-scrim{background:rgba(14,7,6,.6);opacity:0;transition:opacity .28s var(--ease-out,ease)}
  .menu-layer.is-open .menu-scrim{opacity:1}
  .menu-panel{top:0;left:0;bottom:0;width:min(86vw,360px);border-width:0 1px 0 0;transform:translateX(-100%);opacity:1;overflow-y:auto;padding-top:env(safe-area-inset-top,0px)}
  html.menu-open{overflow:hidden}
}

/* ---- computador: menu em linha, sem hambúrguer ---- */
@media(min-width:1180px){
  .nav .nav-in{grid-template-columns:auto 1fr auto}
  .nav .nav-in .menu-btn{display:none}
  .nav .nav-in .nav-logo{position:static;transform:none;justify-self:start;grid-column:1}
  .nav-menu{grid-column:2;justify-self:center;display:flex;align-items:center;gap:clamp(18px,1.9vw,30px);white-space:nowrap}
  .nav-end{grid-column:3}
  .nav-menu a{position:relative;padding:8px 0;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(246,240,229,.74);text-decoration:none;transition:color .25s}
  .nav-menu a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease-out,ease)}
  .nav-menu a:hover,.nav-menu a[aria-current="page"]{color:var(--gold)}
  .nav-menu a:hover::after,.nav-menu a[aria-current="page"]::after{transform:scaleX(1)}
  .nav-menu a:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
  .ds .nav-menu a{font-size:.9375rem;letter-spacing:0;text-transform:none;color:rgba(246,240,229,.86)}
  .ds .nav-menu a:hover,.ds .nav-menu a[aria-current="page"]{color:var(--parchment)}
  .nav-sub{display:block;border-top:1px solid rgba(238,211,168,.12)}
  .nav-sub-in{display:flex;justify-content:center}
  .nav-sub .nav-links{display:flex;gap:28px;margin:0}
  .nav-sub .nav-links a{padding-block:9px;font-size:.8125rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(246,240,229,.62)}
}
@media(min-width:1180px) and (max-width:1320px){.nav-menu a{letter-spacing:.06em}}
@media(max-width:560px){.nav-end{gap:8px}.nav .nav-in{gap:8px}.nav-cta{padding:9px 11px!important;letter-spacing:.06em!important;font-size:.75rem!important}.ds .nav-cta{font-size:.875rem!important}}
@media(max-width:350px){.nav-cta svg{display:none}}
@media (prefers-reduced-motion:reduce){
  .menu-panel,.menu-scrim,.menu-bars i,.nav-menu a::after{transition:opacity .15s linear}
  .menu-panel{transform:none!important;opacity:0}
  .menu-layer.is-open .menu-panel{opacity:1}
}
@media(max-width:400px){.nav .nav-logo img{height:26px!important}.nav-cta{padding:9px 9px!important}}
