/* FVAL Judo 2026 – estilos que theme.json no puede expresar.
   Valores: diseño v1.0 (10/11/2026), §3 y §4. Colores siempre por variable de theme.json. */

:root {
	--fv-ink: var(--wp--preset--color--ink);
	--fv-paper: var(--wp--preset--color--paper);
	--fv-tatami: var(--wp--preset--color--tatami);
	--fv-line: var(--wp--preset--color--line);
	--fv-muted: var(--wp--preset--color--muted);
	--fv-orange: var(--wp--preset--color--orange);
	--fv-orange-text: var(--wp--preset--color--orange-text);
	--fv-gutter: var(--wp--custom--gutter);
	--fv-focus: var(--wp--custom--focus);
	--fv-bar-h: 72px; /* barra inferior móvil */
}

/* ── Base ───────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
:focus-visible { outline: var(--fv-focus); outline-offset: 3px; }
h1, h2, .fv-display { font-stretch: var(--wp--custom--stretch--display); }
h3, .fv-news-title { font-stretch: var(--wp--custom--stretch--soft); }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); white-space: nowrap; }
img { max-width: 100%; height: auto; }
@media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }

.fv-display { font-family: var(--wp--preset--font-family--display); font-weight: 800; text-transform: uppercase;
	font-size: var(--wp--preset--font-size--display); line-height: .9; max-width: 13ch; margin: 0; }
.fv-icon { flex: none; }

/* Antetítulo: barra naranja 40×6 + etiqueta en mayúsculas (§3.4) */
.fv-eyebrow { display: flex; align-items: center; gap: 12px; margin: 0;
	font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; }
.fv-eyebrow::before { content: ""; width: 40px; height: 6px; background: var(--fv-orange); flex: none; }

/* Franja de cinturones (8 px) */
.fv-belts { display: flex; height: 8px; margin: 0; }
.fv-belts span { flex: 1; }
.fv-belts span:nth-child(1) { background: var(--wp--custom--cinturon--blanco); }
.fv-belts span:nth-child(2) { background: var(--wp--custom--cinturon--amarillo); }
.fv-belts span:nth-child(3) { background: var(--wp--custom--cinturon--naranja); }
.fv-belts span:nth-child(4) { background: var(--wp--custom--cinturon--verde); }
.fv-belts span:nth-child(5) { background: var(--wp--custom--cinturon--azul); }
.fv-belts span:nth-child(6) { background: var(--wp--custom--cinturon--marron); }
.fv-belts span:nth-child(7) { background: var(--wp--custom--cinturon--negro); outline: 1px solid #333330; }

/* Rejilla de tatami 1:2 como fondo de reserva */
.is-style-tatami-grid, .fv-tatami-grid {
	background-color: var(--fv-ink);
	background-image:
		linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
	background-size: 120px 60px;
}

/* ── Botones (§4.1) ─────────────────────────────────── */
.wp-element-button, .wp-block-button__link { min-height: 48px; display: inline-flex; align-items: center; gap: 10px; text-decoration: none; }
.wp-block-button.is-style-secundario .wp-block-button__link { background: var(--fv-ink); color: var(--fv-paper); }
.wp-block-button.is-style-secundario .wp-block-button__link:hover { background: var(--wp--preset--color--text-2); color: var(--fv-paper); }
.wp-block-button.is-style-contorno .wp-block-button__link { background: var(--fv-paper); color: var(--fv-ink); box-shadow: inset 0 0 0 2px var(--fv-ink); }
.wp-block-button.is-style-contorno .wp-block-button__link:hover { background: var(--fv-tatami); }
.wp-block-button.is-style-contorno-oscuro .wp-block-button__link { background: transparent; color: var(--fv-paper); box-shadow: inset 0 0 0 2px var(--fv-paper); }
.wp-block-button.is-style-contorno-oscuro .wp-block-button__link:hover { background: rgba(255,255,255,.1); color: var(--fv-paper); }
.fv-link-arrow a, a.fv-link-arrow { font-weight: 700; text-decoration: none; display: inline-flex; align-items: center; gap: 8px; min-height: 44px; }
.fv-link-arrow a::after, a.fv-link-arrow::after { content: "→"; }

/* ── Barra de utilidades + cabecera (§4.5) ──────────── */
.fv-utility { background: var(--fv-ink); color: var(--fv-paper); font-size: 13px; }
.fv-utility__in { max-width: 1440px; margin: 0 auto; padding: 0 var(--fv-gutter); min-height: 44px;
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 24px; }
.fv-utility__name { color: #BDBDB8; }
.fv-utility nav { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 20px; }
.fv-utility a { color: var(--fv-paper); text-decoration: none; min-height: 44px; display: inline-flex; align-items: center; gap: 6px; }
.fv-utility a:hover { color: var(--fv-orange); }
.fv-lang { display: inline-flex; border: 1px solid #4A4A47; }
.fv-lang a { min-width: 44px; min-height: 32px; justify-content: center; font-weight: 500; }
.fv-lang a[aria-current="true"] { background: var(--fv-paper); color: var(--fv-ink); font-weight: 700; }

.fv-header { background: var(--fv-paper); border-bottom: 1px solid var(--fv-line); position: relative; z-index: 20; }
.fv-header__in { max-width: 1440px; margin: 0 auto; padding: 0 var(--fv-gutter); min-height: 88px;
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 32px; }
.fv-brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; color: var(--fv-ink); }
.fv-brand img { height: 64px; width: auto; display: block; }
.fv-brand span { display: flex; flex-direction: column; line-height: 1.15; font-size: 15px; }
.fv-brand b { font-weight: 800; }
.fv-header .wp-block-navigation { font-weight: 600; font-size: 15px; gap: 0 28px; }
.fv-header .wp-block-navigation-item__content { min-height: 88px; display: inline-flex; align-items: center; text-decoration: none; }
.fv-header .current-menu-item > .wp-block-navigation-item__content,
.fv-header .wp-block-navigation-item__content[aria-current="page"] { box-shadow: inset 0 -4px 0 var(--fv-orange); }
.fv-header__actions { display: flex; align-items: center; gap: 8px; }
.fv-header .wp-block-search__button { width: 48px; height: 48px; border: 1px solid var(--fv-line); background: var(--fv-paper); color: var(--fv-ink); }
.fv-btn-licencia { background: var(--fv-orange); color: var(--fv-ink); text-decoration: none; font-weight: 700; min-height: 48px; padding: 0 22px; display: inline-flex; align-items: center; gap: 10px; }
.fv-btn-licencia:hover { background: var(--wp--custom--orange-hover); color: var(--fv-ink); }

/* ── Secciones ──────────────────────────────────────── */
.fv-section { padding-top: var(--wp--preset--spacing--80); padding-bottom: var(--wp--preset--spacing--80); }
.fv-section__head { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 16px 32px; margin-bottom: 40px; }
.fv-section__head h2 { margin: 0; }
.fv-section__head p { margin: 0; max-width: 52ch; color: var(--wp--preset--color--text-2); font-size: var(--wp--preset--font-size--lead); }
.fv-dark { background: var(--fv-ink); color: var(--fv-paper); }
.fv-dark a { color: var(--fv-paper); }
.fv-warm { background: var(--wp--preset--color--warm-bg); }

/* Hero (§5.1) */
.fv-hero { position: relative; color: var(--fv-paper); min-height: min(78vh, 760px); display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; }
.fv-hero .wp-block-cover__image-background { object-fit: cover; }
.fv-hero__content { position: relative; z-index: 1; max-width: 1440px; width: 100%; margin: 0 auto; padding: 96px var(--fv-gutter) 56px; display: grid; gap: 20px; }
.fv-hero__content p.fv-hero__lead { font-size: var(--wp--preset--font-size--lead); max-width: 56ch; margin: 0; color: #D4D4CF; }
.fv-hero .fv-belts { position: relative; z-index: 1; }

/* Trámites rápidos: rejilla con bordes compartidos (§4.4) */
.fv-quick { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); border-top: 1px solid var(--fv-line); border-left: 1px solid var(--fv-line); }
.fv-quick a { display: flex; flex-direction: column; justify-content: space-between; gap: 24px; min-height: 220px; padding: 24px;
	border-right: 1px solid var(--fv-line); border-bottom: 1px solid var(--fv-line); text-decoration: none; color: var(--fv-ink); }
.fv-quick a:hover { background: var(--fv-tatami); color: var(--fv-ink); }
.fv-quick__top { display: flex; justify-content: space-between; align-items: start; }
.fv-quick__n { font-family: var(--wp--preset--font-family--display); font-weight: 800; font-stretch: 75%; font-size: 44px; line-height: .9; color: var(--fv-orange-text); }
.fv-quick__t { display: block; font-weight: 700; font-size: 19px; line-height: 1.25; }
.fv-quick__d { display: block; font-size: 14px; color: var(--fv-muted); margin-top: 6px; }

/* Tarjetas de disciplina */
.fv-disc { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 24px; }
.fv-disc a { text-decoration: none; color: var(--fv-ink); display: block; border: 1px solid var(--fv-line); }
.fv-disc a:hover { border-color: var(--fv-ink); }
.fv-disc__img { aspect-ratio: 3 / 2; background: var(--wp--preset--color--tatami); display: flex; align-items: end; padding: 12px; color: var(--fv-muted); font-size: 13px; }
.fv-disc__stripe { height: 8px; }
.fv-disc__body { padding: 20px; }
.fv-disc__body h3 { margin: 0 0 6px; text-transform: uppercase; font-stretch: 75%; font-size: 32px; }
.fv-disc__body p { margin: 0; color: var(--fv-muted); font-size: 14px; }
.fv-c-judo { background: var(--wp--custom--disciplina--judo); }
.fv-c-aikido { background: var(--wp--custom--disciplina--aikido); }
.fv-c-jiujitsu { background: var(--wp--custom--disciplina--jiujitsu); }
.fv-c-kendo { background: var(--wp--custom--disciplina--kendo); }
.fv-c-wushu { background: var(--wp--custom--disciplina--wushu); }
.fv-c-defensa { background: var(--wp--custom--disciplina--defensa); }

/* Noticias: destacada + lista (§4.4) */
.fv-news { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 40px; }
.fv-news .wp-block-post-title { font-family: var(--wp--preset--font-family--display); font-weight: 800; font-stretch: 80%; margin: 8px 0; }
.fv-news .wp-block-post-title a { text-decoration: none; }
.fv-news-lead .wp-block-post-title { font-size: clamp(28px, 3vw, 40px); line-height: 1.02; }
.fv-news-list .wp-block-post-template > li { display: grid; grid-template-columns: 120px 1fr; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--fv-line); }
.fv-news-list .wp-block-post-template > li:first-child { padding-top: 0; }
.fv-news-list .wp-block-post-featured-image { width: 120px; height: 96px; margin: 0; background: var(--fv-tatami); }
.fv-news-list .wp-block-post-featured-image img { width: 120px; height: 96px; object-fit: cover; }
.fv-news-list .wp-block-post-title { font-size: 19px; line-height: 1.2; }
.fv-meta { gap: 8px; align-items: center; font-size: 14px; color: var(--fv-muted); }
.fv-meta .wp-block-post-terms a { text-decoration: none; color: var(--fv-ink); }
.fv-meta .wp-block-post-terms::before { content: ""; display: inline-block; width: 10px; height: 10px; background: var(--fv-orange); margin-right: 8px; vertical-align: 0; }

/* Rejilla de noticias (listado, §5.11) */
.fv-news-grid .wp-block-post-template { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 40px 24px; }
.fv-news-grid .wp-block-post-featured-image { aspect-ratio: 16/10; background: var(--fv-tatami); margin-bottom: 12px; }
.fv-news-grid .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; }
.fv-news-grid .wp-block-post-title { font-size: 21px; line-height: 1.15; margin: 8px 0; }
.fv-news-grid .wp-block-post-title a { text-decoration: none; }
.wp-block-query-pagination { gap: 8px; margin-top: 48px; }
.wp-block-query-pagination a, .wp-block-query-pagination .page-numbers { min-width: 48px; min-height: 48px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--fv-line); text-decoration: none; }
.wp-block-query-pagination .page-numbers.current { background: var(--fv-ink); color: var(--fv-paper); border-color: var(--fv-ink); }

