@charset "UTF-8";
/* ==========================================================================
   Salud24H - tema hijo de Astra
   Colores: paleta global de Astra (Personalizar > Global > Colores)
     0 marca - 1 marca oscura - 2 titulares - 3 texto (fondos: blanco y un tono suave de la marca)
   Tipografias: las de Astra (Personalizar > Global > Tipografia).
   Todo cuelga de .s24: el resto de paginas no se ve afectado.
   ========================================================================== */

.s24 {
	--marca: var(--ast-global-color-0, #0e7c86);
	--marca-2: var(--ast-global-color-1, #0a5c63);
	--tinta: var(--ast-global-color-2, #13232e);
	--texto: var(--ast-global-color-3, #3a4a55);
	--blanco: #fff;
	--suave: color-mix(in srgb, var(--marca) 5%, #f7f8fa);
	--linea: color-mix(in srgb, var(--tinta) 13%, var(--blanco));
	--gris: color-mix(in srgb, var(--texto) 80%, var(--blanco));
	--marca-suave: color-mix(in srgb, var(--marca) 9%, var(--blanco));
	--r: 12px;
	--pad: max(20px, calc((100% - 1200px) / 2));
	--arriba: calc(var(--s24-top, 0px) + 24px);

	flex: 1 1 100%;
	width: 100%;
	min-width: 0;
	color: var(--texto);
}
.s24 *, .s24 *::before, .s24 *::after { box-sizing: border-box; }
.s24 :is(h1, h2, h3) { color: var(--tinta); font-weight: 700; text-wrap: balance; }
.s24 :is(p, li) { text-wrap: pretty; }
.s24 :is(a, button, summary, input, select, textarea):focus-visible { outline: 2px solid var(--tinta); outline-offset: 3px; }

html { scroll-padding-top: calc(var(--s24-top, 0px) + 16px); }
.s24-plantilla .site-content > .ast-container { max-width: 100%; padding: 0; }

/* Secciones ---------------------------------------------------------------- */

.s24-seccion { padding: clamp(40px, 6vw, 72px) var(--pad); }
.s24-seccion--suave { background: var(--suave); }
.s24-seccion--borde { border-top: 1px solid var(--linea); }

.s24 .s24-titulo { margin: 0 0 24px; font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2.1rem); line-height: 1.15; }
.s24 .s24-titulo--peq { margin: 48px 0 16px; font-size: 1.3rem; }
.s24 .s24-subtitulo { margin: -12px 0 24px; color: var(--gris); }
.s24 .s24-lead { margin: 16px 0 0; max-width: 64ch; font-size: clamp(1.0625rem, 1rem + .3vw, 1.2rem); line-height: 1.6; }
.s24 .s24-lead p { margin: 0 0 .7em; }

/* Botones */
.s24 .s24-boton {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 12px 22px;
	border-radius: 6px;
	background: var(--marca);
	color: var(--blanco);
	font-weight: 600;
	text-decoration: none;
	transition: background-color .18s ease, transform .16s ease;
}
.s24 .s24-boton--claro { background: var(--blanco); color: var(--tinta); }
.s24 .s24-boton:active { transform: scale(.97); }

/* Cabeceras ---------------------------------------------------------------- */

.s24-hero { padding: clamp(28px, 5vw, 56px) var(--pad) clamp(28px, 4vw, 44px); background: var(--suave); }
.s24 .s24-h1 { margin: 0; max-width: 24ch; font-size: clamp(2rem, 1.4rem + 2.6vw, 3.2rem); line-height: 1.07; letter-spacing: -.02em; }

.s24-hero--post { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(24px, 4vw, 56px); align-items: center; }
.s24-hero--sin-img { grid-template-columns: minmax(0, 1fr); }
.s24 .s24-meta { display: flex; flex-wrap: wrap; gap: 4px 20px; margin: 14px 0 0; color: var(--gris); font-size: .9375rem; font-variant-numeric: tabular-nums; }
.s24-hero__img { margin: 0; }
.s24-hero__img img { display: block; width: 100%; height: auto; border-radius: var(--r); }

.s24-hero--portada { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(28px, 5vw, 64px); align-items: center; padding-block: clamp(36px, 6vw, 72px); }
.s24 .s24-hero__texto .s24-checks { margin-top: 28px; }
.s24-hero__form { padding: clamp(20px, 3vw, 28px); background: var(--blanco); border: 1px solid var(--linea); border-radius: var(--r); box-shadow: 0 24px 48px -32px rgb(0 0 0 / .3); }
.s24 .s24-hero__form h2 { margin: 0 0 18px; font-size: 1.2rem; }

/* Migas */
.s24 .s24-migas { margin: 0 0 14px; font-size: .875rem; color: var(--gris); }
.s24 .s24-migas :is(ol, p) { display: flex; flex-wrap: wrap; margin: 0; padding: 0; list-style: none; }
.s24 .s24-migas li + li::before { content: "/"; margin-inline: .5rem; color: var(--linea); }
.s24 .s24-migas a { color: inherit; text-decoration: none; }
.s24 .s24-migas .separator { margin-inline: .4rem; color: var(--linea); }
.s24 .s24-migas [aria-current], .s24 .s24-migas .last { color: var(--tinta); }

/* Chips de temas */
.s24 .s24-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 22px 0 0; padding: 0; list-style: none; }
.s24 .s24-chips li { margin: 0; }
.s24 .s24-chips a { display: block; padding: 7px 14px; border: 1px solid var(--linea); border-radius: 999px; background: var(--blanco); color: var(--tinta); font-size: .9375rem; text-decoration: none; }
.s24 .s24-chips a[aria-current] { border-color: var(--tinta); background: var(--tinta); color: var(--blanco); }
.s24-seccion .s24-chips { margin: 0 0 24px; }

/* Listas con casilla y pasos ----------------------------------------------- */

.s24 .s24-checks { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.s24 .s24-checks li { position: relative; margin: 0; padding-left: 34px; line-height: 1.5; }
.s24 .s24-checks li::before { content: ""; position: absolute; left: 0; top: .15em; width: 22px; height: 22px; border-radius: 50%; background: var(--marca); }
.s24 .s24-checks li::after { content: ""; position: absolute; left: 8px; top: calc(.15em + 5px); width: 5px; height: 10px; border: solid var(--blanco); border-width: 0 2px 2px 0; transform: rotate(45deg); }
.s24 .s24-checks strong { display: block; color: var(--tinta); }

.s24 .s24-pasos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin: 0; padding: 0; list-style: none; counter-reset: paso; }
.s24 .s24-pasos li { margin: 0; padding: 22px; border: 1px solid var(--linea); border-radius: var(--r); counter-increment: paso; line-height: 1.55; }
.s24 .s24-pasos li::before { content: counter(paso); display: grid; place-items: center; width: 36px; height: 36px; margin-bottom: 14px; border-radius: 50%; background: var(--tinta); color: var(--blanco); font-weight: 700; }
.s24 .s24-pasos strong { display: block; margin-bottom: 4px; color: var(--tinta); font-size: 1.0625rem; }

/* Aseguradoras y accesos --------------------------------------------------- */

.s24 .s24-aseguradoras { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.s24 .s24-aseguradoras li { margin: 0; }
.s24 .s24-aseguradoras a { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 52px; padding: 12px 16px; border: 1px solid var(--linea); border-radius: 10px; color: var(--tinta); font-weight: 600; text-decoration: none; transition: border-color .16s ease; }
.s24 .s24-aseguradoras a::after { content: "\2192"; color: var(--marca); }

.s24 .s24-accesos { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--linea); }
.s24 .s24-accesos li { margin: 0; border-bottom: 1px solid var(--linea); }
.s24 .s24-accesos a { display: block; padding: 13px 0; color: var(--tinta); font-weight: 500; text-decoration: none; }

/* Tarjetas ----------------------------------------------------------------- */

.s24 .s24-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin: 0; padding: 0; list-style: none; }
.s24 .s24-grid > li { display: flex; margin: 0; }
.s24 .s24-card { position: relative; display: flex; flex-direction: column; width: 100%; overflow: hidden; background: var(--blanco); border: 1px solid var(--linea); border-radius: var(--r); transition: border-color .18s ease; }
.s24 .s24-card__img img { display: block; width: 100%; height: auto; aspect-ratio: 2 / 1; object-fit: cover; background: var(--suave); }
.s24 .s24-card__body { padding: 18px 20px 22px; }
.s24 .s24-card__meta { display: flex; flex-wrap: wrap; gap: 4px 12px; margin: 0 0 8px; font-size: .8125rem; color: var(--gris); }
.s24 .s24-card__meta span { color: var(--marca-2); font-weight: 600; }
.s24 .s24-card__title { margin: 0; font-size: 1.15rem; font-weight: 600; line-height: 1.3; }
.s24 .s24-card__title a { color: var(--tinta); text-decoration: none; }
.s24 .s24-card__title a::after { content: ""; position: absolute; inset: 0; }
.s24 .s24-card__exc { margin: 8px 0 0; font-size: .9375rem; line-height: 1.55; }

/* Paginacion */
.s24 .s24-paginacion { margin-top: 40px; }
.s24 .s24-paginacion .nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.s24 .s24-paginacion .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; height: 44px; margin: 0; padding: 0 12px; border: 1px solid var(--linea); border-radius: 6px; background: var(--blanco); color: var(--tinta); text-decoration: none; }
.s24 .s24-paginacion .current { border-color: var(--tinta); background: var(--tinta); color: var(--blanco); }
.s24 .s24-paginacion .dots { border-color: transparent; }

/* Empieza por aqui */
.s24-empieza { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 2fr); gap: 24px clamp(32px, 5vw, 64px); padding: clamp(40px, 6vw, 64px) var(--pad); border-bottom: 1px solid var(--linea); }
.s24 .s24-empieza h2 { margin: 0 0 8px; font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); }
.s24 .s24-empieza p { margin: 0; }
.s24 .s24-empieza ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.s24 .s24-empieza li { margin: 0; }
.s24 .s24-empieza a { display: flex; align-items: center; height: 100%; min-height: 60px; padding: 12px 16px; border: 1px solid var(--linea); border-left: 4px solid var(--marca); border-radius: 10px; color: var(--tinta); font-weight: 600; line-height: 1.3; text-decoration: none; }

