/* Menu principal partilhado por todas as páginas (Anthares Host) */
.sn {
  position: fixed; top: 0; left: 0; right: 0; z-index: 60;
  border-bottom: 1px solid transparent;
  transition: background .3s, border-color .3s, backdrop-filter .3s;
  font-family: 'Space Grotesk', system-ui, sans-serif;
}
.sn.is-scrolled, .sn.sn-solid { background: rgba(5, 7, 13, .82); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); border-color: #1c2438; }
.sn-inner { width: min(1200px, 100% - 32px); margin-inline: auto; height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.sn-logo { display: inline-flex; align-items: center; color: #e6ebf5; text-decoration: none; flex-shrink: 0; }
.sn-links { display: flex; gap: 30px; list-style: none; margin: 0; padding: 0; }
.sn-links a { color: #8b95ab; font-size: .95rem; text-decoration: none; white-space: nowrap; transition: color .2s; }
.sn-links a:hover { color: #e6ebf5; }
.sn-links a[aria-current="page"] { color: #00e5ff; }
.sn-actions { display: flex; gap: 10px; align-items: center; flex-shrink: 0; }
.sn-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 10px 18px; min-height: 42px; border-radius: 12px; font: 600 .92rem/1 'Space Grotesk', system-ui, sans-serif;
  text-decoration: none; white-space: nowrap; border: 1px solid transparent; cursor: pointer;
  transition: transform .2s, box-shadow .25s, border-color .2s, color .2s;
}
.sn-btn svg { width: 18px; height: 18px; flex-shrink: 0; }
.sn-ghost { border-color: #1c2438; background: rgba(255, 255, 255, .03); color: #e6ebf5; }
.sn-ghost:hover { border-color: #00e5ff; color: #00e5ff; }
.sn-wa { background: #25d366; color: #03140a; box-shadow: 0 0 28px rgba(37, 211, 102, .35); }
.sn-wa:hover { transform: translateY(-2px); box-shadow: 0 0 44px rgba(37, 211, 102, .6); }
.sn-burger { display: none; place-items: center; width: 44px; height: 44px; border-radius: 10px; border: 1px solid #1c2438; background: rgba(5, 7, 13, .4); color: #e6ebf5; cursor: pointer; }
.sn-burger svg { width: 22px; height: 22px; }
.sn-burger .sn-x { display: none; }
.sn.is-open .sn-burger .sn-x { display: block; }
.sn.is-open .sn-burger .sn-bars { display: none; }
.sn-mobile-only { display: none; }
.sn-spacer { height: 72px; }
.sn a:focus-visible, .sn button:focus-visible { outline: 2px solid #00e5ff; outline-offset: 3px; border-radius: 8px; }

@media (max-width: 1320px) and (min-width: 1181px) { .sn-links { gap: 22px; } }

/* Menu recolhido (☰) em tablets e telemóveis */
@media (max-width: 1180px) {
  .sn-links, .sn-actions .sn-btn { display: none; }
  .sn-burger { display: grid; }
  .sn.is-open { background: rgba(5, 7, 13, .97); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); border-color: #1c2438; }
  .sn.is-open .sn-links {
    display: flex; flex-direction: column; gap: 0; position: absolute; top: 72px; left: 0; right: 0;
    background: rgba(5, 7, 13, .97); border-bottom: 1px solid #1c2438; padding: 6px 16px 18px;
    max-height: calc(100vh - 72px); overflow-y: auto;
  }
  .sn.is-open .sn-mobile-only { display: block; }
  .sn.is-open .sn-links a { display: flex; align-items: center; min-height: 52px; padding: 0 4px; font-size: 1.05rem; color: #c3cadb; border-bottom: 1px solid #1c2438; }
  .sn.is-open .sn-links a[aria-current="page"] { color: #00e5ff; }
  .sn.is-open .sn-links .sn-client { color: #00e5ff; }
  .sn.is-open .sn-links .sn-wa-link { color: #25d366; border-bottom: 0; }
}
@media (prefers-reduced-motion: reduce) { .sn, .sn-btn { transition: none; } }

/* ─── Áreas de toque de pelo menos 44 px em ecrãs táteis (WCAG 2.5.8 / recomendação Google) ───
   Só afeta telemóveis e tablets; no computador o aspeto mantém-se igual. */
@media (pointer: coarse) {
  footer a, .foot a,
  .plan-wa, .map-meta a, .source a, .skip {
    display: inline-flex; align-items: center; min-height: 44px;
  }
  .foot-grid ul { gap: 0 !important; }
  footer nav { gap: 0 20px !important; }
  .socials { gap: 8px !important; }
  .socials a { width: 44px !important; height: 44px !important; }
  .chip { min-height: 44px; }
  .plan-wa { margin-top: 6px; }
}

/* Rodapé da página inicial no telemóvel: "Serviços" e "Empresa" lado a lado para não ficar demasiado longo */
@media (max-width: 560px) {
  .foot-grid { grid-template-columns: 1fr 1fr !important; column-gap: 20px !important; }
  .foot-grid > div:first-child, .foot-grid > div:last-child { grid-column: 1 / -1; }
  .foot-grid a { overflow-wrap: anywhere; }
}

/* Botão de idioma PT | EN */
.sn-lang {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-width: 44px; height: 42px; padding: 0 12px;
  border-radius: 10px; border: 1px solid #1c2438; background: rgba(255, 255, 255, .03); color: #e6ebf5;
  font: 600 .8rem/1 'JetBrains Mono', ui-monospace, monospace; letter-spacing: .08em; text-decoration: none;
  transition: border-color .2s, color .2s;
}
.sn-lang svg { width: 16px; height: 16px; opacity: .8; }
.sn-lang:hover { border-color: #00e5ff; color: #00e5ff; }
@media (max-width: 420px) { .sn-lang svg { display: none; } .sn-lang { padding: 0 10px; } }
