/*
Theme Name: Gersalud
Theme URI: https://gersalud.com
Author: Gersalud
Author URI: https://gersalud.com
Description: Tema de bloques para gersalud.com, software para clínicas privadas. Identidad «Intersección», dirección visual cálida y patrones para la portada, las páginas de producto, servicio, especialidad y contacto, y el blog de guías y cambios normativos (con el plugin Gersalud Guías).
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.0
Version: 1.1.7
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: gersalud
Tags: block-patterns, full-site-editing, custom-colors, editor-style, accessibility-ready
*/

/* ---------- Base ---------- */
:root {
	--gs-sombra: 0 30px 60px -30px rgba(16, 48, 47, 0.45);
	--gs-radio: 22px;
	--gs-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F6F68' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
	--gs-cruz: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B03A25' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M7 7l10 10M17 7L7 17'/%3E%3C/svg%3E");
}

body { -webkit-font-smoothing: antialiased; }

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--wp--preset--color--tinta);
	outline-offset: 3px;
	box-shadow: 0 0 0 6px var(--wp--preset--color--senal);
}

.skip-link.screen-reader-text:focus {
	background: var(--wp--preset--color--tinta);
	color: var(--wp--preset--color--blanco);
	border-radius: 999px;
	padding: 12px 18px;
}

/* Visibilidad por tamaño de pantalla */
@media (max-width: 820px) {
	.gs-solo-escritorio { display: none !important; }
}
@media (min-width: 821px) {
	.gs-solo-movil { display: none !important; }
}

/* Botón amarillo (sobre fondos oscuros o verdes) */
.wp-block-button.is-style-gs-senal .wp-block-button__link,
.gs-boton-senal .wp-block-button__link {
	background: var(--wp--preset--color--senal);
	color: var(--wp--preset--color--tinta);
}
.wp-block-button.is-style-gs-senal .wp-block-button__link:hover,
.gs-boton-senal .wp-block-button__link:hover {
	background: #FFFFFF;
	color: var(--wp--preset--color--tinta);
}
.gs-oscuro .wp-block-button.is-style-outline .wp-block-button__link { color: #FFFFFF; }

@media (max-width: 820px) {
	.gs-botones-hero { flex-direction: column; align-items: stretch !important; }
	.gs-botones-hero .wp-block-button { width: 100%; }
	.gs-botones-hero .wp-block-button__link { width: 100%; text-align: center; }
}

/* ---------- Cabecera ---------- */
.gs-cabecera {
	border-bottom: 1px solid var(--wp--preset--color--superficie);
	background: var(--wp--preset--color--fondo);
	position: relative;
	z-index: 20;
}
.gs-cabecera__fila { min-height: 80px; }
.gs-logo { display: flex; align-items: center; gap: 10px; }
.gs-logo svg { width: 34px; height: 34px; flex-shrink: 0; display: block; }
.gs-logo .wp-block-site-title { margin: 0; }
.gs-idiomas { font-size: 14px; color: var(--wp--preset--color--texto-3); margin: 0; }
.gs-idiomas strong { color: var(--wp--preset--color--tinta); }
.gs-cabecera .wp-block-navigation a { color: var(--wp--preset--color--texto-2); text-decoration: none; }
.gs-cabecera .wp-block-navigation a:hover,
.gs-cabecera .wp-block-navigation .current-menu-item > a,
.gs-cabecera .wp-block-navigation a[aria-current="page"] {
	color: var(--wp--preset--color--tinta);
	text-decoration: underline;
	text-decoration-color: var(--wp--preset--color--senal);
	text-decoration-thickness: 3px;
	text-underline-offset: 8px;
}
.gs-cabecera .wp-block-navigation__responsive-container-open {
	width: 44px; height: 44px;
	border: 1.5px solid var(--wp--preset--color--linea);
	border-radius: 999px;
	display: flex; align-items: center; justify-content: center;
}
.gs-cabecera .wp-block-navigation__responsive-container.is-menu-open {
	padding: 24px 20px;
}
.gs-cabecera .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
	font-size: 20px;
	padding: 6px 0;
}
.gs-cabecera .wp-block-button__link { padding: 11px 20px; font-size: 15px; white-space: nowrap; }

/* ---------- Pie ---------- */
.gs-pie { border-top: 1px solid var(--wp--preset--color--superficie); }
.gs-pie h2 { font-family: var(--wp--preset--font-family--instrument); font-size: 14px; font-weight: 700; letter-spacing: 0; margin: 0 0 12px; }
.gs-pie ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 6px; }
.gs-pie ul a { color: var(--wp--preset--color--texto-2); text-decoration: none; display: inline-block; padding: 3px 0; font-size: 15px; }
.gs-pie ul a:hover { color: var(--wp--preset--color--tinta); text-decoration: underline; }
.gs-pie__legal { border-top: 1px solid var(--wp--preset--color--superficie); font-size: 14px; color: var(--wp--preset--color--texto-3); }
.gs-pie__legal a { color: var(--wp--preset--color--texto-3); }

