/* Camada partilhada de acessibilidade — carregar DEPOIS do CSS da página */
.skip{position:absolute;left:1rem;top:-4rem;background:#fff;color:#000;padding:.7rem 1rem;z-index:100;font:600 .9rem 'Figtree',sans-serif}
.skip:focus{top:1rem}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #fff;outline-offset:3px;box-shadow:0 0 0 6px #1d2a14}
footer a,.footer-info a{padding:.35rem 0}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* ── Coerência entre páginas ── */
/* Botões: maiúsculas pequenas e espaçadas + seta */
.btn-reservar,.btn-carta,.btn,.btn-submit,.link-simples{text-transform:uppercase;letter-spacing:.12em;font-weight:600}
.menu-btn{text-transform:uppercase}
.btn-reservar:not(.btn-voltar)::after,.btn-carta::after,.btn:not(.btn-voltar)::after,.btn-submit::after{content:"→";content:"→" / "";margin-left:.6em}
.btn-voltar::before{content:"←";content:"←" / "";margin-right:.6em}

/* ── Mobile ── */
html{-webkit-text-size-adjust:100%}
img,video{max-width:100%}
@media (max-width:900px){
  /* alturas que não "saltam" com a barra do browser */
  .hero{height:auto;min-height:70vh;min-height:70svh}
  .menu-center{height:auto;min-height:calc(100vh - 110px);min-height:calc(100svh - 110px)}
  /* iOS faz zoom em campos com menos de 16px */
  input,select,textarea{font-size:16px!important}
  header{padding-left:20px;padding-right:20px}
}
@media (max-width:768px){
  body.home-page{min-height:100vh;min-height:100svh}
  main.home-content.two-columns{height:calc(100vh - 60px);height:calc(100svh - 60px)}
  .column{min-height:30vh}
}

/* A Forum só existe em peso 400: nunca simular negrito */
body{font-synthesis:none}

/* ══════════════════════════════════════════════════════════
   UNIFORMIZAÇÃO: cabeçalho, rodapé e botões iguais em todo o site
   (este bloco vem por último e prevalece sobre o CSS de cada página)
   ══════════════════════════════════════════════════════════ */

/* Logótipo: mesma largura em todas as páginas, qualquer que seja o ficheiro */
header .logo,.topo .logo{width:140px;height:auto;max-width:none;display:block}

/* Botões: texto centrado na caixa, mesmo tamanho e altura */
.btn-reservar,.btn-carta,.btn,.btn-submit{
  box-sizing:border-box;height:44px;min-height:0;padding:0 1.4rem;
  font-family:'Figtree',sans-serif;font-size:.65rem;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;text-align:center;
  line-height:42px;white-space:nowrap;text-decoration:none;
}
.btn{display:inline-flex;align-items:center;justify-content:center;line-height:1}
.btn-submit{display:inline-flex;align-items:center;justify-content:center;line-height:1}
header .btn-reservar,header .btn{margin-top:0}
.menu-btn{font-size:11px}

/* Rodapé: mesma altura, tipo de letra, margens e links */
footer{background:rgba(220,217,213,.9);width:100%;min-height:60px;height:60px;display:flex;align-items:center}
footer .footer-content{width:100%;max-width:1440px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;padding:0 120px;font-family:'Figtree',sans-serif;font-size:8pt;line-height:1.5;color:#333}
footer .footer-links a{margin-left:20px;color:#333;text-decoration:none}
footer .footer-links a:hover{text-decoration:underline}

@media (max-width:900px){
  header .logo,.topo .logo{width:120px}
  /* rodapé numa só linha: © · Privacidade · Reclamações */
  footer{height:60px;min-height:60px;padding:0}
  footer .footer-content{flex-direction:row;flex-wrap:nowrap;justify-content:center;align-items:center;gap:clamp(6px,2.2vw,14px);padding:0 10px;font-size:clamp(7px,2.5vw,8pt);white-space:nowrap;text-align:center}
  footer .footer-links{display:flex;flex-wrap:nowrap;align-items:center;gap:clamp(6px,2.2vw,14px)}
  footer .footer-links a{margin:0;padding:.6rem .1rem}
}
