/* Estructura compartida de APGE 02, en ambos idiomas y todas las páginas. */
html { scroll-behavior: auto; }
body { overflow-wrap: break-word; }
.site-header { --primary:#0f5b4f; --text:#10211d; --text-soft:#314641; --border:#c7d7d1; position:relative; top:auto; width:100%; margin:0; padding:0; border:0; border-bottom:1px solid #c7d7d1; border-radius:0; background:#fff; color:#10211d; box-shadow:none; backdrop-filter:none; font:1rem/1.6 "Atkinson Hyperlegible","Segoe UI",sans-serif; }
.site-header .header-inner { display:grid; grid-template-columns:7rem minmax(0,1fr) auto; align-items:center; gap:1.25rem; width:min(calc(100% - 2rem),72rem); min-height:0; margin:0 auto; padding:1rem 0; }
.site-header .header-logo-wrap { display:flex; align-items:center; justify-content:center; margin:0; padding:0; }
.site-header .header-logo { display:block; width:7rem; height:auto; max-width:100%; }
.site-header .brand { min-width:0; text-align:left; }
.site-header .brand-title { display:block; margin:0; color:#10211d; font-size:1.2rem; font-weight:800; line-height:1.3; }
.site-header .brand-subtitle { display:block; margin:.25rem 0 0; color:#314641; font-size:1rem; }
.site-header .header-side { display:flex; flex-direction:column; align-items:center; gap:.5rem; }
.site-header .header-social { display:flex; justify-content:center; align-items:center; gap:.5rem; flex-wrap:wrap; }
.site-header .header-social-link { display:inline-flex; align-items:center; justify-content:center; width:2.75rem; height:2.75rem; padding:0; border:1px solid #c7d7d1; border-radius:50%; background:#fff; color:#0f5b4f; box-shadow:none; }
.site-header .header-social-icon { width:1.35rem; height:1.35rem; }
.site-header .language-switch { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:.5rem; font-size:1rem; font-weight:700; }
.site-header .language-link { display:inline-flex; min-height:2.75rem; align-items:center; padding:.25rem .65rem; color:#314641; border:1px solid transparent; border-radius:.5rem; background:#fff; text-decoration:underline; }
.site-header .header-nav-row { width:min(calc(100% - 2rem),72rem); margin:0 auto; padding:0 0 1rem; }
.site-header .page-switch { display:flex; flex-wrap:wrap; justify-content:flex-start; align-items:stretch; gap:.4rem; }
.site-header .page-link { display:inline-flex; align-items:center; justify-content:center; min-height:2.75rem; padding:.45rem .7rem; margin:0; border:1px solid #c7d7d1; border-radius:.5rem; background:#fff; color:#314641; text-decoration:none; font-size:1rem; font-weight:700; box-shadow:none; }
.site-header .page-link:hover,.site-header .language-link:hover { background:#e7f0ec; color:#10211d; }
.site-header [aria-current="page"] { background:#0f5b4f; color:#fff; text-decoration:underline; text-underline-offset:.2em; }
.site-header .donation-nav-link { background:#ffc857; color:#10211d; border-color:#ffc857; }
.site-footer { font:1rem/1.6 "Atkinson Hyperlegible","Segoe UI",sans-serif; }
.site-footer .footer-list a { display:inline-block; padding:.25rem 0; }
.site-footer .footer-grid { grid-template-columns:1fr; }
.site-footer .footer-panel { overflow-wrap:anywhere; }
:where(a,button,input,textarea,summary):focus-visible { outline:3px solid #10211d; outline-offset:4px; box-shadow:0 0 0 4px #fff; }
.site-header a:focus-visible,.site-footer a:focus-visible,.site-footer button:focus-visible { outline:3px solid #ffc857; outline-offset:3px; box-shadow:0 0 0 6px #10211d; }
.skip-link { position:absolute; top:0; left:1rem; transform:translateY(-150%); max-width:calc(100% - 2rem); z-index:9999; }
.skip-link:focus { top:1rem; transform:translateY(0); }
main:focus { outline:none; }
.page-heading { padding-top:2rem; }
.page-heading h1 { font-size:clamp(1.8rem,4vw,2.6rem); margin:0; }
.home-page .hero { padding:1.5rem 0 .75rem; }
.home-page .hero-panel { padding:clamp(1rem,3vw,2rem); }
.home-page .hero h1 { font-size:clamp(1.8rem,4vw,2.7rem); line-height:1.15; }
.home-page .hero .grid { align-items:center; }
.home-page .hero .home-photo img { width:100%; height:auto; max-height:20rem; object-fit:contain; border-radius:1rem; }
.home-page .hero-copy p { max-width:38rem; }
.home-page .section { padding:.75rem 0; }
.quick-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; padding:0; margin:1rem 0; list-style:none; }
.quick-links li { padding:1.25rem; border:1px solid #c7d7d1; border-radius:1rem; background:white; }
.quick-links a { display:inline-block; padding:.35rem 0; font-size:1.2rem; font-weight:800; color:#0a433a; text-underline-offset:.2em; }
.quick-links p { margin:.6rem 0 0; color:#314641; }
.home-page .news-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.home-page .news-feature { display:flex; flex-direction:column; gap:.75rem; }
.home-page .news-card-image { width:100%; height:11rem; object-fit:cover; }
.home-page .news-card h3 { margin:0; font-size:1.15rem; }
.home-page .news-card h3 a { color:#0a433a; text-decoration:underline; }
.all-news { display:inline-block; padding:.8rem 0; margin-top:.5rem; font-weight:700; }
.field-error { color:#9a1717; font-weight:700; }
[hidden] { display:none !important; }
[aria-invalid="true"] { border:2px solid #9a1717; }
input,textarea { max-width:100%; }
@media(min-width:60rem) { .site-footer .footer-grid.footer-grid--with-donation { grid-template-columns:minmax(0,.9fr) minmax(0,.9fr) minmax(0,1.2fr) minmax(0,.9fr); } }
@media(max-width:59.99rem) { .site-header .header-inner { grid-template-columns:5rem minmax(0,1fr); } .site-header .header-side { grid-column:1 / -1; flex-direction:row; justify-content:space-between; flex-wrap:wrap; } .site-header .header-logo { width:5rem; } }
@media(max-width:47.99rem) { .quick-links,.home-page .news-grid { grid-template-columns:1fr; } .site-header .page-link { flex:1 1 9rem; } .site-header .brand-title { font-size:1.05rem; } .site-header .brand-subtitle { font-size:.9rem; } .home-page .hero .home-photo img { max-height:15rem; } }
.home-page .hero .home-photo img { min-height:0; }
@media(min-width:48rem) {
 .home-page .hero .grid.two-col { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); align-items:center; gap:2rem; }
 .home-page .hero-copy { text-align:left; }
 .home-page .hero .eyebrow { margin-bottom:1rem; }
}

/* Cabecera de artículos: acceso único a Inicio. */
.site-header.article-simple-header .header-inner { grid-template-columns:7rem minmax(0,1fr); }
@media(max-width:59.99rem) { .site-header.article-simple-header .header-inner { grid-template-columns:5rem minmax(0,1fr); } }