/* ---------- Bandas y secciones ---------- */
.gs-seccion { padding-top: var(--wp--preset--spacing--80); padding-bottom: var(--wp--preset--spacing--80); }
.gs-seccion--corta { padding-top: var(--wp--preset--spacing--70); padding-bottom: var(--wp--preset--spacing--70); }
.gs-banda-superficie { background: var(--wp--preset--color--superficie); }
.gs-banda-blanca { background: #FFFFFF; border-top: 1px solid var(--wp--preset--color--superficie); border-bottom: 1px solid var(--wp--preset--color--superficie); }
.gs-banda-oscura, .gs-oscuro { background: var(--wp--preset--color--tinta); color: #EAF2EF; }
.gs-oscuro :where(h1, h2, h3, h4) { color: #FFFFFF; }
.gs-oscuro p { color: #B9CEC8; }
.gs-oscuro a:not(.wp-block-button__link) { color: var(--wp--preset--color--senal); }
.gs-banda-verde { background: var(--wp--preset--color--verde); color: #FFFFFF; }
.gs-banda-verde :where(h1, h2, h3) { color: #FFFFFF; }
.gs-banda-verde p { color: #DCEBE7; }
.gs-banda-verde a:not(.wp-block-button__link) { color: #FFFFFF; text-decoration-color: var(--wp--preset--color--senal); text-decoration-thickness: 3px; text-underline-offset: 5px; }
.gs-redondeada { border-radius: 28px; overflow: hidden; }

.gs-cabecera-seccion { margin-bottom: 40px !important; }
.gs-cabecera-seccion > p { color: var(--wp--preset--color--texto-2); max-width: 48ch; margin: 0; }
.gs-cabecera-seccion > h2 { margin: 0; max-width: 20ch; }

.gs-ruta { font-size: 14px; color: var(--wp--preset--color--texto-3); }
.gs-ruta a { color: var(--wp--preset--color--texto-3); }

.gs-lead { font-size: var(--wp--preset--font-size--destacado); color: var(--wp--preset--color--texto-2); line-height: 1.6; max-width: 50ch; }
.gs-suave { color: var(--wp--preset--color--texto-3); font-size: 15px; }
.gs-texto-2 { color: var(--wp--preset--color--texto-2); }

/* Etiquetas */
.gs-etiqueta {
	width: fit-content;
	padding: 6px 14px;
	border-radius: 999px;
	background: var(--wp--preset--color--superficie);
	color: var(--wp--preset--color--verde);
	font-size: 14.5px;
	font-weight: 600;
	line-height: 1.35;
}
.gs-etiqueta--aviso { background: #FBEBA8; color: #6B5508; }
.gs-etiqueta--ok { background: #E3F0E8; color: #2C7553; }
.gs-etiqueta--error { background: #FFFFFF; color: #B03A25; }
.gs-etiqueta--neutra { background: var(--wp--preset--color--superficie); color: var(--wp--preset--color--texto-2); }

/* Tarjetas */
.gs-tarjeta, .wp-block-group.is-style-gs-tarjeta {
	background: #FFFFFF;
	border: 1px solid var(--wp--preset--color--superficie);
	border-radius: var(--gs-radio);
	padding: clamp(22px, 2.4vw, 30px);
}
.gs-tarjeta--suave { background: var(--wp--preset--color--fondo); border-color: transparent; }
.gs-banda-superficie .gs-tarjeta { border-color: transparent; }
.gs-tarjeta > * { margin-block: 0; }
.gs-tarjeta h3 { margin: 0; }
.gs-tarjeta p { margin: 0; }
.gs-tarjeta .gs-empuja { margin-top: auto !important; }
.gs-tarjeta--imagen { padding: 12px 12px 26px; }
.gs-tarjeta--imagen > :not(figure) { margin-left: 12px !important; margin-right: 12px !important; }
.gs-tarjeta--imagen figure img { border-radius: 14px; width: 100%; height: auto; display: block; }
.gs-tarjeta-destacada { border: 2px solid var(--wp--preset--color--verde); background: #F4F9F6; }

.gs-icono { width: 48px; height: 48px; border-radius: 14px; background: var(--wp--preset--color--superficie); display: flex; align-items: center; justify-content: center; }
.gs-icono svg { width: 24px; height: 24px; }

.gs-enlace-destacado a, a.gs-enlace-destacado { color: var(--wp--preset--color--tinta); font-weight: 600; text-decoration-color: var(--wp--preset--color--senal); text-decoration-thickness: 3px; text-underline-offset: 5px; }
.gs-enlace-verde { font-weight: 600; color: var(--wp--preset--color--verde); }
.gs-enlace-verde a { color: var(--wp--preset--color--verde); text-decoration: none; }
.gs-enlace-verde a:hover { text-decoration: underline; }

/* Cifras */
.gs-cifra { font-family: var(--wp--preset--font-family--bricolage); font-weight: 700; font-size: clamp(24px, 2.3vw, 32px); letter-spacing: -0.02em; line-height: 1.15; margin: 0; }
.gs-cifra-caso { font-family: var(--wp--preset--font-family--bricolage); font-weight: 700; font-size: 24px; letter-spacing: -0.02em; line-height: 1.2; }
.gs-precio { font-family: var(--wp--preset--font-family--bricolage); font-weight: 700; font-size: 40px; letter-spacing: -0.03em; line-height: 1.1; }
.gs-precio span { font-size: 16px; font-weight: 500; color: var(--wp--preset--color--texto-3); letter-spacing: 0; }

/* Pasos numerados */
.gs-num {
	width: 32px; height: 32px; border-radius: 50%;
	background: var(--wp--preset--color--senal);
	color: var(--wp--preset--color--tinta);
	display: inline-flex; align-items: center; justify-content: center;
	font-weight: 700; font-size: 14px; margin: 0;
}
.gs-borde-superior { border-top: 2px solid var(--wp--preset--color--tinta); padding-top: 18px; }
.gs-borde-superior > * { margin-block: 0; }
.gs-borde-superior > * + * { margin-top: 10px; }

/* Listas */
ul.gs-checks, ul.gs-cruces { list-style: none; padding: 0; display: grid; gap: 10px; }
ul.gs-checks li, ul.gs-cruces li { position: relative; padding-left: 32px; }
ul.gs-checks li::before, ul.gs-cruces li::before { content: ""; position: absolute; left: 0; top: 0.18em; width: 20px; height: 20px; background: var(--gs-check) no-repeat center / contain; }
ul.gs-cruces li::before { background-image: var(--gs-cruz); }
ul.gs-chips { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 8px; }
ul.gs-chips li { padding: 6px 12px; border-radius: 999px; background: var(--wp--preset--color--superficie); font-size: 14.5px; font-weight: 500; }

.gs-marcador { display: flex; gap: 10px; align-items: baseline; }
.gs-marcador::before { content: ""; flex-shrink: 0; width: 10px; height: 10px; border-radius: 3px; background: var(--wp--preset--color--senal); }

/* ---------- Hero con capturas ---------- */
.gs-hero-visual { position: relative; min-height: clamp(380px, 40vw, 580px); }
.gs-hero-visual::before { content: ""; position: absolute; top: 4%; right: 0; bottom: 0; left: 6%; border-radius: 28px; background: var(--wp--preset--color--superficie); }
.gs-navegador {
	position: absolute; top: 10%; left: 13%; right: 4%;
	border-radius: 16px; overflow: hidden; background: #FFFFFF;
	box-shadow: var(--gs-sombra);
	padding: 46px 12px 12px;
	margin: 0 !important;
}
.gs-navegador::before {
	content: ""; position: absolute; top: 0; left: 0; right: 0; height: 34px;
	background:
		radial-gradient(circle at 18px 17px, #C9D7D1 4.5px, transparent 5px),
		radial-gradient(circle at 34px 17px, #C9D7D1 4.5px, transparent 5px),
		radial-gradient(circle at 50px 17px, #C9D7D1 4.5px, transparent 5px),
		var(--wp--preset--color--fondo);
	border-bottom: 1px solid var(--wp--preset--color--superficie);
}
.gs-navegador figure, .gs-movil figure { margin: 0; }
.gs-navegador img { width: 100%; height: auto; display: block; border-radius: 10px; }
.gs-movil {
	position: absolute; left: 0; bottom: 0;
	width: clamp(124px, 13vw, 190px);
	border-radius: 28px; background: var(--wp--preset--color--tinta);
	padding: 9px; box-shadow: 0 30px 60px -24px rgba(16, 48, 47, 0.55);
	margin: 0 !important;
}
.gs-movil img { width: 100%; height: auto; display: block; border-radius: 20px; }
.gs-hero-visual--simple .gs-navegador { left: 0; right: 6%; }
@media (max-width: 820px) {
	.gs-navegador { left: 0; right: 10%; }
	.gs-movil { left: auto; right: 0; }
}

/* ---------- Liquidación de ejemplo ---------- */
.gs-liquidacion { background: #FFFFFF; border-radius: 20px; overflow: hidden; box-shadow: 0 30px 60px -34px rgba(16, 48, 47, 0.45); font-size: 14.5px; }
.gs-liquidacion__cab { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 18px 22px; border-bottom: 1px solid var(--wp--preset--color--superficie); }
.gs-liquidacion__cab b { font-family: var(--wp--preset--font-family--bricolage); font-size: 18px; }
.gs-liquidacion__cab span { font-size: 14px; color: var(--wp--preset--color--texto-3); }
.gs-liquidacion__fila { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; padding: 14px 22px; border-bottom: 1px solid var(--wp--preset--color--superficie); }
.gs-liquidacion__fila--alquiler { background: #F4F9F6; }
.gs-liquidacion__fila--total { background: var(--wp--preset--color--fondo); font-weight: 700; padding-top: 13px; padding-bottom: 13px; }
.gs-liquidacion__fila:last-child { border-bottom: 0; }
.gs-liquidacion__nombre { font-weight: 600; }
.gs-liquidacion__meta { font-size: 14px; color: var(--wp--preset--color--texto-3); }
.gs-liquidacion__importe { font-weight: 700; text-align: right; white-space: nowrap; }
.gs-liquidacion__importe--mas { color: var(--wp--preset--color--ok); }
.gs-estado { display: inline-flex; margin-top: 6px; padding: 2px 8px; border-radius: 6px; font-size: 14px; font-weight: 600; }
.gs-estado--ok { background: #E3F0E8; color: #2C7553; }
.gs-estado--aviso { background: #FBEBA8; color: #6B5508; }
.gs-estado--error { background: #F6E1DC; color: #B03A25; }

/* ---------- Escáner ---------- */
.gs-escaner { border-radius: 28px; overflow: hidden; }
.gs-escaner__texto { padding: clamp(32px, 4vw, 56px); }
.gs-escaner__demo { background: #173C3B; padding: clamp(24px, 3vw, 44px); }
.gs-informe { display: grid; gap: 14px; color: #E4EEEA; font-size: 14.5px; }
.gs-informe__cab { display: flex; justify-content: space-between; align-items: baseline; font-weight: 600; color: #C9D7D1; }
.gs-informe__cab b { font-size: 26px; color: #FFFFFF; }
.gs-informe__texto { background: #FFFFFF; color: #333333; border-radius: 12px; padding: 18px 20px; font-family: Georgia, serif; font-size: 15px; line-height: 1.7; }
.gs-informe__texto mark { background: #FBEBA8; color: #222222; padding: 1px 2px; }
.gs-informe__pin { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; border-radius: 50%; background: #B03A25; color: #FFFFFF; font: 600 11px var(--wp--preset--font-family--instrument); }
.gs-informe__nota span { color: #B9CEC8; }

/* ---------- Preguntas frecuentes ---------- */
.gs-faq { border-top: 2px solid var(--wp--preset--color--tinta); }
.gs-faq > .wp-block-details { border-bottom: 1px solid var(--wp--preset--color--linea); padding: 20px 0; margin: 0; }
.gs-faq summary { font-weight: 600; font-size: 18px; cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 20px; }
.gs-faq summary::-webkit-details-marker { display: none; }
.gs-faq summary::after { content: "+"; font-weight: 400; font-size: 24px; line-height: 1; color: var(--wp--preset--color--texto-2); }
.gs-faq details[open] > summary::after { content: "\2212"; }
.gs-faq details > :not(summary) { margin-top: 10px; color: var(--wp--preset--color--texto-2); }

/* ---------- Formularios (cualquier plugin dentro de .gs-formulario) ---------- */
.gs-formulario { background: #FFFFFF; color: var(--wp--preset--color--tinta); border-radius: 20px; padding: clamp(16px, 2.4vw, 30px); }
.gs-formulario label { font-size: 14px; font-weight: 600; }
.gs-formulario :where(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], select, textarea) {
	width: 100%; box-sizing: border-box; min-height: 50px;
	border-radius: 12px; border: 1px solid var(--wp--preset--color--linea);
	background: var(--wp--preset--color--fondo); color: var(--wp--preset--color--tinta);
	padding: 0 14px; font: inherit; font-size: 16px; margin-top: 6px;
}
.gs-formulario textarea { padding: 12px 14px; min-height: 120px; }
.gs-formulario input[type="checkbox"], .gs-formulario input[type="radio"] { width: 22px; height: 22px; accent-color: var(--wp--preset--color--verde); }
.gs-formulario :where(input[type="submit"], button[type="submit"]) {
	width: 100%; min-height: 52px; border: 0; border-radius: 999px;
	background: var(--wp--preset--color--senal); color: var(--wp--preset--color--tinta);
	font: 600 16px var(--wp--preset--font-family--instrument); cursor: pointer;
}
.gs-hueco-formulario { border: 2px dashed var(--wp--preset--color--verde); border-radius: 14px; background: #F1F6F3; padding: 24px; color: var(--wp--preset--color--texto-2); }

/* ---------- Guías ---------- */
.gs-respuesta-corta { background: var(--wp--preset--color--superficie); border-radius: 18px; padding: 22px 26px; }
.gs-respuesta-corta > * { margin-block: 0; }
.gs-respuesta-corta > * + * { margin-top: 8px; }
.gs-respuesta-corta__titulo { font-size: 14px; font-weight: 700; color: var(--wp--preset--color--verde); }
.gs-revisor { background: var(--wp--preset--color--fondo); border-radius: 18px; padding: 22px 24px; font-size: 15.5px; }
.gs-cta-guia { border: 1px solid var(--wp--preset--color--superficie); border-radius: 18px; padding: 22px 24px; background: #FFFFFF; box-shadow: 0 16px 32px -24px rgba(16, 48, 47, 0.35); }
.gs-articulo .wp-block-table table { border-collapse: collapse; width: 100%; font-size: 16px; }
.gs-articulo .wp-block-table :where(th, td) { border: 0; border-bottom: 1px solid var(--wp--preset--color--superficie); padding: 12px 16px; text-align: left; }
.gs-articulo .wp-block-table thead { border-bottom: 0; background: var(--wp--preset--color--fondo); font-size: 14px; color: var(--wp--preset--color--texto-3); }
.gs-articulo .wp-block-table { border: 1px solid var(--wp--preset--color--superficie); border-radius: 14px; overflow: hidden; }
.gs-cabecera-articulo .wp-block-post-terms a { display: inline-block; padding: 4px 12px; border-radius: 999px; background: var(--wp--preset--color--superficie); color: var(--wp--preset--color--verde); font-size: 14px; font-weight: 600; text-decoration: none; }
.gs-tarjetas-guia .wp-block-post { background: #FFFFFF; border-radius: 22px; padding: 28px; display: flex; flex-direction: column; gap: 10px; }
.gs-tarjetas-guia .wp-block-post > * { margin: 0; }
.gs-tarjetas-guia .wp-block-post-terms a { font-size: 14px; font-weight: 600; color: var(--wp--preset--color--verde); text-decoration: none; }
.gs-tarjetas-guia .wp-block-post-excerpt { color: var(--wp--preset--color--texto-2); font-size: 15.5px; }
.gs-tarjetas-guia .wp-block-post-excerpt__excerpt { margin: 0; }
.gs-tarjetas-guia .wp-block-post-date { margin-top: auto !important; padding-top: 14px; border-top: 1px solid var(--wp--preset--color--superficie); font-size: 14px; color: var(--wp--preset--color--texto-3); }
.gs-banda-superficie .gs-tarjetas-guia .wp-block-post { background: #FFFFFF; }
.gs-tarjetas-guia--borde .wp-block-post { border: 1px solid var(--wp--preset--color--superficie); }

/* Módulos (servicio) */
.gs-modulos { border-radius: 28px; background: var(--wp--preset--color--superficie); padding: clamp(20px, 3vw, 36px); }
.gs-modulo { background: #FFFFFF; border-radius: 14px; padding: 16px; }
.gs-modulo > * { margin: 0; }
.gs-modulo strong { font-size: 15.5px; }
.gs-modulo span { font-size: 14px; color: var(--wp--preset--color--texto-3); }
.gs-modulo--senal { background: var(--wp--preset--color--senal); }
.gs-modulo--senal span { color: var(--wp--preset--color--tinta); }
.gs-modulo--tinta { background: var(--wp--preset--color--tinta); color: #FFFFFF; }
.gs-modulo--tinta span { color: #B9CEC8; }

/* Opciones de contacto */
.gs-opcion-contacto { background: #FFFFFF; border: 1px solid var(--wp--preset--color--superficie); border-radius: 18px; padding: 18px 20px; }
.gs-opcion-contacto > * { margin: 0; }
.gs-opcion-contacto a { color: var(--wp--preset--color--tinta); font-weight: 700; text-decoration: none; }
.gs-opcion-contacto a::after { content: ""; position: absolute; inset: 0; }
.gs-opcion-contacto { position: relative; }
.gs-opcion-contacto a:focus-visible { outline: none; box-shadow: none; }
.gs-opcion-contacto:focus-within { outline: 3px solid var(--wp--preset--color--tinta); outline-offset: 3px; box-shadow: 0 0 0 6px var(--wp--preset--color--senal); }

/* Imágenes de las tarjetas de producto */
.gs-captura img { border-radius: 14px; }

/* ---------- Estructura de página ---------- */
.wp-site-blocks > main, .wp-site-blocks > footer { margin-block-start: 0; }
.wp-block-post-content > .alignfull { margin-block: 0; }
main > .wp-block-post-content.alignfull { margin-block: 0; }

.gs-hero { padding-top: clamp(28px, 4vw, 56px); padding-bottom: clamp(56px, 6vw, 88px); }
.gs-hero > .gs-ruta { margin-bottom: clamp(20px, 3vw, 36px); }
.gs-hero__rejilla { align-items: center; }
.gs-hero__texto { gap: 22px; }
.gs-hero__texto > * { margin: 0; }
.gs-hero__texto h1 { max-width: 14ch; }
.gs-seccion--sin-arriba { padding-top: 0; }
.gs-dos-columnas { align-items: center; }
.gs-contacto { align-items: start; }

.gs-cifras { padding-top: 0; padding-bottom: 0; }
.gs-cifras__item { padding: 28px 16px 28px 0; }
.gs-cifras__item > * { margin: 0; }

.gs-cta { padding: clamp(32px, 4.5vw, 60px); gap: 24px 48px; }
.gs-cta h2 { font-size: clamp(28px, 3vw, 42px); }
.gs-banda-verde .wp-block-button.is-style-outline .wp-block-button__link,
.gs-oscuro .wp-block-button.is-style-outline .wp-block-button__link { color: #FFFFFF; border-color: rgba(255, 255, 255, 0.7); }

.gs-tarjeta { gap: 12px; }
.gs-tarjeta--discontinua { border-style: dashed; border-color: var(--wp--preset--color--linea); }
.gs-tarjeta.gs-oscuro { border-color: transparent; }
.gs-tarjeta h3 a { color: inherit; text-decoration: none; }
.gs-tarjeta h3 a:hover { text-decoration: underline; }
.gs-color-ok { color: var(--wp--preset--color--ok) !important; }
.gs-color-error { color: var(--wp--preset--color--error) !important; }
.gs-pequeno { font-size: 14px; }
.gs-oscuro .gs-pequeno { color: #8FB0A8; }
.gs-resto-especialidades { margin-top: 16px !important; align-items: center; }
.gs-resto-especialidades h3, .gs-resto-especialidades p { margin: 0; }
.gs-resto-especialidades p { margin-top: 6px; }
.gs-foto-redondeada img { border-radius: 26px; width: 100%; height: auto; display: block; }
.gs-botones-ancho, .gs-botones-ancho .wp-block-button { width: 100%; }
.gs-botones-ancho .wp-block-button__link { width: 100%; }

ol.gs-pasos { list-style: none; padding: 0; counter-reset: paso; display: grid; gap: 18px; }
ol.gs-pasos li { counter-increment: paso; position: relative; padding-left: 48px; min-height: 32px; }
ol.gs-pasos li::before { content: counter(paso); position: absolute; left: 0; top: -2px; width: 32px; height: 32px; border-radius: 50%; background: var(--wp--preset--color--senal); color: var(--wp--preset--color--tinta); display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 14px; }

ul.gs-lista-normas { list-style: none; padding: 0; margin: 0; background: #FFFFFF; border-radius: 22px; overflow: hidden; }
ul.gs-lista-normas li { padding: 18px 24px; border-bottom: 1px solid var(--wp--preset--color--superficie); color: var(--wp--preset--color--texto-2); font-size: 15px; }
ul.gs-lista-normas li:last-child { border-bottom: 0; }
ul.gs-lista-normas li strong { color: var(--wp--preset--color--tinta); font-size: 17px; }

.gs-modulos { gap: 10px; }
.gs-modulos > * { margin: 0; }
.gs-modulos__titulo, .gs-modulo--ancho { grid-column: 1 / -1; }

.gs-opciones-contacto { width: 100%; gap: 10px; }
.gs-opciones-contacto > * { margin: 0; width: 100%; box-sizing: border-box; }
.gs-cta-guia__titulo { font-family: var(--wp--preset--font-family--bricolage); font-size: 19px; margin: 0; }
.gs-cta-guia p { margin: 0; }
.gs-firma { gap: 6px 8px; }
.gs-firma > * { margin: 0; }
.gs-articulo { font-size: 18px; line-height: 1.7; color: #22403D; }
.gs-articulo h2 { font-size: 30px; margin-top: 40px; }
.gs-articulo .wp-block-post-content > * + * { margin-top: 16px; }

/* Pie */
.gs-pie { padding-top: 56px; padding-bottom: 36px; }
.gs-pie__columnas { gap: 32px; }
.gs-pie__marca p { margin-top: 14px; max-width: 34ch; }
.gs-pie__legal { margin-top: 44px !important; padding-top: 22px; }
.gs-pie__legal p { margin: 0; }

/* Cabecera en móvil */
@media (max-width: 820px) {
	.gs-cabecera__fila { min-height: 64px; gap: 8px; }
	.gs-logo .wp-block-site-title { font-size: 22px; }
	.gs-logo svg { width: 28px; height: 28px; }
	.gs-navegacion { order: 3; }
	.gs-cabecera .wp-block-button__link { padding: 10px 16px; font-size: 14px; }
	.gs-cifras__item { padding: 22px 12px 22px 0; }
}

/* Ajustes tras la prueba en WordPress */
.gs-logo .wp-block-site-title { text-transform: lowercase; }
.gs-cabecera .wp-block-navigation__responsive-container-open:not(.always-shown) { display: none; }
@media (max-width: 820px) {
	.gs-cabecera .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.gs-cabecera .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}
.gs-cabecera .wp-block-navigation__responsive-container.is-menu-open { display: flex; }
@media (min-width: 821px) {
	.gs-pie__columnas { grid-template-columns: 2fr repeat(4, minmax(0, 1fr)) !important; }
}
@media (max-width: 820px) {
	.gs-pie__columnas { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.gs-pie__marca { grid-column: 1 / -1; }
}
.gs-tarjeta.gs-oscuro { background: var(--wp--preset--color--tinta); }
.gs-banda-verde .gs-formulario p, .gs-banda-verde .gs-hueco-formulario { color: var(--wp--preset--color--texto-2); }
.gs-tarjetas-guia .wp-block-post-date { color: var(--wp--preset--color--texto-3); }

/* Cabecera de páginas índice */
.gs-cabecera-pagina { padding-block: clamp(48px, 7vw, 96px) clamp(32px, 4vw, 56px); }
.gs-cabecera-pagina__texto > * { max-width: 820px; }
.gs-cabecera-pagina h1 { margin-block: 12px 16px; }

/* =====================================================================
   Blog 1.1: índice, temas, entradas, cambios normativos y autores
   (los bloques dinámicos los pinta el plugin Gersalud Guías)
   ===================================================================== */
.screen-reader-text { border: 0; clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }
.gs-banda-fondo { background: var(--wp--preset--color--fondo); }
.gs-seccion--sin-abajo { padding-bottom: 0; }
.gs-ancho > * { margin-block: 0; }
.gs-etiqueta--senal { background: var(--wp--preset--color--senal); color: var(--wp--preset--color--tinta); }
.gs-avatar { border-radius: 50%; object-fit: cover; flex-shrink: 0; background: var(--wp--preset--color--linea); }
.gs-enlace-tema { margin: 0; }
.gs-enlace-tema a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 600; color: var(--wp--preset--color--verde); text-decoration-color: var(--wp--preset--color--senal); text-decoration-thickness: 3px; text-underline-offset: 5px; }
.gs-ver-todas { margin-top: 24px !important; }

/* Migas */
.gs-migas ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 0; font-size: 14px; color: var(--wp--preset--color--texto-3); }
.gs-migas li + li::before { content: "›"; margin: 0 8px; }
.gs-migas a { color: var(--wp--preset--color--texto-3); }
.gs-oscuro .gs-migas ol, .gs-oscuro .gs-migas a:not(.wp-block-button__link) { color: #C9D7D1; }

/* Cabecera del índice y de los archivos */
.gs-cabecera-blog { padding-top: clamp(48px, 6vw, 88px); padding-bottom: clamp(40px, 5vw, 64px); border-bottom: 1px solid var(--wp--preset--color--superficie); }
.gs-cabecera-blog--archivo { padding-top: 24px; }
.gs-cabecera-blog__texto > * { margin-block: 0; }
.gs-cabecera-blog__texto > * + * { margin-top: 18px; }
.gs-cabecera-blog__texto > :where(h1, .gs-lead, .wp-block-term-description) { max-width: 860px; }
.gs-cabecera-blog--archivo h1 { margin-top: 28px; }
.gs-cabecera-blog .gs-lead { max-width: 62ch; }
.gs-cabecera-blog .gs-filtro { margin-top: 22px; }

/* Buscador */
.gs-buscador { max-width: 760px; margin-top: 30px !important; }
.gs-buscador .wp-block-search__inside-wrapper { display: flex; flex-wrap: wrap; gap: 10px; border: 0; padding: 0; }
.gs-buscador .wp-block-search__input { flex: 1 1 280px; min-width: 0; height: 54px; padding: 0 22px; border-radius: 999px; border: 1.5px solid var(--wp--preset--color--linea); background: #FFFFFF; font: inherit; font-size: 16px; color: var(--wp--preset--color--tinta); }
.gs-buscador .wp-block-search__button { height: 54px; margin: 0; padding: 0 26px; border-radius: 999px; border: 0; background: var(--wp--preset--color--verde); color: #FFFFFF; font: 600 16px var(--wp--preset--font-family--instrument); cursor: pointer; }
.gs-buscador .wp-block-search__button:hover { background: var(--wp--preset--color--tinta); }

/* Filtros */
.gs-filtro { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.gs-filtro__etiqueta { font-size: 15px; font-weight: 600; color: var(--wp--preset--color--texto-2); margin-right: 4px; }
.gs-filtro ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.gs-filtro a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; border-radius: 999px; border: 1.5px solid var(--wp--preset--color--linea); background: #FFFFFF; color: var(--wp--preset--color--tinta); font-size: 15px; font-weight: 500; text-decoration: none; box-sizing: border-box; }
.gs-filtro a:hover { border-color: var(--wp--preset--color--tinta); }
.gs-filtro a[aria-current] { background: var(--wp--preset--color--tinta); border-color: var(--wp--preset--color--tinta); color: #FFFFFF; font-weight: 600; }
.gs-cabecera-seccion .gs-filtro a[aria-current] { background: var(--wp--preset--color--verde); border-color: var(--wp--preset--color--verde); }
.gs-barra-filtro { background: var(--wp--preset--color--fondo); border-bottom: 1px solid var(--wp--preset--color--superficie); padding-top: 18px; padding-bottom: 18px; }

/* Temas */
.gs-temas { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 16px; }
.gs-temas__tarjeta { height: 100%; box-sizing: border-box; display: flex; flex-direction: column; gap: 10px; padding: 22px; border: 1px solid var(--wp--preset--color--superficie); border-radius: 20px; background: #FFFFFF; color: var(--wp--preset--color--tinta); text-decoration: none; }
.gs-temas__tarjeta:hover { border-color: var(--wp--preset--color--verde); }
.gs-temas__icono { width: 44px; height: 44px; border-radius: 12px; display: flex; align-items: center; justify-content: center; background: var(--wp--preset--color--tinta); color: var(--wp--preset--color--senal); }
.gs-temas__icono--verde { background: var(--wp--preset--color--verde); color: #FFFFFF; }
.gs-temas__icono--senal { background: var(--wp--preset--color--senal); color: var(--wp--preset--color--tinta); }
.gs-temas__icono--superficie { background: var(--wp--preset--color--superficie); color: var(--wp--preset--color--tinta); }
.gs-temas__nombre { font-family: var(--wp--preset--font-family--bricolage); font-weight: 700; font-size: 20px; line-height: 1.2; }
.gs-temas__desc { font-size: 15px; color: var(--wp--preset--color--texto-3); }
.gs-temas__n { margin-top: auto; font-size: 14px; font-weight: 600; color: var(--wp--preset--color--verde); }

/* Portadas de las tarjetas */
.gs-portada { position: relative; display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; min-height: 140px; padding: 20px 22px; box-sizing: border-box; background: var(--wp--preset--color--tinta); color: #FFFFFF; }
.gs-portada__texto { font-family: var(--wp--preset--font-family--bricolage); font-weight: 800; font-size: clamp(32px, 3vw, 42px); letter-spacing: -0.04em; line-height: 1; color: var(--wp--preset--color--senal); overflow-wrap: anywhere; }
.gs-portada__tipo { flex-shrink: 0; font-size: 14px; font-weight: 700; }
.gs-portada--verde { background: var(--wp--preset--color--verde); }
.gs-portada--verde .gs-portada__texto { color: #FFFFFF; }
.gs-portada--senal { background: var(--wp--preset--color--senal); color: var(--wp--preset--color--tinta); }
.gs-portada--senal .gs-portada__texto { color: var(--wp--preset--color--tinta); }
.gs-portada--superficie { background: var(--wp--preset--color--superficie); color: var(--wp--preset--color--tinta); }
.gs-portada--superficie .gs-portada__texto { color: var(--wp--preset--color--tinta); }
.gs-portada--imagen { padding: 0; min-height: 0; background: var(--wp--preset--color--superficie); }
.gs-portada--imagen img { width: 100%; height: 180px; object-fit: cover; display: block; }
.gs-portada--imagen .gs-portada__tipo { position: absolute; right: 14px; bottom: 14px; padding: 4px 10px; border-radius: 999px; background: #FFFFFF; color: var(--wp--preset--color--tinta); }

/* Pastillas de términos */
.gs-pastillas { gap: 6px; }
.gs-pastillas > * { margin: 0; }
.gs-pastillas .wp-block-post-terms { display: flex; flex-wrap: wrap; gap: 6px; }
.gs-pastillas .wp-block-post-terms__separator { display: none; }
.gs-pastillas .wp-block-post-terms a { display: inline-block; padding: 2px 10px; border-radius: 999px; background: var(--wp--preset--color--superficie); color: var(--wp--preset--color--verde); font-size: 14px; font-weight: 600; text-decoration: none; }
.gs-pastillas--cabecera .wp-block-post-terms a { padding: 4px 12px; }
.gs-pastillas .gs-terminos-tipo a { background: var(--wp--preset--color--tinta); color: #FFFFFF; }
.gs-pastillas .gs-terminos-estado a { background: #E3F0E8; color: var(--wp--preset--color--ok); font-weight: 700; }
.gs-pastillas .gs-terminos-estado a[href*="/estado/en-tramitacion"] { background: #FBEBA8; color: var(--wp--preset--color--aviso); }
.gs-pastillas .gs-terminos-estado a[href*="/estado/en-vigor"] { background: var(--wp--preset--color--tinta); color: #FFFFFF; }
.gs-pastillas .gs-terminos-estado a[href*="/estado/derogado"] { background: #F6E1DC; color: var(--wp--preset--color--error); }
.gs-pastillas--cabecera .gs-terminos-tipo a[href*="/tipo/cambio-normativo"] { background: var(--wp--preset--color--senal); color: var(--wp--preset--color--tinta); }

/* Tarjeta de publicación */
.gs-tarjeta-pub { position: relative; height: 100%; box-sizing: border-box; display: flex; flex-direction: column; border: 1px solid var(--wp--preset--color--superficie); border-radius: 20px; overflow: hidden; background: #FFFFFF; }
.gs-tarjeta-pub > * { margin: 0; }
.gs-tarjeta-pub:hover { border-color: var(--wp--preset--color--verde); }
.gs-tarjeta-pub:focus-within { outline: 3px solid var(--wp--preset--color--tinta); outline-offset: 3px; box-shadow: 0 0 0 6px var(--wp--preset--color--senal); }
.gs-tarjeta-pub__cuerpo { flex: 1; display: flex; flex-direction: column; gap: 8px; padding: 20px 22px 22px; }
.gs-tarjeta-pub__cuerpo > * { margin: 0; }
.gs-tarjeta-pub__temas { gap: 0 6px; font-size: 14px; font-weight: 600; color: var(--wp--preset--color--verde); }
.gs-tarjeta-pub__temas > * { margin: 0; }
.gs-tarjeta-pub__temas > .wp-block-post-terms + .wp-block-post-terms::before { content: "·"; margin-right: 6px; }
.gs-tarjeta-pub__temas a, .gs-tarjeta-rel__meta a { position: relative; z-index: 1; color: var(--wp--preset--color--verde); text-decoration: none; }
.gs-tarjeta-pub__temas a:hover, .gs-tarjeta-rel__meta a:hover { text-decoration: underline; }
.gs-tarjeta-pub__titulo, .gs-tarjeta-rel__titulo { font-size: 20px; line-height: 1.25; }
.gs-tarjeta-pub__titulo a, .gs-tarjeta-rel__titulo a, .gs-destacada__titulo a, .gs-cambio-item__titulo a, .gs-fila-pub__titulo a, .gs-guia-completa__titulo a { color: var(--wp--preset--color--tinta); text-decoration: none; }
.gs-tarjeta-pub__titulo a::after, .gs-tarjeta-rel__titulo a::after { content: ""; position: absolute; inset: 0; }
.gs-tarjeta-pub__titulo a:focus-visible, .gs-tarjeta-rel__titulo a:focus-visible { outline: none; box-shadow: none; }
.gs-meta-tarjeta { margin: auto 0 0; padding-top: 6px; font-size: 14px; color: var(--wp--preset--color--texto-3); }
.gs-lista-pub .wp-block-query-pagination, .gs-lista-filas-consulta .wp-block-query-pagination { margin-top: 40px; gap: 8px; font-weight: 600; }
.wp-block-query-pagination-numbers .page-numbers, .wp-block-query-pagination a { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0 14px; box-sizing: border-box; border-radius: 999px; border: 1.5px solid var(--wp--preset--color--linea); color: var(--wp--preset--color--tinta); text-decoration: none; }
.wp-block-query-pagination-numbers .page-numbers.current { background: var(--wp--preset--color--tinta); border-color: var(--wp--preset--color--tinta); color: #FFFFFF; }
.wp-block-query-pagination-numbers .page-numbers.dots { border: 0; }

/* Destacada y últimos cambios */
.gs-destacado-rejilla { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 24px; align-items: stretch; }
.gs-destacado-rejilla > * { margin: 0; }
.gs-destacada-consulta, .gs-destacada-consulta .wp-block-post-template, .gs-destacada-consulta .wp-block-post { height: 100%; margin: 0; }
.gs-destacada { position: relative; height: 100%; box-sizing: border-box; display: flex; flex-direction: column; border: 1px solid var(--wp--preset--color--superficie); border-radius: 24px; overflow: hidden; background: #FFFFFF; }
.gs-destacada > * { margin: 0; }
.gs-destacada .gs-portada { min-height: 240px; padding: clamp(24px, 3vw, 40px); align-items: flex-end; }
.gs-destacada .gs-portada:not(.gs-portada--imagen) .gs-portada__texto { font-size: clamp(52px, 6.5vw, 100px); line-height: 0.92; }
.gs-destacada .gs-portada--imagen img { height: 280px; }
.gs-destacada__cuerpo { flex: 1; display: flex; flex-direction: column; gap: 10px; padding: clamp(22px, 2.6vw, 32px); }
.gs-destacada__cuerpo > * { margin: 0; }
.gs-destacada__titulo { font-size: clamp(24px, 2.4vw, 32px); line-height: 1.15; letter-spacing: -0.02em; }
.gs-destacada__titulo a::after { content: ""; position: absolute; inset: 0; }
.gs-destacada .gs-pastillas a { position: relative; z-index: 1; }
.gs-destacada:focus-within { outline: 3px solid var(--wp--preset--color--tinta); outline-offset: 3px; box-shadow: 0 0 0 6px var(--wp--preset--color--senal); }
.gs-destacada__titulo a:focus-visible { outline: none; box-shadow: none; }
.gs-destacada__resumen { color: var(--wp--preset--color--texto-2); }
.gs-destacada__resumen p { margin: 0; }
.gs-cambios { border-radius: 24px; background: var(--wp--preset--color--fondo); padding: clamp(22px, 2.6vw, 32px); }
.gs-cambios > * { margin: 0; }
.gs-cambios__cab { gap: 8px 12px; }
.gs-cambios__cab > * { margin: 0; }
.gs-cambios__titulo { font-size: 24px; }
.gs-cambios__lista { margin: 6px 0 0; padding: 0; }
.gs-cambio-item { display: flex; gap: 16px; align-items: flex-start; padding: 18px 0; border-bottom: 1px solid var(--wp--preset--color--linea); }
.gs-cambios__lista > li:last-child .gs-cambio-item { border-bottom: 0; padding-bottom: 0; }
.gs-cambio-item > * { margin: 0; }
.gs-cambio-item__texto { display: flex; flex-direction: column; gap: 6px; }
.gs-cambio-item__texto > * { margin: 0; }
.gs-cambio-item__titulo { font-family: var(--wp--preset--font-family--instrument); font-size: 16.5px; font-weight: 700; line-height: 1.35; letter-spacing: 0; }
.gs-calendario { flex-shrink: 0; width: 64px; box-sizing: border-box; padding: 8px 0; border-radius: 12px; background: #FFFFFF; border: 1px solid var(--wp--preset--color--superficie); text-align: center; line-height: 1.1; display: flex; flex-direction: column; }
.gs-calendario b { font-family: var(--wp--preset--font-family--bricolage); font-size: 22px; }
.gs-calendario span { font-size: 14px; font-weight: 600; color: var(--wp--preset--color--texto-3); }

/* Página del tema */
.gs-cabecera-tema { padding-top: 24px; padding-bottom: clamp(48px, 6vw, 80px); }
.gs-cabecera-tema__fila { margin-top: clamp(28px, 4vw, 56px) !important; display: flex; flex-wrap: wrap; gap: 32px 64px; align-items: flex-end; justify-content: space-between; }
.gs-cabecera-tema__fila > * { margin: 0; }
.gs-cabecera-tema__texto { flex: 1 1 520px; max-width: 820px; }
.gs-cabecera-tema__texto > * { margin: 0; }
.gs-cabecera-tema__texto > * + * { margin-top: 16px; }
.gs-cabecera-tema .wp-block-term-description p { color: #E4EEEA; max-width: 62ch; margin: 0; }
.gs-fecha-clave { flex: 0 1 340px; border-radius: 20px; background: var(--wp--preset--color--verde); padding: 22px 24px; }
.gs-fecha-clave p { margin: 0; }
.gs-cabecera-tema .gs-fecha-clave__etiqueta { font-size: 14px; font-weight: 700; color: #FFFFFF; }
.gs-cabecera-tema .gs-fecha-clave__fecha { margin-top: 6px; font-family: var(--wp--preset--font-family--bricolage); font-weight: 800; font-size: 40px; line-height: 1; letter-spacing: -0.03em; color: #FFFFFF; }
.gs-cabecera-tema .gs-fecha-clave__texto { margin-top: 8px; font-size: 15px; color: #E4EEEA; }
.gs-tema-principal, .gs-tema-final { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: 24px; align-items: stretch; }
.gs-tema-final { gap: 32px 64px; align-items: start; }
.gs-tema-principal > *, .gs-tema-final > * { margin: 0; }
.gs-guia-principal { border-radius: 24px; background: var(--wp--preset--color--superficie); padding: clamp(24px, 3vw, 40px); display: flex; flex-direction: column; gap: 14px; }
.gs-guia-principal > * { margin: 0; }
.gs-guia-principal__etiqueta { align-self: flex-start; padding: 4px 12px; border-radius: 999px; background: #FFFFFF; color: var(--wp--preset--color--verde); font-size: 14px; font-weight: 700; }
.gs-guia-principal__titulo { font-size: clamp(26px, 2.8vw, 38px); line-height: 1.12; }
.gs-guia-principal__titulo a { color: var(--wp--preset--color--tinta); text-decoration: none; }
.gs-guia-principal__titulo a:hover { text-decoration: underline; }
.gs-guia-principal__resumen { color: var(--wp--preset--color--texto-2); }
.gs-guia-principal__pie { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; font-size: 14.5px; color: var(--wp--preset--color--texto-3); }
.gs-guia-principal__boton, .gs-producto-tema--banda .gs-producto-tema__boton { display: inline-flex; align-items: center; min-height: 48px; padding: 0 24px; border-radius: 999px; background: var(--wp--preset--color--verde); color: #FFFFFF; font-size: 16px; font-weight: 600; text-decoration: none; }
.gs-guia-principal__boton:hover, .gs-producto-tema--banda .gs-producto-tema__boton:hover { background: var(--wp--preset--color--tinta); color: #FFFFFF; }
.gs-fechas-clave { border-radius: 24px; border: 1px solid var(--wp--preset--color--superficie); padding: clamp(24px, 3vw, 36px); }
.gs-fechas-clave__titulo { margin: 0; font-size: 24px; }
.gs-fechas-clave ol { list-style: none; margin: 18px 0 0; padding: 0; }
.gs-fechas-clave__item { display: flex; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--wp--preset--color--superficie); }
.gs-fechas-clave__item:last-child { border-bottom: 0; }
.gs-fechas-clave__punto { flex-shrink: 0; width: 14px; height: 14px; margin-top: 6px; border-radius: 50%; box-sizing: border-box; border: 2px solid var(--wp--preset--color--linea); }
.gs-fechas-clave__item--hecho .gs-fechas-clave__punto { background: var(--wp--preset--color--ok); border: 0; }
.gs-fechas-clave__item--proxima .gs-fechas-clave__punto { background: var(--wp--preset--color--senal); border: 0; box-shadow: 0 0 0 4px #FBEBA8; }
.gs-fechas-clave__estado { font-size: 14.5px; color: var(--wp--preset--color--texto-3); }
.gs-lista-filas { margin: 0; padding: 0; border-top: 2px solid var(--wp--preset--color--tinta); }
.gs-fila-pub { display: grid; grid-template-columns: 140px minmax(0, 1fr) 190px; gap: 6px 24px; align-items: baseline; padding: 20px 0; border-bottom: 1px solid var(--wp--preset--color--linea); }
.gs-fila-pub > * { margin: 0; }
.gs-fila-pub__tipo { font-size: 14px; font-weight: 700; }
.gs-fila-pub__tipo a { color: var(--wp--preset--color--verde); text-decoration: none; }
.gs-fila-pub__tipo a[href*="/tipo/cambio-normativo"] { color: var(--wp--preset--color--aviso); }
.gs-fila-pub__texto > * { margin: 0; }
.gs-fila-pub__titulo { font-size: 20px; line-height: 1.3; }
.gs-fila-pub__titulo a:hover { text-decoration: underline; }
.gs-fila-pub__resumen { font-size: 15px; color: var(--wp--preset--color--texto-3); }
.gs-fila-pub__resumen p { margin: 4px 0 0; }
.gs-fila-pub .gs-meta-tarjeta { margin: 0; padding: 0; }
.gs-contenido-tema > :first-child { margin-top: 0; }
.gs-contenido-tema h2 { font-size: clamp(28px, 2.8vw, 40px); margin: 0 0 24px; }
.gs-autores-tema { border-radius: 24px; background: var(--wp--preset--color--fondo); padding: clamp(24px, 3vw, 36px); }
.gs-autores-tema__titulo { margin: 0; font-size: 22px; }
.gs-autores-tema ul { list-style: none; margin: 18px 0 0; padding: 0; display: grid; gap: 14px; }
.gs-autores-tema a { display: flex; gap: 14px; align-items: center; color: var(--wp--preset--color--tinta); text-decoration: none; font-size: 15px; }
.gs-autores-tema a span { color: var(--wp--preset--color--texto-3); }
.gs-autores-tema a b { color: var(--wp--preset--color--tinta); font-size: 17px; }
.gs-autores-tema__nota { margin: 18px 0 0; font-size: 15px; color: var(--wp--preset--color--texto-2); }

/* Producto relacionado */
.gs-producto-tema { border-radius: 18px; background: var(--wp--preset--color--tinta); color: #FFFFFF; padding: 20px; }
.gs-producto-tema p { margin: 0; }
.gs-producto-tema__etiqueta { font-size: 14px; font-weight: 700; color: var(--wp--preset--color--senal); }
.gs-producto-tema__titulo { margin-top: 6px !important; font-family: var(--wp--preset--font-family--bricolage); font-weight: 700; font-size: 19px; line-height: 1.2; }
.gs-producto-tema__desc { margin-top: 8px !important; font-size: 14.5px; color: #C9D7D1; }
.gs-producto-tema__boton { margin-top: 14px; display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; border-radius: 999px; background: var(--wp--preset--color--senal); color: var(--wp--preset--color--tinta); font-size: 15px; font-weight: 700; text-decoration: none; }
.gs-producto-tema__boton:hover { background: #FFFFFF; color: var(--wp--preset--color--tinta); }
.gs-producto-tema--banda { border-radius: 28px; background: var(--wp--preset--color--superficie); color: var(--wp--preset--color--tinta); padding: clamp(28px, 4vw, 52px); display: flex; flex-wrap: wrap; gap: 24px 56px; align-items: center; justify-content: space-between; }
.gs-producto-tema--banda .gs-producto-tema__texto { flex: 1 1 460px; }
.gs-producto-tema--banda .gs-producto-tema__etiqueta { color: var(--wp--preset--color--verde); }
.gs-producto-tema--banda .gs-producto-tema__titulo { margin-top: 10px !important; font-size: clamp(26px, 2.8vw, 38px); line-height: 1.12; letter-spacing: -0.02em; }
.gs-producto-tema--banda .gs-producto-tema__desc { margin-top: 12px !important; font-size: 17px; color: var(--wp--preset--color--texto-2); }
.gs-producto-tema--banda .gs-producto-tema__boton { margin-top: 0; min-height: 52px; padding: 0 26px; }

/* Cabecera de la entrada */
.gs-cabecera-articulo { padding-top: 24px; padding-bottom: clamp(40px, 5vw, 64px); border-bottom: 1px solid var(--wp--preset--color--superficie); }
.gs-cabecera-articulo__texto { max-width: 860px; margin-top: clamp(24px, 3vw, 40px) !important; }
.gs-cabecera-articulo__texto > * { margin: 0; }
.gs-cabecera-articulo__texto > * + * { margin-top: 18px; }
.gs-cabecera-articulo__titulo { font-size: clamp(34px, 4vw, 56px); line-height: 1.05; letter-spacing: -0.03em; }
.gs-cabecera-articulo .gs-lead { max-width: 60ch; }
.gs-cabecera-cambio { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 32px 56px; align-items: start; margin-top: clamp(24px, 3vw, 40px) !important; }
.gs-cabecera-cambio > * { margin: 0; }
.gs-cabecera-cambio .gs-cabecera-articulo__texto { margin-top: 0 !important; }
.gs-cabecera-cambio .gs-cabecera-articulo__titulo { font-size: clamp(32px, 3.8vw, 52px); }
.gs-firma-v2 { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 28px; margin-top: 24px !important; font-size: 14.5px; color: var(--wp--preset--color--texto-3); }
.gs-firma-v2__persona { display: flex; align-items: center; gap: 10px; color: var(--wp--preset--color--texto-3); text-decoration: none; }
.gs-firma-v2__persona b { color: var(--wp--preset--color--tinta); text-decoration: underline; text-decoration-color: var(--wp--preset--color--linea); text-underline-offset: 3px; }
.gs-firma-v2__persona:hover b { text-decoration-color: var(--wp--preset--color--tinta); }
.gs-firma-v2--compacta { display: block; }
.gs-firma-v2--compacta a { color: var(--wp--preset--color--tinta); font-weight: 600; }
.gs-aviso-pais-banda { background: #FBEBA8; padding-inline: var(--wp--style--root--padding-left, 20px); }
.gs-aviso-pais p { max-width: 1280px; margin: 0 auto; padding: 12px 0; font-size: 15px; color: var(--wp--preset--color--tinta); display: flex; flex-wrap: wrap; gap: 6px 14px; }
.gs-aviso-pais a { color: var(--wp--preset--color--tinta); font-weight: 600; }

/* Cuerpo de la entrada */
.gs-articulo-seccion { padding-top: clamp(40px, 5vw, 64px); padding-bottom: clamp(48px, 6vw, 80px); }
.gs-articulo-rejilla { display: grid; grid-template-columns: 260px minmax(0, 720px); gap: 64px; align-items: start; justify-content: start; }
.gs-articulo-rejilla--cambio { grid-template-columns: minmax(0, 1fr) 360px; }
.gs-articulo-rejilla > * { margin: 0; }
.gs-articulo-lateral { position: sticky; top: 24px; display: flex; flex-direction: column; gap: 24px; }
.gs-articulo-lateral > * { margin: 0; }
.admin-bar .gs-articulo-lateral { top: 56px; }
.gs-articulo-cuerpo > * { margin-block: 0; }
.gs-articulo-cuerpo > * + * { margin-top: 24px; }
.gs-articulo-cuerpo .wp-block-post-content > :first-child { margin-top: 0; }
.gs-indice__titulo { margin: 0 0 12px; font-size: 14px; font-weight: 700; color: var(--wp--preset--color--texto-3); }
.gs-indice ol { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; font-size: 15px; line-height: 1.4; }
.gs-indice a { display: block; padding: 8px 12px; border-left: 3px solid var(--wp--preset--color--superficie); color: var(--wp--preset--color--texto-2); text-decoration: none; }
.gs-indice a:hover { border-left-color: var(--wp--preset--color--linea); color: var(--wp--preset--color--tinta); }
.gs-indice a[aria-current] { border-left-color: var(--wp--preset--color--senal); background: var(--wp--preset--color--fondo); color: var(--wp--preset--color--tinta); font-weight: 600; }
.gs-indice--desplegable { border: 1px solid var(--wp--preset--color--linea); border-radius: 14px; padding: 0 18px; }
.gs-indice--desplegable summary { min-height: 52px; display: flex; align-items: center; font-weight: 700; font-size: 16px; cursor: pointer; }
.gs-indice--desplegable ol { padding-bottom: 14px; }
.gs-articulo h2 { scroll-margin-top: 24px; }
.gs-ficha .wp-block-heading { margin-top: 40px; }
.gs-ficha__datos { margin: 16px 0 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--wp--preset--color--superficie); border: 1px solid var(--wp--preset--color--linea); border-radius: 18px; overflow: hidden; font-size: 16px; line-height: 1.5; }
.gs-ficha__datos > div { background: #FFFFFF; padding: 16px 20px; }
.gs-ficha__datos > div:last-child:nth-child(odd) { grid-column: 1 / -1; }
.gs-ficha__datos dt { font-size: 14px; font-weight: 700; color: var(--wp--preset--color--texto-3); }
.gs-ficha__datos dd { margin: 0; font-weight: 700; color: var(--wp--preset--color--tinta); }
.gs-ficha__nota { font-weight: 500; color: var(--wp--preset--color--texto-2); }
.gs-ficha__enlace { color: var(--wp--preset--color--verde); }
.gs-estado--aprobado { background: #E3F0E8; color: var(--wp--preset--color--ok); }
.gs-estado--en-tramitacion { background: #FBEBA8; color: var(--wp--preset--color--aviso); }
.gs-estado--en-vigor { background: var(--wp--preset--color--tinta); color: #FFFFFF; }
.gs-estado--derogado { background: #F6E1DC; color: var(--wp--preset--color--error); }
.gs-ficha .gs-estado { margin-top: 2px; border-radius: 999px; padding: 2px 10px; }
.gs-historial { margin-top: 40px !important; border: 1px solid var(--wp--preset--color--linea); border-radius: 18px; padding: 0 24px 8px; }
.gs-historial summary { min-height: 56px; display: flex; align-items: center; font-weight: 700; font-size: 16px; color: var(--wp--preset--color--tinta); cursor: pointer; }
.gs-historial__lista { list-style: none; margin: 0; padding: 0; font-size: 15.5px; line-height: 1.5; }
.gs-historial__lista li { padding: 12px 0; border-top: 1px solid var(--wp--preset--color--superficie); }
.gs-historial__lista strong { display: inline-block; min-width: 110px; margin-right: 12px; color: var(--wp--preset--color--tinta); }
.gs-autores { border-radius: 18px; background: var(--wp--preset--color--fondo); padding: 24px; display: flex; flex-direction: column; gap: 20px; font-size: 15.5px; line-height: 1.55; }
.gs-autores__persona { display: flex; gap: 16px; align-items: flex-start; }
.gs-autores__persona + .gs-autores__persona { padding-top: 20px; border-top: 1px solid var(--wp--preset--color--linea); }
.gs-autores__persona p { margin: 0; }
.gs-autores__etiqueta { font-size: 14px; font-weight: 700; color: var(--wp--preset--color--texto-3); }
.gs-autores__nombre { font-family: var(--wp--preset--font-family--bricolage); font-weight: 700; font-size: 19px; color: var(--wp--preset--color--tinta); }
.gs-autores a { font-weight: 600; }

/* Tres bloques del cambio normativo */
.gs-tres-bloques { margin-bottom: 8px !important; }
.gs-bloque-cambio { border: 1px solid var(--wp--preset--color--superficie); border-radius: 22px; padding: 24px; display: flex; flex-direction: column; gap: 10px; }
.gs-bloque-cambio > * { margin: 0 !important; }
.gs-bloque-cambio--destacado { background: var(--wp--preset--color--superficie); border-color: transparent; }
.gs-bloque-cambio__num { width: 44px; height: 44px; border-radius: 12px; background: var(--wp--preset--color--superficie); color: var(--wp--preset--color--verde); display: flex; align-items: center; justify-content: center; font-family: var(--wp--preset--font-family--bricolage); font-weight: 800; font-size: 20px; }
.gs-bloque-cambio--destacado .gs-bloque-cambio__num { background: var(--wp--preset--color--verde); color: #FFFFFF; }
.gs-articulo .gs-bloque-cambio h2 { font-size: 23px; }
.gs-bloque-cambio p:not(.gs-bloque-cambio__num) { font-size: 16px; line-height: 1.55; color: var(--wp--preset--color--texto-2); }

/* Tarjeta «Entra en vigor» */
.gs-vigor { border-radius: 24px; background: var(--wp--preset--color--tinta); color: #FFFFFF; padding: 26px 28px; }
.gs-vigor p { margin: 0; }
.gs-vigor__etiqueta { font-size: 14px; font-weight: 700; color: var(--wp--preset--color--senal); }
.gs-vigor__fecha { margin-top: 6px !important; font-family: var(--wp--preset--font-family--bricolage); font-weight: 800; font-size: 46px; line-height: 1; letter-spacing: -0.03em; }
.gs-vigor__nota { margin-top: 6px !important; font-size: 15px; color: #C9D7D1; }
.gs-vigor__datos { list-style: none; margin: 22px 0 0; padding: 0; font-size: 15px; line-height: 1.4; }
.gs-vigor__datos li { display: flex; gap: 12px; padding-bottom: 14px; }
.gs-vigor__datos li > span:last-child { color: #C9D7D1; }
.gs-vigor__datos b { color: #FFFFFF; }
.gs-vigor__punto { flex-shrink: 0; width: 22px; height: 22px; border-radius: 50%; background: var(--wp--preset--color--verde-claro); }
.gs-vigor__punto--en-tramitacion, .gs-vigor__punto--fecha { background: var(--wp--preset--color--senal); }
.gs-vigor__punto--derogado { background: #F6E1DC; }
.gs-vigor__enlace { margin-top: 6px; display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; border-radius: 999px; border: 1.5px solid var(--wp--preset--color--verde-claro); color: #FFFFFF; font-size: 15px; font-weight: 600; text-decoration: none; }
.gs-vigor__enlace:hover { background: var(--wp--preset--color--verde); color: #FFFFFF; }
.gs-guia-completa-consulta .wp-block-post-template { margin: 0; padding: 0; }
.gs-guia-completa { border: 1.5px solid var(--wp--preset--color--tinta); border-radius: 22px; padding: 24px; display: flex; flex-direction: column; gap: 8px; }
.gs-guia-completa > * { margin: 0; }
.gs-guia-completa__etiqueta { font-size: 14px; font-weight: 700; color: var(--wp--preset--color--verde); }
.gs-guia-completa__titulo { font-size: 21px; line-height: 1.25; }
.gs-guia-completa__titulo a:hover { text-decoration: underline; }

/* Relacionadas */
.gs-relacionadas { border-top: 1px solid var(--wp--preset--color--superficie); }
.gs-tarjeta-rel { position: relative; height: 100%; box-sizing: border-box; border-radius: 20px; background: #FFFFFF; padding: 24px; display: flex; flex-direction: column; gap: 8px; }
.gs-tarjeta-rel > * { margin: 0; }
.gs-tarjeta-rel:focus-within { outline: 3px solid var(--wp--preset--color--tinta); outline-offset: 3px; box-shadow: 0 0 0 6px var(--wp--preset--color--senal); }
.gs-tarjeta-rel__meta { gap: 0 6px; font-size: 14px; font-weight: 600; }
.gs-tarjeta-rel__meta > * { margin: 0; }
.gs-tarjeta-rel__meta:not(.gs-pastillas) > .wp-block-post-terms + .wp-block-post-terms::before { content: "·"; margin-right: 6px; color: var(--wp--preset--color--verde); }
.gs-tarjeta-rel__meta.gs-pastillas a { z-index: 1; }

/* Avisos de normativa */
.gs-avisos { border-radius: 28px; padding: clamp(28px, 4vw, 56px); display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)); gap: 28px 56px; align-items: center; }
.gs-avisos > * { margin: 0; }
.gs-avisos__texto > * { margin: 0; }
.gs-avisos__texto > * + * { margin-top: 14px; }
.gs-avisos h2 { font-size: clamp(28px, 3vw, 42px); line-height: 1.1; }
.gs-avisos .gs-etiqueta { display: inline-block; }
.gs-oscuro .gs-avisos__formulario p { color: var(--wp--preset--color--texto-2); }

/* Página de autor */
.gs-cabecera-autor-pagina { padding-top: 24px; padding-bottom: clamp(48px, 5vw, 72px); border-bottom: 1px solid var(--wp--preset--color--superficie); }
.gs-perfil { display: grid; grid-template-columns: 200px minmax(0, 1fr) 320px; gap: 28px 48px; align-items: start; margin-top: clamp(28px, 3vw, 44px); }
.gs-perfil p { margin: 0; }
.gs-perfil__foto { width: 100%; max-width: 200px; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: 28px; background: var(--wp--preset--color--linea); }
.gs-perfil__etiqueta { display: inline-block; padding: 4px 12px; border-radius: 999px; background: var(--wp--preset--color--superficie); color: var(--wp--preset--color--verde); font-size: 14px; font-weight: 600; }
.gs-perfil__nombre { margin: 14px 0 0; font-size: clamp(34px, 4vw, 54px); line-height: 1.05; letter-spacing: -0.03em; }
.gs-perfil__cargo { margin-top: 8px !important; font-size: 19px; font-weight: 600; color: var(--wp--preset--color--verde); }
.gs-perfil__bio { margin-top: 16px !important; max-width: 62ch; color: var(--wp--preset--color--texto-2); }
.gs-perfil__temas { margin-top: 20px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.gs-perfil__temas span { font-size: 15px; font-weight: 600; color: var(--wp--preset--color--texto-2); margin-right: 4px; }
.gs-perfil__temas a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border-radius: 999px; border: 1.5px solid var(--wp--preset--color--linea); background: #FFFFFF; color: var(--wp--preset--color--tinta); font-size: 15px; text-decoration: none; }
.gs-perfil__datos { border-radius: 22px; background: #FFFFFF; border: 1px solid var(--wp--preset--color--superficie); padding: 22px 24px; font-size: 15.5px; }
.gs-perfil__datos-titulo { font-size: 14px; font-weight: 700; color: var(--wp--preset--color--texto-3); }
.gs-perfil__datos ul { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 10px; }
.gs-perfil__datos li { position: relative; padding-left: 28px; }
.gs-perfil__datos li::before { content: ""; position: absolute; left: 2px; top: 5px; width: 12px; height: 7px; border-left: 2.5px solid var(--wp--preset--color--ok); border-bottom: 2.5px solid var(--wp--preset--color--ok); transform: rotate(-45deg); }
.gs-perfil__linkedin { margin-top: 16px; display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; border-radius: 999px; border: 1.5px solid var(--wp--preset--color--linea); color: var(--wp--preset--color--tinta); font-weight: 600; text-decoration: none; }
.gs-cabecera-autor { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px 32px; margin-bottom: 28px; }
.gs-cabecera-autor h2 { margin: 0; font-size: clamp(28px, 2.8vw, 40px); }
.gs-cabecera-autor .gs-filtro a[aria-current] { background: var(--wp--preset--color--verde); border-color: var(--wp--preset--color--verde); }
.gs-como-escribimos__texto > * { margin: 0; max-width: 62ch; }
.gs-como-escribimos__texto > * + * { margin-top: 10px; }
.gs-como-escribimos p { color: var(--wp--preset--color--texto-2); }

/* Blog en pantallas medianas y móviles */
@media (max-width: 1100px) {
	.gs-perfil { grid-template-columns: 160px minmax(0, 1fr); }
	.gs-perfil__datos { grid-column: 1 / -1; }
}
@media (max-width: 960px) {
	.gs-destacado-rejilla, .gs-cabecera-cambio { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 820px) {
	.gs-articulo-rejilla, .gs-articulo-rejilla--cambio { grid-template-columns: minmax(0, 1fr); gap: 40px; }
	.gs-articulo-rejilla:not(.gs-articulo-rejilla--cambio) .gs-articulo-lateral { display: none; }
	.gs-articulo-lateral { position: static; }
	.gs-fila-pub { grid-template-columns: minmax(0, 1fr); }
	.gs-ficha__datos { grid-template-columns: minmax(0, 1fr); }
	.gs-perfil { grid-template-columns: minmax(0, 1fr); }
	.gs-perfil__foto { max-width: 140px; border-radius: 22px; }
	.gs-buscador .wp-block-search__button { flex: 1 1 100%; }
	.gs-destacada .gs-portada { min-height: 180px; }
	.gs-vigor__fecha { font-size: 40px; }
}
p.gs-etiqueta--senal, .gs-oscuro p.gs-etiqueta--senal { color: var(--wp--preset--color--tinta); }

/* 1.1.2 · Submenús del menú principal */
.gs-cabecera .wp-block-navigation .wp-block-navigation-submenu__toggle { color: var(--wp--preset--color--texto-2); }
.gs-cabecera .wp-block-navigation .wp-block-navigation__submenu-icon { margin-left: 4px; width: 10px; height: 10px; }
.gs-cabecera .wp-block-navigation .wp-block-navigation__submenu-container {
	min-width: 270px !important;
	padding: 8px !important;
	margin-top: 10px;
	background: #FFFFFF !important;
	color: var(--wp--preset--color--tinta) !important;
	border: 1px solid var(--wp--preset--color--linea) !important;
	border-radius: 16px;
	box-shadow: 0 24px 48px -20px rgba(16, 48, 47, 0.35);
	gap: 2px;
}
/* Puente invisible para que el desplegable no se cierre al bajar el ratón. */
.gs-cabecera .wp-block-navigation .wp-block-navigation__submenu-container::before { content: ""; position: absolute; left: 0; right: 0; top: -12px; height: 12px; }
.gs-cabecera .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	display: flex; align-items: center; gap: 8px;
	padding: 10px 12px !important;
	border-radius: 10px;
	font-size: 15.5px;
	color: var(--wp--preset--color--tinta);
	text-decoration: none !important;
}
.gs-cabecera .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.gs-cabecera .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible,
.gs-cabecera .wp-block-navigation .wp-block-navigation__submenu-container [aria-current="page"] {
	background: var(--wp--preset--color--superficie);
	text-decoration: none !important;
}
/* «Todos los…» va primero y algo más discreto. */
.gs-cabecera .wp-block-navigation .wp-block-navigation__submenu-container > li:first-child .wp-block-navigation-item__content { color: var(--wp--preset--color--texto-2); font-size: 14.5px; }
.gs-menu-etiqueta {
	display: inline-block; padding: 2px 8px; border-radius: 999px;
	background: var(--wp--preset--color--senal); color: var(--wp--preset--color--tinta);
	font-size: 12px; font-weight: 700; line-height: 1.4;
}
/* Menú móvil: subpáginas visibles y sangradas bajo cada sección. */
.gs-cabecera .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	border: 0 !important; box-shadow: none; background: transparent !important;
	padding: 4px 0 8px 14px !important; margin-top: 0; min-width: 0 !important;
	border-left: 3px solid var(--wp--preset--color--superficie) !important; border-radius: 0;
}
.gs-cabecera .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-size: 17px; padding: 6px 4px !important; }
.gs-cabecera .wp-block-navigation .wp-block-navigation__submenu-container { min-width: 330px !important; }
.gs-cabecera .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content { white-space: nowrap; line-height: 1.3; }
.gs-cabecera .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.gs-cabecera .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
.gs-cabecera .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { align-items: flex-start !important; text-align: left; }
.gs-cabecera .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { width: 100%; }
.gs-cabecera .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { white-space: normal; }

/* ---------- Formulario de contacto genérico (Contact Form 7 · .gs-cf7) ---------- */
.gs-cf7 { display: grid; gap: 18px; color: var(--wp--preset--color--tinta); font-size: 16px; }
.gs-cf7 p { margin: 0; }
.gs-cf7 br { display: none; }
.gs-cf7__fila { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; }
.gs-cf7__campo { display: flex; flex-direction: column; min-width: 0; }
.gs-cf7__campo > label { font-size: 14px; font-weight: 600; margin-bottom: 6px; }
.gs-cf7 abbr { color: var(--wp--preset--color--error); text-decoration: none; border: 0; }
.gs-cf7__opcional { font-weight: 400; color: var(--wp--preset--color--texto-3); }
.gs-cf7 .wpcf7-form-control-wrap { display: block; }
.gs-cf7 :where(input[type="text"], input[type="email"], input[type="tel"], select, textarea) {
	display: block; width: 100%; box-sizing: border-box; min-height: 50px; margin: 0;
	border: 1px solid var(--wp--preset--color--linea); border-radius: 12px;
	background: var(--wp--preset--color--fondo); color: var(--wp--preset--color--tinta);
	padding: 0 14px; font: inherit; font-size: 16px; line-height: 1.4;
	transition: border-color .15s, box-shadow .15s, background-color .15s;
}
.gs-cf7 textarea { padding: 12px 14px; min-height: 130px; resize: vertical; }
.gs-cf7 select {
	appearance: none; -webkit-appearance: none; padding-right: 42px; cursor: pointer;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%231F6F68' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right 16px center;
}
.gs-cf7 select:has(option[value=""]:checked) { color: var(--wp--preset--color--texto-3); }
.gs-cf7 select option { color: var(--wp--preset--color--tinta); }
.gs-cf7 ::placeholder { color: var(--wp--preset--color--texto-3); opacity: 1; }
.gs-cf7 :where(input, select, textarea):hover { border-color: var(--wp--preset--color--verde); }
.gs-cf7 :where(input, select, textarea):focus { outline: none; border-color: var(--wp--preset--color--verde); background-color: #FFFFFF; box-shadow: 0 0 0 3px rgba(31, 111, 104, .18); }
.gs-cf7__aviso { margin-top: 8px; font-size: 13.5px; color: var(--wp--preset--color--aviso); }
.gs-cf7__aviso::before { content: "!"; display: inline-flex; align-items: center; justify-content: center; width: 17px; height: 17px; margin-right: 7px; border-radius: 50%; background: var(--wp--preset--color--senal); color: var(--wp--preset--color--tinta); font-size: 11px; font-weight: 700; vertical-align: 1px; }

/* Aceptación y primera capa de protección de datos */
.gs-cf7__legal { display: grid; gap: 10px; font-size: 14px; color: var(--wp--preset--color--texto-2); }
.gs-cf7 .wpcf7-acceptance .wpcf7-list-item { margin: 0; }
.gs-cf7 .wpcf7-acceptance label { display: grid; grid-template-columns: 22px 1fr; gap: 10px; align-items: start; font-weight: 400; cursor: pointer; }
.gs-cf7 input[type="checkbox"] { width: 22px; height: 22px; margin: 0; accent-color: var(--wp--preset--color--verde); cursor: pointer; }
.gs-cf7__rgpd { font-size: 12.5px; line-height: 1.55; color: var(--wp--preset--color--texto-3); background: var(--wp--preset--color--fondo); border-radius: 12px; padding: 12px 14px; }
.gs-cf7 a, .gs-banda-verde .gs-cf7 a:not(.wp-block-button__link) { color: var(--wp--preset--color--verde); text-decoration: underline; text-decoration-color: currentColor; text-decoration-thickness: 1px; text-underline-offset: 2px; }

/* Turnstile y envío */
.gs-cf7 .wpcf7-turnstile:empty { display: none; }
.gs-cf7__enviar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; }
.gs-cf7 input[type="submit"] {
	min-height: 52px; padding: 0 30px; border: 0; border-radius: 999px; width: auto;
	background: var(--wp--preset--color--senal); color: var(--wp--preset--color--tinta);
	font: 600 16px var(--wp--preset--font-family--instrument); cursor: pointer;
	transition: background-color .15s, color .15s;
}
.gs-cf7 input[type="submit"]:hover, .gs-cf7 input[type="submit"]:focus-visible { background: var(--wp--preset--color--tinta); color: #FFFFFF; }
.gs-cf7 input[type="submit"]:focus-visible { outline: 3px solid var(--wp--preset--color--senal); outline-offset: 2px; }
.gs-cf7 input[type="submit"]:disabled { opacity: .55; cursor: not-allowed; }
.gs-cf7 .wpcf7-spinner { margin: 0; }
@media (max-width: 560px) {
	.gs-cf7__enviar { flex-direction: column; align-items: stretch; text-align: center; }
	.gs-cf7 input[type="submit"] { width: 100%; }
}

/* Validación y mensajes de Contact Form 7 */
.gs-cf7 .wpcf7-not-valid { border-color: var(--wp--preset--color--error) !important; background-color: #FFF7F5; }
.gs-cf7 .wpcf7-not-valid-tip { margin-top: 6px; font-size: 13.5px; color: var(--wp--preset--color--error); }
.wpcf7 form:has(.gs-cf7) .wpcf7-response-output { margin: 18px 0 0; padding: 12px 16px; border: 0; border-radius: 12px; font-size: 15px; background: var(--wp--preset--color--fondo); color: var(--wp--preset--color--tinta); }
.wpcf7 form:has(.gs-cf7).sent .wpcf7-response-output { background: #E6F2EC; color: var(--wp--preset--color--ok); }
.wpcf7 form:has(.gs-cf7):is(.invalid, .unaccepted, .payment-required) .wpcf7-response-output { background: #FBF3D9; color: var(--wp--preset--color--aviso); }
.wpcf7 form:has(.gs-cf7):is(.failed, .aborted, .spam) .wpcf7-response-output { background: #FBEAE6; color: var(--wp--preset--color--error); }

/* El formulario dentro de la banda verde (Desarrollo a medida y llamadas finales) */
.gs-banda-verde .gs-formulario .gs-cf7 { color: var(--wp--preset--color--tinta); }

/* ---------- Webs y mantenimiento (1.1.4) ---------- */
@media (min-width: 960px) { .gs-wordpress { grid-template-columns: 1.1fr 1fr !important; align-items: center; } }
.gs-wordpress h2 { margin: 14px 0 12px; }
.gs-wordpress p { margin: 0 0 14px; }
.gs-wordpress .gs-wordpress__titulo { color: #FFFFFF; font-weight: 600; margin-bottom: 14px; }
ul.gs-chips--oscuro { margin-bottom: 22px; }
.gs-oscuro ul.gs-chips li, ul.gs-chips--oscuro li { background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.16); color: #EAF2EF; }
.gs-cuotas { gap: 16px; }
.gs-cuotas .gs-tarjeta { gap: 14px; }
.gs-cuotas .gs-tarjeta > .gs-etiqueta { align-self: flex-start; }
.gs-oscuro .gs-precio { color: #FFFFFF; }
.gs-oscuro .gs-texto-2 { color: #B9CEC8; }
.gs-oscuro ul.gs-checks li { color: #EAF2EF; }
.gs-cuotas ul.gs-checks { gap: 8px; }
@media (max-width: 820px) {
	.gs-hero-visual--simple { min-height: 0; padding: 24px 0 24px 16px; }
	.gs-hero-visual--simple::before { top: 0; left: 0; }
	.gs-hero-visual--simple .gs-navegador { position: relative; top: auto; left: auto; right: auto; }
}

/* ---------- Páginas legales (1.1.6) ---------- */
.gs-legal { font-size: 16.5px; }
.gs-legal h2 { font-size: clamp(22px, 2.2vw, 28px); margin-top: 2.2em; margin-bottom: 0.5em; }
.gs-legal h3 { font-size: 19px; margin-top: 1.6em; margin-bottom: 0.4em; }
.gs-legal > p:first-child { margin-top: 0; }
.gs-legal ul, .gs-legal ol { padding-left: 1.3em; }
.gs-legal li + li { margin-top: 6px; }
.gs-legal code { font-size: 0.88em; background: var(--wp--preset--color--superficie); padding: 1px 6px; border-radius: 6px; white-space: nowrap; }
.gs-tabla-legal { margin: 1.2em 0; }
.gs-tabla-legal table { border-collapse: collapse; width: 100%; font-size: 15px; background: #FFFFFF; border-radius: 14px; overflow: hidden; }
.gs-tabla-legal th, .gs-tabla-legal td { border: 0 !important; border-bottom: 1px solid var(--wp--preset--color--superficie) !important; padding: 12px 14px; text-align: left; vertical-align: top; }
.gs-tabla-legal thead { border: 0 !important; }
.gs-tabla-legal th { background: var(--wp--preset--color--superficie); font-weight: 600; }
.gs-tabla-legal tbody tr:last-child td { border-bottom: 0; }
@media (max-width: 640px) {
	.gs-tabla-legal thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.gs-tabla-legal table, .gs-tabla-legal tbody, .gs-tabla-legal tr, .gs-tabla-legal td { display: block; width: 100%; box-sizing: border-box; }
	.gs-tabla-legal tr { border-bottom: 1px solid var(--wp--preset--color--superficie); padding: 12px 16px; }
	.gs-tabla-legal tbody tr:last-child { border-bottom: 0; }
	.gs-tabla-legal td { border: 0 !important; padding: 3px 0; }
	.gs-legal code { white-space: normal; overflow-wrap: anywhere; }
	.gs-tabla-legal td:first-child { font-weight: 600; }
	.gs-tabla-cookies td:nth-child(2)::before { content: "Quién la instala: "; font-weight: 600; }
	.gs-tabla-cookies td:nth-child(3)::before { content: "Para qué sirve: "; font-weight: 600; }
	.gs-tabla-cookies td:nth-child(4)::before { content: "Duración: "; font-weight: 600; }
	.gs-tabla-datos td:nth-child(2) { font-weight: 400; }
}

/* ---------- Sin autoría y página 404 (1.1.7) ---------- */
.gs-autores-tema li > span { display: flex; gap: 14px; align-items: center; color: var(--wp--preset--color--texto-3); font-size: 15px; }
.gs-autores-tema li > span b { color: var(--wp--preset--color--tinta); font-size: 17px; }
span.gs-firma-v2__persona b { text-decoration: none; }
.gs-404__rejilla { align-items: center; }
.gs-404 h1 { margin: 16px 0 14px; }
.gs-404__botones { margin-top: 22px; }
.gs-404__visual { display: flex; justify-content: center; align-items: center; min-height: clamp(220px, 28vw, 420px); border-radius: 28px; background: var(--wp--preset--color--superficie); }
.gs-404__num { display: inline-flex; align-items: center; gap: 0.08em; font-family: var(--wp--preset--font-family--bricolage); font-weight: 700; font-size: clamp(120px, 16vw, 240px); line-height: 1; letter-spacing: -0.04em; color: var(--wp--preset--color--tinta); }
.gs-404__num i { position: relative; display: inline-block; width: 0.78em; height: 0.78em; }
.gs-404__num i::before, .gs-404__num i::after { content: ""; position: absolute; width: 0.48em; height: 0.48em; border-radius: 0.11em; }
.gs-404__num i::before { left: 0; top: 0; background: var(--wp--preset--color--tinta); }
.gs-404__num i::after { right: 0; bottom: 0; background: var(--wp--preset--color--verde); box-shadow: -0.15em -0.15em 0 -0.06em var(--wp--preset--color--senal); }
.gs-tarjeta--enlace { position: relative; transition: border-color .15s, transform .15s; }
.gs-tarjeta--enlace h3 a { color: var(--wp--preset--color--tinta); text-decoration: none; }
.gs-tarjeta--enlace h3 a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.gs-tarjeta--enlace h3 a::before { content: "→"; float: right; margin-left: 12px; color: var(--wp--preset--color--verde); }
.gs-tarjeta--enlace:hover { border-color: var(--wp--preset--color--verde); transform: translateY(-2px); }
.gs-tarjeta--enlace:focus-within { outline: 3px solid var(--wp--preset--color--senal); outline-offset: 2px; }
