/* =============================================
   LANDING — Navbar & Footer
   ============================================= */

/* ── NAVBAR ── */
.navbar {
  position:fixed; top:0; left:0; right:0; z-index:200;
  padding:1.25rem 0;
  transition:all .35s var(--ease);
}
.navbar.scrolled {
  background:rgba(10,10,10,.93);
  backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(232,195,106,.1);
  padding:.85rem 0;
}

.nav-inner {
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
}

/* Logo */
.nav-logo { display:flex; align-items:center; gap:.75rem; }
.nav-logo__mark {
  width:42px; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
}
.nav-logo__mark img { width:100%; height:auto; }
.nav-logo__mark--lg { width:64px; }
.nav-logo__name  { display:block; font-family:'Cormorant Garamond', Georgia, serif; font-size:1.05rem; font-weight:600; letter-spacing:.18em; color:var(--white); white-space:nowrap; }
.nav-logo__sub   { display:block; font-size:.64rem; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); white-space:nowrap; }
/* No rodapé a assinatura completa cabe e pode quebrar */
.footer .nav-logo__sub { white-space:normal; }

/* Bloco WhatsApp + hambúrguer da navbar */
.nav-actions { display:flex; align-items:center; gap:.75rem; flex-shrink:0; }

/* Links desktop */
.nav-links { display:flex; align-items:center; gap:.2rem; }
.nav-link  {
  position:relative; padding:.45rem .8rem;
  font-size:.875rem; font-weight:500; letter-spacing:.07em; text-transform:uppercase;
  color:var(--muted); transition:color .2s ease;
}
.nav-link::after {
  content:''; position:absolute; bottom:0; left:.8rem; right:.8rem; height:1px;
  background:var(--gold); transform:scaleX(0); transition:transform .25s ease;
}
.nav-link:hover, .nav-link.active { color:var(--white); }
.nav-link:hover::after, .nav-link.active::after { transform:scaleX(1); }

/* Toggle mobile */
.nav-toggle {
  display:none; flex-direction:column; gap:5px; padding:5px;
}
.nav-toggle span {
  display:block; width:24px; height:1.5px; background:var(--white);
  transition:all .25s ease; transform-origin:center;
}
.nav-toggle.open span:nth-child(1) { transform:translateY(6.5px) rotate(45deg); }
.nav-toggle.open span:nth-child(2) { opacity:0; transform:scaleX(0); }
.nav-toggle.open span:nth-child(3) { transform:translateY(-6.5px) rotate(-45deg); }

/* Mobile menu */
.nav-mobile {
  position:fixed; inset:0; background:var(--black);
  z-index:199; display:flex; flex-direction:column;
  padding:5.5rem 2rem 2.5rem;
  opacity:0; pointer-events:none;
  transition:opacity .3s ease;
}
.nav-mobile.open { opacity:1; pointer-events:all; }
.nav-mobile-links { display:flex; flex-direction:column; gap:.25rem; margin-bottom:2rem; }
.nav-mobile-link  {
  font-family:var(--font-display); font-size:2.4rem; font-weight:700;
  color:var(--muted); padding:.4rem 0;
  border-bottom:1px solid rgba(255,255,255,.04);
  transition:color .2s ease;
}
.nav-mobile-link:hover { color:var(--gold); }
.nav-mobile-socials { display:flex; gap:.6rem; margin-top:auto; }
.nav-social {
  width:38px; height:38px; border-radius:var(--radius-sm);
  border:1px solid rgba(255,255,255,.1);
  display:flex; align-items:center; justify-content:center;
  color:var(--muted); font-size:1.0625rem;
  transition:all .2s ease;
}
.nav-social:hover { border-color:var(--gold); color:var(--gold); }

/* ── FOOTER ── */
.footer {
  background:var(--dark); padding:4rem 0 2rem;
  border-top:1px solid rgba(232,195,106,.08);
  position:relative; overflow:hidden;
}
/* Marca d'água do monograma AS no canto do rodapé */
.footer::before {
  content:'';
  position:absolute; right:-3rem; bottom:-4rem;
  width:340px; height:347px;
  background-image:url('/images/as-forje-mark.webp');
  background-size:contain; background-position:center; background-repeat:no-repeat;
  opacity:.05; pointer-events:none;
}
.footer-grid {
  display:grid; grid-template-columns:2fr 1fr 1fr 1.5fr;
  gap:3rem; margin-bottom:3rem;
}
.footer-brand-desc { font-size:1rem; color:var(--muted); line-height:1.8; margin:1rem 0 1.5rem; max-width:270px; }
.footer-col-title  { font-family:var(--font-accent); font-size:.84rem; letter-spacing:.2em; color:var(--gold); text-transform:uppercase; margin-bottom:1.2rem; }
.footer-links      { display:flex; flex-direction:column; gap:.55rem; }
/* min-height 24px: alvo de toque mínimo do WCAG 2.5.8 */
.footer-link       { font-size:.95rem; color:var(--muted); transition:color .2s ease; display:flex; align-items:center; gap:.4rem; min-height:24px; }
.footer-link:hover { color:var(--gold); }
.footer-contact-item { display:flex; align-items:flex-start; gap:.7rem; font-size:.95rem; color:var(--muted); margin-bottom:.7rem; overflow-wrap:anywhere; }
.footer-contact-item i { color:var(--gold); font-size:1rem; flex-shrink:0; margin-top:.3rem; }
.footer-bottom {
  display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:1rem; padding-top:1.5rem;
}
.footer-copy { font-size:.84rem; color:var(--dim); }
.footer-bottom-links { display:flex; gap:1.5rem; }
.footer-bottom-link { font-size:.84rem; color:var(--dim); transition:color .2s ease; display:inline-flex; align-items:center; min-height:24px; }
.footer-bottom-link:hover { color:var(--gold); }