/* Cabecera de página interior */
.fv-page-head { background: var(--fv-tatami); padding-top: 56px; padding-bottom: 48px; border-bottom: 1px solid var(--fv-line); }
.fv-page-head h1 { margin: 0; }

/* Artículo (§5.11 detalle) */
.fv-article .wp-block-post-content { font-size: 18px; line-height: 1.7; }
.fv-article .wp-block-post-content > * { max-width: 720px; }
.fv-article > .wp-block-post-featured-image { aspect-ratio: 21/9; }
.fv-article > .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; }
.fv-article > header .wp-block-post-title { font-size: clamp(36px, 5vw, 64px); line-height: .98; text-transform: none; font-stretch: 80%; }

/* Contenido migrado: desplegables convertidos desde [toggle]/[tab] */
details, .wp-block-details { border-top: 1px solid var(--fv-line); border-bottom: 1px solid var(--fv-line); margin: 0 0 -1px; }
details > summary { min-height: 60px; display: flex; align-items: center; justify-content: space-between; gap: 16px; cursor: pointer; font-weight: 700; list-style: none; padding: 12px 0; }
details > summary::-webkit-details-marker { display: none; }
details > summary::after { content: "+"; font-family: var(--wp--preset--font-family--display); font-size: 28px; line-height: 1; }
details[open] > summary::after { content: "−"; }
details > :not(summary) { padding-bottom: 16px; }

/* Tablas (§4.6) */
.wp-block-table { overflow-x: auto; }
.wp-block-table table, .entry-content table { border-collapse: collapse; width: 100%; }
.wp-block-table th, .wp-block-table thead td { text-align: left; font-size: 12px; text-transform: uppercase; letter-spacing: .08em; border-bottom: 2px solid var(--fv-ink); padding: 10px 12px; }
.wp-block-table td { border-bottom: 1px solid var(--fv-line); padding: 12px; }

