/* Bloques dinámicos del plugin con el diseño 2026 (usa los colores y tipos del tema fvaljudo-2026). */
.fv-eventos, .fv-clubes, .fv-plugin, .fv-area, .fv-entrada {
	--b-ink: var(--wp--preset--color--ink, #0E0E0E);
	--b-paper: var(--wp--preset--color--paper, #FFFFFF);
	--b-line: var(--wp--preset--color--line, #DADAD6);
	--b-muted: var(--wp--preset--color--muted, #5C5C58);
	--b-orange: var(--wp--preset--color--orange, #EF7F19);
	--b-orange-text: var(--wp--preset--color--orange-text, #A85200);
	--b-ok: var(--wp--preset--color--success, #1E6B3F);
	--b-display: var(--wp--preset--font-family--display, 'Archivo', system-ui, sans-serif);
}
.fv-bloque-aviso { margin: 0; padding: 20px 24px; background: var(--wp--preset--color--paper, #fff); border-left: 6px solid var(--wp--preset--color--line, #DADAD6); color: var(--wp--preset--color--text-2, #3A3A37); }
.fv-boton { display: inline-flex; align-items: center; min-height: 48px; padding: 0 20px; font-weight: 700; text-decoration: none; border: 2px solid var(--b-ink); }
.fv-boton--negro { background: var(--b-ink); color: var(--b-paper); }
.fv-boton--negro:hover, .fv-boton--negro:focus-visible { background: var(--wp--preset--color--text-2, #3A3A37); color: var(--b-paper); }
.fv-boton:focus-visible, .fv-chip:focus-visible, .fv-campo input:focus-visible { outline: 3px solid var(--b-orange-text); outline-offset: 2px; }

/* --- Próximos eventos --- */
.fv-eventos__lista { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.fv-evento { background: var(--b-paper); display: flex; flex-wrap: wrap; align-items: stretch; border-left: 6px solid var(--b-orange); }
.fv-evento.is-cerrada { border-left-color: var(--b-ink); }
.fv-evento__fecha { flex: 0 0 120px; padding: 20px 24px; display: flex; flex-direction: column; justify-content: center; border-right: 1px solid var(--b-line); }
.fv-evento__dia { font-family: var(--b-display); font-weight: 800; font-stretch: 75%; font-size: 56px; line-height: .9; }
.fv-evento__mes { font-size: 13px; font-weight: 700; letter-spacing: .1em; }
.fv-evento__cuerpo { flex: 999 1 320px; min-width: 0; padding: 20px 24px; display: flex; flex-direction: column; justify-content: center; gap: 6px; }
.fv-evento__meta { margin: 0; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--b-muted); }
.fv-evento__titulo { margin: 0; font-family: inherit; font-size: 21px; line-height: 1.25; font-weight: 700; text-transform: none; letter-spacing: 0; }
.fv-evento__plazo { margin: 0; font-size: 14px; color: var(--b-muted); display: inline-flex; align-items: center; gap: 6px; }
.fv-evento__accion { flex: 1 0 300px; padding: 20px 24px; display: flex; align-items: center; justify-content: flex-end; gap: 16px; flex-wrap: wrap; }
.fv-estado { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; }
.fv-estado--ok { color: var(--b-ok); }
.fv-estado--cerrada { color: var(--b-muted); }
@media (max-width: 599px) {
	.fv-eventos__lista > li:nth-child(n+4) { display: none; } /* 3 en móvil (diseño §5.1) */
	.fv-evento__fecha { flex-basis: 96px; padding: 16px; }
	.fv-evento__dia { font-size: 44px; }
	.fv-evento__accion { justify-content: flex-start; padding-top: 0; flex-basis: 100%; }
}

/* --- Buscador de clubes --- */
.fv-clubes { display: flex; flex-wrap: wrap; gap: 48px; }
.fv-clubes__panel { flex: 1 1 420px; min-width: 0; display: flex; flex-direction: column; gap: 20px; }
.fv-clubes__filtros { display: flex; flex-direction: column; gap: 20px; }
.fv-campo { display: flex; flex-direction: column; gap: 8px; border: 0; padding: 0; margin: 0; min-width: 0; }
.fv-campo > label, .fv-campo > legend { font-weight: 600; font-size: 14px; padding: 0; margin-bottom: 8px; }
.fv-campo > label { margin-bottom: 0; }
.fv-campo__buscar { position: relative; }
.fv-campo__buscar svg { position: absolute; left: 16px; top: 17px; color: var(--b-muted); width: 20px; height: 20px; }
.fv-campo__buscar input { width: 100%; box-sizing: border-box; font: inherit; min-height: 52px; padding: 0 16px 0 48px; border: 1px solid var(--b-ink); background: var(--b-paper); color: var(--b-ink); border-radius: 0; }
.fv-chips__lista { display: flex; flex-wrap: wrap; gap: 8px; }
.fv-chip { font: inherit; font-weight: 600; min-height: 44px; padding: 0 18px; background: var(--b-paper); color: var(--b-ink); border: 1px solid var(--b-ink); cursor: pointer; border-radius: 0; }
.fv-chip[aria-pressed="true"] { background: var(--b-ink); color: var(--b-paper); font-weight: 700; }
.fv-clubes__recuento { margin: 0; font-size: 14px; color: var(--b-muted); }
.fv-clubes__lista { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.fv-club { background: var(--b-paper); padding: 16px 20px; display: flex; flex-direction: column; gap: 4px; border-left: 4px solid transparent; }
.fv-club[hidden] { display: none; }
.fv-club__nombre { margin: 0; font-family: inherit; font-size: 17px; font-weight: 700; text-transform: none; letter-spacing: 0; line-height: 1.3; }
.fv-club__lugar { margin: 0; font-size: 14px; color: var(--b-muted); display: inline-flex; align-items: center; gap: 6px; }
.fv-clubes__vacio { margin: 0; padding: 16px 20px; background: var(--b-paper); }
.fv-clubes__vacio[hidden] { display: none; }
.fv-clubes:not(.is-compacto) .fv-clubes__lista { max-height: 720px; overflow-y: auto; }
.fv-clubes__mapa { flex: 1 1 420px; min-width: 0; min-height: 560px; background: var(--b-paper); border: 1px solid var(--b-line); z-index: 0; }
.fv-clubes__mapa[hidden] { display: none; }
.fv-clubes .leaflet-bar a { width: 44px; height: 44px; line-height: 44px; font-size: 22px; border-radius: 0; color: var(--b-ink); }
.fv-clubes .leaflet-bar { border-radius: 0; border: 1px solid var(--b-ink); }
.fv-pin span { display: block; width: 24px; height: 24px; background: var(--b-orange-text); border: 2px solid #fff; border-radius: 50% 50% 50% 0; transform: rotate(-45deg); box-shadow: 0 1px 3px rgba(0,0,0,.4); }
.fv-clubes .marker-cluster, .fv-clubes .marker-cluster div { background: var(--b-orange-text); color: #fff; font-weight: 700; }
.fv-clubes .marker-cluster { background: rgba(168,82,0,.35); }
@media (max-width: 599px) { .fv-clubes__mapa { min-height: 360px; } .fv-clubes { gap: 32px; } }

/* --- Consulta de licencia --- */
.fv-lic { --b-ink: var(--wp--preset--color--ink, #0E0E0E); --b-paper: var(--wp--preset--color--paper, #fff); --b-line: var(--wp--preset--color--line, #DADAD6); --b-muted: var(--wp--preset--color--muted, #5C5C58); --b-orange: var(--wp--preset--color--orange, #EF7F19); --b-orange-text: var(--wp--preset--color--orange-text, #A85200); --b-ok: var(--wp--preset--color--success, #1E6B3F); --b-err: var(--wp--preset--color--error, #B42318); --b-display: var(--wp--preset--font-family--display, 'Archivo', system-ui, sans-serif); display: flex; flex-direction: column; gap: 32px; }
.fv-lic__form { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 20px; align-items: end; background: var(--wp--preset--color--tatami, #F3F3F1); padding: 28px; }
.fv-lic__form input { font: inherit; min-height: 52px; padding: 0 14px; border: 1px solid var(--b-ink); background: var(--b-paper); color: var(--b-ink); width: 100%; box-sizing: border-box; border-radius: 0; }
.fv-lic__form input[aria-invalid="true"] { border: 2px solid var(--b-err); }
.fv-lic__form .fv-boton { min-height: 52px; justify-content: center; cursor: pointer; font: inherit; font-weight: 700; }
.fv-lic__error { grid-column: 1 / -1; margin: 0; color: var(--b-err); font-weight: 600; }
.fv-lic__trampa { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.fv-lic__nota { margin: 0; color: var(--b-muted); font-size: 14px; max-width: 70ch; }
.fv-lic__resultado { display: flex; flex-wrap: wrap; gap: 32px; align-items: flex-start; }
.fv-carne { flex: 1 1 380px; max-width: 480px; background: var(--b-ink); color: #fff; padding: 28px; display: flex; flex-direction: column; gap: 20px; overflow: hidden; }
.fv-carne__cab { display: flex; justify-content: space-between; gap: 16px; font-size: 13px; line-height: 1.15; }
.fv-carne__temp { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #BDBDB8; }
.fv-carne__id { display: flex; flex-direction: column; gap: 4px; }
.fv-carne__nombre { font-family: var(--b-display); font-weight: 800; font-stretch: 80%; font-size: 30px; line-height: 1; }
.fv-carne__club { font-size: 14px; color: #D4D4CF; }
.fv-carne__num { font-family: ui-monospace, monospace; font-size: 14px; margin-top: 6px; }
.fv-carne__datos { margin: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; font-size: 14px; }
.fv-carne__datos dt { color: #9A9A95; font-size: 12px; }
.fv-carne__datos dd { margin: 0; font-weight: 700; overflow-wrap: anywhere; }
.fv-carne__franja { height: 8px; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); margin: 0 -28px -28px; }
.fv-carne__franja span:nth-child(1) { background: #fff; } .fv-carne__franja span:nth-child(2) { background: #F2C230; } .fv-carne__franja span:nth-child(3) { background: #E8792B; } .fv-carne__franja span:nth-child(4) { background: #2E8B57; } .fv-carne__franja span:nth-child(5) { background: #1F4FA3; } .fv-carne__franja span:nth-child(6) { background: #7A4A2A; } .fv-carne__franja span:nth-child(7) { background: #3A3A37; }
.fv-lic__estado { flex: 1 1 280px; display: flex; flex-direction: column; gap: 16px; }
.fv-lic__estado p { margin: 0; color: var(--wp--preset--color--text-2, #3A3A37); }
.fv-sello { display: inline-flex !important; align-self: flex-start; align-items: center; gap: 8px; font-weight: 700; padding: 8px 14px; border: 2px solid currentColor; }
.fv-sello--ok { color: var(--b-ok) !important; } .fv-sello--off { color: var(--b-muted) !important; }
.fv-boton--naranja { background: var(--b-orange); color: var(--b-ink); border-color: var(--b-orange); }
.fv-boton--naranja:hover { background: #D96E0E; border-color: #D96E0E; color: var(--b-ink); }
.fv-tabla { overflow-x: auto; }
.fv-tabla table { width: 100%; min-width: 480px; border-collapse: collapse; font-size: 15px; }
.fv-tabla th, .fv-tabla td { text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--b-line); }
.fv-tabla thead th { border-bottom: 2px solid var(--b-ink); font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
@media (max-width: 599px) { .fv-lic__form { padding: 20px; } .fv-carne { padding: 20px; } .fv-carne__franja { margin: 0 -20px -20px; } .fv-carne__nombre { font-size: 26px; } }

/* --- Calendario y ficha de evento (§5.3, §5.4) --- */
.fv-cal { --b-ink: var(--wp--preset--color--ink, #0E0E0E); --b-paper: var(--wp--preset--color--paper, #fff); --b-line: var(--wp--preset--color--line, #DADAD6); --b-muted: var(--wp--preset--color--muted, #5C5C58); --b-orange: var(--wp--preset--color--orange, #EF7F19); --b-orange-text: var(--wp--preset--color--orange-text, #A85200); --b-ok: var(--wp--preset--color--success, #1E6B3F); --b-display: var(--wp--preset--font-family--display, 'Archivo', system-ui, sans-serif); display: flex; flex-direction: column; gap: 24px; }
.fv-cal__filtros { display: flex; flex-wrap: wrap; gap: 16px 32px; align-items: flex-end; background: var(--wp--preset--color--tatami, #F3F3F1); padding: 20px 24px; }
.fv-cal__filtros[hidden] { display: none; }
.fv-cal__abierta { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; font-weight: 600; }
.fv-cal__abierta input { width: 20px; height: 20px; accent-color: var(--b-ink); }
.fv-cal__barra { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; }
.fv-cal__recuento { margin: 0; color: var(--b-muted); }
.fv-ev__ical { font-weight: 700; display: inline-flex; align-items: center; min-height: 44px; color: var(--b-ink); }
.fv-cal__meses { display: flex; flex-direction: column; gap: 40px; }
.fv-cal__mes[hidden], .fv-cal li[hidden], .fv-cal__vacio[hidden] { display: none; }
.fv-cal__titulo-mes { font-family: var(--b-display); font-weight: 800; font-stretch: 75%; text-transform: uppercase; font-size: 32px; margin: 0 0 16px; padding-bottom: 8px; border-bottom: 2px solid var(--b-ink); }
.fv-cal .fv-evento { background: var(--b-paper); border: 1px solid var(--b-line); border-left: 6px solid var(--b-orange); }
.fv-cal .fv-evento.is-cerrada { border-left-color: var(--b-ink); }
.fv-evento__titulo a { color: inherit; text-decoration: none; }
.fv-evento__titulo a:hover { color: var(--b-orange-text); text-decoration: underline; }
.fv-boton:not(.fv-boton--negro):not(.fv-boton--naranja) { background: var(--wp--preset--color--paper, #fff); color: var(--wp--preset--color--ink, #0E0E0E); }
.fv-boton:not(.fv-boton--negro):not(.fv-boton--naranja):hover { background: var(--wp--preset--color--tatami, #F3F3F1); }
.fv-ev { display: flex; flex-direction: column; gap: 32px; }
.fv-ev__migas { margin: 0; } .fv-ev__migas a { font-weight: 700; color: var(--b-ink); }
.fv-ev__cab { background: var(--b-ink); color: #fff; padding: clamp(24px, 4vw, 48px); display: flex; flex-wrap: wrap; gap: 24px 48px; align-items: flex-end; }
.fv-ev__fecha { display: flex; flex-direction: column; }
.fv-ev__dia { font-family: var(--b-display); font-weight: 800; font-stretch: 75%; font-size: clamp(96px, 14vw, 160px); line-height: .8; color: var(--b-orange); }
.fv-ev__mes { font-weight: 700; letter-spacing: .1em; text-transform: uppercase; margin-top: 8px; }
.fv-ev__titulo { flex: 1 1 320px; min-width: 0; }
.fv-ev__titulo h2 { color: #fff; margin: 0 0 8px; font-size: var(--wp--preset--font-size--h-2, 48px); }
.fv-ev__meta { margin: 0 0 8px; font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #BDBDB8; }
.fv-ev__cuando { margin: 0; color: #D4D4CF; }
.fv-ev__cuerpo { display: flex; flex-wrap: wrap; gap: 48px; align-items: flex-start; }
.fv-ev__info { flex: 999 1 520px; min-width: 0; }
.fv-ev__info h3 { font-family: var(--b-display); font-weight: 800; font-stretch: 80%; text-transform: uppercase; font-size: 28px; margin: 32px 0 16px; }
.fv-ev__info h3:first-child { margin-top: 0; }
.fv-ev__datos { margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1px; background: var(--b-line); border: 1px solid var(--b-line); }
.fv-ev__datos div { background: var(--b-paper); padding: 16px 20px; }
.fv-ev__datos dt { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--b-muted); }
.fv-ev__datos dd { margin: 4px 0 0; font-weight: 700; font-size: 18px; }
.fv-ev__texto { margin-top: 24px; max-width: 72ch; }
.fv-ev__pesos { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 24px; }
.fv-ev__pesos h4 { margin: 0 0 8px; font-size: 16px; }
.fv-ev__pesos ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.fv-ev__pesos li { border: 1px solid var(--b-ink); padding: 6px 12px; font-weight: 700; font-variant-numeric: tabular-nums; }
.fv-ev__panel { flex: 1 1 300px; position: sticky; top: 96px; border: 2px solid var(--b-ink); padding: 24px; display: flex; flex-direction: column; gap: 14px; background: var(--b-paper); }
.fv-ev__panel p { margin: 0; }
.fv-ev__panel .fv-boton { justify-content: center; }
.fv-ev__dias { font-family: var(--b-display); font-weight: 800; font-stretch: 80%; font-size: 28px; }
@media (max-width: 1023px) { .fv-ev__panel { position: static; } }
.fv-evento__detalles { margin: 4px 0 0; display: flex; flex-wrap: wrap; gap: 4px 16px; font-size: 14px; color: var(--b-muted); }
.fv-evento__detalles span { display: inline-flex; align-items: center; gap: 6px; }
.fv-evento__plazo.is-urgente { color: var(--wp--preset--color--error, #B42318); font-weight: 700; }

/* --- Cifras --- */
.fv-cifras { margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 1px; background: var(--wp--preset--color--line, #DADAD6); border: 1px solid var(--wp--preset--color--line, #DADAD6); }
.fv-cifras div { background: var(--wp--preset--color--paper, #fff); padding: 20px 24px; display: flex; flex-direction: column-reverse; gap: 4px; }
.fv-cifras dd { margin: 0; font-family: var(--wp--preset--font-family--display, 'Archivo', sans-serif); font-weight: 800; font-stretch: 75%; font-size: 56px; line-height: .9; color: var(--wp--preset--color--orange-text, #A85200); font-variant-numeric: tabular-nums; }
.fv-cifras dt { font-weight: 600; color: var(--wp--preset--color--text-2, #3A3A37); }

/* Clubes: botón «Ver en el mapa», club activo y grupos de pines con el estilo de la web */
.fv-club { position: relative; }
.fv-club__ver { align-self: flex-start; margin-top: 6px; font: inherit; font-size: 14px; font-weight: 700; min-height: 40px; padding: 0 12px; display: inline-flex; align-items: center; gap: 6px; background: transparent; color: var(--b-ink); border: 1px solid var(--b-ink); cursor: pointer; }
.fv-club__ver:hover { background: var(--wp--preset--color--tatami, #F3F3F1); }
.fv-club.is-activo { border-left-color: var(--b-orange); }
.fv-clubes .marker-cluster { background: rgba(168, 82, 0, .25) !important; border-radius: 50%; }
.fv-clubes .marker-cluster div { width: 32px; height: 32px; margin: 4px 0 0 4px; border-radius: 50%; background: var(--b-orange-text) !important; color: #fff; font: 700 14px/32px var(--wp--preset--font-family--text, Inter, sans-serif); text-align: center; }
.fv-clubes .marker-cluster span { line-height: 32px; }
.fv-clubes .leaflet-popup-content { font: 15px/1.4 var(--wp--preset--font-family--text, Inter, sans-serif); }

/* --- Resultados --- */
.fv-res { display: flex; flex-wrap: wrap; gap: 48px; align-items: flex-start; }
.fv-res__filtros { flex: 1 1 260px; display: flex; flex-direction: column; gap: 12px; position: sticky; top: 96px; }
.fv-res__titulo-filtro { font-family: inherit !important; font-size: 13px !important; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--wp--preset--color--muted, #5C5C58); margin: 12px 0 0 !important; }
.fv-res .fv-chips__lista { display: flex; flex-wrap: wrap; gap: 8px; }
.fv-res__lista { flex: 999 1 560px; min-width: 0; }
.fv-res__mes { font-family: var(--wp--preset--font-family--display, 'Archivo', sans-serif); font-weight: 800; font-stretch: 75%; text-transform: uppercase; font-size: 28px; margin: 32px 0 8px; padding-bottom: 8px; border-bottom: 2px solid var(--wp--preset--color--ink, #0E0E0E); }
.fv-res__mes:first-child { margin-top: 0; }
.fv-res__items { list-style: none; margin: 0; padding: 0; }
.fv-res__item { display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--wp--preset--color--line, #DADAD6); }
.fv-res__item time { font-weight: 700; font-variant-numeric: tabular-nums; color: var(--wp--preset--color--muted, #5C5C58); }
.fv-res__cuerpo { display: flex; flex-direction: column; gap: 2px; }
.fv-res__disc { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--wp--preset--color--orange-text, #A85200); }
.fv-res__enlace { font-weight: 700; color: var(--wp--preset--color--ink, #0E0E0E); text-decoration: none; }
.fv-res__enlace:hover { text-decoration: underline; color: var(--wp--preset--color--orange-text, #A85200); }
.fv-res__pdf { min-height: 40px; padding: 0 14px; font-size: 14px; background: #fff; color: var(--wp--preset--color--ink, #0E0E0E); }
.fv-res__nota { color: var(--wp--preset--color--muted, #5C5C58); font-size: 14px; margin-top: 16px; }
@media (max-width: 1023px) { .fv-res__filtros { position: static; } }
@media (max-width: 599px) { .fv-res__item { grid-template-columns: 56px minmax(0, 1fr); } .fv-res__pdf { grid-column: 2; justify-self: start; } }
.fv-res__items--enlaces .fv-res__item { grid-template-columns: minmax(0, 1fr) auto; }
.fv-res__tipo { font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--wp--preset--color--muted, #5C5C58); border: 1px solid var(--wp--preset--color--line, #DADAD6); padding: 4px 8px; white-space: nowrap; }

/* --- Área privada (§5.7) --- */
.fv-area { display: flex; flex-direction: column; gap: 0; border: 1px solid var(--wp--preset--color--ink, #0E0E0E); }
.fv-area__cab { background: var(--wp--preset--color--ink, #0E0E0E); color: #fff; padding: 20px 24px; display: flex; flex-wrap: wrap; gap: 16px; align-items: center; justify-content: space-between; }
.fv-area__cab p { margin: 0; }
.fv-area__tipo { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--wp--preset--color--orange, #EF7F19); }
.fv-area__nombre { font-family: var(--wp--preset--font-family--display, 'Archivo', sans-serif); font-weight: 800; font-stretch: 80%; font-size: 26px; line-height: 1.1; }
.fv-area__datos { color: #BDBDB8; font-size: 14px; }
.fv-plugin .fv-area__salir, .fv-area__salir { background: transparent !important; color: #fff !important; border-color: #fff !important; min-height: 44px; }
.fv-area__cuerpo { display: flex; flex-wrap: wrap; align-items: stretch; }
.fv-area__menu { flex: 1 1 240px; max-width: 100%; background: var(--wp--preset--color--tatami, #F3F3F1); border-right: 1px solid var(--wp--preset--color--line, #DADAD6); }
.fv-area__menu ul { list-style: none; margin: 0; padding: 8px 0; }
.fv-area__menu a { display: block; padding: 12px 20px; font-weight: 600; color: var(--wp--preset--color--ink, #0E0E0E); text-decoration: none; border-left: 4px solid transparent; }
.fv-area__menu a:hover { background: #fff; }
.fv-area__menu a[aria-current="page"] { border-left-color: var(--wp--preset--color--orange, #EF7F19); background: #fff; font-weight: 700; }
.fv-area__contenido { flex: 999 1 520px; min-width: 0; padding: clamp(16px, 3vw, 32px); display: flex; flex-direction: column; gap: 24px; }
.fv-area__contenido .form-horizontal { max-width: none; }
.fv-area__titulo { margin: 0; font-family: var(--wp--preset--font-family--display, 'Archivo', sans-serif); font-weight: 800; font-stretch: 75%; text-transform: uppercase; font-size: 36px; }
.fv-area__indicadores { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; }
.fv-area__ind { display: flex; flex-direction: column; gap: 6px; padding: 20px; border: 1px solid var(--wp--preset--color--line, #DADAD6); border-top: 6px solid var(--wp--preset--color--ink, #0E0E0E); text-decoration: none; color: var(--wp--preset--color--ink, #0E0E0E); background: #fff; font-weight: 600; }
.fv-area__ind:hover { background: var(--wp--preset--color--tatami, #F3F3F1); }
.fv-area__ind.is-ok { border-top-color: var(--wp--preset--color--success, #1E6B3F); }
.fv-area__ind.is-aviso { border-top-color: var(--wp--preset--color--error, #B42318); }
.fv-area__num { font-family: var(--wp--preset--font-family--display, 'Archivo', sans-serif); font-weight: 800; font-stretch: 75%; font-size: 48px; line-height: 1; font-variant-numeric: tabular-nums; }
.fv-area__acciones { display: flex; flex-wrap: wrap; gap: 12px; }
@media (max-width: 799px) { .fv-area__menu { border-right: 0; border-bottom: 1px solid var(--wp--preset--color--line, #DADAD6); } .fv-area__menu ul { display: flex; overflow-x: auto; padding: 0; } .fv-area__menu a { white-space: nowrap; border-left: 0; border-bottom: 4px solid transparent; } .fv-area__menu a[aria-current="page"] { border-bottom-color: var(--wp--preset--color--orange, #EF7F19); } }
.is-layout-constrained > .fv-plugin:has(.fv-area), .wp-block-post-content > .fv-plugin:has(.fv-area) { max-width: 1280px !important; }

/* Entrada al área privada (sin sesión) */
.fv-entrada { display: flex; flex-wrap: wrap; gap: 32px; align-items: stretch; max-width: 1120px; margin: 0 auto; padding-block: clamp(24px, 5vw, 64px); }
.fv-entrada__acceso { flex: 3 1 420px; min-width: 0; background: var(--wp--preset--color--tatami, #F3F3F1); border-top: 6px solid var(--wp--preset--color--orange, #EF7F19); padding: clamp(24px, 4vw, 40px); display: flex; flex-direction: column; gap: 16px; }
.fv-entrada__acceso .fv-plugin { gap: 16px; }
.fv-entrada__acceso .form-horizontal { background: none; padding: 0; max-width: none; }
.fv-entrada__ayuda { margin: 0; color: var(--wp--preset--color--text-2, #3A3A37); max-width: 60ch; }
.fv-entrada__info { flex: 2 1 280px; display: flex; flex-direction: column; gap: 20px; padding: clamp(8px, 2vw, 24px) 0; }
.fv-entrada__info h3 { font-family: var(--wp--preset--font-family--text, Inter, sans-serif); text-transform: none; letter-spacing: 0; font-size: 19px; margin: 0 0 6px; }
.fv-entrada__info p { margin: 0; color: var(--wp--preset--color--text-2, #3A3A37); }
.fv-entrada__info a:not(.fv-boton) { font-weight: 700; color: var(--wp--preset--color--ink, #0E0E0E); }
.fv-entrada__info .fv-boton { margin-top: 10px; }
.fv-entrada__tel { font-weight: 700; color: var(--wp--preset--color--ink, #0E0E0E) !important; }
/* En la entrada, los enlaces del formulario en una fila ordenada */
.fv-entrada__acceso .col-sm-offset-2 { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 20px; line-height: 1.4; }
.fv-entrada__acceso .col-sm-offset-2 br { display: none; }
.fv-entrada__acceso .col-sm-offset-2 .btn { margin: 0; flex-basis: 100%; max-width: 220px; }
.fv-entrada__acceso .col-sm-offset-2 a { font-size: 15px; }
.fv-entrada__acceso .col-sm-offset-2 strong { flex-basis: 100%; }
/* Aire alrededor del área privada y de la entrada */
.fv-plugin:has(> .fv-area) { margin-top: clamp(32px, 5vw, 64px) !important; margin-bottom: clamp(48px, 6vw, 88px) !important; }
.fv-area__salir { border: 2px solid #fff !important; }
.fv-area__salir:hover { background: #fff !important; color: var(--wp--preset--color--ink, #0E0E0E) !important; }
.fv-area__subtitulo { margin: 8px 0 0; font-family: var(--wp--preset--font-family--text, Inter, sans-serif) !important; text-transform: none !important; letter-spacing: 0; font-size: 19px !important; }

/* Área privada · Mis licencias y cinturones */
.fv-mislic { display: flex; flex-direction: column; gap: 32px; }
.fv-mislic .fv-carne { flex: 1 1 340px; max-width: 460px; }
.fv-mislic__descargas { border-top: 1px solid var(--b-line); padding-top: 14px; }
.fv-mislic__etq { margin: 0 0 6px !important; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--b-muted) !important; }
.fv-mislic__descargas ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.fv-mislic__descargas a { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 0 14px; border: 1px solid var(--b-line); font-weight: 600; font-size: 15px; color: var(--b-ink); text-decoration: none; background: var(--b-paper); }
.fv-mislic__descargas a::before { content: "↓"; font-weight: 800; color: var(--b-orange-text); }
.fv-mislic__descargas a:hover { border-color: var(--b-ink); }
.fv-cint { flex: none; display: inline-block; width: 44px; height: 14px; border: 1px solid rgba(14,14,14,.35); background: linear-gradient(90deg, var(--c1) 0 50%, var(--c2) 50% 100%); }
.fv-grados { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; }
.fv-grados__dep { border: 1px solid var(--b-line); background: var(--b-paper); padding: 18px 20px; }
.fv-grados__dep h4 { margin: 0 0 12px; font-family: var(--wp--preset--font-family--text, Inter, sans-serif); text-transform: none; letter-spacing: 0; font-size: 17px; }
.fv-grados__lista { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.fv-grados__lista li { display: grid; grid-template-columns: auto 1fr; column-gap: 12px; align-items: center; padding: 8px 0; border-top: 1px solid var(--b-line); }
.fv-grados__lista li:first-child { border-top: 0; }
.fv-grados__lista .fv-cint { grid-row: span 2; }
.fv-grados__nombre { font-weight: 600; }
.fv-grados__lista li.is-actual .fv-grados__nombre { font-weight: 800; }
.fv-grados__actual { margin-left: 6px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--b-orange-text); }
.fv-grados__fecha { font-size: 14px; color: var(--b-muted); }
.fv-sols { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--b-line); }
.fv-sols__item { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px 16px; padding: 14px 0; border-bottom: 1px solid var(--b-line); }
.fv-sols__item p { margin: 0; }
.fv-sols__que { font-weight: 700; }
.fv-sols__fecha, .fv-sols__nota { font-size: 14px; color: var(--b-muted); }
.fv-sols__nota { font-style: italic; }
.fv-estado { display: inline-flex; align-items: center; min-height: 28px; padding: 0 10px; font-size: 13px; font-weight: 700; border: 1px solid currentColor; }
.fv-estado--ok { color: var(--b-ok); } .fv-estado--err { color: var(--wp--preset--color--error, #B42318); } .fv-estado--pend { color: var(--b-orange-text); }
.fv-area__vacio { margin: 0; color: var(--b-muted); }

/* Área privada · Mis inscripciones */
.fv-insc { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--b-line); }
.fv-insc__item { display: flex; gap: 16px; align-items: flex-start; padding: 16px 0; border-bottom: 1px solid var(--b-line); }
.fv-insc__fecha { flex: 0 0 72px; display: flex; flex-direction: column; align-items: center; padding: 8px 4px; background: var(--b-ink); color: #fff; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; line-height: 1.2; }
.fv-insc__dia { font-family: var(--b-display); font-stretch: 75%; font-weight: 800; font-size: 30px; line-height: 1; letter-spacing: 0; }
.fv-insc--pasados .fv-insc__fecha { background: var(--wp--preset--color--tatami, #F3F3F1); color: var(--b-ink); }
.fv-insc__datos { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.fv-insc__titulo { font-weight: 700; font-size: 18px; color: var(--b-ink); text-decoration: none; }
.fv-insc__titulo:hover { text-decoration: underline; }
.fv-insc__meta { margin: 0; font-size: 14px; color: var(--b-muted); }
.fv-insc__personas summary { cursor: pointer; font-weight: 600; font-size: 15px; color: var(--b-orange-text); padding: 4px 0; }
.fv-insc__personas .fv-tabla { margin-top: 8px; }

/* Área privada · Eventos e inscripciones */
.fv-area__intro { margin: -8px 0 0; color: var(--wp--preset--color--text-2, #3A3A37); max-width: 70ch; }
.fv-insc--eventos .fv-insc__item { flex-wrap: wrap; align-items: center; }
.fv-insc__plazo { margin: 2px 0 0; font-size: 14px; font-weight: 700; color: var(--b-ink); }
.fv-insc__plazo.is-urgente { color: var(--wp--preset--color--error, #B42318); }
.fv-insc__acciones { display: flex; flex-wrap: wrap; gap: 8px; margin-left: auto; }
@media (max-width: 599px) { .fv-insc__acciones { flex-basis: 100%; margin-left: 88px; } }

/* Formularios del área privada (diseño 2026) */
.fv-form { display: flex; flex-direction: column; gap: 20px; max-width: 480px; }
.fv-form p { margin: 0; }
.fv-form .fv-campo input { font: inherit; min-height: 52px; padding: 0 16px; border: 1px solid var(--b-ink); background: var(--b-paper); color: var(--b-ink); border-radius: 0; width: 100%; box-sizing: border-box; }
.fv-campo__ayuda { margin: 0; font-size: 14px; color: var(--b-muted); }
.fv-check { display: inline-flex; align-items: center; gap: 10px; font-size: 15px; cursor: pointer; }
.fv-check input { width: 20px; height: 20px; accent-color: var(--b-ink); }
.fv-form .fv-boton { cursor: pointer; font: inherit; font-weight: 700; }
.fv-aviso { padding: 14px 18px; border-left: 6px solid; background: var(--b-paper); font-weight: 600; }
.fv-aviso--ok { border-color: var(--b-ok); color: var(--b-ok); background: #EEF6F0; }
.fv-aviso--err { border-color: var(--wp--preset--color--error, #B42318); color: var(--wp--preset--color--error, #B42318); background: #FDF0EE; }
/* Campo de contraseña con botón «Mostrar» dentro */
.fv-pw-caja { position: relative; display: block; }
.fv-form .fv-pw-caja input { padding-right: 96px; }
.fv-pw-ver { position: absolute; top: 6px; right: 6px; bottom: 6px; min-width: 80px; padding: 0 12px; border: 0; background: var(--wp--preset--color--tatami, #F3F3F1); color: var(--b-ink); font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; }
.fv-pw-ver:hover { background: var(--b-line); }
.fv-pw-ver:focus-visible { outline: 3px solid var(--b-orange-text); outline-offset: 1px; }

/* Área privada · Datos de la licencia */
.fv-form--ancho { max-width: 720px; }
.fv-form__fila { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 20px; }
.fv-form .fv-campo select { font: inherit; min-height: 52px; padding: 0 12px; border: 1px solid var(--b-ink); background: var(--b-paper); color: var(--b-ink); border-radius: 0; width: 100%; }
.fv-form .fv-campo [aria-invalid="true"] { border: 2px solid var(--wp--preset--color--error, #B42318); }
.fv-form .fv-area__subtitulo { margin-top: 8px !important; }
.fv-aviso ul { margin: 8px 0 0; padding-left: 20px; font-weight: 400; }
.fv-aviso a { color: inherit; font-weight: 700; }
.fv-ficha { display: flex; flex-direction: column; gap: 12px; }
.fv-ficha dl { margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1px; background: var(--b-line); border: 1px solid var(--b-line); }
.fv-ficha dl > div { background: var(--b-paper); padding: 12px 16px; }
.fv-ficha dt { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--b-muted); }
.fv-ficha dd { margin: 4px 0 0; font-weight: 600; }
.fv-ficha__falta { color: var(--b-orange-text); font-weight: 600; }

/* Área de clubes · Licencias del club */
.fv-filtros { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px 16px; padding: 16px; background: var(--wp--preset--color--tatami, #F3F3F1); }
.fv-filtros .fv-campo { flex: 1 1 180px; }
.fv-filtros .fv-campo:first-child { flex: 2 1 260px; }
.fv-filtros input, .fv-filtros select { font: inherit; min-height: 48px; padding: 0 12px; border: 1px solid var(--b-ink); background: var(--b-paper); color: var(--b-ink); border-radius: 0; width: 100%; box-sizing: border-box; }
.fv-filtros .fv-boton { min-height: 48px; cursor: pointer; font: inherit; font-weight: 700; }
.fv-lc__barra { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; }
.fv-lc__barra p { margin: 0; font-weight: 700; }
.fv-lc table { min-width: 720px; }
.fv-lc tbody tr:hover { background: var(--wp--preset--color--tatami, #F3F3F1); }
.fv-lc__num { font-family: ui-monospace, monospace; font-size: 14px; }
.fv-lc__grado { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
.fv-lc__grado .fv-cint { width: 28px; height: 10px; }

/* Primera licencia (diseño §5.2) */
.fv-pl__suelta { max-width: 880px; margin: clamp(24px, 4vw, 56px) auto; display: flex; flex-direction: column; gap: 24px; }
.fv-pasos { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 24px; counter-reset: none; }
.fv-pasos li { display: inline-flex; align-items: center; gap: 10px; font-weight: 600; color: var(--b-muted); }
.fv-pasos li span { display: inline-grid; place-items: center; width: 32px; height: 32px; border: 2px solid currentColor; font-weight: 800; }
.fv-pasos li[aria-current="step"] { color: var(--b-ink); }
.fv-pasos li[aria-current="step"] span { background: var(--b-orange); border-color: var(--b-orange); color: var(--b-ink); }
.fv-pasos li.is-hecho { color: var(--b-ok); }
.fv-pl { gap: 28px; }
.fv-pl__paso { border: 1px solid var(--b-line); border-top: 4px solid var(--b-ink); padding: clamp(16px, 3vw, 28px); margin: 0; display: flex; flex-direction: column; gap: 18px; min-width: 0; background: var(--b-paper); }
.fv-pl__paso[hidden] { display: none; }
.fv-pl__paso > legend { display: flex; align-items: center; gap: 12px; padding: 0 8px; margin-left: -8px; font-family: var(--b-display); font-weight: 800; font-stretch: 80%; font-size: 24px; text-transform: uppercase; }
.fv-pl__num { display: inline-grid; place-items: center; width: 36px; height: 36px; background: var(--b-ink); color: #fff; font-size: 18px; }
.fv-segmentos { display: flex; flex-wrap: wrap; gap: 8px; }
.fv-segmentos label { display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 0 16px; border: 1px solid var(--b-ink); background: var(--b-paper); cursor: pointer; font-weight: 600; }
.fv-segmentos label:has(input:checked) { background: var(--b-ink); color: #fff; }
.fv-segmentos input { accent-color: var(--b-orange); width: 18px; height: 18px; }
.fv-segmentos--grande label { min-height: 56px; flex: 1 1 240px; }
.fv-campo legend { font-weight: 600; font-size: 14px; margin-bottom: 8px; }
.fv-campo__error { margin: 0; font-size: 14px; font-weight: 600; color: var(--wp--preset--color--error, #B42318); }
.fv-campo.is-error input, .fv-campo.is-error select { border: 2px solid var(--wp--preset--color--error, #B42318) !important; }
.fv-check[hidden] { display: none; }
.fv-consent label { display: flex; gap: 12px; align-items: flex-start; cursor: pointer; line-height: 1.5; }
.fv-consent input { flex: none; width: 22px; height: 22px; margin-top: 2px; accent-color: var(--b-ink); }
.fv-consent.is-error label { color: var(--wp--preset--color--error, #B42318); }
.fv-consent__ob { font-weight: 700; color: var(--b-orange-text); }
.fv-pl__legal { padding: 14px 16px; background: var(--wp--preset--color--tatami, #F3F3F1); font-size: 14px; line-height: 1.6; }
.fv-pl__legal p { margin: 0; }
.fv-pl__colegio { border-left: 4px solid var(--b-orange); padding-left: 16px; display: flex; flex-direction: column; gap: 16px; }
.fv-pl__marca { margin: 0 !important; font-weight: 800; color: var(--b-orange-text); }
.fv-pl__siguiente { min-height: 56px; padding: 0 28px; }
.fv-pl__precio { display: flex; flex-wrap: wrap; gap: 16px 40px; align-items: center; padding: 24px; background: var(--b-ink); color: #fff; }
.fv-pl__precio .fv-mislic__etq { color: #BDBDB8 !important; }
.fv-pl__total { margin: 0; font-family: var(--b-display); font-weight: 800; font-stretch: 75%; font-size: 56px; line-height: 1; }
.fv-pl__precio ul { list-style: none; margin: 0; padding: 0; flex: 1 1 260px; display: flex; flex-direction: column; gap: 6px; font-size: 15px; color: #D4D4CF; }
.fv-pl__precio li { display: flex; justify-content: space-between; gap: 16px; border-bottom: 1px solid #333330; padding-bottom: 6px; }
.fv-pl__confirmar, .fv-pl__corregir { display: inline-block; margin-right: 8px; }
.fv-pl__confirmar .fv-boton, .fv-pl__corregir .fv-boton { cursor: pointer; font: inherit; font-weight: 700; min-height: 52px; }
.fv-pl__pago { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 16px; }
.fv-pl__pago section { border: 1px solid var(--b-line); padding: 20px; display: flex; flex-direction: column; gap: 12px; background: var(--b-paper); }
.fv-pl__pago .fv-boton { cursor: pointer; font: inherit; font-weight: 700; }
.fv-pl__banco { margin: 0; display: flex; flex-direction: column; gap: 10px; }
.fv-pl__banco dt { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--b-muted); }
.fv-pl__banco dd { margin: 2px 0 0; font-weight: 700; user-select: all; }
.fv-pl__total-linea { font-size: 20px; margin: 0; }

/* Primera licencia · v2: más ancho, en dos columnas y más compacto */
.is-layout-constrained > .fv-plugin:has(.fv-pl__suelta), .wp-block-post-content > .fv-plugin:has(.fv-pl__suelta) { max-width: 1240px !important; }
.fv-pl__suelta { max-width: none; gap: 20px; }
ol.fv-pasos { display: flex !important; flex-direction: row !important; flex-wrap: wrap; gap: 8px 28px !important; padding: 0 !important; }
ol.fv-pasos li { margin: 0 !important; }
.fv-pl__cols { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 32px; align-items: start; }
@media (max-width: 959px) { .fv-pl__cols { grid-template-columns: 1fr; } .fv-pl__lado { order: -1; } }
.fv-pl__lado { position: sticky; top: 24px; }
.fv-pl__ayuda { background: var(--wp--preset--color--tatami, #F3F3F1); border-top: 6px solid var(--b-orange); padding: 20px 22px; display: flex; flex-direction: column; gap: 10px; font-size: 15px; }
.fv-pl__ayuda h3 { margin: 6px 0 0; font-family: var(--wp--preset--font-family--text, Inter, sans-serif); text-transform: none; letter-spacing: 0; font-size: 16px; }
.fv-pl__ayuda ul, .fv-pl__ayuda ol { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 4px; }
.fv-pl__ayuda p { margin: 0; }
.fv-pl__ayuda a { font-weight: 700; color: var(--b-ink); }
.fv-form.fv-pl { max-width: none; gap: 20px; }
.fv-pl__paso { gap: 14px; padding: 20px 24px 24px; }
.fv-pl__tit { display: flex; align-items: center; gap: 12px; margin: 0 0 4px; font-family: var(--b-display); font-weight: 800; font-stretch: 80%; font-size: 22px; text-transform: uppercase; line-height: 1.1; }
.fv-pl__num { width: 32px; height: 32px; font-size: 16px; flex: none; }
.fv-pl .fv-form__fila { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 16px; }
.fv-pl .fv-form__fila--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.fv-pl .fv-form__fila--dom { grid-template-columns: minmax(0, 3fr) minmax(0, 1fr); }
@media (max-width: 639px) { .fv-pl .fv-form__fila, .fv-pl .fv-form__fila--3, .fv-pl .fv-form__fila--dom { grid-template-columns: 1fr; } }
.fv-pl .fv-campo { gap: 6px; }
.fv-pl .fv-campo input, .fv-pl .fv-campo select { min-height: 46px; }
.fv-form .fv-campo select, .fv-filtros select { -webkit-appearance: none; appearance: none; padding-right: 40px; background: var(--b-paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%230E0E0E' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 14px center; }
.fv-pl__paso--tutor { border-top-color: var(--b-orange); background: #FFF8F1; }
.fv-pl__siguiente { align-self: flex-start; }

/* Fechas en tres desplegables (js/area.js), en toda la web */
.fv-fecha { display: grid; grid-template-columns: minmax(64px, .8fr) minmax(110px, 1.6fr) minmax(80px, 1fr); gap: 8px; width: 100%; }
.fv-fecha select { font: inherit; font-size: 16px; min-height: 48px; width: 100%; padding: 0 32px 0 12px; border: 1px solid var(--wp--preset--color--ink, #0E0E0E); border-radius: 0; color: var(--wp--preset--color--ink, #0E0E0E); -webkit-appearance: none; appearance: none; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%230E0E0E' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 12px center; cursor: pointer; }
.fv-fecha select:focus-visible { outline: 3px solid var(--wp--preset--color--orange-text, #A85200); outline-offset: 1px; }
.fv-fecha.is-error select, .fv-fecha select[aria-invalid="true"] { border: 2px solid var(--wp--preset--color--error, #B42318); }
.fv-pl .fv-fecha select { min-height: 46px; }
.form-horizontal .fv-fecha select { min-height: 40px; }
.fv-form__fila[hidden] { display: none !important; }
/* Fecha: más ancha en su fila y el año sin cortarse */
.fv-pl .fv-form__fila--fecha { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) minmax(0, 1fr); }
@media (max-width: 639px) { .fv-pl .fv-form__fila--fecha { grid-template-columns: 1fr; } }
.fv-fecha { grid-template-columns: minmax(58px, 68px) minmax(96px, 1fr) minmax(84px, 92px); gap: 6px; }
.fv-fecha select { padding: 0 26px 0 10px; background-position: right 9px center; }
/* Casilla pequeña bajo el DNI */
.fv-plugin label.fv-check--peq { display: flex !important; flex-direction: row !important; align-items: center; justify-content: flex-start; gap: 8px; margin: 4px 0 0; font-size: 14px; font-weight: 500; text-align: left; }
.fv-plugin label.fv-check--peq[hidden] { display: none !important; }
.fv-check--peq input { flex: none; width: 18px !important; height: 18px !important; margin: 0 !important; display: inline-block !important; }
/* Botones de elección (madre/padre/tutor, sí/no, categoría): el círculo no pisa el borde */
.fv-segmentos label { padding: 0 18px 0 14px; gap: 10px; }
.fv-segmentos input[type="radio"] { margin: 0 !important; flex: none; position: static !important; }
.fv-campo__ayuda[hidden] { display: none !important; }

/* Buscador de clubes: dirección, teléfono y correo */
.fv-club__contacto { list-style: none; margin: 6px 0 0; padding: 0; display: flex; flex-direction: column; gap: 2px; font-size: 14px; }
.fv-club__contacto a { color: var(--b-ink); text-decoration: underline; text-decoration-color: var(--b-line); text-underline-offset: 3px; word-break: break-word; }
.fv-club__contacto a:hover { text-decoration-color: currentColor; }

/* Área de clubes · Actas de examen */
.fv-actas { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--b-line); }
.fv-actas__item { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; padding: 14px 0; border-bottom: 1px solid var(--b-line); }
.fv-actas__datos { flex: 1 1 280px; min-width: 0; }
.fv-actas__datos p { margin: 0; }
.fv-actas__titulo { font-weight: 700; font-size: 17px; }
.fv-actas__acciones { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.fv-actas__acciones form { margin: 0; }
.fv-actas__acciones .fv-boton { min-height: 42px; padding: 0 14px; }
.fv-actas__n { display: inline-grid; place-items: center; min-width: 26px; height: 26px; padding: 0 6px; margin-left: 6px; background: var(--b-ink); color: #fff; font-size: 13px; vertical-align: middle; }
.fv-lote__quitar { min-height: 42px; padding: 0 12px; border: 1px solid var(--wp--preset--color--error, #B42318); background: none; color: var(--wp--preset--color--error, #B42318); font: inherit; font-weight: 700; font-size: 14px; cursor: pointer; }
.fv-lote__quitar:hover { background: #FDF0EE; }
.fv-filtros .fv-campo--ano { flex: 0 1 120px; }
.fv-area__mia { margin: -8px 0 0; padding: 10px 14px; border-left: 4px solid; background: var(--wp--preset--color--tatami, #F3F3F1); font-size: 15px; }
.fv-area__mia.is-ok { border-color: var(--wp--preset--color--success, #1E6B3F); }
.fv-area__mia.is-aviso { border-color: var(--wp--preset--color--error, #B42318); }
.fv-area__mia a { font-weight: 700; color: var(--wp--preset--color--ink, #0E0E0E); }

/* Pestañas de estado (Solicitudes) y nombres con nº de licencia en tablas */
.fv-pestanas { display: flex; flex-wrap: wrap; gap: 0; border-bottom: 2px solid var(--b-ink); }
.fv-pestanas a { display: inline-flex; align-items: center; gap: 8px; min-height: 46px; padding: 0 18px; font-weight: 700; color: var(--b-muted); text-decoration: none; border: 2px solid transparent; border-bottom: 0; margin-bottom: -2px; }
.fv-pestanas a span { display: inline-grid; place-items: center; min-width: 24px; height: 22px; padding: 0 6px; font-size: 12px; background: var(--wp--preset--color--tatami, #F3F3F1); color: var(--b-ink); }
.fv-pestanas a:hover { color: var(--b-ink); }
.fv-pestanas a[aria-current="page"] { color: var(--b-ink); background: var(--b-paper); border-color: var(--b-ink); border-bottom: 2px solid var(--b-paper); }
.fv-pestanas a[aria-current="page"] span { background: var(--b-orange); }
.fv-lote__lic { display: block; font-family: ui-monospace, monospace; font-size: 13px; font-weight: 400; color: var(--b-muted); }
.fv-tabla .fv-sols__nota { display: block; font-size: 13px; }

/* Área de clubes · Informe de kyus */
.fv-camino { display: inline-flex; flex-wrap: wrap; gap: 3px; }
.fv-camino .fv-cint { width: 22px; height: 10px; }
.fv-lc tr.is-caducada th, .fv-lc tr.is-caducada td { color: var(--b-muted); }
.fv-filtros .fv-check--peq { align-self: center; min-height: 48px; }

/* Paginación de los listados del área */
.fv-pag { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 8px; }
.fv-pag a, .fv-pag span { display: inline-grid; place-items: center; min-width: 42px; min-height: 42px; padding: 0 12px; border: 1px solid var(--b-line); font-weight: 700; text-decoration: none; color: var(--b-ink); background: var(--b-paper); }
.fv-pag a:hover { border-color: var(--b-ink); }
.fv-pag span[aria-current="page"] { background: var(--b-ink); color: #fff; border-color: var(--b-ink); }
.fv-pag .is-off { color: var(--b-line); }
.fv-pag .fv-pag__hueco { border: 0; min-width: 20px; padding: 0; background: none; }
/* «Modificar» y demás botones negros: texto blanco siempre (el tema pintaba los enlaces en negro) */
.fv-plugin a.fv-boton--negro, .fv-plugin a.fv-boton--negro:visited { color: #fff !important; }

/* Buscador en listas largas (renovar: elegir deportista) */
.fv-buscable__q { font: inherit; min-height: 48px; padding: 0 14px; border: 1px solid var(--b-ink); border-bottom: 0; border-radius: 0; width: 100%; box-sizing: border-box; background: var(--b-paper); }
.fv-form .fv-campo select.fv-buscable { min-height: 0; height: auto; padding: 4px 0; background-image: none; }
select.fv-buscable option { padding: 8px 12px; }
select.fv-buscable optgroup { font-weight: 700; font-style: normal; padding: 6px 0 2px; }
/* Botones en fila y fichas sin huecos grises */
.fv-fila-botones { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.fv-fila-botones form { margin: 0; }
.fv-fila-botones .fv-boton { min-height: 52px; }
.fv-ficha dl { gap: 0; background: none; border: 0; border-top: 1px solid var(--b-line); border-left: 1px solid var(--b-line); }
.fv-ficha dl > div { border-right: 1px solid var(--b-line); border-bottom: 1px solid var(--b-line); }
/* Pantallas de acceso (iniciar sesión, crear contraseña, recuperar) */
.fv-acceso .fv-form { display: flex; flex-direction: column; gap: 18px; max-width: none; background: none; padding: 0; }
.fv-acceso .fv-fila-botones { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; }
.fv-acceso .fv-fila-botones a:not(.fv-boton) { font-weight: 700; color: var(--b-ink); }
.fv-acceso .fv-pl__tit:not(:first-child) { margin-top: 12px; }
.fv-trampa { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.fv-entrada__acceso .fv-form { display: flex; flex-direction: column; gap: 16px; background: none; padding: 0; max-width: none; }
.fv-entrada__acceso .fv-fila-botones { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; }
.fv-entrada__acceso .fv-fila-botones a:not(.fv-boton) { font-weight: 700; color: var(--b-ink); }
/* Acta de examen (crear / modificar) */
.fv-acta { display: flex; flex-direction: column; gap: 18px; max-width: none; }
.fv-acta .fv-tabla td { vertical-align: middle; }
.fv-acta .fv-tabla select { width: 100%; min-width: 0; min-height: 44px; font: inherit; }
.fv-acta .fv-tabla td:first-child { min-width: 260px; }
.fv-acta .fv-tabla td:nth-child(2) { min-width: 150px; }
.fv-segmentos--peq { flex-wrap: nowrap; gap: 4px; }
.fv-segmentos--peq label { min-height: 40px; padding: 0 10px; font-size: 14px; white-space: nowrap; }
.fv-acta .fv-fila-botones { display: flex; flex-wrap: wrap; gap: 12px; }
.fv-acta input[readonly] { background: var(--wp--preset--color--tatami, #F3F3F1); }
/* Primera licencia: lista de errores con enlace a cada campo */
.fv-aviso--err p { margin: 0; font-weight: 700; }
.fv-aviso__lista { margin: 6px 0 0; padding-left: 20px; font-weight: 400; }
.fv-aviso__lista a { color: inherit; text-decoration: underline; font-weight: 700; }
.fv-pl [id$="_bloque"] { scroll-margin-top: 120px; }
/* Renovar: completar los datos que faltan */
.fv-form__rejilla { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px 20px; margin: 16px 0 20px; }