/* Quien escribe */
.s24 .s24-autoria { max-width: 72ch; }
.s24 .s24-autoria h2 { margin: 0 0 12px; font-size: 1.5rem; }
.s24 .s24-autoria p { margin: 0 0 1em; line-height: 1.65; }
.s24 .s24-autoria a { color: var(--tinta); font-weight: 600; }

/* Articulo ----------------------------------------------------------------- */

.s24-post { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: clamp(32px, 5vw, 72px); align-items: start; padding: 44px var(--pad) 64px; }
.s24-post__art { min-width: 0; }
.s24-post__aside { position: sticky; top: var(--arriba); display: grid; gap: 16px; }

.s24 .s24-toc { overflow: hidden; border: 1px solid var(--linea); border-radius: var(--r); }
.s24 .s24-toc summary { display: flex; justify-content: space-between; align-items: center; padding: 14px 18px; cursor: pointer; list-style: none; color: var(--tinta); font-weight: 700; }
.s24 .s24-toc summary::-webkit-details-marker { display: none; }
.s24 .s24-toc summary::after { content: ""; width: 8px; height: 8px; border: solid var(--gris); border-width: 0 2px 2px 0; transform: rotate(45deg); transition: transform .2s ease; }
.s24 .s24-toc [open] summary::after { transform: rotate(-135deg); }
.s24 .s24-toc ol { max-height: 60vh; margin: 0 18px 16px; padding: 0; overflow: auto; list-style: none; border-left: 2px solid var(--suave); }
.s24 .s24-toc li { margin: 0; }
.s24 .s24-toc a { display: block; margin-left: -2px; padding: 6px 0 6px 14px; border-left: 2px solid transparent; color: var(--gris); font-size: .875rem; line-height: 1.4; text-decoration: none; }
.s24 .s24-toc .s24-toc__sub a { padding-left: 26px; font-size: .8125rem; }
.s24 .s24-toc a[aria-current] { border-left-color: var(--marca); color: var(--tinta); font-weight: 600; }


/* Cuerpo de texto (articulos, Quienes somos, texto de portada y de categorias) */