/* Élite (fondo negro) */
.fv-elite { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 24px; }
.fv-elite article { background: var(--wp--preset--color--dark-surface); }
.fv-elite__img { aspect-ratio: 4/5; position: relative; }
.fv-elite__rank { position: absolute; left: 16px; top: 12px; font-family: var(--wp--preset--font-family--display); font-weight: 800; font-stretch: 75%; font-size: 56px; color: var(--wp--custom--medalla--bronce); }
.fv-elite__body { padding: 16px; }
.fv-elite__body h3 { margin: 0 0 4px; font-size: 22px; }
.fv-elite__body span { display: block; color: #BDBDB8; font-size: 14px; }

/* Patrocinadores (monocromo) */
.fv-sponsors { display: flex; flex-wrap: wrap; gap: 16px 48px; align-items: center; color: #6B6B66; font-weight: 700; }

/* ── Footer ─────────────────────────────────────────── */
.fv-footer { background: var(--fv-ink); color: var(--fv-paper); font-size: 15px; }
.fv-footer a { color: var(--fv-paper); text-decoration: none; }
.fv-footer a:hover { color: var(--fv-orange); }
.fv-footer__in { max-width: 1440px; margin: 0 auto; padding: 64px var(--fv-gutter) 32px; }
.fv-footer__cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 40px; }
.fv-footer__cols nav { display: flex; flex-direction: column; gap: 4px; }
.fv-footer__cols nav a { min-height: 44px; display: inline-flex; align-items: center; color: #D4D4CF; }
.fv-footer__label { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: #9A9A95; margin-bottom: 8px; }
.fv-footer address { font-style: normal; color: #D4D4CF; margin: 16px 0; }
.fv-footer__contact { display: flex; flex-direction: column; }
.fv-footer__contact a { min-height: 44px; display: inline-flex; align-items: center; gap: 8px; }
.fv-footer .fv-brand { color: var(--fv-paper); }
.fv-footer__bottom { border-top: 1px solid #333330; margin-top: 48px; padding-top: 24px; display: flex; flex-wrap: wrap; gap: 12px 32px; justify-content: space-between; color: #BDBDB8; font-size: 14px; }
.fv-footer__bottom nav { display: flex; flex-wrap: wrap; gap: 4px 24px; }

/* ── Barra inferior móvil (§4.5) ───────────────────── */
.fv-tabbar { display: none; }
@media (max-width: 1023px) {
	body { padding-bottom: var(--fv-bar-h); }
	.fv-tabbar { display: grid; grid-template-columns: repeat(4, 1fr); position: fixed; inset: auto 0 0 0; height: var(--fv-bar-h); z-index: 50;
		background: var(--fv-paper); border-top: 1px solid var(--fv-line); }
	.fv-tabbar a, .fv-tabbar button { font: inherit; font-size: 12px; font-weight: 600; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px;
		text-decoration: none; color: var(--fv-ink); background: none; border: 0; cursor: pointer; }
	.fv-tabbar .fv-tab--licencia { background: var(--fv-orange); }
	.fv-utility__name { display: none; }
	.fv-header__in { min-height: 64px; }
	.fv-brand img { height: 48px; }
	.fv-btn-licencia { display: none; }
	.fv-header .wp-block-navigation-item__content { min-height: 48px; }
}
@media (max-width: 599px) {
	.fv-utility nav > a:not(:first-child) { display: none; }
	.fv-quick { grid-template-columns: repeat(2, 1fr); }
	.fv-quick a { min-height: 132px; padding: 16px; }
	.fv-quick__n { font-size: 32px; }
	.fv-news { grid-template-columns: 1fr; }
	.fv-elite { grid-auto-flow: column; grid-auto-columns: 78%; grid-template-columns: none; overflow-x: auto; scroll-snap-type: x mandatory; }
	.fv-elite article { scroll-snap-align: start; }
}

/* --- Páginas con columna lateral y pestañas (Mi licencia, §5.2) --- */
.fv-lead-pagina { font-size: var(--wp--preset--font-size--lead); color: var(--wp--preset--color--text-2); max-width: 64ch; }
.fv-con-lateral { display: flex; flex-wrap: wrap; gap: 48px; align-items: flex-start; }
.fv-con-lateral > .fv-pestanas { flex: 999 1 560px; min-width: 0; }
.fv-lateral { flex: 1 1 280px; display: flex; flex-direction: column; gap: 16px; }
.fv-lateral__caja { background: var(--fv-tatami); padding: 24px; }
.fv-lateral__caja h2 { font-family: var(--wp--preset--font-family--text); text-transform: none; font-size: 19px; font-weight: 700; letter-spacing: 0; margin: 0 0 8px; }
.fv-lateral__caja p { margin: 0; }
.fv-pestana + .fv-pestana { margin-top: 64px; }
.fv-pestanas.is-activa .fv-pestana + .fv-pestana { margin-top: 0; }
.fv-pestanas.is-activa .fv-pestana > h2:first-child, .fv-pestanas.is-activa .fv-pestana__resumen { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); white-space: nowrap; }
.fv-pestana__resumen { color: var(--fv-muted); margin-top: 0; }
.fv-pestana:focus { outline: none; }
.fv-pestanas__lista { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); border: 1px solid var(--fv-ink); margin-bottom: 40px; scroll-margin-top: 96px; }
.fv-pestanas__lista [role="tab"] { font: inherit; border: 0; min-height: 88px; padding: 20px 24px; display: flex; align-items: center; gap: 18px; cursor: pointer; background: var(--fv-paper); color: var(--fv-ink); text-align: left; }
.fv-pestanas__lista [role="tab"] + [role="tab"] { border-left: 1px solid var(--fv-line); }
.fv-pestanas__lista [role="tab"][aria-selected="true"] { background: var(--fv-ink); color: var(--fv-paper); }
.fv-pestanas__lista [role="tab"]:focus-visible { outline: 3px solid var(--fv-orange-text); outline-offset: -3px; }
.fv-pestanas__n { font-family: var(--wp--preset--font-family--display); font-weight: 800; font-stretch: 75%; font-size: 36px; line-height: 1; color: var(--fv-orange-text); }
[aria-selected="true"] .fv-pestanas__n { color: var(--fv-paper); }
.fv-pestanas__t { display: flex; flex-direction: column; gap: 2px; }
.fv-pestanas__t span:first-child { font-weight: 700; font-size: 19px; }
.fv-pestanas__t span:last-child { font-size: 14px; opacity: .85; }
.fv-pasos { padding-left: 1.4em; display: flex; flex-direction: column; gap: 10px; }
.fv-check { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.fv-check li::before { content: "✓"; color: var(--wp--preset--color--success); font-weight: 700; margin-right: 10px; }
.fv-tarjeta { border: 1px solid var(--fv-line); padding: 20px 24px; }
.fv-tarjeta h3 { font-family: var(--wp--preset--font-family--text); text-transform: none; font-size: 19px; letter-spacing: 0; margin: 0 0 6px; }
.fv-tarjeta p { margin: 0; color: var(--wp--preset--color--text-2); }
@media (max-width: 599px) { .fv-pestanas__lista [role="tab"] { min-height: 64px; padding: 14px 16px; } .fv-pestanas__lista [role="tab"] + [role="tab"] { border-left: 0; border-top: 1px solid var(--fv-line); } .fv-pestanas__n { font-size: 28px; } }

/* --- Páginas interiores: disciplinas (§5.8) y deporte escolar (§5.10) --- */
.fv-section--compacta { padding-top: var(--wp--preset--spacing--50, 32px); padding-bottom: var(--wp--preset--spacing--50, 32px); }
.fv-disc-tabs-wrap { border-bottom: 1px solid var(--fv-line); padding-top: 0 !important; padding-bottom: 0 !important; }
.fv-disc-tabs { display: flex; overflow-x: auto; gap: 0; scrollbar-width: thin; }
.fv-disc-tabs a { flex: none; display: inline-flex; align-items: center; gap: 10px; min-height: 56px; padding: 0 20px; font-weight: 700; text-decoration: none; color: var(--fv-ink); border-bottom: 4px solid transparent; }
.fv-disc-tabs a[aria-current="page"] { border-bottom-color: var(--fv-ink); }
.fv-disc-tabs a:hover { color: var(--fv-orange-text); }
.fv-disc-tabs__f { width: 14px; height: 14px; flex: none; outline: 1px solid var(--fv-line); }
.fv-disc-cab { color: var(--fv-paper); }
.fv-disc-hero, .fv-escolar-hero { display: grid; gap: 20px; padding-block: clamp(24px, 6vw, 72px) 0; border-bottom: 12px solid var(--fv-disc, var(--fv-orange)); padding-bottom: clamp(24px, 4vw, 48px); }
.fv-escolar-hero { border-bottom-color: var(--wp--preset--color--warm-text); color: var(--fv-ink); }
.fv-disc-hero h1, .fv-escolar-hero h1 { margin: 0; font-family: var(--wp--preset--font-family--display); font-weight: 800; font-stretch: 75%; text-transform: uppercase; line-height: .9; font-size: clamp(56px, 11vw, 160px); color: inherit; }
.fv-escolar-hero h1 { font-size: clamp(40px, 6vw, 80px); text-wrap: balance; max-width: 18ch; }
.fv-disc-hero__lead { font-size: var(--wp--preset--font-size--lead); max-width: 60ch; margin: 0; color: #D4D4CF; }
.fv-escolar-hero .fv-disc-hero__lead { color: var(--wp--preset--color--text-2); }
.fv-accesos { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); border-top: 1px solid var(--fv-ink); border-left: 1px solid var(--fv-line); }
.fv-accesos a { display: flex; flex-direction: column; gap: 12px; padding: 20px; min-height: 120px; border-right: 1px solid var(--fv-line); border-bottom: 1px solid var(--fv-line); text-decoration: none; color: var(--fv-ink); font-weight: 700; font-size: 19px; }
.fv-accesos a:hover { background: var(--fv-tatami); }
.fv-accesos__n { font-family: var(--wp--preset--font-family--display); font-weight: 800; font-stretch: 75%; font-size: 36px; line-height: 1; color: var(--fv-orange-text); }
.fv-pasos-grandes { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 24px; }
.fv-pasos-grandes li { background: var(--fv-paper); padding: 24px; display: flex; flex-direction: column; gap: 8px; border-top: 6px solid var(--fv-orange); }
.fv-pasos-grandes__n { font-family: var(--wp--preset--font-family--display); font-weight: 800; font-stretch: 75%; font-size: 56px; line-height: .9; color: var(--fv-orange-text); }
.fv-pasos-grandes strong { font-size: 19px; }
.fv-pasos-grandes span:not(.fv-pasos-grandes__n) { color: var(--wp--preset--color--text-2); }
.fv-pasos-grandes a { font-weight: 700; margin-top: auto; padding-top: 8px; }
.fv-grados { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 12px; }
.fv-grados li { display: flex; flex-direction: column; gap: 8px; font-weight: 600; font-size: 14px; }
.fv-grados__c { height: 20px; border: 1px solid var(--fv-ink); }
.fv-programas .fv-tarjeta { background: var(--fv-paper); padding: 28px; }
.fv-delegada { background: var(--fv-paper); border-left: 6px solid var(--wp--preset--color--warm-text); padding: 24px; margin-top: 32px; max-width: 640px; }
.fv-delegada h3 { margin-top: 0; }
/* --- La Federación (§5.12) y Formación (§5.9) --- */
.fv-cab-pagina { display: grid; gap: 16px; padding-block: clamp(16px, 4vw, 48px) 0; }
.fv-cab-pagina h1 { margin: 0; font-family: var(--wp--preset--font-family--display); font-weight: 800; font-stretch: 75%; text-transform: uppercase; line-height: .9; font-size: clamp(48px, 8vw, 112px); }
.fv-cab-pagina .fv-disc-hero__lead { color: var(--wp--preset--color--text-2); }
.fv-subnav-wrap { position: sticky; top: 0; z-index: 5; background: var(--fv-paper); border-bottom: 1px solid var(--fv-line); padding-top: 0 !important; padding-bottom: 0 !important; }
.admin-bar .fv-subnav-wrap { top: 32px; }
.fv-subnav { display: flex; overflow-x: auto; scrollbar-width: thin; }
.fv-subnav a { flex: none; display: inline-flex; align-items: center; min-height: 56px; padding: 0 18px; font-weight: 700; text-decoration: none; color: var(--fv-ink); border-bottom: 4px solid transparent; }
.fv-subnav a:hover, .fv-subnav a:focus-visible { border-bottom-color: var(--fv-orange); }
section[id] { scroll-margin-top: 72px; }
.fv-junta { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
.fv-junta li { background: var(--fv-paper); padding: 20px; display: flex; flex-direction: column; gap: 6px; border-top: 4px solid var(--fv-ink); }
.fv-junta span { font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--fv-muted); }
.fv-con-lateral__main { flex: 999 1 560px; min-width: 0; }
.fv-circulares .wp-block-post-template { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--fv-ink); }
.fv-circulares .wp-block-post-template > li { display: grid; grid-template-columns: 140px 1fr; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--fv-line); align-items: baseline; }
.fv-circulares .wp-block-post-title { font-size: 18px; margin: 0; font-family: var(--wp--preset--font-family--text); text-transform: none; letter-spacing: 0; }
@media (max-width: 599px) { .fv-circulares .wp-block-post-template > li { grid-template-columns: 1fr; gap: 4px; } }
.fv-seguro { color: var(--fv-paper); }
.fv-seguro h2 { color: var(--fv-paper); }
.fv-seguro .fv-pasos-grandes li { background: var(--wp--preset--color--dark-surface, #1A1A1A); color: var(--fv-paper); }
.fv-seguro .fv-pasos-grandes span:not(.fv-pasos-grandes__n) { color: #D4D4CF; }
.fv-seguro .fv-pasos-grandes__n { color: var(--fv-orange); }
.fv-seguro a { color: var(--fv-paper); }
.fv-accesos--texto a { min-height: 160px; }
.fv-accesos--texto small { font-size: 14px; font-weight: 400; color: var(--fv-muted); }
.fv-con-lateral > aside { flex: 1 1 280px; }

/* Secciones a sangre seguidas, sin franjas blancas entre ellas */
.wp-block-post-content > .alignfull { margin-block-start: 0 !important; margin-block-end: 0 !important; }
/* Noticia: «Te puede interesar» con titulares de tamaño normal y hueco de imagen aunque no tenga foto */
.fv-news-grid .wp-block-post-title { font-family: var(--wp--preset--font-family--display); font-size: 21px; line-height: 1.15; font-weight: 800; font-stretch: 80%; margin: 8px 0 0; text-transform: none; }
.fv-news-grid .wp-block-post-template > li { display: flex; flex-direction: column; }
.fv-news-grid .wp-block-post-template > li:not(:has(.wp-block-post-featured-image))::before { content: ""; display: block; aspect-ratio: 16/10; margin-bottom: 12px; background: var(--fv-tatami) url("../img/fval-logo.png") center / 72px auto no-repeat; }
.fv-news-grid .wp-block-post-date { font-size: 14px; color: var(--fv-muted); }
.fv-disc-cab { color: var(--fv-ink); }
.fv-disc-cab .fv-disc-hero__lead { color: var(--wp--preset--color--text-2); }

/* Rejilla de noticias: tarjetas alineadas arriba, misma proporción de imagen, sin huecos a la derecha */
.fv-news-grid .wp-block-post-template { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important; align-items: start; }
.fv-news-grid .wp-block-post-template > li { margin: 0 !important; }
.fv-news-grid .wp-block-post-featured-image { aspect-ratio: 16/10 !important; overflow: hidden; margin: 0 0 12px; }
.fv-news-grid .wp-block-post-featured-image a { display: block; height: 100%; }
.fv-news-grid .wp-block-post-featured-image img { width: 100%; height: 100% !important; object-fit: cover; }

/* --- Noticias (§5.11) --- */
.fv-noticias-filtros { display: flex; flex-wrap: wrap; gap: 16px 24px; align-items: center; justify-content: space-between; margin-top: 24px; }
.fv-noticias-filtros .fv-chips__lista { display: flex; flex-wrap: wrap; gap: 8px; }
.fv-chip { font: inherit; font-weight: 600; min-height: 44px; padding: 0 18px; display: inline-flex; align-items: center; background: var(--fv-paper); color: var(--fv-ink); border: 1px solid var(--fv-ink); text-decoration: none; }
.fv-chip[aria-current="page"], .fv-chip[aria-pressed="true"] { background: var(--fv-ink); color: var(--fv-paper); font-weight: 700; }
.fv-noticias-buscar { display: flex; flex: 0 1 360px; }
.fv-noticias-buscar input { flex: 1; min-width: 0; font: inherit; min-height: 48px; padding: 0 14px; border: 1px solid var(--fv-ink); border-right: 0; background: var(--fv-paper); color: var(--fv-ink); border-radius: 0; }
.fv-noticias-buscar button { width: 48px; min-height: 48px; border: 1px solid var(--fv-ink); background: var(--fv-ink); color: var(--fv-paper); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.fv-news-grid .wp-block-post-excerpt { color: var(--wp--preset--color--text-2); font-size: 15px; margin-top: 6px; }
.fv-news-grid .wp-block-post-excerpt__more-text { display: none; }
/* Destacada: la primera noticia de la primera página, a todo el ancho */
body:not(.paged) .fv-news-grid--destacada .wp-block-post-template > li:first-child { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 8px 40px; align-items: center; background: var(--fv-tatami); }
body:not(.paged) .fv-news-grid--destacada .wp-block-post-template > li:first-child .wp-block-post-featured-image { grid-row: 1 / span 4; margin: 0; aspect-ratio: 16/10; }
body:not(.paged) .fv-news-grid--destacada .wp-block-post-template > li:first-child::before { grid-row: 1 / span 4; margin: 0; }
body:not(.paged) .fv-news-grid--destacada .wp-block-post-template > li:first-child > :not(.wp-block-post-featured-image) { padding-right: 40px; }
body:not(.paged) .fv-news-grid--destacada .wp-block-post-template > li:first-child .wp-block-post-title { font-size: clamp(28px, 3vw, 44px); line-height: 1.02; }
@media (max-width: 799px) { body:not(.paged) .fv-news-grid--destacada .wp-block-post-template > li:first-child { grid-template-columns: 1fr; background: none; } body:not(.paged) .fv-news-grid--destacada .wp-block-post-template > li:first-child > * { padding-right: 0 !important; } body:not(.paged) .fv-news-grid--destacada .wp-block-post-template > li:first-child .wp-block-post-featured-image { grid-row: auto; } }
/* Noticia: migas, compartir */
.fv-migas { font-size: 14px; color: var(--fv-muted); margin-bottom: 16px; }
.fv-migas a { color: var(--fv-ink); }
.fv-compartir { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; max-width: 720px; margin: 24px auto 0 !important; font-size: 14px; }
.fv-compartir span { font-weight: 700; text-transform: uppercase; letter-spacing: .08em; font-size: 12px; color: var(--fv-muted); }
.fv-compartir button, .fv-compartir a { font: inherit; font-weight: 600; min-height: 44px; padding: 0 16px; border: 1px solid var(--fv-ink); background: var(--fv-paper); color: var(--fv-ink); display: inline-flex; align-items: center; text-decoration: none; cursor: pointer; }
.fv-compartir button:hover, .fv-compartir a:hover { background: var(--fv-tatami); }

/* Cabeceras de página interiores: más compactas y pegadas al menú (sin franja blanca) */
#contenido { margin-block-start: 0 !important; }
.fv-cab-pagina-wrap, .fv-disc-cab, .fv-escolar-cab { padding-top: clamp(32px, 4vw, 56px) !important; padding-bottom: clamp(32px, 4vw, 48px) !important; }
.fv-cab-pagina { padding-block: 0; }
.fv-disc-hero, .fv-escolar-hero { padding-top: 0; }
.fv-article > .wp-block-post-featured-image img { object-position: center 30%; }
.fv-pasos-grandes { margin-top: 24px; } h3 + .fv-pasos-grandes, h3 + .wp-block-html > .fv-pasos-grandes { margin-top: 24px; }
.fv-hero__enlace { color: inherit; text-decoration: none; }
.fv-hero__enlace:hover, .fv-hero__enlace:focus-visible { text-decoration: underline; text-decoration-thickness: 4px; text-underline-offset: 8px; }
.fv-hero .wp-block-cover__background.fv-hero__velo { background: linear-gradient(0deg, rgba(14,14,14,.92) 0%, rgba(14,14,14,.55) 55%, rgba(14,14,14,.25) 100%) !important; opacity: 1 !important; }
/* Hero sin noticia destacada: negro con el título a un tamaño razonable */
.fv-hero:not(:has(.wp-block-cover__image-background)) { min-height: min(60vh, 560px); }
.fv-hero:not(:has(.wp-block-cover__image-background)) .fv-display { font-size: clamp(48px, 7vw, 104px); max-width: 14ch; }
/* Con foto: el titular de una noticia es más largo que un lema */
.fv-hero:has(.wp-block-cover__image-background) .fv-display { font-size: clamp(40px, 6vw, 96px); max-width: 18ch; text-wrap: balance; }
/* Hero con noticia: titular de noticia (largo) a tamaño contenido, máx. 4 líneas, y velo oscuro a la izquierda para leerlo sobre cualquier foto */
.fv-hero:has(.wp-block-cover__image-background) .fv-display { font-size: clamp(32px, 3.6vw, 60px) !important; line-height: 1; max-width: 22ch; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.fv-hero:has(.wp-block-cover__image-background) .fv-hero__lead { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.fv-hero .wp-block-cover__background.fv-hero__velo { background: linear-gradient(90deg, rgba(14,14,14,.9) 0%, rgba(14,14,14,.7) 40%, rgba(14,14,14,.15) 75%), linear-gradient(0deg, rgba(14,14,14,.6) 0%, rgba(14,14,14,0) 50%) !important; }
.fv-hero:has(.wp-block-cover__image-background) { min-height: min(72vh, 680px); }
/* Noticia: titular a tamaño de artículo (no de cartel) */
.fv-article > header .wp-block-post-title { font-size: clamp(30px, 3.4vw, 52px) !important; line-height: 1.05; font-stretch: 85%; letter-spacing: -0.01em; text-wrap: balance; max-width: 26ch; }
.fv-article > header { padding-bottom: 8px; }
.fv-article > .wp-block-post-featured-image { max-width: 1200px; margin-left: auto !important; margin-right: auto !important; }
/* Noticia: todo en una misma columna de 800 px (título, foto, texto y compartir alineados a la izquierda) */
.fv-article > .wp-block-post-featured-image { max-width: 800px !important; aspect-ratio: 3/2 !important; }
.fv-article .wp-block-post-content > * { max-width: 800px; }
.fv-article > header .wp-block-post-title { max-width: none; }
.fv-compartir { max-width: 800px; }

/* Franja de cinturones: el tramo blanco no se veía sobre fondo blanco y parecía que la franja empezaba más tarde */
.fv-belts span:nth-child(1) { box-shadow: inset 0 0 0 1px var(--wp--preset--color--line, #DADAD6); background: #FAFAF8; }
/* Foto del hero: en pantallas anchas se recortaba por arriba (cabezas cortadas); se encuadra más arriba */
.fv-hero .wp-block-cover__image-background { object-position: 50% 28%; }
@media (min-width: 1600px) { .fv-hero:has(.wp-block-cover__image-background) { min-height: min(80vh, 820px); } }

/* ------------------------------------------------------------------ */
/* Documentos (PDF, Word, Excel…) en el contenido y en [fval26_documentos] */
/* ------------------------------------------------------------------ */
a.fv-doc { display: flex; align-items: center; gap: 12px; padding: 12px 14px; margin: 0 0 8px; max-width: 760px; border: 1px solid var(--fv-line); background: var(--fv-paper, #fff); color: var(--fv-ink) !important; font-weight: 600; text-decoration: none !important; line-height: 1.3; transition: border-color .15s, background .15s; }
a.fv-doc::before { content: attr(data-tipo); flex: none; display: inline-grid; place-items: center; min-width: 42px; height: 26px; padding: 0 6px; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: #fff; background: #B42318; }
a.fv-doc[data-tipo="doc"]::before { background: #1F4BB4; }
a.fv-doc[data-tipo="xls"]::before, a.fv-doc[data-tipo="ods"]::before { background: #1E6B3F; }
a.fv-doc[data-tipo="ppt"]::before { background: #C2410C; }
a.fv-doc[data-tipo="zip"]::before { background: #5C5C58; }
a.fv-doc::after { content: "↓"; margin-left: auto; padding-left: 12px; font-weight: 800; color: var(--fv-orange-text, #A85200); }
a.fv-doc:hover, a.fv-doc:focus-visible { border-color: var(--fv-ink); background: var(--fv-tatami, #F3F3F1); }
p > a.fv-doc + a.fv-doc { margin-top: 0; }
li > a.fv-doc { margin: 0; }
.fv-section--ink a.fv-doc, .has-ink-background-color a.fv-doc { background: #1d1d1b; border-color: #333330; color: #fff !important; }
.fv-section--ink a.fv-doc::after, .has-ink-background-color a.fv-doc::after { color: var(--fv-orange, #EF7F19); }

.fv-docs { display: flex; flex-direction: column; gap: 10px; margin-top: 8px; }
.fv-docs__titulo { margin: 0; font-size: 20px; }
.fv-docs__grupo { margin: 14px 0 4px !important; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; color: var(--fv-muted, #5C5C58); }
.has-ink-background-color .fv-docs__grupo, .fv-section--ink .fv-docs__grupo { color: #BDBDB8; }
.fv-docs__lista { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); gap: 8px; }
.fv-docs__lista a.fv-doc { max-width: none; height: 100%; }
.fv-docs__mas summary { cursor: pointer; font-weight: 700; padding: 10px 0; }
.fv-docs__ver { margin: 6px 0 0; }
.fv-docs__ver a { font-weight: 700; }

/* ------------------------------------------------------------------ */
/* Páginas antiguas (transparencia, normativa, CEAR…): como documento   */
/* ------------------------------------------------------------------ */
.fv-pagina-legado .wp-block-post-content { font-size: 17px; line-height: 1.6; }
.fv-pagina-legado .wp-block-post-content h1, .fv-pagina-legado .wp-block-post-content h2 { font-size: clamp(26px, 3vw, 34px); margin: 40px 0 14px; }
.fv-pagina-legado .wp-block-post-content h3, .fv-pagina-legado .wp-block-post-content h4 { font-size: 21px; margin: 28px 0 10px; }
.fv-pagina-legado .wp-block-post-content p:has(> strong:only-child), .fv-pagina-legado .wp-block-post-content p:has(> b:only-child) {
	margin: 36px 0 12px; padding-bottom: 8px; border-bottom: 2px solid var(--fv-ink); font-size: 14px; letter-spacing: .06em; text-transform: uppercase;
}
.fv-pagina-legado .wp-block-post-content ul, .fv-pagina-legado .wp-block-post-content ol { padding-left: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; }
.fv-pagina-legado .wp-block-post-content li a.fv-enlace-fila { display: inline-flex; padding: 10px 14px; border: 1px solid var(--fv-line); font-weight: 600; color: var(--fv-ink); text-decoration: none; }
.fv-pagina-legado .wp-block-post-content li a.fv-enlace-fila::after { content: "→"; margin-left: 10px; color: var(--fv-orange-text, #A85200); }
.fv-pagina-legado .wp-block-post-content li a.fv-enlace-fila:hover { border-color: var(--fv-ink); }
.fv-pagina-legado .wp-block-post-content li strong, .fv-pagina-legado .wp-block-post-content li b { font-weight: inherit; }
.fv-pagina-legado .wp-block-post-content p:empty, .fv-pagina-legado .wp-block-post-content p:has(> br:only-child) { display: none; }
/* Contenido antiguo debajo de un bloque nuevo (p. ej. «Documentos» del calendario) */
.wp-block-post-content > h2:not(.wp-block-heading), .wp-block-post-content > h1:not(.wp-block-heading) { font-size: clamp(26px, 3vw, 34px); margin: 36px 0 12px; text-align: left; }

/* Noticias sin foto: logo sobre fondo tatami */
.wp-block-post-featured-image.fv-sin-foto { background: var(--fv-tatami, #F3F3F1); display: flex; }
.wp-block-post-featured-image.fv-sin-foto a { display: grid; place-items: center; width: 100%; height: 100%; min-height: 96px; }
.wp-block-post-featured-image.fv-sin-foto img { width: auto !important; height: 56% !important; max-height: 120px; object-fit: contain !important; opacity: .55; }
.fv-news-grid .wp-block-post-featured-image.fv-sin-foto { aspect-ratio: 3 / 2; }

/* Cabecera en una sola línea: con «Inicio» el menú ya no cabía y bajaba el buscador y «Mi licencia» */
@media (min-width: 600px) {
	.fv-header__in { flex-wrap: nowrap; gap: 12px clamp(16px, 2vw, 32px); }
	.fv-header .wp-block-navigation { flex: 1 1 auto; justify-content: flex-end; }
	.fv-header .wp-block-navigation .wp-block-navigation__container { flex-wrap: nowrap; gap: 0 clamp(12px, 1.6vw, 28px); }
	.fv-header .wp-block-navigation-item__content { white-space: nowrap; font-size: clamp(14px, 1.05vw, 15px); }
	.fv-header__actions { flex: none; }
}
@media (max-width: 1279px) {
	.fv-brand span { display: none; } /* solo el logo, que ya lleva a la portada */
}
@media (max-width: 1179px) {
	.fv-header .fv-nav-inicio { display: none; } /* en pantallas medianas el logo hace de «Inicio» */
}

/* Documentos agrupados (años, temas…) en tarjetas: v2 */
.fv-docs { gap: 16px; width: 100%; max-width: var(--wp--style--global--wide-size, 1280px); margin-left: auto !important; margin-right: auto !important; }
.fv-docs__titulo { margin: 24px 0 4px; font-size: clamp(28px, 3vw, 40px); }
.fv-docs__grupos { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 360px), 1fr)); gap: 16px; align-items: start; }
.fv-docs__g { border: 1px solid var(--fv-line); border-top: 4px solid var(--fv-ink); background: var(--fv-paper); padding: 16px 18px 18px; display: flex; flex-direction: column; gap: 10px; }
.fv-docs__g h3.fv-docs__grupo { margin: 0 !important; font-family: var(--wp--preset--font-family--display, inherit); font-stretch: 80%; font-weight: 800; font-size: 26px; letter-spacing: 0; text-transform: uppercase; color: var(--fv-ink); }
.fv-docs__g .fv-docs__lista { grid-template-columns: 1fr; }
.fv-docs__g a.fv-doc { margin: 0; padding: 10px 12px; font-size: 15px; }
.fv-docs__mas > summary { list-style: none; display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border: 2px solid var(--fv-ink); font-weight: 700; }
.fv-docs__mas > summary::-webkit-details-marker { display: none; }
.fv-docs__mas[open] > summary { margin-bottom: 16px; }
.has-ink-background-color .fv-docs__g, .fv-section--ink .fv-docs__g { background: #1a1a18; border-color: #333330; border-top-color: var(--fv-orange); }
.has-ink-background-color .fv-docs__g h3.fv-docs__grupo, .fv-section--ink .fv-docs__g h3.fv-docs__grupo { color: #fff; }

/* Listas largas de páginas antiguas: buscador y paginación (theme.js) */
.wp-block-post-content li[hidden], .wp-block-post-content p[hidden] { display: none !important; }
.fv-legado-buscar { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px 16px; max-width: 760px; margin: 8px 0 32px; padding: 16px; background: var(--fv-tatami); border-left: 4px solid var(--fv-orange); }
.fv-legado-buscar__campo { display: flex; flex-direction: column; gap: 6px; flex: 0 1 200px; min-width: 0; }
.fv-legado-buscar__campo--q { flex: 1 1 280px; }
.fv-legado-buscar label { font-weight: 700; font-size: 14px; }
.fv-legado-buscar input, .fv-legado-buscar select { font: inherit; min-height: 46px; padding: 0 14px; border: 1px solid var(--fv-ink); border-radius: 0; background: var(--fv-paper); color: var(--fv-ink); width: 100%; }
.fv-legado-buscar select { font-weight: 700; cursor: pointer; }
.fv-legado-buscar select:disabled { opacity: .5; cursor: default; }
.fv-legado-buscar p { flex-basis: 100%; margin: 0; font-size: 14px; color: var(--fv-muted); min-height: 1em; }
.fv-legado-pag { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 12px 0 28px; }
.fv-legado-pag[hidden] { display: none; }
.fv-legado-pag button { font: inherit; font-weight: 700; min-width: 42px; min-height: 42px; padding: 0 12px; border: 1px solid var(--fv-line); background: var(--fv-paper); color: var(--fv-ink); cursor: pointer; }
.fv-legado-pag button:hover:not(:disabled) { border-color: var(--fv-ink); }
.fv-legado-pag button[aria-current="page"] { background: var(--fv-ink); color: #fff; border-color: var(--fv-ink); }
.fv-legado-pag button:disabled { color: var(--fv-line); cursor: default; }
.fv-legado-pag span { padding: 0 4px; }
/* Imágenes y logos de las páginas antiguas: centrados y sin huecos enormes */
.fv-pagina-legado .wp-block-post-content img { max-width: 100%; height: auto; }
.fv-pagina-legado .wp-block-post-content p:has(> img), .fv-pagina-legado .wp-block-post-content p:has(> a > img), .fv-pagina-legado .wp-block-post-content figure { display: flex; flex-wrap: wrap; gap: 24px; align-items: center; justify-content: center; }
.fv-docs__mas-g > summary { cursor: pointer; font-weight: 700; font-size: 14px; padding: 8px 0; color: var(--fv-orange-text); }
.fv-docs__mas-g[open] > summary { margin-bottom: 8px; }

/* Filas de logos en páginas antiguas (C.E.A.R., patrocinadores…): mismo alto, sin posiciones raras */
.fv-pagina-legado .wp-block-post-content p:has(> img + img) img,
.fv-pagina-legado .wp-block-post-content p:has(> a + a > img) img,
.fv-pagina-legado .wp-block-post-content p:has(> a > img):has(> a + a) img { max-height: 120px; width: auto; object-fit: contain; }
.fv-pagina-legado .wp-block-post-content table { width: 100%; display: block; overflow-x: auto; }

/* Títulos antiguos que en realidad son un documento (h2 con enlace): tamaño de fila, no de titular */
.fv-pagina-legado .wp-block-post-content :is(h1, h2, h3, h4):has(> a.fv-doc, > strong > a.fv-doc) { font-size: var(--wp--preset--font-size--base, 17px); font-family: inherit; text-transform: none; margin: 0; }
/* Listas paginadas de páginas antiguas: las rayas entre documentos sobran (cada documento ya es una tarjeta) */
.fv-legado-paginada .fv-legado-raya { display: none; }
/* Contacto: tarjetas con teléfonos, correo y dirección */
.fv-contacto a span:nth-child(2) { font-size: clamp(20px, 2.2vw, 26px); overflow-wrap: anywhere; }
/* Franja de entidades que apoyan a la federación (sobre el pie) */
.fv-apoyos { background: var(--fv-paper); border-top: 1px solid var(--fv-line, #E4E2DC); }
.fv-apoyos__in { max-width: 1440px; margin: 0 auto; padding: 32px var(--fv-gutter); display: flex; flex-wrap: wrap; align-items: center; gap: 16px 40px; }
.fv-apoyos h2 { margin: 0; flex: 0 0 auto; }
.fv-apoyos ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 24px 48px; flex: 1 1 400px; }
.fv-apoyos li { display: flex; align-items: center; }
.fv-apoyos img { display: block; max-height: 56px; max-width: 180px; width: auto; height: auto; object-fit: contain; }
.fv-apoyos a { display: block; border-radius: 4px; }
.fv-apoyos a:focus-visible { outline: 3px solid var(--fv-orange); outline-offset: 4px; }
@media (max-width: 600px) { .fv-apoyos ul { gap: 20px 32px; } .fv-apoyos img { max-height: 44px; max-width: 140px; } }
/* Logos blancos (sobre transparente): se pintan en negro sobre la franja clara */
.fv-apoyos img.is-blanco { filter: brightness(0); opacity: .85; }
.fv-apoyos li { min-height: 56px; }
@media (max-width: 600px) {
	.fv-apoyos__in { gap: 16px; }
	.fv-apoyos ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 24px; align-items: center; }
	.fv-apoyos li { justify-content: center; }
}

/* Buscador de la cabecera: al abrirlo, el campo aparece debajo de la cabecera a todo el ancho (no empuja ni rompe nada) */
.fv-header .wp-block-search, .fv-header .wp-block-search__inside-wrapper { position: static; }
.fv-header .wp-block-search:not(.wp-block-search__searchfield-hidden) .wp-block-search__input {
	position: absolute; left: var(--fv-gutter); right: var(--fv-gutter); top: calc(100% + 8px); width: auto !important; max-width: 720px; margin: 0 auto;
	height: 56px; padding: 0 16px; font: inherit; font-size: 18px; border: 2px solid var(--fv-ink); border-radius: 0; background: var(--fv-paper); color: var(--fv-ink);
	box-shadow: 0 12px 32px rgba(0,0,0,.18); z-index: 40;
}
.fv-header .wp-block-search__searchfield-hidden .wp-block-search__input { position: absolute; width: 0 !important; padding: 0; border: 0; }

/* Menú del móvil: mismo aire que el resto de la web */
.fv-header .wp-block-navigation__responsive-container.is-menu-open { padding: 16px var(--fv-gutter) 120px; background: var(--fv-paper); }
.fv-header .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 32px; align-items: stretch !important; gap: 0; }
.fv-header .is-menu-open .wp-block-navigation__container { width: 100%; gap: 0 !important; align-items: stretch !important; }
.fv-header .is-menu-open .wp-block-navigation-item { width: 100%; border-bottom: 1px solid var(--fv-line); }
.fv-header .is-menu-open .wp-block-navigation-item__content { width: 100%; min-height: 60px !important; padding: 0 !important; display: flex !important; align-items: center; justify-content: space-between;
	font-family: var(--wp--preset--font-family--display); font-weight: 800; font-stretch: 80%; font-size: 26px; text-transform: uppercase; box-shadow: none !important; }
.fv-header .is-menu-open .wp-block-navigation-item__content::after { content: "→"; font-family: var(--wp--preset--font-family--body, inherit); font-size: 20px; font-weight: 400; color: var(--fv-orange-text); }
.fv-header .is-menu-open .wp-block-navigation-item__content[aria-current="page"] { color: var(--fv-orange-text); }
.fv-header .is-menu-open .fv-nav-inicio { display: block !important; }
.fv-menu-extra { display: none; }
.fv-header .is-menu-open .fv-menu-extra { display: flex; flex-direction: column; gap: 4px; width: 100%; margin-top: 28px; }
.fv-menu-extra a { min-height: 48px; display: flex; align-items: center; gap: 10px; font-weight: 600; text-decoration: none; color: var(--fv-ink); }
.fv-menu-extra .fv-btn-licencia { display: inline-flex !important; justify-content: center; margin-bottom: 12px; min-height: 56px; }
.fv-menu-extra__idiomas { display: flex; gap: 8px; margin-top: 12px; }
.fv-menu-extra__idiomas a { min-width: 56px; justify-content: center; border: 1px solid var(--fv-ink); }
.fv-menu-extra__idiomas a[aria-current] { background: var(--fv-ink); color: var(--fv-paper); }

/* Franja de apoyos: título arriba y logos repartidos a lo ancho, más grandes */
.fv-apoyos__in { flex-direction: column; align-items: stretch; gap: 20px; padding-block: 40px; }
.fv-apoyos ul { justify-content: space-between; gap: 32px 40px; flex: none; }
.fv-apoyos li { min-height: 80px; }
.fv-apoyos img { max-height: 72px; max-width: 220px; transition: opacity .2s, transform .2s; }
.fv-apoyos a:hover img { transform: scale(1.04); }
@media (max-width: 900px) { .fv-apoyos ul { justify-content: center; gap: 28px 48px; } }
@media (max-width: 600px) { .fv-apoyos img { max-height: 56px; max-width: 150px; } .fv-apoyos li { min-height: 64px; } }

/* --- Animaciones (suaves, y ninguna si el sistema pide «reducir movimiento») --- */
@media (prefers-reduced-motion: no-preference) {
	/* Aparecer al hacer scroll: solo si el JS ha marcado el elemento (sin JS todo se ve normal) */
	.fv-anim { opacity: 0; transform: translateY(18px); transition: opacity .6s cubic-bezier(.2,.7,.2,1), transform .6s cubic-bezier(.2,.7,.2,1); transition-delay: var(--fv-anim-d, 0ms); }
	.fv-anim.is-visible { opacity: 1; transform: none; }
	/* Tarjetas que «se levantan» al pasar el ratón */
	.fv-quick a, .fv-disc a, .fv-accesos a, .fv-news-grid .wp-block-post-template > li, .fv-docs__g { transition: transform .2s ease, box-shadow .2s ease, background-color .2s, border-color .2s; }
	.fv-quick a:hover, .fv-disc a:hover, .fv-accesos a:hover, .fv-news-grid .wp-block-post-template > li:hover { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(14,14,14,.08); }
	.fv-quick a:hover svg, .fv-accesos a:hover .fv-accesos__n { transform: translateX(3px); transition: transform .2s; }
	/* Fotos: fundido al cargar, sobre el fondo gris de su hueco */
	.fv-img-carga { opacity: 0; transition: opacity .5s ease; }
	.fv-img-carga.is-cargada { opacity: 1; }
	/* Imagen de las noticias: zoom sutil al pasar el ratón */
	.fv-news .wp-block-post-featured-image { overflow: hidden; }
	.fv-news .wp-block-post-featured-image img { transition: transform .5s ease, opacity .5s ease; }
	.fv-news li:hover .wp-block-post-featured-image img, .fv-news-lead:hover .wp-block-post-featured-image img { transform: scale(1.03); }
	/* Menú del móvil: entra deslizando */
	.fv-header .wp-block-navigation__responsive-container.is-menu-open { animation: fv-menu-in .25s ease both; }
	@keyframes fv-menu-in { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
	/* Portada (hero): la foto entra con un fundido y un zoom lento hacia atrás; los textos suben uno tras otro; los cinturones se rellenan */
	.fv-hero .wp-block-cover__image-background { animation: fv-hero-foto 1.6s cubic-bezier(.2,.7,.2,1) both; }
	.fv-hero__content > * { animation: fv-hero-sube .8s cubic-bezier(.2,.7,.2,1) both; }
	.fv-hero__content > :nth-child(1) { animation-delay: .25s; }
	.fv-hero__content > :nth-child(2) { animation-delay: .4s; }
	.fv-hero__content > :nth-child(3) { animation-delay: .55s; }
	.fv-hero__content > :nth-child(4) { animation-delay: .7s; }
	.fv-hero__content > :nth-child(n+5) { animation-delay: .85s; }
	.fv-hero ~ .fv-belts span, .fv-hero .fv-belts span { transform-origin: left center; animation: fv-cinturon .5s cubic-bezier(.2,.7,.2,1) both; }
	.fv-belts span:nth-child(1) { animation-delay: .6s; }
	.fv-belts span:nth-child(2) { animation-delay: .67s; }
	.fv-belts span:nth-child(3) { animation-delay: .74s; }
	.fv-belts span:nth-child(4) { animation-delay: .81s; }
	.fv-belts span:nth-child(5) { animation-delay: .88s; }
	.fv-belts span:nth-child(6) { animation-delay: .95s; }
	.fv-belts span:nth-child(7) { animation-delay: 1.02s; }
	@keyframes fv-hero-foto { from { opacity: 0; transform: scale(1.08); } to { opacity: 1; transform: scale(1); } }
	@keyframes fv-hero-sube { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }
	@keyframes fv-cinturon { from { transform: scaleX(0); } to { transform: scaleX(1); } }
}
/* Élite: foto de la deportista, con el puesto encima y un degradado para que se lea */
.fv-elite__img { overflow: hidden; }
.fv-elite__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 20%; }
.fv-elite__img:has(img)::after { content: ""; position: absolute; inset: 0 0 auto 0; height: 45%; background: linear-gradient(to bottom, rgba(14,14,14,.55), transparent); pointer-events: none; }
.fv-elite__rank { z-index: 1; text-shadow: 0 2px 12px rgba(0,0,0,.35); }
.fv-elite__rank.is-oro { color: var(--wp--custom--medalla--oro); }
.fv-elite__rank.is-plata { color: var(--wp--custom--medalla--plata); }

/* Disciplinas de la portada: 3 por fila, y en la imagen el nombre en kanji con el color de la disciplina */
.fv-disc { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 1023px) { .fv-disc { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 599px) { .fv-disc { grid-template-columns: 1fr; } }
.fv-disc__img { position: relative; overflow: hidden; justify-content: center; align-items: center; padding: 0;
	--dc: var(--fv-ink); background: color-mix(in srgb, var(--dc) 7%, var(--wp--preset--color--tatami)); }
.fv-disc__img--judo { --dc: var(--wp--custom--disciplina--judo); }
.fv-disc__img--aikido { --dc: var(--wp--custom--disciplina--aikido); }
.fv-disc__img--jiujitsu { --dc: var(--wp--custom--disciplina--jiujitsu); }
.fv-disc__img--kendo { --dc: var(--wp--custom--disciplina--kendo); }
.fv-disc__img--wushu { --dc: var(--wp--custom--disciplina--wushu); }
.fv-disc__img--defensa { --dc: var(--wp--custom--disciplina--defensa); }
.fv-disc__kanji { font-family: "Hiragino Mincho ProN", "Yu Mincho", "Noto Serif JP", "Noto Serif CJK JP", "Songti SC", serif; font-weight: 700;
	font-size: clamp(56px, 7vw, 96px); line-height: 1; color: var(--dc); opacity: .9; letter-spacing: .04em; writing-mode: horizontal-tb;
	transition: transform .4s ease; }
.fv-disc a:hover .fv-disc__kanji { transform: scale(1.06); }
.fv-disc__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.fv-disc a:hover .fv-disc__img img { transform: scale(1.04); }
.fv-disc__n { position: absolute; left: 12px; bottom: 10px; font-size: 13px; color: var(--fv-muted); z-index: 1; }
.fv-disc__img:has(img) .fv-disc__n { color: #fff; text-shadow: 0 1px 6px rgba(0,0,0,.5); }
@media (prefers-reduced-motion: reduce) { .fv-disc a:hover .fv-disc__kanji, .fv-disc a:hover .fv-disc__img img { transform: none; } }
