/* Apoyo para la landing por zona (complementa styles.css de Lovable) */
html { scroll-behavior: smooth; }
[hidden] { display: none !important; }

/* Reveal suave al entrar en viewport (progresivo: visible por defecto si no hay JS/IO) */
.reveal { opacity: 0; transform: translateY(24px); transition: opacity .6s ease, transform .6s ease; }
.reveal.is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .reveal { opacity: 1; transform: none; transition: none; } }

/* --- Footer: menú de zonas (enlazado interno entre las 20 landings) --- */
.zonas-menu-title { color: #fff; font-size: 1.05rem; font-weight: 700; margin-bottom: 1.1rem; }
.zonas-menu { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem 1.5rem; }
@media (min-width: 640px)  { .zonas-menu { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .zonas-menu { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.zonas-menu a { color: rgba(255,255,255,.8); font-size: .9rem; text-decoration: underline; text-underline-offset: 4px; transition: color .15s ease; }
.zonas-menu a:hover { color: #fff; }
.zonas-menu a[aria-current="page"] { color: #fff; font-weight: 700; }

/* --- Footer: bloque de subvenciones (UE + Cámara) --- */
.subvenciones { background: #fff; color: #404040; }
.subv-grid { display: grid; grid-template-columns: 1fr; gap: 2rem; align-items: center; }
@media (min-width: 768px) { .subv-grid { grid-template-columns: 260px 1fr; align-items: start; } }
.subv-logos { display: flex; align-items: center; flex-wrap: wrap; gap: 1.75rem; }
.subv-logos img { height: auto; width: auto; }
.subv-logos .logo-ue img { max-height: 78px; }
.subv-logos .logo-camara img { max-height: 46px; }
.subv-text { font-size: .85rem; line-height: 1.55; color: #525252; }
.subv-text p { margin: 0 0 .9rem; }
.subv-chips { padding-top: 1rem; border-top: 1px solid #e5e5e5; display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; font-size: 11px; text-transform: uppercase; letter-spacing: .12em; color: #737373; }
