/* =========================================================
   Frente Grande · Provincia de Buenos Aires — sitio público
   Paleta tomada del logo nuevo (rojo / azul / celeste)
   ========================================================= */
:root {
  --rojo: #c23337; --rojo-osc: #9e2428; --azul: #182f73; --azul-osc: #0f1f52; --azul-2: #22408f;
  --celeste: #84d0f2; --celeste-claro: #e8f5fc; --fondo: #f4f6fa; --borde: #e2e6ef;
  --texto: #1c2233; --gris: #5d667a; --blanco: #fff;
  --radio: 14px; --sombra: 0 2px 6px rgba(15,31,82,.06), 0 10px 30px rgba(15,31,82,.07);
  --titulos: 'Montserrat', system-ui, -apple-system, 'Segoe UI', Arial, sans-serif;
  --cuerpo: 'Open Sans', system-ui, -apple-system, 'Segoe UI', Arial, sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; font-family: var(--cuerpo); font-size: 16px; line-height: 1.6; color: var(--texto); background: var(--fondo); -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--azul-2); }
h1, h2, h3 { font-family: var(--titulos); line-height: 1.2; color: var(--azul); margin: 0; }
button, input { font: inherit; }
.ico { width: 1.1em; height: 1.1em; fill: currentColor; flex: none; vertical-align: -.15em; }
.fg-wrap { width: 100%; max-width: 1220px; margin: 0 auto; padding: 0 20px; }
.fg-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.fg-saltar { position: absolute; left: -9999px; top: 8px; background: var(--rojo); color: #fff; padding: 8px 14px; border-radius: 8px; z-index: 3000; }
.fg-saltar:focus { left: 8px; }
:focus-visible { outline: 3px solid var(--celeste); outline-offset: 2px; }
.fg-centro { text-align: center; margin-top: 28px; }

/* ---------- Botones ---------- */
.fg-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 11px 20px; border-radius: 999px; border: 2px solid transparent; font-family: var(--titulos); font-weight: 700; font-size: 14.5px; text-decoration: none; cursor: pointer; transition: background .2s, color .2s, border-color .2s, transform .2s; }
.fg-btn:hover { transform: translateY(-1px); }
.fg-btn-rojo { background: var(--rojo); color: #fff; }
.fg-btn-rojo:hover { background: var(--rojo-osc); }
.fg-btn-azul { background: var(--azul); color: #fff; }
.fg-btn-azul:hover { background: var(--azul-osc); }
.fg-btn-borde { border-color: var(--azul); color: var(--azul); background: transparent; }
.fg-btn-borde:hover { background: var(--azul); color: #fff; }
.fg-btn-ig { background: linear-gradient(45deg, #f09433, #dc2743 50%, #bc1888); color: #fff; }
.fg-btn-fb { background: #1877f2; color: #fff; }

/* ---------- Barra superior ---------- */
.fg-topbar { background: var(--rojo); color: #fff; font-size: 13px; }
.fg-topbar .fg-wrap { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 38px; }
.fg-topbar-lema { font-family: var(--titulos); font-weight: 700; letter-spacing: 1.6px; text-transform: uppercase; font-size: 12px; }
.fg-topbar-der { display: flex; align-items: center; gap: 16px; }
.fg-topbar-mail { color: #fff; text-decoration: none; display: inline-flex; align-items: center; gap: 6px; opacity: .95; }
.fg-topbar-mail:hover { opacity: 1; text-decoration: underline; }

/* ---------- Redes ---------- */
.fg-redes { display: flex; gap: 8px; }
.fg-redes a { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 50%; background: rgba(255,255,255,.12); color: #fff; transition: background .2s, transform .2s; }
.fg-redes a:hover { background: var(--rojo); transform: translateY(-2px); }
.fg-redes-mini a { width: 28px; height: 28px; background: rgba(255,255,255,.18); }
.fg-redes-mini a:hover { background: var(--azul); }
.fg-redes-mini .ico { width: 15px; height: 15px; }

/* ---------- Encabezado ---------- */
.fg-header { background: var(--azul); color: #fff; position: sticky; top: 0; z-index: 1000; box-shadow: 0 2px 14px rgba(0,0,0,.18); }
.fg-header-in { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 12px; padding-bottom: 12px; }
.fg-logo { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; color: #fff; min-width: 0; }
.fg-logo img { width: 58px; height: 58px; filter: drop-shadow(0 2px 6px rgba(0,0,0,.25)); }
.fg-logo-txt { display: flex; flex-direction: column; line-height: 1; }
.fg-logo-fg { font-family: var(--titulos); font-weight: 800; font-size: 30px; letter-spacing: .5px; text-transform: uppercase; white-space: nowrap; }
.fg-logo-frente { color: #fff; }
.fg-logo-grande { color: #fff; }
.fg-logo-pba { font-family: var(--titulos); font-weight: 700; font-size: 12.2px; letter-spacing: 1.45px; text-transform: uppercase; color: var(--celeste); margin-top: 5px; white-space: nowrap; }
.fg-header-acc { display: flex; align-items: center; gap: 10px; }
.fg-buscador { display: flex; align-items: center; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.18); border-radius: 999px; overflow: hidden; transition: background .2s, border-color .2s; }
.fg-buscador:focus-within { background: #fff; border-color: #fff; }
.fg-buscador input { border: 0; background: transparent; color: #fff; padding: 9px 4px 9px 16px; width: 220px; outline: none; }
.fg-buscador:focus-within input { color: var(--texto); }
.fg-buscador input::placeholder { color: rgba(255,255,255,.7); }
.fg-buscador:focus-within input::placeholder { color: var(--gris); }
.fg-buscador button { border: 0; background: transparent; color: inherit; padding: 8px 14px 8px 8px; cursor: pointer; display: flex; }
.fg-buscador:focus-within button { color: var(--azul); }
.fg-buscador-movil { display: none; }
.fg-hamb { display: none; border: 0; background: rgba(255,255,255,.12); color: #fff; width: 44px; height: 44px; border-radius: 12px; cursor: pointer; align-items: center; justify-content: center; }
.fg-hamb .ico { width: 24px; height: 24px; }

/* Menú */
.fg-nav { background: var(--azul-osc); border-top: 1px solid rgba(255,255,255,.06); }
.fg-nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; }
.fg-nav a { display: block; color: #dfe6f5; text-decoration: none; font-family: var(--titulos); font-weight: 700; font-size: 13.5px; letter-spacing: .4px; text-transform: uppercase; padding: 13px 14px; position: relative; transition: color .2s, background .2s; }
.fg-nav a::after { content: ""; position: absolute; left: 14px; right: 14px; bottom: 0; height: 3px; background: var(--rojo); border-radius: 3px 3px 0 0; transform: scaleX(0); transition: transform .2s; }
.fg-nav a:hover { color: #fff; }
.fg-nav a:hover::after, .fg-nav a.activo::after { transform: scaleX(1); }
.fg-nav a.activo { color: #fff; }
.fg-nav-cab, .fg-redes-nav { display: none; }
.fg-velo { display: none; }

/* ---------- Carrusel destacado ---------- */
.fg-hero { background: linear-gradient(180deg, var(--azul) 0, var(--azul) 55%, var(--fondo) 55%); padding: 28px 0 8px; }
.fg-slider { position: relative; background: #fff; border-radius: 20px; box-shadow: var(--sombra); overflow: hidden; }
.fg-slides { display: grid; }
.fg-slide { grid-area: 1 / 1; display: grid; grid-template-columns: 1.15fr 1fr; opacity: 0; visibility: hidden; transition: opacity .6s ease, visibility .6s; }
.fg-slide.activo { opacity: 1; visibility: visible; }
.fg-slide-img { display: block; min-height: 420px; text-decoration: none; }
.fg-slide-img .fg-media { height: 100%; aspect-ratio: auto; border-radius: 0; }
.fg-slide-txt { padding: 40px 44px 76px; display: flex; flex-direction: column; justify-content: center; gap: 16px; }
.fg-slide-txt h2 { font-size: clamp(22px, 2.6vw, 32px); font-weight: 800; }
.fg-slide-txt h2 a { color: var(--azul); text-decoration: none; }
.fg-slide-txt h2 a:hover { color: var(--rojo); }
.fg-slide-txt p { margin: 0; color: var(--gris); display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.fg-slide-txt .fg-btn { align-self: flex-start; }
.fg-slider-ctrl { position: absolute; right: 28px; bottom: 22px; display: flex; align-items: center; gap: 12px; }
.fg-slider-btn { width: 40px; height: 40px; border-radius: 50%; border: 2px solid var(--borde); background: #fff; color: var(--azul); display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all .2s; }
.fg-slider-btn:hover { background: var(--azul); color: #fff; border-color: var(--azul); }
.fg-dots { display: flex; gap: 6px; }
.fg-dots button { width: 10px; height: 10px; border-radius: 999px; border: 0; padding: 0; background: #cfd6e4; cursor: pointer; transition: all .3s; }
.fg-dots button.activo { width: 28px; background: var(--rojo); }

/* ---------- Imagen con fondo difuminado ---------- */
.fg-media { position: relative; overflow: hidden; aspect-ratio: 16 / 10; background: var(--azul-osc); }
.fg-media::before { content: ""; position: absolute; inset: -20px; background: var(--bg) center / cover no-repeat; filter: blur(18px) brightness(.75) saturate(1.1); }
.fg-media img { position: relative; width: 100%; height: 100%; object-fit: contain; }
.fg-media-vacia { background: linear-gradient(180deg, var(--rojo) 50%, var(--azul) 50%); display: flex; align-items: center; justify-content: center; container-type: inline-size; }
.fg-media-vacia::before { display: none; }
.fg-placa { display: flex; align-items: center; gap: 4%; width: 78%; justify-content: center; }
.fg-placa img { width: 28%; height: auto; max-width: 150px; filter: drop-shadow(0 3px 8px rgba(0,0,0,.25)); }
.fg-placa-txt { display: flex; flex-direction: column; line-height: .95; font-family: var(--titulos); color: #fff; text-transform: uppercase; }
.fg-placa-txt b { font-weight: 800; font-size: clamp(18px, 13cqw, 76px); letter-spacing: .5px; }
.fg-placa-txt small { margin-top: .5em; font-weight: 700; font-size: clamp(9px, 3.6cqw, 20px); letter-spacing: 1.5px; color: var(--celeste); }

/* ---------- Diseño en dos columnas ---------- */
.fg-main { min-height: 50vh; }
.fg-layout { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 36px; padding-top: 36px; padding-bottom: 56px; align-items: start; }
.fg-titulo-sec { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 20px; }
.fg-titulo-sec h2 { font-size: 24px; font-weight: 800; position: relative; padding-left: 16px; }
.fg-titulo-sec h2::before { content: ""; position: absolute; left: 0; top: 3px; bottom: 3px; width: 5px; border-radius: 4px; background: linear-gradient(var(--rojo) 50%, var(--azul) 50%); }
.fg-ver-todas { display: inline-flex; align-items: center; gap: 6px; font-family: var(--titulos); font-weight: 700; font-size: 14px; color: var(--rojo); text-decoration: none; white-space: nowrap; }
.fg-ver-todas:hover { text-decoration: underline; }

/* ---------- Tarjetas ---------- */
.fg-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.fg-col-principal .fg-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 1100px) { .fg-col-principal .fg-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.fg-col-principal .fg-grid.fg-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.fg-card { background: #fff; border-radius: var(--radio); box-shadow: var(--sombra); overflow: hidden; transition: transform .25s, box-shadow .25s; }
.fg-card:hover { transform: translateY(-4px); box-shadow: 0 4px 10px rgba(15,31,82,.08), 0 18px 40px rgba(15,31,82,.13); }
.fg-card-link { display: flex; flex-direction: column; height: 100%; text-decoration: none; color: inherit; }
.fg-card-body { padding: 16px 18px 18px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.fg-card h3 { font-size: 16.5px; font-weight: 700; color: var(--azul); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.fg-card:hover h3 { color: var(--rojo); }
.fg-card p { margin: 0; font-size: 14px; color: var(--gris); line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.fg-leer { margin-top: auto; padding-top: 4px; display: inline-flex; align-items: center; gap: 6px; font-family: var(--titulos); font-weight: 700; font-size: 13px; color: var(--rojo); }
.fg-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; font-size: 13px; color: var(--gris); }
.fg-meta time { display: inline-flex; align-items: center; gap: 5px; }
.fg-chip { display: inline-block; background: var(--celeste-claro); color: var(--azul); font-family: var(--titulos); font-weight: 700; font-size: 11px; letter-spacing: .6px; text-transform: uppercase; padding: 4px 10px; border-radius: 999px; text-decoration: none; }
.fg-chip-rojo { background: var(--rojo); color: #fff; }

/* ---------- Columna lateral ---------- */
.fg-col-lateral { display: flex; flex-direction: column; gap: 22px; position: sticky; top: 150px; }
.fg-box { background: #fff; border-radius: var(--radio); box-shadow: var(--sombra); padding: 20px; }
.fg-box-tit { font-size: 15px; font-weight: 800; text-transform: uppercase; letter-spacing: .6px; display: flex; align-items: center; gap: 8px; margin-bottom: 14px; padding-bottom: 12px; border-bottom: 2px solid var(--fondo); }
.fg-box-tit .ico { color: var(--rojo); }
.fg-lista-docs, .fg-lista-links, .fg-lista-secciones { list-style: none; margin: 0; padding: 0; }
.fg-lista-docs li + li { border-top: 1px solid var(--borde); }
.fg-lista-docs a { display: block; padding: 10px 0; text-decoration: none; color: var(--texto); }
.fg-lista-docs b { display: block; font-size: 14px; font-weight: 600; line-height: 1.4; }
.fg-lista-docs a:hover b { color: var(--rojo); }
.fg-lista-docs small { color: var(--gris); font-size: 12.5px; }
.fg-box-mas { display: inline-flex; align-items: center; gap: 6px; margin-top: 10px; font-family: var(--titulos); font-weight: 700; font-size: 13px; color: var(--rojo); text-decoration: none; }
.fg-lista-links li + li { margin-top: 8px; }
.fg-lista-links a { display: block; padding: 10px 12px; background: var(--fondo); border-radius: 10px; text-decoration: none; color: var(--azul); font-weight: 600; font-size: 14px; transition: background .2s; }
.fg-lista-links a:hover { background: var(--celeste-claro); }
.fg-lista-secciones a { display: flex; align-items: center; justify-content: space-between; padding: 10px 4px; border-bottom: 1px solid var(--borde); color: var(--texto); text-decoration: none; font-weight: 600; }
.fg-lista-secciones li:last-child a { border-bottom: 0; }
.fg-lista-secciones a .ico { color: #b7bfcf; transition: transform .2s, color .2s; }
.fg-lista-secciones a:hover, .fg-lista-secciones a.activo { color: var(--rojo); }
.fg-lista-secciones a:hover .ico, .fg-lista-secciones a.activo .ico { color: var(--rojo); transform: translateX(3px); }
.fg-red-card { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 12px; color: #fff; text-decoration: none; margin-bottom: 10px; transition: transform .2s, filter .2s; }
.fg-red-card:hover { transform: translateY(-2px); filter: brightness(1.06); }
.fg-red-card .ico { width: 30px; height: 30px; }
.fg-red-card b { display: block; font-family: var(--titulos); }
.fg-red-card small { opacity: .9; }
.fg-red-ig { background: linear-gradient(45deg, #f09433, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888); }
.fg-red-fb { background: #1877f2; }
.fg-fb-embed { margin-top: 6px; border-radius: 10px; overflow: hidden; }
.fg-fb-embed iframe { display: block; width: 100%; border: 0; }

/* ---------- Encabezado de páginas internas ---------- */
.fg-pagina-cab { background: var(--azul) url("../imagenes/emblema.png") no-repeat right 6% center / 150px; color: #fff; padding: 36px 0 40px; position: relative; overflow: hidden; }
.fg-pagina-cab::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 5px; background: linear-gradient(90deg, var(--rojo) 50%, var(--celeste) 50%); }
.fg-pagina-cab h1 { color: #fff; font-size: clamp(28px, 4vw, 42px); font-weight: 900; text-transform: uppercase; letter-spacing: .5px; }
.fg-pagina-cab p { margin: 8px 0 0; color: #c9d4ee; max-width: 640px; }
.fg-pagina-cab .fg-migas, .fg-pagina-cab .fg-migas a { color: #9fb1dc; }
@media (min-width: 761px) { .fg-pagina-cab { background-blend-mode: normal; } .fg-pagina-cab .fg-wrap { position: relative; z-index: 1; } }
.fg-migas { font-size: 13px; color: var(--gris); margin-bottom: 10px; }
.fg-migas a { color: var(--gris); text-decoration: none; }
.fg-migas a:hover { text-decoration: underline; }
.fg-migas span { margin: 0 6px; opacity: .6; }

/* Buscador de listados */
.fg-filtro { display: flex; align-items: center; gap: 10px; background: #fff; border-radius: 999px; box-shadow: var(--sombra); padding: 6px 6px 6px 18px; margin-bottom: 24px; color: var(--gris); }
.fg-filtro input { flex: 1; border: 0; outline: none; padding: 8px 4px; min-width: 0; background: transparent; }
.fg-resultado { margin: -8px 0 20px; color: var(--gris); }
.fg-vacio { background: #fff; border-radius: var(--radio); padding: 40px 24px; text-align: center; color: var(--gris); box-shadow: var(--sombra); }

/* Paginación */
.fg-pag { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin-top: 34px; }
.fg-pag a, .fg-pag b, .fg-pag-gap { min-width: 42px; height: 42px; padding: 0 12px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; border-radius: 12px; font-weight: 700; font-size: 14px; text-decoration: none; }
.fg-pag a { background: #fff; color: var(--azul); box-shadow: var(--sombra); }
.fg-pag a:hover { background: var(--azul); color: #fff; }
.fg-pag b { background: var(--rojo); color: #fff; }
.fg-pag-gap { color: var(--gris); min-width: 0; padding: 0 4px; }

/* ---------- Nota ---------- */
.fg-nota { background: #fff; border-radius: 20px; box-shadow: var(--sombra); padding: 34px 40px 40px; }
.fg-nota-cab { margin-bottom: 22px; }
.fg-nota-cab h1 { font-size: clamp(25px, 3.2vw, 36px); font-weight: 800; margin-top: 14px; }
.fg-nota-foto { margin: 0 0 26px; border-radius: 16px; overflow: hidden; }
.fg-nota-foto .fg-media { aspect-ratio: auto; max-height: 640px; display: flex; justify-content: center; }
.fg-nota-foto .fg-media img { width: auto; max-height: 640px; height: auto; }
.fg-texto { font-size: 17px; line-height: 1.75; overflow-wrap: anywhere; }
.fg-texto p { margin: 0 0 1em; }
.fg-texto a { color: var(--azul-2); font-weight: 600; }
.fg-texto a:hover { color: var(--rojo); }
.fg-texto a.fg-link-doc { display: inline-flex; align-items: center; gap: 8px; margin: 4px 0; background: var(--rojo); color: #fff; text-decoration: none; padding: 9px 18px 9px 14px; border-radius: 999px; font-family: var(--titulos); font-size: 14.5px; }
.fg-texto a.fg-link-doc::before { content: ""; width: 18px; height: 18px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 2h8l6 6v13a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1zm7 1.5V9h5.5L13 3.5zM8 13h8v2H8v-2zm0 4h8v2H8v-2z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 2h8l6 6v13a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1zm7 1.5V9h5.5L13 3.5zM8 13h8v2H8v-2zm0 4h8v2H8v-2z'/%3E%3C/svg%3E") center / contain no-repeat; }
.fg-texto a.fg-link-doc:hover { background: var(--rojo-osc); color: #fff; }
.fg-texto img { border-radius: 12px; margin: 12px 0; }
.fg-texto ul, .fg-texto ol { padding-left: 1.3em; }
.fg-texto blockquote { margin: 1em 0; padding: 12px 18px; border-left: 4px solid var(--rojo); background: var(--fondo); border-radius: 0 10px 10px 0; }
.fg-caja-texto { background: #fff; border-radius: var(--radio); box-shadow: var(--sombra); padding: 28px 32px; }
.fg-compartir { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 30px; padding-top: 22px; border-top: 1px solid var(--borde); }
.fg-compartir > span { display: inline-flex; align-items: center; gap: 6px; font-family: var(--titulos); font-weight: 700; color: var(--azul); margin-right: 6px; }
.fg-compartir a, .fg-compartir button { display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 42px; min-width: 42px; padding: 0 12px; border-radius: 999px; border: 0; color: #fff; cursor: pointer; text-decoration: none; font-weight: 600; font-size: 14px; transition: transform .2s, filter .2s; }
.fg-compartir a:hover, .fg-compartir button:hover { transform: translateY(-2px); filter: brightness(1.08); }
.fg-comp-wa { background: #25d366; }
.fg-comp-fb { background: #1877f2; }
.fg-comp-x { background: #111; }
.fg-comp-link { background: var(--azul); }
.fg-comp-link.copiado { background: #1f9d55; }
.fg-relacionadas { margin-top: 40px; }

/* ---------- Autoridades ---------- */
.fg-autoridad-presi { display: flex; align-items: center; gap: 20px; background: linear-gradient(120deg, var(--azul), var(--azul-2)); color: #fff; border-radius: 20px; padding: 26px 30px; box-shadow: var(--sombra); margin-bottom: 22px; }
.fg-autoridad-presi small { display: block; text-transform: uppercase; letter-spacing: 1.4px; font-size: 12.5px; color: var(--celeste); font-weight: 700; }
.fg-autoridad-presi b { display: block; font-family: var(--titulos); font-size: clamp(24px, 3vw, 32px); font-weight: 900; }
.fg-autoridades { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 14px; }
.fg-autoridades li { background: #fff; border-radius: var(--radio); box-shadow: var(--sombra); padding: 16px 18px; border-left: 4px solid var(--rojo); }
.fg-autoridades li:nth-child(even) { border-left-color: var(--azul); }
.fg-autoridades small { display: block; font-size: 12.5px; color: var(--gris); text-transform: uppercase; letter-spacing: .5px; line-height: 1.35; }
.fg-autoridades b { display: block; font-family: var(--titulos); font-size: 17px; color: var(--azul); margin-top: 4px; }

/* ---------- Contacto y sitios ---------- */
.fg-contacto-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-bottom: 22px; }
.fg-contacto-card { display: flex; align-items: center; gap: 14px; background: #fff; border-radius: var(--radio); box-shadow: var(--sombra); padding: 18px; text-decoration: none; color: var(--texto); transition: transform .2s; min-width: 0; }
.fg-contacto-card:hover { transform: translateY(-3px); }
.fg-contacto-card small { display: block; color: var(--gris); font-size: 13px; }
.fg-contacto-card b { display: block; font-family: var(--titulos); color: var(--azul); overflow-wrap: anywhere; }
.fg-contacto-ico { width: 50px; height: 50px; border-radius: 14px; display: flex; align-items: center; justify-content: center; color: #fff; flex: none; }
.fg-contacto-ico .ico { width: 26px; height: 26px; }
.fg-c-wa { background: #25d366; } .fg-c-mail { background: var(--rojo); } .fg-c-fb { background: #1877f2; }
.fg-c-ig { background: linear-gradient(45deg, #f09433, #dc2743 50%, #bc1888); }
.fg-sitios { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.fg-sitios a { display: flex; align-items: center; gap: 14px; background: #fff; border-radius: var(--radio); box-shadow: var(--sombra); padding: 18px 20px; text-decoration: none; color: var(--texto); transition: transform .2s; }
.fg-sitios a:hover { transform: translateX(4px); }
.fg-sitios a > span:nth-child(2) { flex: 1; }
.fg-sitios b { display: block; font-family: var(--titulos); color: var(--azul); }
.fg-sitios small { color: var(--gris); }
.fg-sitios-ico { width: 46px; height: 46px; border-radius: 12px; background: var(--celeste-claro); color: var(--azul); display: flex; align-items: center; justify-content: center; }
.fg-sitios > li > a > .ico { color: var(--rojo); }

/* ---------- 404 ---------- */
.fg-404 { text-align: center; padding-top: 50px; padding-bottom: 60px; }
.fg-404 img { margin: 0 auto 16px; }
.fg-404 h1 { font-size: 34px; font-weight: 900; }
.fg-404 > p { color: var(--gris); }
.fg-404 .fg-filtro { max-width: 520px; margin: 22px auto; }
.fg-404-sub { margin: 40px 0 20px; font-size: 22px; }
.fg-404 .fg-grid { text-align: left; }

/* ---------- Banda de redes y pie ---------- */
.fg-redes-banda { background: linear-gradient(100deg, var(--rojo) 0, var(--rojo) 50%, var(--rojo-osc) 100%); color: #fff; padding: 34px 0; }
.fg-redes-banda .fg-wrap { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.fg-redes-banda h2 { color: #fff; font-size: 26px; font-weight: 900; text-transform: uppercase; }
.fg-redes-banda p { margin: 4px 0 0; opacity: .92; }
.fg-redes-banda-btns { display: flex; gap: 10px; flex-wrap: wrap; }
.fg-redes-banda .fg-btn { background: #fff; color: var(--azul); }
.fg-redes-banda .fg-btn-ig .ico { color: #dc2743; }
.fg-redes-banda .fg-btn-fb .ico { color: #1877f2; }
.fg-footer { background: var(--azul-osc); color: #b9c4de; font-size: 14.5px; }
.fg-footer-in { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1.3fr; gap: 34px; padding-top: 46px; padding-bottom: 40px; }
.fg-footer h3 { color: #fff; font-size: 14px; text-transform: uppercase; letter-spacing: 1.2px; margin-bottom: 14px; }
.fg-logo-pie img { width: 50px; height: 50px; }
.fg-logo-pie .fg-logo-fg { font-size: 23px; }
.fg-logo-pie .fg-logo-pba { font-size: 9.6px; }
.fg-footer-txt { margin: 16px 0 18px; line-height: 1.6; }
.fg-footer-txt a { color: #fff; }
.fg-footer-links { list-style: none; margin: 0; padding: 0; }
.fg-footer-links li + li { margin-top: 8px; }
.fg-footer-links a { color: #b9c4de; text-decoration: none; display: inline-flex; align-items: center; gap: 8px; overflow-wrap: anywhere; }
.fg-footer-links a:hover { color: #fff; }
.fg-footer-contacto .ico { color: var(--celeste); }
.fg-footer-base { border-top: 1px solid rgba(255,255,255,.08); font-size: 13px; }
.fg-footer-base .fg-wrap { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; padding-top: 16px; padding-bottom: 16px; }
.fg-footer-base a { color: var(--celeste); text-decoration: none; }

/* =================== Responsive =================== */
@media (max-width: 1100px) {
  .fg-buscador input { width: 160px; }
  .fg-nav a { padding: 13px 10px; font-size: 12.5px; }
  .fg-nav a::after { left: 10px; right: 10px; }
  .fg-layout { grid-template-columns: minmax(0, 1fr) 290px; gap: 26px; }
  .fg-footer-in { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 960px) {
  .fg-header-acc .fg-buscador { display: none; }
  .fg-hamb { display: inline-flex; }
  .fg-nav { position: fixed; top: 0; right: 0; bottom: 0; width: min(340px, 88vw); z-index: 1200; background: var(--azul-osc); transform: translateX(105%); transition: transform .3s ease; overflow-y: auto; box-shadow: -10px 0 40px rgba(0,0,0,.3); }
  .menu-abierto .fg-nav { transform: none; }
  .fg-nav .fg-wrap { padding: 0 18px 24px; }
  .fg-nav-cab { display: flex; align-items: center; justify-content: space-between; padding: 18px 0 12px; font-family: var(--titulos); font-weight: 800; text-transform: uppercase; letter-spacing: 1px; color: #fff; }
  .fg-nav-cab button { border: 0; background: rgba(255,255,255,.1); color: #fff; width: 40px; height: 40px; border-radius: 10px; cursor: pointer; display: flex; align-items: center; justify-content: center; }
  .fg-buscador-movil { display: flex; margin-bottom: 12px; }
  .fg-buscador-movil input { width: 100%; flex: 1; }
  .fg-nav ul { flex-direction: column; }
  .fg-nav a { padding: 14px 6px; font-size: 14.5px; border-bottom: 1px solid rgba(255,255,255,.07); }
  .fg-nav a::after { left: 0; right: auto; top: 10px; bottom: 10px; width: 3px; height: auto; transform: scaleY(0); }
  .fg-nav a.activo { padding-left: 14px; }
  .fg-nav a.activo::after { transform: scaleY(1); }
  .fg-redes-nav { display: flex; margin-top: 20px; }
  .fg-velo { display: block; position: fixed; inset: 0; background: rgba(8,14,40,.55); z-index: 1100; opacity: 0; visibility: hidden; transition: opacity .3s, visibility .3s; }
  .menu-abierto .fg-velo { opacity: 1; visibility: visible; }
  .menu-abierto { overflow: hidden; }
  .fg-layout { grid-template-columns: 1fr; }
  .fg-col-lateral { position: static; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fg-slide { grid-template-columns: 1fr; }
  .fg-slide-img { min-height: 0; }
  .fg-slide-img .fg-media { aspect-ratio: 16 / 10; }
  .fg-slide-txt { padding: 24px 24px 80px; }
}
@media (max-width: 760px) {
  .fg-topbar-mail span { display: none; }
  .fg-topbar-lema { font-size: 11px; letter-spacing: 1.2px; }
  .fg-logo img { width: 46px; height: 46px; }
  .fg-logo-fg { font-size: 22px; }
  .fg-logo-pba { font-size: 9px; letter-spacing: 1.05px; margin-top: 4px; }
  .fg-grid, .fg-col-principal .fg-grid, .fg-col-principal .fg-grid.fg-grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
  .fg-col-lateral { grid-template-columns: 1fr; }
  .fg-hero { padding-top: 16px; }
  .fg-pagina-cab { background-size: 120px; background-position: right -20px center; padding: 26px 0 30px; }
  .fg-nota { padding: 22px 18px 26px; border-radius: 16px; }
  .fg-texto { font-size: 16px; }
  .fg-contacto-grid { grid-template-columns: 1fr; }
  .fg-caja-texto { padding: 20px; }
  .fg-footer-in { grid-template-columns: 1fr; gap: 26px; }
  .fg-redes-banda h2 { font-size: 22px; }
  .fg-autoridad-presi { padding: 20px; }
  .fg-autoridad-presi img { width: 56px; height: 56px; }
}
@media (max-width: 520px) {
  .fg-wrap { padding: 0 14px; }
  .fg-grid, .fg-col-principal .fg-grid, .fg-col-principal .fg-grid.fg-grid-3 { grid-template-columns: 1fr; }
  .fg-slider { border-radius: 16px; }
  .fg-slider-ctrl { right: 50%; transform: translateX(50%); }
  .fg-slide-txt .fg-btn { align-self: stretch; }
  .fg-titulo-sec h2 { font-size: 21px; }
  .fg-compartir .fg-comp-link span { display: none; }
  .fg-filtro .fg-btn { padding: 10px 14px; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; scroll-behavior: auto !important; } }
@media print { .fg-topbar, .fg-header, .fg-col-lateral, .fg-redes-banda, .fg-footer, .fg-compartir, .fg-relacionadas { display: none !important; } .fg-layout { display: block; } .fg-nota { box-shadow: none; padding: 0; } }

/* Firma Resguar IT (igual que en los otros sitios) */
.fg-dev-badge { display: inline-flex; align-items: center; gap: .55rem; padding: .5rem 1rem .5rem .75rem; border: 1px solid rgba(255,255,255,.14); border-radius: 999px; background: rgba(255,255,255,.03); font-size: .85rem; text-decoration: none; transition: border-color .2s, background .2s; }
.fg-dev-badge img { width: 18px; height: 18px; opacity: .85; }
.fg-dev-badge span { color: rgba(255,255,255,.55); }
.fg-dev-badge strong { color: #fff; font-weight: 700; }
.fg-dev-badge:hover { border-color: rgba(255,255,255,.35); background: rgba(255,255,255,.07); }
