/* ============================================================================
   ESTILO.CSS — Identidade visual do portal (Escola Secundária José Falcão)
   ----------------------------------------------------------------------------
   Cores azulejo/dourado · fontes Spectral + Inter · mobile-first · acessível.
   Partilhado por todas as páginas. Editar com cuidado (afeta o site inteiro).
   A 1.ª metade veio do index.php original; a 2.ª metade ("NOVO") acrescenta
   o menu, as tabelas de exames, os selos de fonte e as caixas de aviso.
   ============================================================================ */

:root{
  --ink:#15263a;
  --azulejo:#1f5e8c;
  --azulejo-deep:#143f5f;
  --paper:#f5f3ee;
  --card:#ffffff;
  --gold:#b07d28;
  --gold-soft:#f3e8cf;
  --gold-line:#e3cf9f;
  --line:#e3ddd1;
  --muted:#5b6675;
  --shadow:0 1px 2px rgba(21,38,58,.06), 0 8px 24px rgba(21,38,58,.05);
  --display:'Spectral', Georgia, 'Times New Roman', serif;
  --body:'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:var(--body); font-size:17px; line-height:1.6;
}
a{color:var(--azulejo)}
.wrap{max-width:920px; margin:0 auto; padding:0 20px}

/* Faixa de azulejo (assinatura visual) */
.azulejo-bar{
  height:10px;
  background:
    repeating-linear-gradient(135deg, var(--azulejo) 0 9px, var(--azulejo-deep) 9px 18px);
  opacity:.9;
}