.s24 .s24-art { max-width: 72ch; }
.s24-seccion > .s24-art { margin-inline: auto; }
.s24 .s24-art :is(p, li) { font-size: 1.09rem; line-height: 1.75; }
.s24 .s24-art p { margin: 0 0 1.15em; }
.s24 .s24-art p:empty { display: none; }
.s24 .s24-art strong { color: var(--tinta); }
.s24 .s24-art a { color: var(--tinta); text-decoration: underline 2px var(--marca); text-underline-offset: 3px; }
.s24 .s24-art > p:first-child { padding: 16px 20px; border-left: 4px solid var(--marca); border-radius: 0 10px 10px 0; background: var(--marca-suave); color: var(--tinta); }

.s24 .s24-art h2 { position: relative; margin: 2.2em 0 .6em; padding-top: .9em; border-top: 1px solid var(--linea); font-size: clamp(1.5rem, 1.25rem + 1vw, 1.95rem); line-height: 1.18; scroll-margin-top: calc(var(--s24-top, 0px) + 20px); }
.s24 .s24-art h2::before { content: ""; position: absolute; top: -2px; left: 0; width: 44px; height: 3px; background: var(--marca); }
.s24 .s24-art :is(h2:first-child, .s24-portada-texto > h2:first-child) { margin-top: 0; }
.s24 .s24-art h3 { margin: 1.7em 0 .45em; font-size: 1.3rem; line-height: 1.25; scroll-margin-top: calc(var(--s24-top, 0px) + 20px); }
.s24 .s24-art :is(h2, h3) + * { margin-top: 0; }

.s24 .s24-art :is(ul, ol) { margin: 0 0 1.4em; padding-left: 1.3em; }
.s24 .s24-art li { margin: 0 0 .5em; }
.s24 .s24-art ul > li::marker { color: var(--marca); }
.s24 .s24-art ol:not(.s24-checks) { padding-left: 0; list-style: none; counter-reset: n; }
.s24 .s24-art ol:not(.s24-checks) > li { position: relative; padding-left: 44px; counter-increment: n; }
.s24 .s24-art ol:not(.s24-checks) > li::before { content: counter(n); position: absolute; left: 0; top: .2em; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--tinta); color: var(--blanco); font-size: .85rem; font-weight: 700; }

.s24 .s24-art :is(.wp-block-table, .su-table) { margin: 1.8em 0; overflow-x: auto; border: 1px solid var(--linea); border-radius: 10px; }
.s24 .s24-art table { width: 100%; margin: 0; border: 0; border-collapse: collapse; font-size: .95rem; }
.s24 .s24-art :is(th, td) { padding: 12px 16px; border: 0; border-top: 1px solid var(--linea); text-align: left; vertical-align: top; }
.s24 .s24-art thead th { border: 0; background: var(--tinta); color: var(--blanco); }
.s24 .s24-art tbody tr:nth-child(even) td { background: var(--suave); }

.s24 .s24-art :is(blockquote, .su-quote) { margin: 1.8em 0; padding: 2px 0 2px 20px; border-left: 4px solid var(--marca); }
.s24 .s24-art img { max-width: 100%; height: auto; border-radius: 10px; }
.s24 .s24-art figure { margin: 1.8em 0; }
.s24 .s24-art .adsb30 { clear: both; margin: 28px 0 !important; }

.s24 .s24-revisado { max-width: 72ch; margin: 40px 0 0; padding: 18px 20px; border: 1px solid var(--linea); border-radius: var(--r); background: var(--suave); }
.s24 .s24-revisado p { margin: 0; font-size: .9375rem; line-height: 1.65; }
.s24 .s24-revisado a { color: var(--tinta); font-weight: 700; }

.s24 .s24-etiquetas { display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0 0; font-size: .875rem; }
.s24 .s24-etiquetas a { padding: 5px 12px; border: 1px solid var(--linea); border-radius: 999px; color: var(--tinta); text-decoration: none; }

.s24 .comments-area { max-width: 72ch; margin: 48px 0 0; padding: 0; border: 0; background: none; }
.s24 .comments-area :is(.comment-reply-title, .comments-title) { margin: 0 0 12px; font-size: 1.4rem; }
.s24 .comments-area textarea { border: 1px solid var(--linea); border-radius: 6px; }
.s24 .comments-area .form-submit { margin: 16px 0 0; }
.s24 .comments-area input[type="submit"] { min-height: 48px; padding: 12px 24px; border: 0; border-radius: 6px; background: var(--marca); color: var(--blanco); font: inherit; font-weight: 600; line-height: 1.2; cursor: pointer; }

/* Comparar (formulario) ---------------------------------------------------- */


