/*
 * Turismo Sacedón — estilos del tema.
 *
 * Traslado fiel de la portada v3 aprobada (docs/diseno/v3/fuentes/portada.tpl.html) a la
 * estructura de bloques de WordPress. Tamaños de letra en rem (1rem = 16px) para respetar
 * la configuración del usuario; medidas de maquetación en px como en la maqueta.
 * Puntos de cambio de la v3: 1100 px (tableta), 900 px y 760 px (móvil).
 */

/* ---------- Variables (alias de la paleta de theme.json) ---------- */
:root {
	--navy: var(--wp--preset--color--navy, #0b2e3c);
	--lago: var(--wp--preset--color--lago, #1f6a7e);
	--lago-c: var(--wp--preset--color--lago-claro, #dcecef);
	--oliva: var(--wp--preset--color--oliva, #556a37);
	--arena: var(--wp--preset--color--arena, #efe6d6);
	--crema: var(--wp--preset--color--crema, #faf7f1);
	--crema-2: var(--wp--preset--color--crema-2, #f4efe5);
	--salvia: var(--wp--preset--color--salvia, #e8eee2);
	--bosque: var(--wp--preset--color--bosque, #24453c);
	--tinta: var(--wp--preset--color--tinta, #1b2a31);
	--gris: var(--wp--preset--color--gris, #56636a);
	--linea: var(--wp--preset--color--linea, #e3dccd);
	--serif: Fraunces, Georgia, "Times New Roman", serif;
	--sans: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
	--foco: #ffd54a;
	--foco-contorno: #12161f;
	--r: 20px;
	--sec: 96px;
	--barra-admin: var(--wp-admin--admin-bar--height, 0px);
}

/* ---------- Base ---------- */
html { scroll-padding-top: calc(96px + var(--barra-admin)); } /* la cabecera fija no tapa el foco (WCAG 2.4.11) */
body {
	margin: 0;
	font-family: var(--sans);
	color: var(--tinta);
	background: var(--crema);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
*, *::before, *::after { box-sizing: border-box; }
:where(.wp-site-blocks) :where(h1, h2, h3, h4, h5, h6, p, ul, ol, li, figure, blockquote) { margin: 0; padding: 0; }
:where(.wp-site-blocks) img { max-width: 100%; }
:where(.sc-barra, .sc-cab, .sc-portada, .sc-pie-cuerpo) a { color: inherit; text-decoration: none; }
:where(.sc-fcard-lista, .sc-lista, .sc-cats, .sc-pasos-lista, .sc-pie-lista) { list-style: none; }

/* Foco visible: anillo amarillo con contorno oscuro, legible sobre fondos claros y oscuros. */
:focus-visible {
	outline: 3px solid var(--foco);
	outline-offset: 2px;
	box-shadow: 0 0 0 2px var(--foco-contorno);
	border-radius: 4px;
}

/* Enlace «Saltar al contenido» del núcleo, con el aspecto de la maqueta. */
.skip-link.screen-reader-text:focus {
	left: 16px;
	top: calc(12px + var(--barra-admin));
	z-index: 100000;
	clip: auto;
	clip-path: none;
	width: auto;
	height: auto;
	padding: 12px 18px;
	background: #111418;
	color: #fff;
	border-radius: 8px;
	font: 700 0.9375rem/1.2 var(--sans);
	text-decoration: none;
}

.screen-reader-text {
	border: 0;
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
}

.sc-wrap { width: min(1240px, calc(100% - 32px)); margin-inline: auto; }

/* Iconos: tamaño por defecto */
[class*=" i-"], [class^="i-"] { --ic: 24px; }

/* ---------- Botones ---------- */
.sc-btn > .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 50px;
	padding: 0 24px;
	border-radius: 999px;
	border: 0;
	font: 700 0.96875rem/1 var(--sans);
	white-space: nowrap;
	text-decoration: none;
}
.sc-btn { --ic: 19px; }
.sc-btn-navy > .wp-block-button__link { background: var(--navy); color: #fff; }
.sc-btn-arena > .wp-block-button__link { background: var(--arena); color: var(--navy); }
.sc-btn-blanco > .wp-block-button__link { background: #fff; color: var(--navy); }
.sc-btn-borde > .wp-block-button__link { border: 1.5px solid #fff; color: #fff; background: rgba(5, 26, 36, 0.35); }
.sc-btn > .wp-block-button__link:hover { filter: brightness(1.08); }
:where(.wp-block-buttons).sc-acc,
:where(.wp-block-buttons).sc-fcard-acc,
:where(.wp-block-buttons).sc-cab-reserva,
:where(.wp-block-buttons).sc-vacia-acc { display: flex; flex-wrap: wrap; gap: 14px; }
.wp-block-buttons > .wp-block-button { margin: 0; }

/* ---------- Barra superior ---------- */
.sc-barra { background: var(--navy); color: #dbe8ec; font: 500 0.8125rem/38px var(--sans); }
.sc-barra-fila { display: flex; justify-content: space-between; align-items: center; gap: 0 16px; flex-wrap: wrap; } /* con textos largos, la barra pasa a dos líneas en vez de desbordar */
.sc-barra-marca strong { color: var(--arena); font-weight: 800; letter-spacing: 0.08em; margin-right: 10px; }
.sc-barra-marca { min-width: 0; }
.sc-barra-der { display: flex; align-items: center; gap: 0 18px; flex-wrap: wrap; justify-content: flex-end; white-space: nowrap; }
.sc-barra-der > * + * { display: flex; align-items: center; gap: 18px; }
.sc-barra-der > * + *::before { content: ""; width: 1px; height: 14px; background: rgba(255, 255, 255, 0.35); flex: none; }
.sc-barra-der > .sc-idiomas::before { margin-right: 0; }
.sc-barra a:hover { text-decoration: underline; }
/* Enlaces institucionales (menú «Franja superior» de cada idioma), separados por una línea fina. */
.sc-nav-barra .wp-block-navigation__container { gap: 0 18px; flex-wrap: wrap; }
.sc-nav-barra .wp-block-navigation-item { display: flex; align-items: center; gap: 18px; }
.sc-nav-barra .wp-block-navigation-item + .wp-block-navigation-item::before { content: ""; width: 1px; height: 14px; background: rgba(255, 255, 255, 0.35); flex: none; }
.sc-nav-barra .wp-block-navigation-item__content { color: #dbe8ec; padding: 0; line-height: 38px; text-decoration: none; }
.sc-nav-barra .wp-block-navigation-item__content:hover, .sc-nav-barra .wp-block-navigation-item__content:focus-visible { color: #fff; text-decoration: underline; }

/* Selector de idioma: el actual se marca con negrita y subrayado, no solo con color. */
.sc-idiomas { display: inline-flex; align-items: center; gap: 2px; font: 600 0.875rem/1 var(--sans); white-space: nowrap; }
.sc-idiomas > a, .sc-idiomas > .sc-idioma-pendiente { display: inline-grid; place-items: center; min-width: 34px; min-height: 34px; padding: 0 4px; border-radius: 6px; }
.sc-idiomas > a[aria-current] { font-weight: 800; text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 2px; }
.sc-idiomas.i-globe { --ic: 18px; }
.sc-idiomas.i-globe::before { margin-right: 6px; }
.sc-barra .sc-idiomas { color: #fff; font-size: 0.8125rem; gap: 2px; }
.sc-barra .sc-idiomas > a, .sc-barra .sc-idiomas > .sc-idioma-pendiente { min-height: 30px; min-width: 30px; }

/* ---------- Cabecera fija ---------- */
.sc-cabecera { position: sticky; top: var(--barra-admin); z-index: 20; background: var(--crema); border-bottom: 1px solid var(--linea); }
.sc-cab { display: flex; align-items: center; height: 84px; gap: 22px; }
.sc-marca { flex: none; }
.sc-marca img, .sc-marca a { display: block; }
.sc-marca img { height: 58px; width: auto; }

/* Menú principal (bloque de navegación del núcleo). */
.sc-nav { margin-left: auto; font: 600 0.9375rem var(--sans); color: var(--navy); }
.sc-nav .wp-block-navigation__container { gap: 26px; }
.sc-nav:not(:has(.is-menu-open)) .wp-block-navigation__container { flex-wrap: nowrap; } /* el menú horizontal nunca se parte en dos líneas */
.sc-nav .wp-block-navigation-item__content { padding: 10px 0; white-space: nowrap; color: var(--navy); text-decoration: none; }
.sc-nav .wp-block-navigation-item__content:hover { text-decoration: underline; text-underline-offset: 4px; }
/* Submenús (se abren con clic, toque o teclado). */
.sc-nav .wp-block-navigation-submenu__toggle { padding: 10px 0; font: inherit; color: var(--navy); cursor: pointer; }
.sc-nav .wp-block-navigation-submenu__toggle:hover { text-decoration: underline; text-underline-offset: 4px; }
.sc-nav .wp-block-navigation__submenu-icon { margin-left: 4px; width: 10px; height: 10px; transition: transform 0.15s; }
.sc-nav .wp-block-navigation-submenu__toggle[aria-expanded="true"] + .wp-block-navigation__submenu-icon { transform: rotate(180deg); }
.sc-nav:not(:has(.is-menu-open)) .wp-block-navigation__submenu-container {
	background: var(--crema) !important; color: var(--navy) !important; border: 1px solid var(--linea) !important; border-radius: 14px;
	box-shadow: 0 18px 40px rgba(11, 46, 60, 0.18); padding: 8px !important; min-width: 240px !important; top: calc(100% + 6px) !important;
}
.sc-nav:not(:has(.is-menu-open)) .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 10px 14px !important; border-radius: 9px; font-weight: 600; }
.sc-nav:not(:has(.is-menu-open)) .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.sc-nav:not(:has(.is-menu-open)) .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible { background: var(--arena); text-decoration: none; }
/*
 * Escritorio con ratón: los submenús también se abren al pasar por encima. El clic, el toque y el
 * teclado (Intro, Tab, Esc) siguen igual, con el botón y su aria-expanded del núcleo.
 * - Oculto con visibilidad y opacidad (no con tamaño 0) para poder dar un margen al salir.
 * - Un puente invisible cubre el hueco de 6 px entre el botón y el submenú.
 * - Al pasar a otro apartado, el anterior se cierra al momento.
 */
@media (min-width: 1101px) and (hover: hover) and (pointer: fine) {
	.sc-nav:not(:has(.is-menu-open)) .has-child > .wp-block-navigation__submenu-container {
		width: auto; height: auto; overflow: visible; transition: opacity 0.12s ease 0.2s, visibility 0s linear 0.32s;
	}
	.sc-nav:not(:has(.is-menu-open)) .has-child:hover > .wp-block-navigation__submenu-container {
		visibility: visible; opacity: 1; transition-delay: 0s;
	}
	/* Abierto con clic, toque o teclado: al momento (el margen es solo para el ratón al salir). */
	.sc-nav:not(:has(.is-menu-open)) .has-child > [aria-expanded="true"] ~ .wp-block-navigation__submenu-container { transition: none; }
	.sc-nav:not(:has(.is-menu-open)) .has-child > .wp-block-navigation__submenu-container::before {
		content: ""; position: absolute; left: -1px; right: -1px; bottom: 100%; height: 8px;
	}
	.sc-nav:not(:has(.is-menu-open)) .has-child:hover > .wp-block-navigation__submenu-icon { transform: rotate(180deg); }
	.sc-nav:not(:has(.is-menu-open)) .wp-block-navigation__container:has(> .has-child:hover) > .has-child:not(:hover) > .wp-block-navigation__submenu-container {
		visibility: hidden; opacity: 0; transition: none;
	}
}

/* Buscador: solo botón con lupa; el campo se despliega al pulsarlo. */
.sc-buscar { flex: none; }
.sc-buscar .wp-block-search__button {
	width: 44px; height: 44px; min-width: 44px; padding: 0; margin: 0;
	border: 0; border-radius: 50%; background: transparent; color: var(--navy);
	display: grid; place-items: center;
}
.sc-buscar .wp-block-search__button svg { display: none; }
.sc-buscar .wp-block-search__button::before { /* lupa de la maqueta (icono «search», trazo 1,8) */
	content: ""; width: 21px; height: 21px; background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-4-4'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-4-4'/%3E%3C/svg%3E") center / contain no-repeat;
}
.sc-buscar .wp-block-search__inside-wrapper { border: 0; padding: 0; }
.sc-buscar:not(.wp-block-search__searchfield-hidden) .wp-block-search__input { border: 1.5px solid var(--navy); border-radius: 999px; padding: 0 16px; min-height: 44px; font: 500 0.9375rem var(--sans); }

.sc-cab-reserva { flex: none; }

/* ---------- Portada (imagen principal) ---------- */
.wp-block-cover.sc-hero { min-height: 0; padding: 0; color: #fff; align-items: stretch; display: block; }
.sc-hero > .wp-block-cover__image-background { object-position: 50% 58%; }
/* Capa de protección del contraste: fija en el tema, no editable (ver docs/diseno/v2/ACCESIBILIDAD.md). */
.wp-block-cover.sc-hero > .wp-block-cover__background {
	background: linear-gradient(90deg, rgba(5, 26, 36, 0.86) 0%, rgba(5, 26, 36, 0.72) 40%, rgba(5, 26, 36, 0.3) 62%, rgba(5, 26, 36, 0) 80%), linear-gradient(0deg, rgba(5, 26, 36, 0.45), rgba(5, 26, 36, 0) 45%) !important;
	opacity: 1 !important;
}
.sc-hero > .wp-block-cover__inner-container { position: relative; z-index: 2; width: 100%; color: #fff; }
.sc-hero-rejilla { display: grid; grid-template-columns: 1fr 330px; gap: 48px; align-items: center; min-height: 520px; padding: 40px 0; }
.sc-kick { font: 700 0.8125rem var(--sans); letter-spacing: 0.2em; text-transform: uppercase; }
.sc-hero .sc-kick { color: #e3f2f6; }
.sc-hero-titulo { font: 500 4.125rem/1.02 var(--serif); letter-spacing: -0.015em; margin: 18px 0 !important; max-width: 640px; color: #fff; }
.sc-hero-entradilla { font: 400 1.15625rem/1.55 var(--sans); color: #f3f8f9; max-width: 560px; }
.sc-hero .sc-acc { margin-top: 30px; }

/* Tarjeta de la vía ferrata */
.sc-fcard { background: var(--crema); color: var(--tinta); border-radius: var(--r); overflow: hidden; box-shadow: 0 24px 60px rgba(0, 0, 0, 0.35); align-self: center; }
.sc-tag { position: absolute; left: 14px; top: 14px; z-index: 2; background: var(--crema); color: var(--navy); font: 800 0.71875rem var(--sans); letter-spacing: 0.12em; text-transform: uppercase; padding: 7px 11px; border-radius: 999px; }
.sc-fcard-cuerpo { padding: 24px 24px 18px; }
/* Sin fotografía en la tarjeta: la etiqueta va en el flujo, sobre fondo arena para distinguirse del crema. */
.sc-fcard-cuerpo > .sc-tag { position: static; display: inline-block; background: var(--arena); margin-bottom: 14px !important; }
.sc-fcard-titulo { font: 600 1.4375rem/1.15 var(--serif); color: var(--navy); margin-bottom: 12px !important; }
.sc-fcard-lista { display: grid; gap: 8px; margin-bottom: 14px !important; }
.sc-fcard-lista li { display: flex; gap: 10px; align-items: center; font: 500 0.90625rem var(--sans); --ic: 19px; }
.sc-fcard-lista li::before { color: var(--lago); }
.sc-estado { display: flex; gap: 8px; align-items: center; font: 600 0.84375rem/1.35 var(--sans); color: #2f5a1f; background: #eaf3e3; border-radius: 10px; padding: 8px 11px; margin-bottom: 14px !important; --ic: 17px; }
.sc-fcard-acc > .wp-block-button { width: 100%; }
.sc-fcard-acc > .wp-block-button > .wp-block-button__link { width: 100%; }
.sc-mas { display: flex; justify-content: center; align-items: center; gap: 8px; margin-top: 6px !important; min-height: 40px; font: 700 0.90625rem var(--sans); color: var(--lago); --ic: 16px; }

/* ---------- Secciones comunes ---------- */
.sc-seccion { padding-top: var(--sec); }
.sc-sh { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px 24px; margin-bottom: 30px; flex-wrap: wrap; }
.sc-sh-titulo { font: 500 2.875rem/1.05 var(--serif); color: var(--navy); letter-spacing: -0.015em; }
.sc-sh-titulo em { font-style: normal; color: var(--lago); }
.sc-ver { font: 700 0.9375rem var(--sans); color: var(--lago); display: inline-flex; gap: 8px; align-items: center; min-height: 44px; --ic: 17px; }
.sc-ver a:hover, .sc-mas a:hover { text-decoration: underline; text-underline-offset: 3px; }
.sc-k { color: var(--oliva); margin-bottom: 14px !important; }

/* Presentación */
.sc-presenta { display: grid; grid-template-columns: 1.05fr 1fr; gap: 72px; align-items: center; }
.sc-presenta-titulo { font: 500 2.5rem/1.2 var(--serif); color: var(--navy); }
.sc-presenta-titulo em { color: var(--lago); font-style: italic; }
.sc-pil { display: flex; gap: 20px; padding: 18px 0; border-bottom: 1px solid var(--linea); --ic: 34px; }
.sc-pil:first-child { padding-top: 0; }
.sc-pil::before { color: var(--lago); }
.sc-pil-titulo { font: 600 1.25rem var(--serif); color: var(--navy); margin-bottom: 5px !important; }
.sc-pil-desc { display: inline; font: 400 0.96875rem/1.55 var(--sans); color: var(--gris); } /* en línea, como en la maqueta */

/* Elige tu experiencia */
.sc-exp { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.sc-xc { position: relative; background: #fff; border-radius: var(--r); overflow: hidden; display: flex; flex-direction: column; box-shadow: 0 2px 14px rgba(11, 46, 60, 0.06); }
.sc-xc:has(a:focus-visible) { outline: 3px solid var(--foco); outline-offset: 2px; box-shadow: 0 0 0 2px var(--foco-contorno); }
.sc-xc a:focus-visible { outline: none; box-shadow: none; }
.wp-block-cover.sc-xc-foto { height: 200px; min-height: 0; padding: 0; display: block; }
.sc-xc-cuerpo { padding: 20px 20px 18px; display: flex; flex-direction: column; flex: 1; }
.sc-xc-tt { display: flex; gap: 12px; align-items: flex-start; --ic: 28px; }
.sc-xc-tt::before { color: var(--lago); margin-top: 2px; }
.sc-xc-titulo { font: 600 1.3125rem/1.15 var(--serif); color: var(--navy); margin-bottom: 6px !important; }
.sc-xc-desc { font: 400 0.9375rem/1.5 var(--sans); color: var(--gris); }
.sc-xc-meta { display: flex; justify-content: space-between; align-items: center; margin-top: auto !important; padding-top: 16px; font: 700 0.90625rem var(--sans); color: var(--lago); }
.sc-xc-meta a::before { content: ""; position: absolute; inset: 0; z-index: 1; } /* toda la tarjeta es un único enlace */
.sc-xc-meta::after {
	content: ""; flex: none; width: 44px; height: 44px; border-radius: 50%;
	background: var(--navy) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / 18px 18px no-repeat;
}

/* Rutas para todos */
.sc-rutas { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.sc-rbox { background: #fff; border-radius: var(--r); padding: 26px 28px 14px; box-shadow: 0 2px 14px rgba(11, 46, 60, 0.06); }
.sc-rbox-titulo { font: 600 1.5rem var(--serif); color: var(--navy); display: flex; gap: 12px; align-items: center; margin-bottom: 8px !important; --ic: 28px; }
.sc-rbox-titulo::before { color: var(--lago); }
.sc-r { display: grid; grid-template-columns: 1fr auto 150px; gap: 16px; align-items: center; padding: 13px 0; border-top: 1px solid #ece6da; }
.sc-r-nombre { font: 600 1.03125rem var(--sans); color: var(--tinta); }
.sc-km { font: 600 1.3125rem var(--serif); color: var(--navy); white-space: nowrap; }
.sc-km small { font: 500 0.8125rem var(--sans); color: var(--gris); }
.sc-dat { display: inline-flex; gap: 8px; align-items: center; font: 500 0.90625rem var(--sans); color: var(--tinta); --ic: 16px; }
.sc-dat::before { color: var(--gris); }
.sc-dif::before { content: ""; width: 11px; height: 11px; border-radius: 50%; border: 1.5px solid rgba(0, 0, 0, 0.25); flex: none; }
.sc-dif-azul::before { background: #2f7fe0; }
.sc-dif-roja::before { background: #d63b2a; }
.sc-dif-negra::before { background: #12161f; }
.sc-nota-datos { font: 400 0.84375rem/1.5 var(--sans); color: var(--gris); margin-top: 14px !important; }

/* Bloque de la vía ferrata */
.sc-ferrata { margin-top: var(--sec); background: var(--navy); color: #fff; display: grid; grid-template-columns: 1fr 1fr; }
.wp-block-cover.sc-ferrata-foto { min-height: 560px; padding: 0; display: block; }
.sc-ferrata-texto { padding: 70px 100px 70px 72px; align-self: center; }
.sc-ferrata .sc-kick { color: #a9d6e0; }
.sc-ferrata-titulo { font: 500 3.125rem/1.04 var(--serif); margin: 14px 0 18px !important; color: #fff; }
.sc-ferrata-desc { font: 400 1.09375rem/1.6 var(--sans); color: #dbe8ec; }
.sc-lista { margin: 26px 0 32px !important; display: grid; gap: 14px; }
.sc-lista li { display: flex; gap: 14px; align-items: center; font: 500 1rem/1.4 var(--sans); }
.sc-lista li::before { color: #a9d6e0; }

/* Siglos de historia */
.sc-patri { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.wp-block-cover.sc-pc-foto { height: 230px; min-height: 0; padding: 0; border-radius: 16px; display: block; }
.sc-pc-titulo { font: 600 1.1875rem/1.2 var(--serif); margin: 14px 0 5px !important; color: var(--navy); }
.sc-pc-desc { display: inline; font: 400 0.9375rem/1.5 var(--sans); color: var(--gris); }

/* Descubre Sacedón jugando */
.sc-gym { margin-top: var(--sec); background: var(--salvia); padding: 64px 0; }
.sc-gym-rejilla { display: grid; grid-template-columns: 1fr 1.55fr; gap: 48px; align-items: center; }
.sc-gym-kick { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-bottom: 14px; }
.sc-gym .sc-kick { color: var(--bosque); }
.sc-pronto { display: inline-block; font: 800 0.71875rem/1 var(--sans); letter-spacing: 0.1em; text-transform: uppercase; background: var(--navy); color: #fff; padding: 6px 10px; border-radius: 999px; }
.sc-gym-titulo { font: 500 2.625rem/1.06 var(--serif); color: var(--navy); margin-bottom: 14px !important; }
.sc-gym-desc { font: 400 1.03125rem/1.6 var(--sans); color: #3d4a43; }
.sc-pasos { display: grid; grid-template-columns: repeat(4, 1fr) 1.15fr; gap: 14px; }
.sc-pasos-lista { grid-column: span 4; display: grid; grid-template-columns: subgrid; counter-reset: paso; }
.sc-paso { counter-increment: paso; background: #fff; border-radius: 16px; padding: 30px 14px 18px; text-align: center; position: relative; font: 600 0.90625rem/1.35 var(--sans); color: var(--tinta); --ic: 38px; }
.sc-paso::before { display: block !important; margin: 0 auto 12px; color: var(--lago); }
.sc-paso::after {
	content: counter(paso); position: absolute; top: -14px; left: 50%; transform: translateX(-50%);
	width: 32px; height: 32px; border-radius: 50%; background: var(--navy); color: #fff;
	display: grid; place-items: center; font: 600 1rem var(--serif);
}
.sc-gpanel { background: var(--bosque); color: #fff; border-radius: 16px; padding: 22px 18px; display: flex; flex-direction: column; justify-content: center; text-align: center; gap: 10px; --ic: 52px; }
.sc-gpanel::before { color: #c3e3bb; margin: 0 auto; }
.sc-gpanel-titulo { font: 600 1.125rem/1.2 var(--serif); }
.sc-gpanel-desc { font: 400 0.875rem/1.45 var(--sans); color: #e2eee6; }
.sc-gpanel-lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.sc-gpanel-lista a { color: #fff; font: 600 1rem/1.35 var(--sans); text-decoration: underline; text-underline-offset: 3px; }
.sc-gpanel-lista a:hover { color: #c3e3bb; }

/* Agenda de actividades */
.sc-agenda { display: grid; grid-template-columns: 1.4fr 1fr; gap: 22px; }
.sc-vacia { position: relative; background: #fff; border-radius: var(--r); padding: 34px 36px; display: grid; grid-template-columns: 76px 1fr; gap: 24px; align-items: start; box-shadow: 0 2px 14px rgba(11, 46, 60, 0.06); --ic: 38px; }
.sc-vacia::before { grid-column: 1; grid-row: 1; justify-self: center; margin-top: 19px; color: var(--navy); position: relative; z-index: 1; }
.sc-vacia::after { content: ""; grid-column: 1; grid-row: 1; width: 76px; height: 76px; border-radius: 18px; background: var(--arena); }
.sc-vacia-texto { grid-column: 2; grid-row: 1; }
.sc-vacia-titulo { font: 600 1.625rem var(--serif); color: var(--navy); margin-bottom: 8px !important; }
.sc-vacia-desc { font: 400 1rem/1.6 var(--sans); color: var(--gris); margin-bottom: 18px !important; max-width: 560px; }
.sc-cats { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 20px !important; }
.sc-cats li { font: 600 0.84375rem var(--sans); padding: 8px 12px; border-radius: 999px; background: var(--lago-c); color: var(--navy); }

/* Calendario del mes */
.sc-cal { background: #fff; border-radius: var(--r); padding: 24px 26px; box-shadow: 0 2px 14px rgba(11, 46, 60, 0.06); }
.sc-cal-cab { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.sc-cal-titulo { font: 600 1.3125rem var(--serif); color: var(--navy); }
.sc-cal-nav { display: flex; gap: 6px; }
.sc-cal-nav a { width: 40px; height: 40px; border-radius: 50%; border: 1.5px solid var(--linea); display: grid; place-items: center; color: var(--navy); --ic: 18px; }
.sc-cal-nav a:hover { border-color: var(--navy); }
.sc-cal-ant::before { transform: rotate(180deg); }
.sc-cal table { width: 100%; table-layout: fixed; border-collapse: collapse; text-align: center; font: 500 0.90625rem var(--sans); }
.sc-cal th { font: 700 0.75rem var(--sans); letter-spacing: 0.06em; color: var(--gris); padding: 6px 0; }
.sc-cal th abbr { text-decoration: none; }
.sc-cal td { height: 38px; color: var(--tinta); padding: 0; }
.sc-cal td.fuera { color: #6f777b; } /* v3: #8a9296 (3,2:1); oscurecido a 4,6:1 para cumplir WCAG 1.4.3 */
.sc-cal td.hoy > span:first-child, .sc-cal td.hoy > a > span:first-child { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--navy); color: #fff; font-weight: 700; }
.sc-cal td.con-evento > span:first-child, .sc-cal td.con-evento > a > span:first-child { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
.sc-cal-ley { font: 400 0.84375rem/1.45 var(--sans); color: var(--gris); margin-top: 10px !important; }

/* Planifica tu visita */
.sc-serv { display: grid; grid-template-columns: repeat(3, 1fr) 1.45fr; gap: 20px; }
.sc-sv { background: #fff; border-radius: var(--r); padding: 24px 22px; box-shadow: 0 2px 14px rgba(11, 46, 60, 0.06); }
.sc-sv-titulo { display: flex; gap: 14px; align-items: center; margin-bottom: 10px !important; font: 600 1.25rem var(--serif); color: var(--navy); --ic: 32px; }
.sc-sv-titulo::before { color: var(--lago); }
.sc-sv-desc { font: 400 0.9375rem/1.5 var(--sans); color: var(--gris); margin-bottom: 8px !important; }
.sc-ofi { border-radius: var(--r); overflow: hidden; display: grid; grid-template-columns: 0.8fr 1.2fr; background: var(--navy); color: #fff; }
.wp-block-cover.sc-ofi-foto { min-height: 190px; padding: 0; display: block; }
.sc-ofi-texto { padding: 22px; }
.sc-ofi-titulo { font: 600 1.25rem var(--serif); display: flex; gap: 10px; align-items: center; color: #fff; }
.sc-ofi-titulo::before { color: #a9d6e0; }
.sc-ofi-desc { font: 400 0.90625rem/1.55 var(--sans); color: #dbe8ec; margin: 8px 0 6px !important; }
.sc-ofi .sc-ver { color: #fff; }

/* Fotografías en bloques Portada: sin relleno ni capa; el recorte lo hace object-fit. */
.wp-block-cover:is(.sc-xc-foto, .sc-pc-foto, .sc-ferrata-foto, .sc-ofi-foto) > .wp-block-cover__background { opacity: 0 !important; }
.wp-block-cover:is(.sc-xc-foto, .sc-pc-foto, .sc-ferrata-foto, .sc-ofi-foto) { background-color: #1d2b33; overflow: hidden; }

/* ---------- Pie ---------- */
.sc-pie { margin-top: var(--sec); }
.sc-pie-cuerpo { background: var(--navy); color: #d3e1e6; position: relative; overflow: hidden; }
.sc-pie-wrap { position: relative; z-index: 2; }
.sc-pie-cols { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 36px; padding: 60px 0 40px; }
.sc-pie-logos { display: block; } /* formato en línea, como la maqueta */
.sc-pie .sc-pill { display: inline-block; vertical-align: baseline; background: #fff; border-radius: 14px; padding: 7px 12px; }
.sc-pie .sc-pill img { height: 54px; width: auto; display: block; }
.sc-pie .sc-escudo { display: inline; margin: 0 !important; }
.sc-pie .sc-escudo img { display: inline; height: 80px; width: auto; margin-left: 14px; vertical-align: middle; }
.sc-pie-texto { font: 400 0.9375rem/1.6 var(--sans); margin-top: 16px !important; max-width: 320px; }
.sc-pie-tit { font: 700 0.78125rem var(--sans); letter-spacing: 0.16em; text-transform: uppercase; color: #fff; margin-bottom: 14px !important; }
.sc-pie-lista li { font: 400 0.9375rem/2.1 var(--sans); }
.sc-pie-cuerpo a:hover { text-decoration: underline; text-underline-offset: 3px; }
/* Redes sociales (menú «Redes sociales» de cada idioma). */
.sc-nav-redes .wp-block-navigation__container { gap: 4px 20px; }
.sc-nav-redes .wp-block-navigation-item__content { display: inline-flex; align-items: center; min-height: 34px; color: #fff; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.sc-pie-bot { border-top: 1px solid rgba(255, 255, 255, 0.2); padding: 16px 0 20px; display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; font: 400 0.875rem var(--sans); }
.sc-montes { position: absolute; right: 0; bottom: 150px; width: 560px; height: 120px; color: rgba(169, 214, 224, 0.22); z-index: 1; }
.sc-fondos { background: #fff; padding: 16px 0; }
.sc-fondos-fila { display: flex; align-items: center; justify-content: center; gap: 20px 44px; flex-wrap: wrap; }
.sc-fondos-fila figure { margin: 0 !important; }
.sc-pie .sc-fondos-fila img { height: 50px; width: auto; display: block; }
.sc-pie .sc-fondo-feder img { height: 42px; }
.sc-pie .sc-fondo-jccm img { height: 60px; }
.sc-pie .sc-fondo-iti img { height: 44px; }
/* Mención de la subvención de la Diputación de Guadalajara: franja propia, separada del pie de navegación. */
.sc-subvencion { background: var(--crema-2); border-top: 1px solid var(--linea); padding: 14px 0; }
.sc-subvencion-fila { display: flex; align-items: center; justify-content: center; gap: 12px 20px; flex-wrap: wrap; }
.sc-subvencion-fila figure { margin: 0 !important; }
.sc-pie .sc-subvencion-logo img { height: 50px; width: auto; max-width: 100%; display: block; } /* misma altura que el emblema de la UE, nunca mayor (Rgto. 2021/1060, anexo IX, 1.7) */
.sc-subvencion-texto { font: 600 0.9375rem/1.4 var(--sans); color: var(--tinta); margin: 0 !important; text-align: center; }

/* ---------- Páginas interiores (provisional hasta tener su diseño) ---------- */
.sc-pagina-cab { padding: 64px 0 24px; }
.sc-pagina-titulo { font: 500 2.875rem/1.1 var(--serif); color: var(--navy); }
.sc-contenido { font: 400 1.0625rem/1.65 var(--sans); max-width: 760px; }
.sc-contenido > * + * { margin-top: 1.1em !important; }
.sc-contenido h2 { font: 500 2rem/1.2 var(--serif); color: var(--navy); margin-top: 1.6em !important; }
.sc-contenido h3 { font: 600 1.375rem/1.25 var(--serif); color: var(--navy); margin-top: 1.4em !important; }
.sc-contenido ul, .sc-contenido ol { padding-left: 1.4em; }
.sc-listado { padding-bottom: 24px; }
.sc-listado-titulo { font: 600 1.5rem var(--serif); margin-top: 28px !important; }

/* Enlaces de la portada alimentada por fichas: mismo aspecto que el texto de la maqueta. */
.sc-pc-titulo a, .sc-r-nombre a { color: inherit; text-decoration: none; }
.sc-pc-titulo a:hover, .sc-r-nombre a:hover { text-decoration: underline; text-underline-offset: 3px; }

/* ---------- Listados y fichas (provisional, con los componentes de la v3) ---------- */
.sc-listado-entradilla { font: 400 1.125rem/1.55 var(--sans); color: var(--gris); max-width: 760px; margin: -8px 0 24px !important; }
.sc-filtros ul { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; margin: 0 0 28px; padding: 0; }
.sc-filtros a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; border: 1.5px solid var(--linea); border-radius: 999px; background: #fff; color: var(--navy); font: 600 0.9375rem var(--sans); text-decoration: none; }
.sc-filtros a:hover { border-color: var(--navy); }
.sc-filtros a[aria-current="page"] { background: var(--navy); border-color: var(--navy); color: #fff; }
.sc-rejilla-fichas { margin-bottom: 40px; }
.sc-rejilla-fichas .sc-xc-titulo { font-size: 1.3125rem; }
.sc-xc-dato { margin-top: 8px !important; font-weight: 600; color: var(--tinta); }
.sc-listado-fichas .sc-vacia { margin-bottom: 64px; }
.sc-listado-fichas .navigation.pagination { margin: 0 0 64px; }
.sc-listado-fichas .nav-links { display: flex; flex-wrap: wrap; gap: 8px; }
.sc-listado-fichas .page-numbers { display: inline-grid; place-items: center; min-width: 44px; min-height: 44px; padding: 0 12px; border-radius: 10px; border: 1.5px solid var(--linea); color: var(--navy); font: 600 0.9375rem var(--sans); }
.sc-listado-fichas .page-numbers.current { background: var(--navy); color: #fff; border-color: var(--navy); }

.sc-ficha { padding-bottom: 72px; }
.sc-ficha-aviso { background: #fff4d6; border: 1px solid #e5c766; color: var(--tinta); border-radius: 10px; padding: 10px 14px; margin-bottom: 20px !important; font: 600 0.9375rem var(--sans); }
.wp-block-cover.sc-ficha-foto { height: clamp(260px, 42vw, 520px); min-height: 0; padding: 0; border-radius: var(--r); display: block; overflow: hidden; margin-bottom: 40px; }
.wp-block-cover.sc-ficha-foto > .wp-block-cover__background { opacity: 0 !important; }
.sc-ficha-rejilla { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 56px; align-items: start; }
.sc-ficha-resumen { font: 500 1.25rem/1.5 var(--sans); color: var(--tinta); }
.sc-ficha-info { background: #fff; border-radius: var(--r); padding: 26px 24px; box-shadow: 0 2px 14px rgba(11, 46, 60, 0.06); position: sticky; top: 24px; }
.sc-ficha-info-titulo { font: 600 1.375rem/1.2 var(--serif); color: var(--navy); margin-bottom: 14px !important; }
.sc-ficha-info h3 { font: 700 0.8125rem var(--sans); letter-spacing: 0.06em; text-transform: uppercase; color: var(--gris); margin: 20px 0 6px !important; }
.sc-ficha-datos { margin: 0; display: grid; gap: 0; }
.sc-ficha-datos div { display: flex; justify-content: space-between; gap: 16px; padding: 9px 0; border-bottom: 1px solid var(--linea); font: 400 0.9375rem var(--sans); }
.sc-ficha-datos dt { color: var(--gris); }
.sc-ficha-datos dd { margin: 0; font-weight: 600; color: var(--tinta); text-align: right; }
.sc-ficha-lista { list-style: none; margin: 0; padding: 0; font: 400 0.9375rem/1.6 var(--sans); color: var(--tinta); }
.sc-ficha-lista a, .sc-ficha-enlaces a { color: var(--lago); font-weight: 600; overflow-wrap: anywhere; }
.sc-ficha-acciones { list-style: none; margin: 22px 0 0; padding: 0; display: grid; gap: 4px; }
.sc-btn-enlace { display: flex; justify-content: center; align-items: center; min-height: 48px; padding: 0 20px; border-radius: 999px; background: var(--navy); color: #fff; font: 700 0.9375rem var(--sans); text-decoration: none; margin-bottom: 8px; }
.sc-btn-enlace:hover { background: var(--lago); }
.sc-galeria { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 12px; }
.sc-galeria a { display: block; border-radius: 12px; overflow: hidden; }
.sc-galeria img { display: block; width: 100%; aspect-ratio: 4 / 3; height: auto; object-fit: cover; }
.sc-ficha-enlaces { margin-top: 48px; }
.sc-ficha-enlaces h2 { font: 500 1.75rem/1.2 var(--serif); color: var(--navy); margin-bottom: 8px !important; }
.sc-ficha-enlaces ul { list-style: none; margin: 0; padding: 0; }
.sc-ficha-volver { margin-top: 40px !important; }
/* ---------- Agenda (Fase 3): lista de actividades, página de la agenda y avisos ---------- */
.sc-act-lista { list-style: none; margin: 0 0 28px; padding: 0; display: grid; gap: 12px; }
.sc-act { position: relative; display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 16px; align-items: start; background: #fff; border-radius: 16px; padding: 16px 18px; box-shadow: 0 2px 14px rgba(11, 46, 60, 0.06); }
.sc-act:has(a:focus-visible) { outline: 3px solid var(--foco); outline-offset: 2px; }
.sc-act a:focus-visible { outline: none; }
.sc-act-fecha { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 14px; background: var(--arena); color: var(--navy); line-height: 1; }
.sc-act-dia { font: 600 1.625rem var(--serif); }
.sc-act-mes { font: 700 0.75rem var(--sans); letter-spacing: 0.06em; text-transform: uppercase; margin-top: -10px; }
.sc-act-titulo { font: 600 1.1875rem/1.25 var(--serif); color: var(--navy); margin: 2px 0 4px !important; }
.sc-act-titulo a { color: inherit; text-decoration: none; }
.sc-act-titulo a::after { content: ""; position: absolute; inset: 0; border-radius: 16px; } /* toda la tarjeta es el enlace */
.sc-act-titulo a:hover { text-decoration: underline; text-underline-offset: 3px; }
.sc-act-cuando, .sc-act-detalles { font: 400 0.9375rem/1.45 var(--sans); color: var(--tinta); margin: 0 !important; }
.sc-act-detalles { color: var(--gris); }
.sc-act-situacion { display: inline-block; margin-top: 8px !important; padding: 3px 10px; border-radius: 999px; font: 600 0.8125rem var(--sans); }
.sc-sit-cancelada .sc-act-situacion { background: #fbe9e7; color: #8a1c0f; }
.sc-sit-aplazada .sc-act-situacion { background: #fff4d6; color: #6b4d00; }
.sc-sit-cancelada .sc-act-titulo a { text-decoration: line-through; text-decoration-thickness: 1px; }
.sc-act-lista--compacta .sc-act { box-shadow: none; border: 1px solid var(--linea); padding: 12px 14px; }
.sc-act-lista--portada { margin: 4px 0 20px; }
.sc-act-lista--portada .sc-act { box-shadow: none; border: 1px solid var(--linea); }
.sc-ancla { position: absolute; top: -24px; }
.sc-agenda-rejilla { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 40px; align-items: start; padding-bottom: 72px; }
.sc-ag-titulo { font: 500 1.75rem/1.2 var(--serif); color: var(--navy); margin-bottom: 14px !important; }
.sc-ag-mes { font: 700 0.875rem var(--sans); letter-spacing: 0.06em; text-transform: uppercase; color: var(--gris); margin: 22px 0 10px !important; }
.sc-ag-mes-lista { margin-top: 18px; }
.sc-ag-sin { font: 400 0.9375rem var(--sans); color: var(--gris); }
.sc-filtros-cat { margin-top: -16px; }
.sc-cal td a { display: inline-grid; place-items: center; min-width: 36px; min-height: 36px; color: inherit; border-radius: 50%; }
.sc-cal td a:hover { background: var(--arena); }
#sc-calendario { scroll-margin-top: 24px; }
.sc-ficha-aviso--cancelada { background: #fbe9e7; border-color: #e3a49b; }
.sc-ficha-aviso--finalizada { background: var(--salvia); border-color: #c4d3b6; }
.sc-ficha-aviso--finalizada a { color: var(--lago); font-weight: 600; }

@media (max-width: 900px) {
	.sc-agenda-rejilla { grid-template-columns: minmax(0, 1fr); gap: 28px; }
	.sc-ficha-rejilla { grid-template-columns: minmax(0, 1fr); gap: 36px; }
	.sc-ficha-info { position: static; }
}

/* Entre 1101 y 1320 px (fuera de los anchos de la maqueta): con textos largos (francés) el menú no
   cabría en una línea. Se abrevia el botón de reserva, como en móvil, y se reduce la separación. */
@media (min-width: 1101px) and (max-width: 1320px) {
	.sc-cab .sc-txt-largo { display: none; }
	.sc-nav .wp-block-navigation__container { gap: 20px; }
}

/* ==================== Tableta ==================== */
@media (max-width: 1100px) {
	.sc-cab { gap: 22px; }
	.sc-buscar { display: none; }
	.sc-cab-reserva { margin-left: auto; }
	.sc-nav { order: 5; margin-left: 0; }
	.sc-hero-rejilla { grid-template-columns: 1fr 300px; gap: 28px; }
	.sc-hero-titulo { font-size: 3.25rem; }
	.sc-exp, .sc-patri { grid-template-columns: repeat(2, 1fr); }
	.sc-ferrata-texto { padding: 48px 40px; }
	.sc-ferrata-titulo { font-size: 2.5rem; }
	.sc-gym-rejilla { grid-template-columns: 1fr; }
	.sc-serv { grid-template-columns: 1fr 1fr; }
	.sc-ofi { grid-column: 1 / -1; }
	.sc-presenta { gap: 40px; }
	.sc-presenta-titulo { font-size: 2.125rem; }
	.sc-pie-cols { grid-template-columns: 1fr 1fr; }
	.sc-montes { display: none; }
}

/*
 * Menú plegado por debajo de 1100 px (en el núcleo, por debajo de 600 px).
 * Se reutiliza el mecanismo accesible del bloque de navegación: botón con aria-expanded,
 * diálogo modal, cierre con Esc y gestión del foco.
 */
@media (min-width: 600px) and (max-width: 1100px) {
	.sc-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.sc-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}
.sc-nav .wp-block-navigation__responsive-container-open {
	align-items: center; justify-content: center; gap: 10px; min-height: 44px; padding: 0 14px;
	border: 1.5px solid var(--navy); border-radius: 10px; color: var(--navy); background: transparent;
	font: 700 0.9375rem/1 var(--sans); white-space: nowrap;
}
.sc-nav .wp-block-navigation__responsive-container-open::before { content: ""; flex: none; width: 19px; height: 19px; background-color: currentColor; -webkit-mask: var(--im) center/contain no-repeat; mask: var(--im) center/contain no-repeat; }
.sc-nav.i-menu::before { content: none !important; }
.sc-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--crema); color: var(--navy); padding: calc(24px + var(--barra-admin)) 16px 24px;
}
.sc-nav .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 56px; }
.sc-nav .is-menu-open .wp-block-navigation__container { gap: 0; width: 100%; }
.sc-nav .is-menu-open .wp-block-navigation-item { width: 100%; border-top: 1px solid var(--linea); }
.sc-nav .is-menu-open .wp-block-navigation-item__content { display: flex; align-items: center; min-height: 52px; padding: 0 4px; font: 600 1rem var(--sans); }
/* Menú móvil: alineado a la izquierda; cada apartado con sus enlaces debajo, sangrados. */
.sc-nav .is-menu-open .wp-block-navigation__container, .sc-nav .is-menu-open .wp-block-navigation-item, .sc-nav .is-menu-open .wp-block-navigation__responsive-container-content { align-items: flex-start !important; text-align: left; }
.sc-nav .is-menu-open .wp-block-navigation-submenu__toggle { display: flex; align-items: center; min-height: 52px; padding: 0 4px; font: 800 0.8125rem var(--sans); letter-spacing: 0.12em; text-transform: uppercase; color: var(--lago); }
.sc-nav .is-menu-open .wp-block-navigation__submenu-icon { display: none; }
.sc-nav .is-menu-open .wp-block-navigation__submenu-container { width: 100%; padding: 0 0 8px 16px !important; gap: 0 !important; background: transparent !important; border: 0 !important; box-shadow: none !important; border-radius: 0 !important; min-width: 0 !important; position: static !important; }
.sc-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item { border-top: 0; }
.sc-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { min-height: 46px; font-weight: 500; }
.sc-nav .wp-block-navigation__responsive-container-close { width: auto; min-width: 44px; padding: 0 12px; font: 700 0.9375rem var(--sans); height: 44px; display: grid; place-items: center; border-radius: 10px; border: 1.5px solid var(--navy); top: calc(20px + var(--barra-admin)); right: 16px; color: var(--navy); }

@media (max-width: 900px) {
	.sc-lema { display: none; }
	.sc-barra { white-space: nowrap; }
	.wp-block-cover.sc-hero > .wp-block-cover__background {
		background: linear-gradient(180deg, rgba(5, 26, 36, 0.74) 0%, rgba(5, 26, 36, 0.66) 45%, rgba(5, 26, 36, 0.9) 100%) !important;
	}
	.sc-hero-rejilla { grid-template-columns: minmax(0, 1fr); padding: 48px 0; }
	.sc-fcard { max-width: 420px; }
	.sc-presenta, .sc-rutas, .sc-agenda, .sc-ferrata { grid-template-columns: minmax(0, 1fr); }
	.wp-block-cover.sc-ferrata-foto { min-height: 340px; }
	.sc-pasos-lista { grid-column: 1 / -1; grid-template-columns: subgrid; row-gap: 26px; }
	.sc-pasos { grid-template-columns: repeat(2, 1fr); row-gap: 26px; }
	.sc-gpanel { grid-column: 1 / -1; }
}

/* ==================== Móvil ==================== */
@media (max-width: 760px) {
	:root { --sec: 60px; }
	.sc-barra-info { display: none; }
	/* Enlaces institucionales en una segunda línea, más pequeños pero con objetivo táctil suficiente. */
	.sc-barra-der { width: 100%; justify-content: space-between; }
	.sc-barra-fila > .sc-barra-marca { display: none; }
	.sc-nav-barra .wp-block-navigation__container { gap: 0 12px; }
	.sc-nav-barra .wp-block-navigation-item { gap: 12px; }
	.sc-nav-barra .wp-block-navigation-item__content { font-size: 0.75rem; line-height: 36px; }
	.sc-barra-der > .sc-idiomas::before { display: none; }
	.sc-cab { height: 70px; gap: 8px; }
	.sc-marca img { height: 46px; }
	.sc-cab .sc-btn-navy > .wp-block-button__link { min-height: 44px; padding: 0 14px; font-size: 0.90625rem; }
	.sc-txt-largo { display: none; }
	.sc-cab-reserva { flex: 0 1 auto; min-width: 0; }
	.sc-hero > .wp-block-cover__image-background { object-position: 35% 50% !important; } /* encuadre móvil de la v3 */
	.sc-hero-rejilla { padding: 34px 0 30px; gap: 24px; min-height: 0; }
	.sc-kick { font-size: 0.75rem; letter-spacing: 0.14em; }
	.sc-hero-titulo { font-size: 2.625rem; }
	.sc-hero-entradilla { font-size: 1.0625rem; }
	.sc-hero .sc-acc { flex-direction: column; }
	.sc-hero .sc-acc > .wp-block-button, .sc-hero .sc-acc .wp-block-button__link { width: 100%; }
	.sc-hero .sc-acc > .sc-btn-borde { display: none; }
	.sc-fcard-cuerpo { padding: 18px 18px 12px; }
	.sc-fcard-cuerpo > .sc-tag { margin-bottom: 10px !important; }
	.sc-fcard-titulo { font-size: 1.3125rem; margin-bottom: 10px !important; }
	.sc-fcard-lista { gap: 6px; margin-bottom: 12px !important; }
	.sc-sh-titulo { font-size: 2.125rem; }
	.sc-presenta-titulo { font-size: 1.75rem; }
	.sc-exp, .sc-patri { grid-template-columns: minmax(0, 1fr); }
	.wp-block-cover.sc-xc-foto { height: 190px; }
	.wp-block-cover.sc-pc-foto { height: 210px; }
	.sc-rbox { padding: 22px 18px 10px; }
	.sc-r { grid-template-columns: 1fr auto; gap: 6px 12px; }
	.sc-r .sc-dat { grid-column: 1 / -1; }
	.sc-ferrata-texto { padding: 34px 20px 40px; }
	.sc-ferrata-titulo { font-size: 2.125rem; }
	.sc-ferrata .sc-acc > .wp-block-button, .sc-ferrata .sc-acc .wp-block-button__link { width: 100%; }
	.wp-block-cover.sc-ferrata-foto { min-height: 260px; }
	.sc-gym { padding: 48px 0; }
	.sc-gym-titulo { font-size: 2rem; }
	.sc-vacia { grid-template-columns: minmax(0, 1fr); padding: 26px 22px; gap: 16px; --ic: 38px; }
	.sc-vacia::after { width: 60px; height: 60px; }
	.sc-vacia::before { justify-self: start; margin: 11px 0 0 11px; }
	.sc-vacia-texto { grid-column: 1; grid-row: 2; }
	.sc-vacia-acc > .wp-block-button, .sc-vacia-acc .wp-block-button__link { width: 100%; }
	.sc-serv { grid-template-columns: minmax(0, 1fr); }
	.sc-ofi { grid-template-columns: minmax(0, 1fr); }
	.wp-block-cover.sc-ofi-foto { min-height: 170px; }
	.sc-pie-cols { grid-template-columns: minmax(0, 1fr); gap: 26px; padding-top: 44px; }
	/* Con textos largos, los botones pasan a dos líneas en vez de desbordar. */
	.sc-btn > .wp-block-button__link { white-space: normal; text-align: center; line-height: 1.2; }
	.sc-pie .sc-fondo-ue img, .sc-pie .sc-subvencion-logo img { height: 38px; }
}

/* Pantallas muy estrechas (320–360 px, WCAG 1.4.10): fuera de los anchos de la maqueta. */
@media (max-width: 360px) {
	.sc-marca img { height: 40px; }
	.sc-nav .wp-block-navigation__responsive-container-open { font-size: 0; gap: 0; padding: 0 11px; } /* conserva el nombre accesible */
	.sc-cal { padding: 20px 14px; }
	.sc-vacia { padding: 22px 16px; }
	.sc-rbox { padding: 20px 14px 8px; } /* en la maqueta, el resto conserva su altura */
}