/* Cabeçalho / masthead */
header.masthead{background:var(--ink); color:#fff; padding:30px 0 26px}
.masthead .eyebrow{
  font-size:12px; letter-spacing:.18em; text-transform:uppercase;
  color:#9fb6cc; margin:0 0 8px; font-weight:600;
}
.masthead h1{
  font-family:var(--display); font-weight:600;
  font-size:clamp(28px, 6vw, 46px); line-height:1.08; margin:0;
  letter-spacing:-.01em;
}
.masthead h1 a{color:#fff; text-decoration:none}
.masthead .meta{
  margin-top:14px; color:#c4d2e0; font-size:14.5px;
  display:flex; flex-wrap:wrap; gap:6px 18px;
}
.masthead .meta span{white-space:nowrap}

main{padding:34px 0 10px}
section{margin:0 0 40px}
.sec-head{
  display:flex; align-items:baseline; gap:12px; margin:0 0 16px;
  border-bottom:2px solid var(--ink); padding-bottom:8px;
}
.sec-head h2{
  font-family:var(--display); font-weight:600; font-size:24px; margin:0;
  letter-spacing:-.01em;
}
.sec-head .count{font-size:13px; color:var(--muted); margin-left:auto}

/* Avisos */
.aviso{
  background:var(--card); border:1px solid var(--line); border-radius:10px;
  padding:18px 20px; margin:0 0 14px; box-shadow:var(--shadow);
  border-left:4px solid var(--azulejo);
}
.aviso.destaque{
  background:var(--gold-soft); border-color:var(--gold-line);
  border-left-color:var(--gold);
}
.aviso .data{
  font-size:12px; letter-spacing:.08em; text-transform:uppercase;
  color:var(--muted); font-weight:600; margin:0 0 4px;
}
.aviso h3{font-family:var(--display); font-weight:600; font-size:19px; margin:0 0 6px}
.aviso p{margin:0}

/* Documentos */
.doc-sec{margin:0 0 26px}
.doc-sec h3{
  font-family:var(--display); font-weight:600; font-size:18px;
  margin:0 0 10px; color:var(--azulejo-deep);
  display:flex; align-items:center; gap:9px;
}
.doc-sec h3::before{
  content:""; width:8px; height:8px; background:var(--azulejo);
  transform:rotate(45deg); flex:none;
}
ul.docs{list-style:none; margin:0; padding:0; border-top:1px solid var(--line)}
ul.docs li{border-bottom:1px solid var(--line)}
ul.docs a{
  display:flex; align-items:center; gap:14px; padding:13px 6px;
  text-decoration:none; color:var(--ink);
}
ul.docs a:hover{background:#fbfaf6}
ul.docs a:focus-visible{outline:2px solid var(--azulejo); outline-offset:-2px}
.tag{
  flex:none; font-size:10.5px; font-weight:700; letter-spacing:.06em;
  text-transform:uppercase; color:#fff; background:var(--azulejo);
  padding:5px 7px; border-radius:5px; min-width:46px; text-align:center;
}
.tag.pdf{background:#a23b2f}
.tag.doc,.tag.docx{background:#1f5e8c}
.tag.xls,.tag.xlsx{background:#2f7d52}
.tag.zip{background:#6b5436}
.tag.jpg,.tag.jpeg,.tag.png{background:#7a5aa6}
.doc-nome{flex:1; min-width:0; font-weight:500}
.doc-meta{flex:none; font-size:12.5px; color:var(--muted); text-align:right}
.download-hint{flex:none; color:var(--azulejo); font-size:13px; font-weight:600}

.vazio{
  background:var(--card); border:1px dashed var(--line); border-radius:10px;
  padding:22px; color:var(--muted); text-align:center;
}

/* Ligações úteis */
.links{display:grid; grid-template-columns:1fr 1fr; gap:10px}
.links a{
  background:var(--card); border:1px solid var(--line); border-radius:9px;
  padding:14px 16px; text-decoration:none; color:var(--ink); font-weight:500;
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  box-shadow:var(--shadow);
}
.links a:hover{border-color:var(--azulejo)}
.links a span.arr{color:var(--azulejo); font-weight:700}

footer{
  background:var(--ink); color:#c4d2e0; margin-top:30px;
  padding:28px 0; font-size:14px;
}
footer .wrap{display:flex; flex-wrap:wrap; gap:8px 28px; align-items:center}
footer strong{color:#fff; font-family:var(--display); font-weight:600; font-size:16px}
footer .upd{margin-left:auto; color:#8ea4ba; font-size:12.5px}

/* ============================================================================
   NOVO — estilos adicionais para o site multi-página
   ============================================================================ */

/* Menu de navegação (comum a todas as páginas) */
nav.principal{background:var(--azulejo-deep)}
nav.principal ul{
  list-style:none; margin:0 auto; padding:0; max-width:920px;
  display:flex; flex-wrap:wrap;
}
nav.principal a{
  display:block; padding:13px 18px; color:#dbe7f2; text-decoration:none;
  font-weight:600; font-size:15px; letter-spacing:.01em;
  border-bottom:3px solid transparent;
}
nav.principal a:hover{background:rgba(255,255,255,.06); color:#fff}
nav.principal a:focus-visible{outline:2px solid #fff; outline-offset:-2px}
nav.principal a[aria-current="page"]{
  color:#fff; border-bottom-color:var(--gold); background:rgba(255,255,255,.05);
}

/* Migalhas / introdução de página */
.intro{
  color:var(--muted); font-size:16px; margin:0 0 26px; max-width:680px;
}

/* Caixa de aviso "Confirmar na fonte oficial" */
.fonte-aviso{
  background:var(--gold-soft); border:1px solid var(--gold-line);
  border-left:4px solid var(--gold); border-radius:10px;
  padding:14px 18px; margin:0 0 24px; font-size:14.5px; color:#5a4a26;
}
.fonte-aviso strong{color:#7a5a1c}
.fonte-aviso a{color:var(--azulejo-deep); font-weight:600}

/* Selo de fonte (citação por baixo de tabelas/secções) */
.fonte{
  font-size:13px; color:var(--muted); margin:10px 0 0;
  display:flex; flex-wrap:wrap; gap:4px 10px; align-items:baseline;
}
.fonte .etiqueta{
  font-weight:700; text-transform:uppercase; letter-spacing:.06em;
  font-size:11px; color:var(--gold);
}
.fonte a{font-weight:600}

/* Marcador de conteúdo por confirmar */
.por-confirmar{
  background:#fff4d6; border:1px dashed var(--gold-line); border-radius:5px;
  padding:1px 7px; font-size:13px; font-weight:600; color:#8a6a1c;
  white-space:normal;
}

/* Tabela de exames (responsiva) */
.tabela-exames{
  width:100%; border-collapse:collapse; background:var(--card);
  border:1px solid var(--line); border-radius:10px; overflow:hidden;
  box-shadow:var(--shadow); margin:0 0 6px;
}
.tabela-exames caption{
  text-align:left; font-family:var(--display); font-weight:600; font-size:18px;
  color:var(--azulejo-deep); padding:14px 16px 0; caption-side:top;
}
.tabela-exames th, .tabela-exames td{
  text-align:left; padding:11px 14px; border-top:1px solid var(--line);
  vertical-align:top; font-size:15.5px;
}
.tabela-exames thead th{
  background:var(--ink); color:#fff; border-top:0; font-size:13px;
  letter-spacing:.04em; text-transform:uppercase; font-weight:600;
}
.tabela-exames td.dia{font-weight:600; white-space:nowrap; color:var(--azulejo-deep)}
.tabela-exames td.dia small{display:block; color:var(--muted); font-weight:400; font-size:12.5px}
.tabela-exames .disc{display:block; padding:2px 0}
.tabela-exames .cod{color:var(--muted); font-size:13px}
.tabela-exames .ano{
  display:inline-block; font-size:11px; font-weight:700; color:#fff;
  background:var(--azulejo); border-radius:4px; padding:1px 6px; margin-left:4px;
}
.tabela-exames .ano.a9{background:#2f7d52}
.tabela-exames .sem{color:var(--muted)}

/* Cartões de acesso rápido (página inicial) */
.cartoes{display:grid; grid-template-columns:1fr 1fr; gap:12px}
.cartoes a{
  background:var(--card); border:1px solid var(--line); border-radius:11px;
  padding:18px 20px; text-decoration:none; color:var(--ink);
  box-shadow:var(--shadow); display:block; border-left:4px solid var(--azulejo);
}
.cartoes a:hover{border-color:var(--azulejo)}
.cartoes a .titulo{font-family:var(--display); font-weight:600; font-size:18px; display:block; margin:0 0 4px}
.cartoes a .desc{font-size:14px; color:var(--muted)}

/* Página de contactos */
.contactos-grid{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:0 0 24px}
.contacto-card{
  background:var(--card); border:1px solid var(--line); border-radius:11px;
  padding:18px 20px; box-shadow:var(--shadow);
}
.contacto-card h3{
  font-family:var(--display); font-weight:600; font-size:17px; margin:0 0 8px;
  color:var(--azulejo-deep);
}
.contacto-card p{margin:0 0 4px}
.contacto-card a{font-weight:500}
.mapa{
  border:1px solid var(--line); border-radius:11px; overflow:hidden;
  box-shadow:var(--shadow); margin:0 0 10px; line-height:0;
}
.mapa iframe{width:100%; height:380px; border:0; display:block}

/* Lista de normas/regulamentos */
.norma{
  background:var(--card); border:1px solid var(--line); border-radius:11px;
  padding:18px 20px; margin:0 0 14px; box-shadow:var(--shadow);
  border-left:4px solid var(--azulejo);
}
.norma h3{font-family:var(--display); font-weight:600; font-size:18px; margin:0 0 6px}
.norma p{margin:0 0 10px}
.norma .botoes{display:flex; flex-wrap:wrap; gap:10px}
.botao{
  display:inline-block; background:var(--azulejo); color:#fff; text-decoration:none;
  font-weight:600; font-size:14px; padding:9px 14px; border-radius:8px;
}
.botao:hover{background:var(--azulejo-deep)}
.botao.sec{background:var(--card); color:var(--azulejo-deep); border:1px solid var(--azulejo)}

@media (max-width:600px){
  body{font-size:16px}
  .links{grid-template-columns:1fr}
  .cartoes{grid-template-columns:1fr}
  .contactos-grid{grid-template-columns:1fr}
  .doc-meta{display:none}
  ul.docs a{gap:11px}
  .masthead .meta{font-size:13px}
  nav.principal a{padding:11px 14px; font-size:14px}
  .tabela-exames th, .tabela-exames td{padding:9px 10px; font-size:14.5px}
  .mapa iframe{height:300px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
