/* FLACSI Core – identidad tomada del sitio actual flacsi.net */
:root {
	--fl-naranja: #DC760F;
	--fl-teal: #066F89;
	--fl-pizarra: #82919E;
	--fl-negro: #1F1F1F;
	--fl-texto: #444444;
	--fl-gris: #666666;
	--fl-linea: #E3E6E9;
	--fl-fondo: #F5F6F7;
	--fl-radio: 6px;
}

/* Cifras */
.fl-cifras { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 24px; }
.fl-cifra { display: flex; flex-direction: column; gap: 4px; border-top: 3px solid var(--fl-naranja); padding-top: 14px; }
.fl-cifra__n { font: 700 clamp(30px, 3.4vw, 46px)/1 Lato, sans-serif; color: var(--fl-negro); font-variant-numeric: tabular-nums; white-space: nowrap; }
.fl-cifra__l { font: 400 15px/1.3 Lato, sans-serif; color: var(--fl-gris); text-transform: lowercase; }
.fl-cifras__nota { font-size: 12px; color: var(--fl-pizarra); margin-top: 12px; }
.fl-fondo-oscuro .fl-cifra__n { color: #fff; }
.fl-fondo-oscuro .fl-cifra__l { color: rgba(255,255,255,.75); }

/* Fichas de red */
.fl-fichas { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; }
.fl-ficha { display: grid; grid-template-columns: 72px 1fr auto; gap: 16px; align-items: center; padding: 16px; background: #fff; border: 1px solid var(--fl-linea); border-radius: var(--fl-radio); color: var(--fl-texto); text-decoration: none; transition: border-color .2s, box-shadow .2s, transform .2s; }
.fl-ficha:hover, .fl-ficha.is-activa { border-color: var(--fl-naranja); box-shadow: 0 6px 20px rgba(0,0,0,.08); transform: translateY(-2px); }
.fl-ficha__logo { width: 72px; height: 72px; display: grid; place-items: center; }
.fl-ficha__logo img { max-width: 100%; max-height: 100%; object-fit: contain; }
.fl-ficha__txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.fl-ficha__txt strong { font: 700 18px/1.2 Lato, sans-serif; color: var(--fl-negro); }
.fl-ficha__nombre { font-size: 13px; line-height: 1.3; }
.fl-ficha__pais { font-size: 13px; color: var(--fl-teal); }
.fl-ficha__cifras { font-size: 12px; color: var(--fl-gris); margin-top: 4px; }
.fl-ficha__ir { color: var(--fl-naranja); font-size: 20px; }
.fl-sigla { display: grid; place-items: center; width: 72px; height: 72px; border-radius: 50%; background: var(--fl-fondo); font: 700 13px/1 Lato, sans-serif; color: var(--fl-teal); text-align: center; padding: 6px; }

/* Fila de logos (portada) */
.fl-logos { display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; }
.fl-logo { text-decoration: none; display: grid; place-items: center; aspect-ratio: 1 / 1; background: #fff; border: 1px solid var(--fl-linea); border-radius: var(--fl-radio); padding: 14px; transition: border-color .2s, transform .2s; }
.fl-logo:hover { border-color: var(--fl-naranja); transform: translateY(-2px); }
.fl-logo img { max-width: 100%; max-height: 100%; object-fit: contain; filter: grayscale(1); opacity: .85; transition: filter .2s, opacity .2s; }
.fl-logo:hover img { filter: none; opacity: 1; }
@media (max-width: 900px) { .fl-logos { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 560px) { .fl-logos { grid-template-columns: repeat(3, 1fr); } .fl-ficha { grid-template-columns: 56px 1fr auto; } .fl-ficha__logo { width: 56px; height: 56px; } }

/* Mapa */
.fl-mapa { width: 100%; border-radius: var(--fl-radio); overflow: hidden; background: var(--fl-fondo); }
.fl-pin { width: 16px; height: 16px; border-radius: 50%; background: var(--fl-naranja); border: 3px solid #fff; box-shadow: 0 1px 4px rgba(0,0,0,.35); transition: transform .2s; }
.fl-pin.is-activa { transform: scale(1.5); background: var(--fl-teal); }
.leaflet-tooltip.fl-tip { font: 700 12px Lato, sans-serif; }

/* Slider one page */
.fl-slider { position: relative; overflow: hidden; width: 100%; aspect-ratio: 16 / 7; background: var(--fl-negro); }
.fl-slider__track { display: flex; height: 100%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; scroll-behavior: smooth; }
.fl-slider__track::-webkit-scrollbar { display: none; }
.fl-slider__item { flex: 0 0 100%; margin: 0; scroll-snap-align: start; }
.fl-slider__item img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fl-slider__btn { position: absolute; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; border: 0; border-radius: 50%; background: rgba(0,0,0,.45); color: #fff; font-size: 26px; line-height: 1; cursor: pointer; }
.fl-slider__btn:hover { background: var(--fl-naranja); }
.fl-prev { left: 16px; } .fl-next { right: 16px; }
@media (max-width: 767px) { .fl-slider { aspect-ratio: 4 / 3; } }

/* Franja FLACSI del one page */
.fl-franja { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.fl-franja__home { color: #fff; font: 700 13px/1 Lato, sans-serif; text-decoration: none; letter-spacing: .02em; }
.fl-franja__home:hover { color: var(--fl-naranja); }
.fl-franja__select { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.4); border-radius: 4px; padding: 6px 10px; font: 13px Lato, sans-serif; max-width: 100%; }
.fl-franja__select option { color: var(--fl-negro); }

/* Redes sociales */
.fl-sociales { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.fl-soc { display: inline-block; padding: 8px 14px; border: 1px solid currentColor; border-radius: 999px; font: 700 13px/1 Lato, sans-serif; text-decoration: none; color: inherit; }
.fl-soc:hover { background: var(--fl-naranja); border-color: var(--fl-naranja); color: #fff; }

.fl-btn { display: inline-block; padding: 12px 22px; background: var(--fl-naranja); color: #fff; border-radius: 4px; font: 700 15px/1 Lato, sans-serif; text-decoration: none; }
.fl-btn:hover { background: var(--fl-teal); color: #fff; }
.fl-vacio { color: var(--fl-gris); font-style: italic; }

/* Selector de idiomas (cabecera) */
.fl-idiomas { display: flex; gap: 2px; }
.fl-idiomas a { color: rgba(255,255,255,.7); font: 700 13px/1 Lato, sans-serif; padding: 6px; text-decoration: none; }
.fl-idiomas a:hover, .fl-idiomas a.is-activo { color: #fff; box-shadow: inset 0 -2px 0 var(--fl-naranja); }

/* Anclas del one page */
.fl-anclas a { color: var(--fl-texto); font-weight: 700; text-decoration: none; }
.fl-anclas a:hover { color: var(--fl-naranja); }
html { scroll-behavior: smooth; }
[id="provincia"], [id="provincial"], [id="noticias"], [id="contacto"] { scroll-margin-top: 80px; }

/* Sello en tarjetas de noticias (badge de Elementor) */
.elementor-post__badge { text-transform: uppercase; letter-spacing: .04em; }

/* =====================================================================
 * v1.1 · Plantillas propias (one page, noticia, archivo) y shortcodes
 * ================================================================== */
.fl-main { font-family: Lato, sans-serif; color: var(--fl-texto); }
.fl-main a { color: var(--fl-teal); }
.fl-wrap { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.fl-wrap--angosto { max-width: 1000px; }
.fl-wrap--texto { max-width: 780px; }
.fl-kicker { font: 700 13px/1.2 Lato, sans-serif; letter-spacing: .1em; text-transform: uppercase; color: var(--fl-naranja); margin: 0 0 10px; }
.fl-kicker--claro { color: #FFD3A6; }
.fl-h2 { font: 700 clamp(26px, 3vw, 36px)/1.15 Lato, sans-serif; color: var(--fl-negro); margin: 0 0 10px; }
.fl-bajada { font-size: 18px; color: var(--fl-gris); margin: 0 0 28px; max-width: 720px; }
.fl-prosa { font-size: 18px; line-height: 1.7; }
.fl-prosa p { margin: 0 0 1.1em; }
.fl-prosa img { max-width: 100%; height: auto; border-radius: var(--fl-radio); }
.fl-cols { display: flex; gap: 56px; align-items: center; }
.fl-col-55 { flex: 0 1 55%; } .fl-col-45 { flex: 0 1 45%; } .fl-col-50 { flex: 1 1 50%; }
@media (max-width: 860px) { .fl-cols { flex-direction: column; align-items: stretch; gap: 32px; } }

/* One page */
.fl-op__franja { background: #000; padding: 10px 0; }
.fl-op__cabecera { padding: 28px 0; border-bottom: 1px solid var(--fl-linea); }
.fl-op__cabecera-in { display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap; }
.fl-op__id { display: flex; align-items: center; gap: 24px; }
.fl-op__logo img { width: 110px; height: auto; max-height: 110px; object-fit: contain; }
.fl-op__titulo { font: 900 clamp(28px, 3.4vw, 40px)/1.1 Lato, sans-serif; color: var(--fl-negro); margin: 0; }
.fl-op__sub { margin: 6px 0 0; color: var(--fl-gris); font-size: 16px; }
.fl-anclas { display: flex; gap: 18px; flex-wrap: wrap; font-size: 15px; }
.fl-op__sec { padding: 80px 0; }
.fl-op__sec--gris { background: var(--fl-fondo); padding: 64px 0; }
.fl-op__sec--teal { background: var(--fl-teal); color: #fff; padding: 64px 0; }
.fl-op__sec--teal .fl-h2 { color: #fff; }
.fl-link-claro, .fl-main .fl-link-claro { color: #fff; }
.fl-fondo-oscuro .fl-soc { color: #fff; }
.fl-fondo-oscuro .fl-btn { background: #fff; color: var(--fl-teal); }
.fl-provincial { display: flex; gap: 40px; align-items: center; }
.fl-provincial__foto img { width: 200px; height: 200px; object-fit: cover; border-radius: 50%; }
.fl-provincial__cargo { color: var(--fl-teal); font-weight: 700; margin: 0 0 8px; }
.fl-provincial__msg { font-size: 17px; line-height: 1.6; margin: 0; }
@media (max-width: 700px) { .fl-provincial { flex-direction: column; text-align: center; } }

/* Tarjetas y grillas */
.fl-grid { display: grid; gap: 32px 24px; }
.fl-grid--1 { grid-template-columns: 1fr; }
.fl-grid--2 { grid-template-columns: repeat(2, 1fr); }
.fl-grid--3 { grid-template-columns: repeat(3, 1fr); }
.fl-grid--4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 960px) { .fl-grid--3, .fl-grid--4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .fl-grid--2, .fl-grid--3, .fl-grid--4 { grid-template-columns: 1fr; } }
.fl-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--fl-linea); border-radius: var(--fl-radio); overflow: hidden; transition: box-shadow .2s, transform .2s; }
.fl-card:hover { box-shadow: 0 8px 24px rgba(0,0,0,.08); transform: translateY(-2px); }
.fl-card__img { display: block; aspect-ratio: 16 / 10; background: var(--fl-fondo); overflow: hidden; }
.fl-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fl-card__sinimg { display: block; width: 100%; height: 100%; background: linear-gradient(135deg, var(--fl-pizarra), var(--fl-teal)); opacity: .35; }
.fl-card__body { padding: 18px 20px 22px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.fl-card__meta { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; font-size: 13px; color: var(--fl-gris); }
.fl-sello { display: inline-block; padding: 4px 8px; border-radius: 3px; font: 700 11px/1 Lato, sans-serif; letter-spacing: .06em; text-transform: uppercase; background: var(--fl-naranja); color: #fff; }
.fl-sello--red { background: var(--fl-teal); }
.fl-card__titulo { font: 700 19px/1.3 Lato, sans-serif; margin: 0; }
.fl-card__titulo a, .fl-main .fl-card__titulo a { color: var(--fl-negro); text-decoration: none; }
.fl-card__titulo a:hover { color: var(--fl-naranja); }
.fl-card__extracto { font-size: 15px; line-height: 1.5; margin: 0; color: var(--fl-texto); }
.fl-card__descarga { margin-top: auto; font-weight: 700; color: var(--fl-naranja) !important; text-decoration: none; }
.fl-paginacion { margin-top: 40px; display: flex; gap: 6px; flex-wrap: wrap; }
.fl-paginacion .page-numbers { padding: 8px 12px; border: 1px solid var(--fl-linea); border-radius: 4px; text-decoration: none; color: var(--fl-texto); }
.fl-paginacion .current { background: var(--fl-naranja); border-color: var(--fl-naranja); color: #fff; }

/* Agenda */
.fl-agenda { list-style: none; margin: 0; padding: 0; }
.fl-agenda__item { display: flex; gap: 16px; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--fl-linea); }
.fl-agenda__fecha { flex: 0 0 56px; height: 56px; border-radius: var(--fl-radio); background: var(--fl-negro); color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; font: 700 11px/1 Lato, sans-serif; text-transform: uppercase; }
.fl-agenda__fecha b { font-size: 22px; line-height: 1; margin-bottom: 2px; }
.fl-agenda__txt { display: flex; flex-direction: column; gap: 4px; }
.fl-agenda__txt a { color: var(--fl-negro); font-weight: 700; text-decoration: none; }
.fl-agenda__txt a:hover { color: var(--fl-naranja); }
.fl-agenda__txt small { color: var(--fl-gris); font-size: 13px; }

/* Noticia */
.fl-nota__cab { padding-top: 64px; }
.fl-nota__titulo { font: 900 clamp(30px, 4vw, 44px)/1.15 Lato, sans-serif; color: var(--fl-negro); margin: 14px 0 12px; }
.fl-nota__bajada { font-size: 20px; line-height: 1.5; color: var(--fl-gris); margin: 0 0 24px; }
.fl-nota__img { max-width: 1100px; margin: 8px auto 0; }
.fl-nota__img img { width: 100%; height: auto; border-radius: var(--fl-radio); display: block; }
.fl-nota__cuerpo { padding-top: 40px; padding-bottom: 16px; }
.fl-compartir { display: flex; gap: 14px; flex-wrap: wrap; align-items: center; padding-top: 20px; padding-bottom: 64px; border-top: 1px solid var(--fl-linea); font-size: 14px; }
.fl-compartir span { font-weight: 700; color: var(--fl-negro); }
.fl-compartir a { color: var(--fl-teal); font-weight: 700; text-decoration: none; }

/* Archivo */
.fl-archivo { padding-top: 64px; }
.fl-archivo__titulo { font: 900 clamp(32px, 4vw, 48px)/1.1 Lato, sans-serif; color: var(--fl-negro); margin: 0 0 28px; }
.fl-filtros { display: flex; gap: 16px; flex-wrap: wrap; align-items: center; margin-bottom: 32px; }
.fl-chips { display: flex; gap: 8px; flex-wrap: wrap; }
.fl-chips a { padding: 7px 14px; border: 1px solid var(--fl-linea); border-radius: 999px; font-size: 14px; text-decoration: none; color: var(--fl-texto); }
.fl-chips a.is-activo, .fl-chips a:hover { background: var(--fl-negro); border-color: var(--fl-negro); color: #fff; }

/* Menú de la cabecera */
.fl-menu { position: relative; }
.fl-menu__lista { list-style: none; margin: 0; padding: 0; display: flex; gap: 6px; align-items: center; }
.fl-menu__lista > li { position: relative; }
.fl-menu__lista a { display: block; padding: 10px 12px; color: #fff; font: 700 15px/1.2 Lato, sans-serif; text-decoration: none; }
.fl-menu__lista > li > a:hover, .fl-menu__lista > li.current-menu-item > a, .fl-menu__lista > li.current-menu-ancestor > a { color: var(--fl-naranja); }
.fl-menu__lista .sub-menu { list-style: none; margin: 0; padding: 8px 0; position: absolute; top: 100%; left: 0; min-width: 240px; background: #fff; border-radius: var(--fl-radio); box-shadow: 0 10px 30px rgba(0,0,0,.18); opacity: 0; visibility: hidden; transform: translateY(6px); transition: .18s; z-index: 50; }
.fl-menu__lista li:hover > .sub-menu, .fl-menu__lista li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.fl-menu__lista .sub-menu a { color: var(--fl-negro); font-weight: 400; padding: 9px 18px; }
.fl-menu__lista .sub-menu a:hover { background: var(--fl-naranja); color: #fff; }
.fl-menu__toggle { display: none; background: none; border: 0; padding: 8px; cursor: pointer; }
.fl-menu__toggle span { display: block; width: 24px; height: 2px; background: #fff; margin: 5px 0; transition: .2s; }
@media (max-width: 1024px) {
	.fl-menu__toggle { display: block; margin-left: auto; }
	.fl-menu__lista { display: none; position: absolute; right: 0; top: 100%; flex-direction: column; align-items: stretch; background: #000; min-width: 280px; padding: 12px 0; z-index: 60; box-shadow: 0 10px 30px rgba(0,0,0,.3); }
	.fl-menu.is-abierto .fl-menu__lista { display: flex; }
	.fl-menu__lista .sub-menu { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; background: transparent; padding: 0 0 6px 14px; }
	.fl-menu__lista .sub-menu a { color: rgba(255,255,255,.75); }
}

/* Buscador */
.fl-buscar { display: flex; align-items: center; border: 1px solid rgba(255,255,255,.35); border-radius: 999px; overflow: hidden; }
.fl-buscar input { background: transparent; border: 0; color: #fff; padding: 7px 4px 7px 14px; width: 130px; font: 14px Lato, sans-serif; outline: none; }
.fl-buscar input::placeholder { color: rgba(255,255,255,.6); }
.fl-buscar button { background: none; border: 0; color: #fff; padding: 6px 12px 6px 6px; cursor: pointer; display: flex; }
.fl-main .fl-buscar, .fl-filtros .fl-buscar { border-color: var(--fl-linea); }
.fl-filtros .fl-buscar input { color: var(--fl-texto); width: 220px; }
.fl-filtros .fl-buscar input::placeholder { color: var(--fl-gris); }
.fl-filtros .fl-buscar button { color: var(--fl-texto); }

/* Boletín */
.fl-boletin { display: flex; gap: 8px; flex-wrap: wrap; }
.fl-boletin input[type=email] { flex: 1 1 220px; padding: 12px 14px; border: 0; border-radius: 4px; font: 15px Lato, sans-serif; }
.fl-boletin select { padding: 12px 10px; border: 0; border-radius: 4px; font: 15px Lato, sans-serif; }
.fl-boletin button { padding: 12px 22px; border: 0; border-radius: 4px; background: var(--fl-naranja); color: #fff; font: 700 15px Lato, sans-serif; cursor: pointer; }
.fl-boletin button:hover { background: var(--fl-teal); }
.fl-boletin__ok { color: #fff; font-size: 18px; font-weight: 700; }
.fl-boletin__error { flex-basis: 100%; color: #FFD3A6; margin: 4px 0 0; }
.fl-hp { position: absolute !important; left: -9999px !important; }

/* Ajustes */
.fl-card, .fl-agenda, .fl-cifras, .fl-fichas, .fl-logos, .fl-boletin, .fl-franja, .fl-menu, .fl-buscar, .fl-sociales, .fl-idiomas, .fl-paginacion { font-family: Lato, sans-serif; }
.fl-main .fl-franja__home, .fl-franja__home { color: #fff; }
.fl-main .fl-franja__home:hover { color: var(--fl-naranja); }
.fl-op__sec--teal .fl-cols { align-items: flex-start; }
.fl-anclas a { color: var(--fl-texto) !important; }
.fl-anclas a:hover { color: var(--fl-naranja) !important; }
@media (max-width: 600px) {
	.fl-op__id { flex-direction: column; align-items: flex-start; gap: 14px; }
	.fl-op__logo img { width: 72px; max-height: 72px; }
	.fl-op__sec { padding: 56px 0; }
}

/* v1.3 */
.fl-menu__lista a { white-space: nowrap; }
.fl-boletin input[type=email], .fl-boletin select { width: auto; }
.fl-boletin input[type=email] { min-width: 0; }
