/* Estilos compartidos por todas las páginas del boletín */
:root {
  --bg: #f5f7f6; --surface: #ffffff; --text: #14201b; --muted: #5a6b64; --line: #d9e0dc;
  --brand: #0a7d4f; --brand-dark: #086840; --on-brand: #ffffff; --accent: #f2b705;
  --ok-bg: #e4f5ec; --ok-text: #0a5c3b; --warn-bg: #fff4d6; --warn-text: #6b4e00;
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg: #0f1613; --surface: #18221d; --text: #e8efeb; --muted: #9fb0a8; --line: #2c3a33;
    --brand: #2fb37a; --brand-dark: #55c794; --on-brand: #06231a; --accent: #f2b705;
    --ok-bg: #143527; --ok-text: #8ee0b7; --warn-bg: #3a2f0a; --warn-text: #f5d77a;
  }
}
* { box-sizing: border-box; }
body {
  margin: 0; background: var(--bg); color: var(--text);
  font: 17px/1.55 "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;
}
.flag { height: 6px; background: linear-gradient(90deg, var(--brand) 0 70%, var(--accent) 70% 100%); }
main { max-width: 620px; margin: 0 auto; padding: 36px 16px 56px; }
.name { font-size: .82rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--brand); }
h1 { font-size: clamp(1.7rem, 6vw, 2.3rem); line-height: 1.15; margin: 10px 0 12px; letter-spacing: -.01em; }
.lead { color: var(--muted); margin: 0 0 26px; }
form { background: var(--surface); border: 1px solid var(--line); border-radius: 14px; padding: 22px; }
label { display: block; font-weight: 600; font-size: .95rem; margin-bottom: 6px; }
.field { margin-bottom: 16px; }
input, select {
  width: 100%; font: inherit; color: var(--text); background: var(--bg);
  border: 1px solid var(--line); border-radius: 10px; padding: 13px 14px; min-height: 50px;
}
input:focus-visible, select:focus-visible, button:focus-visible, .chips a:focus-visible {
  outline: 3px solid var(--accent); outline-offset: 2px;
}
button {
  width: 100%; font: inherit; font-weight: 700; color: var(--on-brand); background: var(--brand);
  border: 0; border-radius: 10px; padding: 14px; min-height: 52px; cursor: pointer;
}
button:hover { background: var(--brand-dark); }
.fine { color: var(--muted); font-size: .86rem; margin: 12px 0 0; }
.note { border-radius: 10px; padding: 12px 14px; margin: 0 0 16px; font-size: .95rem; }
.note.warn { background: var(--warn-bg); color: var(--warn-text); }
.note.ok { background: var(--ok-bg); color: var(--ok-text); }
[hidden] { display: none !important; }
h2 { font-size: 1.05rem; margin: 34px 0 12px; }
ol { margin: 0; padding-left: 22px; color: var(--muted); }
ol li { margin-bottom: 6px; }
.chips { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; margin: 0; }
.chips a {
  display: inline-block; padding: 8px 12px; border: 1px solid var(--line); border-radius: 99px;
  background: var(--surface); color: var(--text); font-size: .88rem; text-decoration: none;
}
.chips a[aria-current="true"] { background: var(--brand); border-color: var(--brand); color: var(--on-brand); }
footer { color: var(--muted); font-size: .84rem; margin-top: 36px; border-top: 1px solid var(--line); padding-top: 16px; }

/* Páginas de mensaje (gracias, confirmado, baja) */
.card { background: var(--surface); border: 1px solid var(--line); border-radius: 14px; padding: 22px; }
.card p:last-child { margin-bottom: 0; }
.button-link {
  display: inline-block; font-weight: 700; color: var(--on-brand); background: var(--brand);
  border-radius: 10px; padding: 12px 18px; text-decoration: none;
}
/* Campo trampa para robots: fuera de la vista, sin foco */
.trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.card form { background: none; border: 0; padding: 0; }