/* Campos de Contact Form 7 (solo dentro de .s24-form) */
.s24 .s24-form .wpcf7 { margin: 0; }
.s24 .s24-form fieldset.hidden-fields-container, .s24 .s24-form br { display: none; }
.s24 .s24-form .wp-block-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 14px; margin: 0; }
.s24 .s24-form .wp-block-column { min-width: 0; margin: 0; }
.s24 .s24-form :is(.container_form_header, .container_input, .container_block, .container_form_button) { width: auto; margin: 0; padding: 0; border: 0; background: none; box-shadow: none; }
.s24 .s24-form p { margin: 0 0 14px; }
.s24 .s24-form p:has(> input[type="submit"]) { position: relative; margin-bottom: 0; }
.s24 .s24-form .wpcf7-spinner { position: absolute; top: 50%; right: 14px; margin: -12px 0 0; }
.s24 .s24-form label { display: block; margin-bottom: 6px; color: var(--tinta); font-size: .875rem; font-weight: 600; }
.s24 .s24-form :is(input:not([type="submit"]):not([type="checkbox"]):not([type="hidden"]), select, textarea) {
	width: 100%;
	min-height: 48px;
	padding: 11px 14px;
	border: 1px solid var(--linea);
	border-radius: 6px;
	background: var(--blanco);
	color: var(--tinta);
	font: inherit;
	font-size: 1rem;
}
.s24 .s24-form :is(input, select, textarea):focus { outline: none; border-color: var(--marca); box-shadow: 0 0 0 3px var(--marca-suave); }
.s24 .s24-form input[type="submit"] { width: 100%; min-height: 52px; padding: 14px 22px; border: 0; border-radius: 6px; background: var(--marca); color: var(--blanco); font: inherit; font-weight: 700; cursor: pointer; transition: background-color .18s ease; }
.s24 .s24-form .wpcf7-not-valid { border-color: #b42318; }
.s24 .s24-form .wpcf7-not-valid-tip { margin-top: 4px; color: #b42318; font-size: .8125rem; }
.s24 .s24-form :is(form.init .wpcf7-response-output, .wpcf7-response-output:empty) { display: none; }
.s24 .s24-form .wpcf7-response-output { margin: 12px 0 0; padding: 12px 14px; border-radius: 8px; }

/* Portada: final ----------------------------------------------------------- */

.s24-portada__final { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 32px clamp(32px, 5vw, 72px); align-items: start; }
.s24 .s24-faq details { border-bottom: 1px solid var(--linea); }
.s24 .s24-faq summary { position: relative; padding: 16px 32px 16px 0; cursor: pointer; list-style: none; color: var(--tinta); font-size: 1.0625rem; font-weight: 600; }
.s24 .s24-faq summary::-webkit-details-marker { display: none; }
.s24 .s24-faq summary::after { content: "+"; position: absolute; right: 4px; top: 12px; color: var(--marca); font-size: 1.5rem; line-height: 1; }
.s24 .s24-faq [open] summary::after { content: "\2212"; }
.s24 .s24-faq p { margin: 0 0 18px; max-width: 68ch; line-height: 1.65; }


/* Adaptacion --------------------------------------------------------------- */

@media (max-width: 1024px) {
	.s24-hero--post, .s24-hero--portada, .s24-post, .s24-portada__final, .s24-portada__provincias, .s24-empieza { grid-template-columns: minmax(0, 1fr); }
	.s24 .s24-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.s24-post { gap: 24px; padding-top: 28px; }
	.s24-post__aside { position: static; order: -1; }
	}
@media (max-width: 767px) {
	.s24 .s24-grid, .s24 .s24-pasos, .s24 .s24-empieza ul { grid-template-columns: minmax(0, 1fr); }
	.s24 .s24-aseguradoras { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.s24 .s24-art :is(p, li) { font-size: 1.0625rem; }
	.s24 .s24-form .wp-block-columns { grid-template-columns: minmax(0, 1fr); }
}

@media (hover: hover) and (pointer: fine) {
	.s24 :is(.s24-chips a, .s24-aseguradoras a, .s24-empieza a, .s24-card, .s24-etiquetas a, .s24-paginacion a):hover { border-color: var(--tinta); }
	.s24 .s24-card:hover .s24-card__title a, .s24 .s24-accesos a:hover { text-decoration: underline 2px var(--marca); text-underline-offset: 4px; }
	.s24 :is(.s24-boton, .s24-form input[type="submit"], .comments-area input[type="submit"]):hover { background: var(--marca-2); color: var(--blanco); }
	.s24 .s24-toc a:hover { color: var(--tinta); }
}

@media (prefers-reduced-motion: reduce) {
	.s24 * { transition: none !important; }
}

@media print {
	.s24 :is(.s24-post__aside, .s24-grid, .s24-anuncio) { display: none; }
	.s24-post { display: block; }
}

/* ==========================================================================
   Plantilla "Aseguradora" (Paginas > Plantilla > Aseguradora)
   Movimiento: solo el que responde a una accion (abrir una pregunta, pasar
   el raton, pulsar). Todo CSS, sin JavaScript. transform/opacity y, en el
   acordeon, block-size (unico caso sin equivalente en transform).
   ========================================================================== */

.s24-aseg {
	--ease-out: cubic-bezier(0.23, 1, 0.32, 1);
	interpolate-size: allow-keywords;
}

.s24-hero--aseg .s24-lead { max-width: 60ch; }

/* Navegacion por apartados: fija bajo la cabecera, desplazable en movil */
.s24-apartados {
	position: sticky;
	top: var(--s24-top, 0px);
	z-index: 5;
	background: var(--blanco);
	border-bottom: 1px solid var(--linea);
}
.s24 .s24-apartados ul {
	display: flex;
	gap: 4px;
	margin: 0;
	padding: 10px var(--pad);
	overflow-x: auto;
	list-style: none;
	scrollbar-width: none;
}
.s24 .s24-apartados ul::-webkit-scrollbar { display: none; }
.s24 .s24-apartados li { flex: 0 0 auto; margin: 0; }
.s24 .s24-apartados a {
	display: block;
	padding: 8px 12px;
	border-radius: 6px;
	color: var(--texto);
	font-size: .9375rem;
	font-weight: 500;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color .15s ease, color .15s ease;
}

/* Cuerpo mas ancho que un articulo: tablas y directorio necesitan aire */
.s24 .s24-aseg__cuerpo { max-width: none; margin: 0; padding: clamp(28px, 4vw, 44px) var(--pad) clamp(48px, 6vw, 72px); }
.s24 .s24-aseg__cuerpo > :is(p, h2, h3, ul:not([class*="s24-"]), ol) { max-width: 72ch; }
.s24 .s24-aseg__cuerpo > h2 { margin-top: 2.6em; }
.s24 .s24-aseg__cuerpo .s24-revisado { margin-top: 56px; }

/* Introduccion + ficha */
.s24 .s24-art .s24-aseg-intro { gap: clamp(24px, 4vw, 56px); align-items: flex-start; margin: 0; padding: 0; }
.s24 .s24-aseg-intro > .wp-block-column > p:first-child { padding: 0; border: 0; background: none; font-size: 1.1563rem; color: var(--tinta); }
.s24 .s24-art .s24-ficha__titulo { margin: 0 0 10px; color: var(--tinta); font-size: 1rem; font-weight: 700; }
.s24 .s24-art .s24-ficha { margin: 0; background: var(--blanco); }
.s24 .s24-art .s24-ficha table { table-layout: auto; font-size: .9375rem; }
.s24 .s24-art .s24-ficha td { padding: 10px 14px; background: none !important; }
.s24 .s24-art .s24-ficha tr:first-child td { border-top: 0; }
.s24 .s24-art .s24-ficha td:first-child { width: 38%; color: var(--gris); }
.s24 .s24-art .s24-ficha td:last-child { color: var(--tinta); font-weight: 600; }
.s24 .s24-art .s24-nota { margin: 12px 0 0; font-size: .875rem; line-height: 1.55; color: var(--gris); }

/* Modalidades: tabla comparativa */
.s24 .s24-art .s24-modalidades { margin: 24px 0 0; }
.s24 .s24-art .s24-modalidades table { min-width: 640px; table-layout: auto; }
.s24 .s24-art .s24-modalidades td:first-child { color: var(--tinta); font-weight: 600; }
.s24 .s24-art .s24-modalidades td:nth-child(n+3) { white-space: nowrap; }
.s24 .s24-art .s24-modalidades a { text-decoration-thickness: 1px; }

/* Cuadro medico: directorio alfabetico en columnas */
.s24 .s24-art .s24-provincias {
	columns: 4 11rem;
	column-gap: 24px;
	margin: 24px 0;
	padding: 20px 24px;
	list-style: none;
	border: 1px solid var(--linea);
	border-radius: var(--r);
}
.s24 .s24-art .s24-provincias li { break-inside: avoid; margin: 0; padding: 0; font-size: 1rem; line-height: 1.4; }
.s24 .s24-art .s24-provincias a {
	display: block;
	padding: 7px 0;
	color: var(--tinta);
	text-decoration: none;
	transition: color .15s ease;
}
.s24 .s24-art .s24-provincias a::first-letter { color: var(--marca); font-weight: 700; }

/* Gestiones y perfiles: lista de enlaces con descripcion */
.s24 .s24-art .s24-enlaces {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 32px;
	max-width: none;
	margin: 20px 0 0;
	padding: 0;
	list-style: none;
}
.s24 .s24-art .s24-enlaces li { margin: 0; padding: 14px 0; border-top: 1px solid var(--linea); color: var(--gris); font-size: .9688rem; line-height: 1.5; }
.s24 .s24-art .s24-enlaces li::marker { content: none; }
.s24 .s24-art .s24-enlaces a { display: block; margin-bottom: 2px; color: var(--tinta); font-size: 1.0625rem; font-weight: 600; text-decoration: none; }

/* Otras aseguradoras */
.s24 .s24-art .s24-otras { display: flex; flex-wrap: wrap; gap: 8px; max-width: none; margin: 16px 0 0; padding: 0; list-style: none; }
.s24 .s24-art .s24-otras li { margin: 0; padding: 0; }
.s24 .s24-art .s24-otras li::marker { content: none; }
.s24 .s24-art .s24-otras a { display: block; padding: 8px 16px; border: 1px solid var(--linea); border-radius: 999px; color: var(--tinta); font-size: .9375rem; font-weight: 500; text-decoration: none; transition: border-color .15s ease; }

/* Guias dentro del contenido */
.s24 .s24-art .s24-grid { max-width: none; margin-top: 20px; }
.s24 .s24-art .s24-grid li { padding: 0; font-size: inherit; }
.s24 .s24-art .s24-grid li::before { content: none; }

/* Preguntas frecuentes (bloque Detalles de Gutenberg) */
.s24 .s24-art .wp-block-details { max-width: 72ch; margin: 0; border-bottom: 1px solid var(--linea); }
.s24 .s24-art h2 + .wp-block-details { border-top: 1px solid var(--linea); }
.s24 .s24-art .wp-block-details summary {
	position: relative;
	padding: 16px 40px 16px 0;
	cursor: pointer;
	list-style: none;
	color: var(--tinta);
	font-size: 1.0625rem;
	font-weight: 600;
	line-height: 1.4;
}
.s24 .s24-art .wp-block-details summary::-webkit-details-marker { display: none; }
.s24 .s24-art .wp-block-details summary::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 6px;
	width: 9px;
	height: 9px;
	margin-top: -7px;
	border: solid var(--marca);
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
	transition: transform .2s var(--ease-out);
}
.s24 .s24-art .wp-block-details[open] summary::after { transform: translateY(4px) rotate(-135deg); }
.s24 .s24-art .wp-block-details > p { margin: 0 0 18px; }

/* Apertura suave del acordeon donde el navegador lo admite (::details-content) */
@supports selector(::details-content) {
	.s24 .s24-art .wp-block-details::details-content {
		block-size: 0;
		overflow: hidden;
		transition: block-size .2s var(--ease-out), content-visibility .2s var(--ease-out) allow-discrete;
	}
	.s24 .s24-art .wp-block-details[open]::details-content { block-size: auto; }
}

@media (max-width: 781px) {
	.s24 .s24-art .s24-enlaces { grid-template-columns: minmax(0, 1fr); }
	.s24 .s24-art .s24-provincias { columns: 2; padding: 16px; }
	.s24 .s24-aseg-intro { gap: 28px; }
}

@media (hover: hover) and (pointer: fine) {
	.s24 .s24-apartados a:hover { background: var(--suave); color: var(--tinta); }
	.s24 .s24-art :is(.s24-provincias, .s24-enlaces) a:hover { color: var(--marca-2); text-decoration: underline 2px var(--marca); text-underline-offset: 3px; }
	.s24 .s24-art .s24-otras a:hover { border-color: var(--tinta); }
	.s24 .s24-art .wp-block-details summary:hover { color: var(--marca-2); }
}

@media (prefers-reduced-motion: reduce) {
	.s24 .s24-art .wp-block-details::details-content { transition: none; }
}

/* Contenido antiguo dentro de la plantilla Aseguradora */
.s24 .s24-aseg__cuerpo .banner-new { margin: 0; padding: 0; border: 0; background: none !important; color: inherit; box-shadow: none; }
.s24 .s24-aseg__cuerpo .banner-new p { color: var(--texto); }
.s24 .s24-aseg__cuerpo > p:first-child:has(> img:only-child) { margin: 0 0 8px; }
.s24 .s24-aseg__cuerpo > p:first-child > img:only-child { width: auto; max-width: 160px; max-height: 88px; margin: 0; object-fit: contain; }
.s24 .s24-aseg__cuerpo .su-table { max-width: 72ch; overflow-x: auto; }
.s24 .s24-aseg__cuerpo .su-table table { width: 100%; border-collapse: collapse; font-size: .9375rem; }
.s24 .s24-aseg__cuerpo .su-table td { padding: 12px 14px; border-top: 1px solid var(--linea); vertical-align: top; background: none !important; }
.s24 .s24-aseg__cuerpo .su-table img { width: auto; max-width: 120px; max-height: 64px; object-fit: contain; }
.s24 .s24-aseg__cuerpo .su-table ul { margin: 0; padding-left: 1.1em; }
.s24 .s24-aseg__cuerpo p[style*="text-align: center"] { text-align: left !important; }
.s24 .s24-aseg__cuerpo .su-row { display: flex; flex-wrap: wrap; gap: 24px; max-width: none; }
.s24 .s24-aseg__cuerpo .su-row .su-column-inner { line-height: 1.4; }
.s24 .s24-aseg__cuerpo .su-row a.btn { display: inline-block; padding: 6px 0; color: var(--tinta); font-weight: 500; text-decoration: none; }
.s24 .s24-aseg__cuerpo .su-row a.btn::first-letter { color: var(--marca); font-weight: 700; }
.s24 .s24-art.s24-aseg__cuerpo > p:first-child:has(> img:only-child) { padding: 0; border: 0; border-radius: 0; background: none; }
.s24 .s24-aseg__cuerpo .banner-new { max-width: 72ch; }
.s24 .s24-art .s24-grid { padding: 0; margin-left: 0; list-style: none; }

/* Ficha antigua (Shortcodes Ultimate): logo + tabla de datos en dos columnas */
.s24 .s24-aseg__cuerpo .su-row { margin: 0 0 8px; }
.s24 .s24-aseg__cuerpo .su-row::before,
.s24 .s24-aseg__cuerpo .su-row::after { content: none; display: none; }
.s24 .s24-aseg__cuerpo .su-row > .su-column { width: auto; margin: 0; float: none; }
.s24 .s24-aseg__cuerpo .su-row:has(.su-table) {
	display: grid;
	grid-template-columns: 160px minmax(0, 1fr);
	gap: 16px 40px;
	align-items: start;
	max-width: 860px;
}
.s24 .s24-aseg__cuerpo .su-row:has(.su-table) img { display: block; width: auto; max-width: 160px; max-height: 64px; margin: 8px 0 0 !important; object-fit: contain; }
.s24 .s24-aseg__cuerpo .su-row:has(.su-table) .su-table { max-width: none; border: 1px solid var(--linea); border-radius: var(--r); overflow: hidden; }
.s24 .s24-aseg__cuerpo .su-table td { border: 0; border-top: 1px solid var(--linea); text-align: left !important; }
.s24 .s24-aseg__cuerpo .su-table tr:first-child td { border-top: 0; }
.s24 .s24-aseg__cuerpo .su-row:has(.su-table) td:first-child { width: 36%; color: var(--gris); }
.s24 .s24-aseg__cuerpo .su-row:has(.su-table) td:first-child strong { font-weight: 500; color: var(--gris); }
.s24 .s24-aseg__cuerpo .su-row:has(.su-table) td:last-child { color: var(--tinta); font-weight: 600; }

/* Provincias antiguas (botones .btn en columnas) */
.s24 .s24-aseg__cuerpo .su-row:has(a.btn) {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 0 24px;
	margin: 20px 0;
	padding: 16px 24px;
	border: 1px solid var(--linea);
	border-radius: var(--r);
}
.s24 .s24-aseg__cuerpo .su-row:has(a.btn) br { display: none; }
.s24 .s24-aseg__cuerpo .su-row a.btn { display: block; padding: 6px 0; }

@media (max-width: 781px) {
	.s24 .s24-aseg__cuerpo .su-row:has(.su-table) { grid-template-columns: minmax(0, 1fr); gap: 12px; }
	.s24 .s24-aseg__cuerpo .su-row:has(.su-table) img { max-width: 120px; max-height: 40px; margin: 0 !important; }
	.s24 .s24-aseg__cuerpo .su-row:has(a.btn) { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 12px 16px; }
}

/* Titulos de tarjetas de PostX dentro del contenido: no son titulos de seccion */
.s24 .s24-art h2.ultp-block-title {
	margin: 0 0 8px;
	padding: 0;
	border: 0;
	font-size: 1.125rem;
	line-height: 1.35;
}
.s24 .s24-art h2.ultp-block-title::before,
.s24 .s24-art h2.ultp-block-title::after { content: none; display: none; }
.s24 .s24-art h2.ultp-block-title a { text-decoration: none; color: var(--tinta); }

/* ==========================================================================
   Aseguradora: cabecera con logo + introduccion con tarjeta de datos
   ========================================================================== */

.s24-hero--con-logo {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 24px clamp(32px, 5vw, 72px);
	align-items: center;
}
.s24-hero__logo {
	display: grid;
	place-items: center;
	width: 240px;
	height: 128px;
	padding: 20px 28px;
	background: var(--blanco);
	border: 1px solid var(--linea);
	border-radius: var(--r);
}
.s24-hero__logo .s24-aseg-logo {
	display: block;
	width: 100%;
	height: 100%;
	max-width: 184px;
	max-height: 80px;
	margin: 0;
	object-fit: contain;
}

.s24 .s24-aseg-top {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
	gap: clamp(32px, 5vw, 72px);
	align-items: start;
}
.s24 .s24-aseg-top__texto > p { max-width: 68ch; }
.s24 .s24-aseg-top__texto > p:first-of-type { margin-top: 0; font-size: 1.125rem; line-height: 1.65; color: var(--tinta); }
.s24 .s24-aseg-top__texto .banner-new { max-width: 68ch; }

.s24 .s24-ficha-card {
	padding: 22px 24px 18px;
	background: var(--blanco);
	border: 1px solid var(--linea);
	border-radius: var(--r);
}
.s24 .s24-art .s24-ficha-card__titulo { margin: 0 0 6px; color: var(--tinta); font-size: 1rem; font-weight: 700; }
.s24 .s24-ficha-card dl { margin: 0; }
.s24 .s24-ficha-card__fila { padding: 12px 0; border-top: 1px solid var(--linea); }
.s24 .s24-ficha-card__fila:first-child { border-top: 0; }
.s24 .s24-ficha-card dt { margin: 0 0 2px; color: var(--gris); font-size: .8125rem; font-weight: 500; line-height: 1.4; }
.s24 .s24-ficha-card dd { margin: 0; color: var(--tinta); font-size: .9688rem; font-weight: 600; line-height: 1.45; overflow-wrap: anywhere; }
.s24 .s24-ficha-card .es-tel { order: -1; }
.s24 .s24-ficha-card .es-tel dd { font-size: 1.25rem; line-height: 1.5; font-variant-numeric: tabular-nums; }
.s24 .s24-ficha-card .es-tel a { color: var(--marca-2); text-decoration: none; }
.s24 .s24-ficha-card dl { display: flex; flex-direction: column; }
.s24 .s24-ficha-card .es-tel { border-top: 0; padding-top: 6px; }
.s24 .s24-ficha-card .es-tel + .s24-ficha-card__fila,
.s24 .s24-ficha-card__fila:first-child:not(.es-tel) { border-top: 1px solid var(--linea); }
.s24 .s24-art .s24-ficha-card__nota { margin: 6px 0 0; padding-top: 12px; border-top: 1px solid var(--linea); color: var(--gris); font-size: .8125rem; line-height: 1.5; }

@media (hover: hover) and (pointer: fine) {
	.s24 .s24-ficha-card .es-tel a { transition: color .15s ease; }
	.s24 .s24-ficha-card .es-tel a:hover { color: var(--tinta); text-decoration: underline 2px var(--marca); text-underline-offset: 4px; }
}

@media (max-width: 781px) {
	.s24-hero--con-logo { grid-template-columns: minmax(0, 1fr); }
	.s24-hero__logo { grid-row: 1; width: 152px; height: 80px; padding: 14px 18px; }
	.s24-hero__logo .s24-aseg-logo { max-width: 116px; max-height: 48px; }
	.s24 .s24-aseg-top { grid-template-columns: minmax(0, 1fr); gap: 28px; }
	.s24 .s24-ficha-card { order: -1; }
	/* En cuadros medicos y oficinas, primero el texto y el aviso; la tarjeta despues. */
	.s24-cm .s24-ficha-card,
	.s24-ofic .s24-ficha-card { order: 0; }
}

/* Tarjeta lateral de gestiones (paginas sin ficha de datos) */
.s24 .s24-ficha-card--gestiones ul { margin: 0; padding: 0; list-style: none; }
.s24 .s24-ficha-card--gestiones li { margin: 0; padding: 11px 0; border-top: 1px solid var(--linea); }
.s24 .s24-ficha-card--gestiones li:first-child { border-top: 0; padding-top: 6px; }
.s24 .s24-ficha-card--gestiones li::marker { content: none; }
.s24 .s24-ficha-card--gestiones li a { display: block; color: var(--tinta); font-size: 1rem; font-weight: 600; text-decoration: none; }
.s24 .s24-ficha-card--gestiones span { display: block; margin-top: 2px; color: var(--gris); font-size: .8125rem; line-height: 1.45; }
@media (hover: hover) and (pointer: fine) {
	.s24 .s24-ficha-card--gestiones li a { transition: color .15s ease; }
	.s24 .s24-ficha-card--gestiones li a:hover { color: var(--marca-2); text-decoration: underline 2px var(--marca); text-underline-offset: 3px; }
}

/* Boton de envio de Contact Form 7 en cualquier pagina (Astra a veces
   pinta el texto del mismo color que el fondo) */
.wpcf7 input[type="submit"].wpcf7-submit {
	min-height: 48px;
	padding: 12px 28px;
	border: 0;
	border-radius: 6px;
	background: var(--ast-global-color-0, #0067d4);
	color: #fff !important;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
	transition: background-color .15s ease;
}
.wpcf7 input[type="submit"].wpcf7-submit:hover { background: var(--ast-global-color-1, #0052a8); color: #fff !important; }
.wpcf7 input[type="submit"].wpcf7-submit:focus-visible { outline: 3px solid #0b1f33; outline-offset: 2px; }
.wpcf7 input[type="submit"].wpcf7-submit:disabled { opacity: .6; cursor: not-allowed; }

/* ==========================================================================
   Cuadros medicos
   ========================================================================== */
.s24 .s24-art .s24-aviso { margin: 20px 0 0; padding: 14px 18px; border-left: 3px solid var(--marca); border-radius: 0 var(--r) var(--r) 0; background: var(--suave); }
.s24 .s24-art .s24-aviso p { margin: 0; font-size: .9375rem; line-height: 1.55; color: var(--texto); }

.s24 .s24-art .s24-pdf { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 24px; align-items: center; max-width: 760px; margin: 16px 0 0; padding: 20px; border: 1px solid var(--linea); border-radius: var(--r); background: var(--blanco); }
.s24 .s24-art .s24-pdf__portada { display: block; line-height: 0; }
.s24 .s24-art .s24-pdf__portada img { width: 150px; height: auto; border: 1px solid var(--linea); border-radius: 4px; box-shadow: 0 6px 18px rgba(16, 24, 40, .08); }
.s24 .s24-art .s24-pdf__texto p { margin: 0 0 14px; }
.s24 .s24-art .s24-pdf__botones { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; }
.s24 .s24-art .s24-btn { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 20px; border: 1px solid var(--marca); border-radius: 6px; background: var(--marca); color: #fff; font-weight: 600; text-decoration: none; transition: background-color .15s ease, color .15s ease; }
.s24 .s24-art .s24-btn--sec { background: transparent; color: var(--marca-2); }

.s24 .s24-art .s24-etiquetas { display: flex; flex-wrap: wrap; gap: 8px; max-width: none; margin: 10px 0 18px; padding: 0; list-style: none; }
.s24 .s24-art .s24-etiquetas li { margin: 0; padding: 6px 12px; border-radius: 999px; background: var(--suave); color: var(--tinta); font-size: .875rem; line-height: 1.3; }
.s24 .s24-art .s24-etiquetas li::marker { content: none; }
.s24 .s24-art .s24-etiquetas--densas li { padding: 4px 10px; background: transparent; border: 1px solid var(--linea); font-size: .8125rem; }
.s24 .s24-art.s24-aseg__cuerpo h3 { margin: 1.4em 0 .4em; font-size: 1.0625rem; }

@media (hover: hover) and (pointer: fine) {
	.s24 .s24-art .s24-btn:hover { background: var(--marca-2); border-color: var(--marca-2); color: #fff; }
	.s24 .s24-art .s24-btn--sec:hover { background: var(--suave); color: var(--tinta); }
}
@media (max-width: 600px) {
	.s24 .s24-art .s24-pdf { grid-template-columns: 96px minmax(0, 1fr); gap: 16px; padding: 16px; }
	.s24 .s24-art .s24-pdf__portada img { width: 96px; }
}
/* En cuadros medicos la entradilla es texto normal: el unico recuadro es el aviso. */
.s24.s24-cm .s24-art > p:first-child { max-width: 68ch; padding: 0; border: 0; border-radius: 0; background: none; font-size: 1.125rem; line-height: 1.65; color: var(--tinta); }

/* ==========================================================================
   Cuadro medico oficial: bloque de ficha y buscador
   ========================================================================== */
.s24 .s24-art .s24-of { margin-top: 8px; }
.s24 .s24-art .s24-of__sub { margin: 18px 0 0; font-weight: 600; color: var(--tinta); }
.s24 .s24-art .s24-etiquetas--enlaces li { padding: 0; background: transparent; }
.s24 .s24-art .s24-etiquetas--enlaces a { display: inline-flex; align-items: center; min-height: 36px; padding: 6px 14px; border: 1px solid var(--linea); border-radius: 999px; background: var(--blanco); color: var(--marca-2); font-size: .875rem; font-weight: 600; text-decoration: none; transition: border-color .15s ease, background-color .15s ease; }
.s24 .s24-art .s24-etiquetas--enlaces a:focus-visible { outline: 3px solid var(--marca); outline-offset: 2px; }

.s24 .s24-art .s24-of-buscador { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 14px 16px; align-items: end; max-width: 900px; margin: 16px 0 8px; padding: 20px; border: 1px solid var(--linea); border-radius: var(--r); background: var(--suave); }
.s24 .s24-art .s24-of-buscador label { display: flex; flex-direction: column; gap: 6px; margin: 0; font-size: .875rem; font-weight: 600; color: var(--tinta); }
.s24 .s24-art .s24-of-buscador label[hidden] { display: none; }
.s24 .s24-art .s24-of-buscador small { font-weight: 400; color: var(--gris); }
.s24 .s24-art .s24-of-buscador select { width: 100%; min-height: 44px; padding: 8px 12px; border: 1px solid var(--linea); border-radius: 6px; background-color: var(--blanco); color: var(--tinta); font-size: 1rem; }
.s24 .s24-art .s24-of-buscador select:focus-visible { outline: 3px solid var(--marca); outline-offset: 1px; }
.s24 .s24-art .s24-of-buscador .s24-btn { justify-content: center; }
.s24 .s24-art .s24-of-buscador .s24-nota { grid-column: 1 / -1; margin: 0; }

@media (hover: hover) and (pointer: fine) {
	.s24 .s24-art .s24-etiquetas--enlaces a:hover { border-color: var(--marca); background: var(--suave); }
}

/* Fichas de oficinas: enlaces al cuadro medico de la provincia */
.s24 .s24-relacionadas-ficha { margin: 32px 0 0; padding: 18px 20px; border: 1px solid var(--linea); border-radius: var(--r); background: var(--suave); }
.s24 .s24-relacionadas-ficha__titulo { margin: 0 0 8px; font-weight: 700; color: var(--tinta); }
.s24 .s24-relacionadas-ficha ul { margin: 0; padding-left: 1.1em; }
.s24 .s24-relacionadas-ficha li { margin: 4px 0; }
.s24 .s24-art .s24-of + h3, .s24 .s24-art .s24-of-buscador + h3 { margin-top: 1.6em; }

/* Portada informativa: buscador en la cabecera, provincias y confianza */
.s24 .s24-hero__buscador > p { margin: -8px 0 14px; font-size: .9375rem; }
.s24 .s24-hero__buscador .s24-of-buscador { margin: 0; padding: 0; border: 0; background: none; }
.s24-portada__provincias { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px clamp(24px, 4vw, 48px); }
.s24 .s24-portada__provincias h3 { margin: 0 0 12px; font-size: 1.15rem; }
.s24 .s24-enlaces-grandes { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.s24 .s24-enlaces-grandes li { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin: 0; padding: 12px 16px; border: 1px solid var(--linea); border-radius: var(--r); background: var(--blanco); }
.s24 .s24-enlaces-grandes a { font-weight: 600; text-decoration: none; }
.s24 .s24-enlaces-grandes a:hover { text-decoration: underline; }
.s24 .s24-enlaces-grandes span { color: var(--gris, #64748b); font-size: .875rem; white-space: nowrap; }
.s24 .s24-confianza .s24-pasos li::before { content: none; display: none; }
.s24 .s24-confianza__mas { margin: 18px 0 0; }

/* Espacios publicitarios del tema */
.s24 .s24-anuncio { margin: 32px auto; padding: 0 var(--pad); max-width: 1200px; text-align: center; }
.s24 .s24-post__aside .s24-anuncio { margin: 24px 0 0; padding: 0; }
.s24 .s24-anuncio__etiqueta { display: block; margin-bottom: 6px; color: var(--gris, #64748b); font-size: .75rem; letter-spacing: .04em; text-transform: uppercase; }

/* Contenido patrocinado */
.s24 .s24-patrocinado { margin: 0 0 28px; padding: 14px 18px; border: 1px solid #f0c36d; border-left-width: 4px; border-radius: var(--r); background: #fff8e6; }
.s24 .s24-patrocinado p { margin: 0; font-size: .9375rem; }
.s24 .s24-etiqueta-patrocinado { display: inline-block; margin-right: 10px; padding: 2px 8px; border-radius: 999px; background: #fff1cc; color: #7a5200; font-size: .75rem; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; }
@media (max-width: 921px) { .s24 .s24-post__aside .s24-anuncio { display: none; } }

/* Ficha: especialidad buscada desde el buscador */
.s24 .s24-etiquetas--enlaces li.s24-resaltada a { background: var(--marca); border-color: var(--marca); color: #fff; box-shadow: 0 0 0 3px color-mix(in srgb, var(--marca) 25%, transparent); }
.s24 .s24-etiquetas--enlaces li { scroll-margin-top: calc(var(--arriba, 90px) + 40px); }
.s24 .s24-of { scroll-margin-top: calc(var(--arriba, 90px) + 24px); }

/* Anuncio dentro del contenido: hueco reservado (evita saltos de la pagina, CLS) */
.s24 .s24-art .s24-anuncio--contenido { margin: 36px 0; padding: 0; min-height: 140px; }
.s24 .s24-art .s24-anuncio--contenido ins.adsbygoogle[data-ad-status="unfilled"] { display: none !important; }