/* Social links */
.social-links { display:flex; gap:.6rem; }
.social-link  {
  width:38px; height:38px; border-radius:var(--radius-sm);
  border:1px solid rgba(255,255,255,.1);
  display:flex; align-items:center; justify-content:center;
  color:var(--muted); font-size:1.0625rem;
  transition:all .2s ease;
}
.social-link:hover { border-color:var(--gold); color:var(--gold); transform:translateY(-3px); }

/* Whatsapp float */
.wa-float {
  position:fixed; bottom:1.75rem; right:1.75rem;
  width:56px; height:56px; background:var(--green); border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:1.5rem; color:#fff; z-index:198;
  box-shadow:0 6px 25px rgba(37,211,102,.4);
  transition:transform .2s ease, box-shadow .2s ease;
}
.wa-float:hover { transform:scale(1.1); box-shadow:0 10px 35px rgba(37,211,102,.6); }
.wa-float__pulse {
  position:absolute; inset:-4px; border-radius:50%;
  border:2px solid rgba(37,211,102,.35);
  animation:pulse 2s ease-in-out infinite;
}

@media (max-width:1024px) {
  .nav-links { display:none; }
  .nav-toggle { display:flex; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:2rem; }
}

/* Navbar em tela estreita: a assinatura sai e o nome encolhe,
   senão "AS FORJE" quebra em duas linhas e encosta no botão. */
@media (max-width:600px) {
  .nav-logo { gap:.55rem; }
  .nav-logo__mark { width:34px; }
  .nav-logo__name { font-size:.92rem; letter-spacing:.13em; }
  .navbar .nav-logo__sub { display:none; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-bottom { flex-direction:column; text-align:center; }
}

/* Abaixo de 420px o rótulo do botão sai e fica só o ícone do WhatsApp */
@media (max-width:420px) {
  .navbar .btn-wa .btn-label { display:none; }
  .navbar .btn-wa { padding:.6rem .85rem; }
  .navbar .btn-wa i { font-size:1rem; }
}

/* =============================================
   BARRA DE AÇÃO FIXA — CELULAR
   Aparece depois que o hero sai da tela e some quando o formulário
   de contato entra. Só existe abaixo de 860px: no desktop a navbar
   já carrega o botão de WhatsApp o tempo todo.
   ============================================= */
.acao-fixa {
  position:fixed; left:0; right:0; bottom:0; z-index:197;
  display:none; gap:.6rem;
  padding:.7rem .9rem calc(.7rem + env(safe-area-inset-bottom));
  background:rgba(11,11,13,.94);
  backdrop-filter:blur(16px);
  border-top:1px solid rgba(232,195,106,.18);
  transform:translateY(110%);
  transition:transform .32s var(--ease);
}
.acao-fixa.on { transform:translateY(0); }

.acao-fixa__btn {
  flex:1; min-height:48px;              /* alvo de toque confortável */
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  border-radius:var(--radius-md);
  font-size:.95rem; font-weight:700; letter-spacing:.02em;
  text-decoration:none; text-align:center; line-height:1.2;
  transition:transform .12s ease, filter .2s ease;
}
.acao-fixa__btn:active { transform:scale(.97); }
.acao-fixa__btn--principal { background:var(--gold); color:#0B0B0D; }
.acao-fixa__btn--wa        { background:var(--green); color:#062512; }
.acao-fixa__btn:focus-visible { outline:2px solid var(--white); outline-offset:2px; }

@media (max-width:860px) {
  .acao-fixa { display:flex; }
  /* Com a barra no ar, o balão flutuante vira WhatsApp em dobro */
  .acao-fixa.on ~ .wa-float,
  body:has(.acao-fixa.on) .wa-float { opacity:0; pointer-events:none; }
  /* Espaço para a barra não cobrir o fim do rodapé */
  body:has(.acao-fixa) .footer { padding-bottom:6rem; }
}
@media (max-width:360px) {
  .acao-fixa__btn { font-size:.86rem; padding-inline:.4rem; }
}
@media (prefers-reduced-motion: reduce) {
  .acao-fixa { transition:none; }
}
