/*
Theme Name: San Diego
Theme URI: https://sandiegocartagena.com
Author: Parroquia del Sagrado Corazón de Jesús (San Diego)
Description: Tema de bloques de la parroquia. Colores, letras y espacios se cambian en un solo sitio (Apariencia, Editor, Estilos).
Version: 0.18.10
Requires at least: 6.6
Requires PHP: 8.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: sandiego
*/

/* Marco en forma de arco para fotos: añade la clase «sd-arco» a una imagen. */
.sd-arco img,
img.sd-arco {
	aspect-ratio: 3 / 4;
	object-fit: cover;
	border-radius: 999px 999px 14px 14px;
	border: 4px solid var(--wp--preset--color--chispa);
}

/* Etiqueta con forma de arco antes de los títulos de sección: clase «sd-titulo-arco». */
.sd-titulo-arco::before {
	content: "";
	display: inline-block;
	width: 0.62em;
	height: 0.8em;
	margin-right: 0.4em;
	vertical-align: -0.04em;
	background: var(--wp--preset--color--chispa);
	border-radius: 999px 999px 2px 2px;
}

:focus-visible {
	outline: 3px solid var(--wp--preset--color--liturgico);
	outline-offset: 2px;
}

/* Cabecera y pie */
.sd-cabecera {
	padding-block: 1rem;
	background: var(--wp--preset--color--superficie);
	border-bottom: 1px solid var(--wp--preset--color--linea);
}
.sd-pie {
	padding-block: 2rem;
	margin-top: 3rem;
	border-top: 1px solid var(--wp--preset--color--linea);
}

/* ---- Sistema de diseño: bandas, tarjetas y filas de datos ---- */
.sd-banda { padding-block: 3rem; }
.sd-banda--papel { background: var(--wp--preset--color--papel); }
.sd-banda--blanca { background: var(--wp--preset--color--superficie); }
.sd-banda--piedra { background: #EFEBDD; }
.sd-banda h2 { font-size: var(--wp--preset--font-size--titulo); margin-bottom: 0.4rem; }
.sd-lead { font-size: var(--wp--preset--font-size--grande); color: var(--wp--preset--color--tinta-suave); }
.sd-peq { font-size: var(--wp--preset--font-size--pequena); color: var(--wp--preset--color--tinta-suave); }

.sd-tarjetas { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); margin-top: 1.5rem; }
.sd-tarjeta {
	background: var(--wp--preset--color--superficie);
	border: 1px solid var(--wp--preset--color--linea);
	border-radius: 16px;
	padding: 1.2rem;
}
.sd-banda--blanca .sd-tarjeta { background: var(--wp--preset--color--papel); }
.sd-tarjeta h3 { font-size: 1.2rem; margin: 0.3rem 0; }
.sd-tarjeta h3 a { color: var(--wp--preset--color--tinta); text-decoration: none; }
.sd-tarjeta h3 a:hover { text-decoration: underline; }
.sd-etiqueta { font-size: 0.85rem; font-weight: 700; color: var(--wp--preset--color--liturgico); margin: 0; }

.sd-datos { margin-block: 1rem; }
.sd-dato {
	display: grid;
	grid-template-columns: 8rem 1fr;
	gap: 1rem;
	padding: 0.9rem 0;
	border-top: 1px solid var(--wp--preset--color--linea);
}
.sd-datos > .sd-dato:last-child { border-bottom: 1px solid var(--wp--preset--color--linea); }
.sd-dato__k { margin: 0; font-weight: 700; color: var(--wp--preset--color--tinta-suave); }
.sd-dato p { margin: 0; }
.sd-estado .is-open { color: var(--wp--preset--color--liturgico); font-weight: 700; }
.sd-estado .sd-peq { display: inline-block; margin-top: 0.15rem; }
@media (max-width: 560px) { .sd-dato { grid-template-columns: 1fr; gap: 0.2rem; } }

/* ---- Arreglos de la v0.3 ---- */
/* En las rejillas no debe quedar el margen que WordPress pone entre bloques */
.sd-tarjetas > *, .sd-datos > * { margin-block: 0 !important; }
.sd-tarjeta h3 { overflow-wrap: anywhere; }


/* Cita de la carta del párroco */
.sd-banda .wp-block-quote {
	margin: 1.2rem 0;
	padding: 0.8rem 1.4rem;
	border-left: 6px solid var(--wp--preset--color--chispa);
	background: var(--wp--preset--color--superficie);
	border-radius: 0 14px 14px 0;
}
.sd-banda .wp-block-quote p { font-family: var(--wp--preset--font-family--alegreya); font-style: italic; font-size: 1.2rem; }
.sd-banda .wp-block-quote cite { color: var(--wp--preset--color--tinta-suave); font-style: normal; }

/* Cabecera: menú más compacto */
.sd-cabecera .wp-block-navigation { gap: 0.3rem 1.2rem; font-size: 0.95rem; }

/* Primera banda de la portada, con el color del tiempo litúrgico */
.sd-hero {
	padding-block: 3rem;
	background: var(--wp--preset--color--liturgico);
	color: #fff;
}
.sd-hero h1 { color: #fff; font-size: clamp(2rem, 5vw, 3.2rem); letter-spacing: -0.02em; margin-block: 0.4rem 1rem; }
.sd-hero .sd-lead { color: #fff; opacity: 0.95; }
.sd-hero__eyebrow { text-transform: uppercase; letter-spacing: 0.12em; font-size: 0.8rem; font-weight: 700; margin: 0; opacity: 0.9; }
.sd-hero a { color: #fff; }
.sd-hero .wp-block-button__link { background: #fff; color: var(--wp--preset--color--liturgico); border: 2px solid #fff; }
.sd-hero .is-style-outline .wp-block-button__link { background: transparent; color: #fff; border-color: #fff; }
.sd-hero .sd-hoy { color: #fff; }

/* ---- Arreglos de la v0.3.1 ---- */
/* Sin hueco entre la cabecera y la primera banda, ni entre bandas */
.wp-site-blocks > * { margin-block-start: 0; }
/* El texto de entrada se alinea a la izquierda, con el título */
/* El texto de entrada ocupa el mismo ancho que el título, pero las líneas no pasan de unos 44 rem */
.sd-banda .sd-lead, .sd-hero .sd-lead { box-sizing: border-box; padding-right: max(0px, calc(100% - 44rem)); }

/* ---- v0.4.1: Encuentros y Jóvenes ---- */
.sd-enc { display: grid; gap: 1.5rem; grid-template-columns: 1fr 1fr; margin-top: 1.5rem; }
.sd-enc > * { margin-block: 0 !important; }
.sd-enc-main { background: var(--wp--preset--color--superficie); border: 1px solid var(--wp--preset--color--linea); border-radius: 16px; padding: 1.6rem; }
.sd-enc-main h3 { font-size: 1.7rem; margin: 0.3rem 0 0.6rem; }
.sd-enc-main h4, .sd-enc-side h4 { margin: 1.2rem 0 0.4rem; }
.sd-feat { background: var(--wp--preset--color--superficie); border: 1px solid var(--wp--preset--color--linea); border-left-style: solid; border-radius: 12px; padding: 1rem 1.2rem; margin-bottom: 0.8rem !important; }
.sd-feat h3 { font-size: 1.15rem; margin: 0 0 0.2rem; }
.sd-feat p { margin: 0.2rem 0 0; }
@media (max-width: 800px) { .sd-enc { grid-template-columns: 1fr; } }

.sd-jovenes { padding-block: 3.5rem; color: #fff; min-height: 0; }
.sd-jovenes h2, .sd-jovenes h3, .sd-jovenes p, .sd-jovenes a { color: #fff; }
.sd-jovenes .sd-lead { color: #fff; opacity: 0.95; }
.sd-jovenes .sd-tarjeta { background: rgba(255,255,255,0.12); border-color: rgba(255,255,255,0.35); backdrop-filter: blur(2px); }
.sd-jovenes .sd-etiqueta { color: var(--wp--preset--color--chispa); }
.sd-jovenes .sd-aviso { background: var(--wp--preset--color--chispa); border-radius: 12px; padding: 0.7rem 1rem; }
.sd-jovenes .sd-aviso, .sd-jovenes .sd-aviso a { color: #1E1C19; }
.sd-jovenes .wp-block-button__link { background: var(--wp--preset--color--chispa); color: #1E1C19; border: 2px solid var(--wp--preset--color--chispa); }
.sd-jovenes .is-style-outline .wp-block-button__link { background: transparent; color: #fff; border-color: #fff; }
.sd-feat--verde { border-left: 6px solid #2E7D5B; }
.sd-feat--ocre { border-left: 6px solid #B8862B; }

/* ---- v0.5.0: avisos, homilía y noticias ---- */
.sd-dos { display: grid; gap: 2.5rem; grid-template-columns: 1fr 1fr; }
.sd-dos > * { margin-block: 0 !important; }
@media (max-width: 800px) { .sd-dos { grid-template-columns: 1fr; } }
.sd-noticias { margin-top: 1.5rem; }
.sd-noticias .sd-tarjeta h3 { font-size: 1.15rem; margin: 0.3rem 0; }
.sd-noticias .sd-tarjeta > * { margin-block: 0.3rem !important; }
.sd-noticias .wp-block-post-terms a { color: var(--wp--preset--color--liturgico); text-decoration: none; }

/* ---- v0.6.0: páginas interiores ---- */
.sd-hero--terracota { background: var(--wp--preset--color--terracota); }
.sd-hero--noche { background: #1E2548; }
.sd-hero--noche .sd-hero__eyebrow { color: var(--wp--preset--color--chispa); opacity: 1; }
.sd-hero--indigo { background: var(--wp--preset--color--indigo); }
.sd-hero--verde { background: var(--wp--preset--color--verde-azulado); }
.sd-hero .wp-block-post-title, .sd-hero .wp-block-query-title { color: #fff; }
.wp-site-blocks main > .sd-banda:last-child { margin-bottom: 0; }
.sd-banda--piedra .sd-tarjeta { background: var(--wp--preset--color--superficie); }

/* Formulario */
.sd-form-caja { margin-top: 2.5rem; padding: 1.5rem; background: var(--wp--preset--color--superficie); border: 1px solid var(--wp--preset--color--linea); border-radius: 16px; }
.sd-form input[type=text], .sd-form textarea { width: 100%; box-sizing: border-box; padding: 0.6rem; border: 1px solid var(--wp--preset--color--linea); border-radius: 8px; font: inherit; }
.sd-form fieldset { border: 1px solid var(--wp--preset--color--linea); border-radius: 10px; margin-bottom: 1rem; }
.sd-form .sd-consent { display: flex; gap: 0.6rem; align-items: flex-start; }
.sd-trampa { position: absolute; left: -9999px; }
.sd-aviso-ok { background: #E4F2E9; padding: 0.8rem 1rem; border-radius: 10px; }
.sd-aviso-error { background: #FBE6E3; padding: 0.8rem 1rem; border-radius: 10px; }

/* Cantoral */
.sd-canto__barra { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1rem; }
.sd-canto__barra button { padding: 0.45rem 0.9rem; border: 1px solid var(--wp--preset--color--linea); border-radius: 999px; background: var(--wp--preset--color--superficie); font: inherit; cursor: pointer; }
.sd-canto__barra button[aria-pressed="true"] { background: var(--wp--preset--color--chispa); border-color: var(--wp--preset--color--chispa); }
.sd-canto__letra { font-size: 1.1rem; line-height: 1.5; }
.sd-linea { margin: 0; }
.sd-vacia { height: 0.9em; }
.sd-seg { display: inline-flex; flex-direction: column; vertical-align: bottom; }
.sd-ch { font-weight: 700; font-size: 0.85em; color: var(--wp--preset--color--liturgico); min-height: 1.2em; padding-right: 0.3em; }
.sd-tx { white-space: pre-wrap; }
.sd-seccion { margin: 1.2rem 0 0.3rem; font-weight: 700; color: var(--wp--preset--color--tinta-suave); text-transform: uppercase; font-size: 0.8rem; letter-spacing: 0.08em; }
.sd-sin-acordes .sd-ch { display: none; }
@media print { .sd-cabecera, .sd-pie, .sd-hero, .sd-canto__barra { display: none !important; } }

/* ---- v0.6.1: datos rápidos en rejilla de 2×2 ---- */
.sd-banda--datos { padding-block: 1.5rem; }
.sd-datos--rejilla { display: grid; grid-template-columns: 1fr 1fr; column-gap: 2.5rem; }
.sd-datos--rejilla > .sd-dato { grid-template-columns: 1fr; gap: 0.15rem; padding: 0.8rem 0; border-top: 1px solid var(--wp--preset--color--linea); }
.sd-datos--rejilla > .sd-dato:last-child { border-bottom: 0; }
.sd-datos--rejilla > .sd-dato:nth-last-child(-n+2) { border-bottom: 1px solid var(--wp--preset--color--linea); }
.sd-datos--rejilla .sd-dato__k { font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.08em; }
.sd-mapa { display: inline-block; margin-left: 0.6rem; font-weight: 700; white-space: nowrap; }
.sd-mapa::before { content: "→ "; }
@media (max-width: 700px) {
	.sd-datos--rejilla { grid-template-columns: 1fr; }
	.sd-datos--rejilla > .sd-dato:nth-last-child(2) { border-bottom: 0; }
}

/* ---- v0.7.0: horarios con pestañas ---- */
.sd-dos--horarios { grid-template-columns: 3fr 2fr; }
.sd-pestanas { display: inline-flex; border: 2px solid var(--wp--preset--color--tinta); border-radius: 12px; overflow: hidden; margin-bottom: 0.8rem; }
.sd-pestanas button { padding: 0.6rem 1.4rem; border: 0; background: transparent; font: inherit; font-weight: 700; cursor: pointer; color: var(--wp--preset--color--tinta); }
.sd-pestanas button[aria-selected="true"] { background: var(--wp--preset--color--tinta); color: #fff; }
.sd-tabla-misas { width: 100%; border-collapse: collapse; margin: 0.4rem 0 0.6rem; }
.sd-tabla-misas th, .sd-tabla-misas td { text-align: left; padding: 0.75rem 0.6rem; border-bottom: 1px solid var(--wp--preset--color--linea); vertical-align: baseline; }
.sd-tabla-misas th { font-weight: 400; color: var(--wp--preset--color--tinta-suave); width: 42%; }
.sd-hora { font-weight: 800; font-size: 1.25rem; margin-right: 0.35rem; }
.sd-misa { display: inline-block; margin-right: 1rem; }
.sd-etq { color: var(--wp--preset--color--liturgico); font-weight: 500; }
.sd-sinmisa { color: var(--wp--preset--color--tinta-suave); }
.sd-tabla-misas tr.es-hoy { background: #E6EFE8; }
.sd-tabla-misas tr.es-hoy th { color: var(--wp--preset--color--tinta); font-weight: 700; }
.sd-hoy-marca { background: var(--wp--preset--color--liturgico); color: #fff; border-radius: 6px; padding: 0.1rem 0.45rem; font-size: 0.8rem; font-weight: 700; }
.sd-hor-oraciones { border-top: 3px solid var(--wp--preset--color--tinta); padding-top: 1rem; }
.sd-hor-oraciones h3 { font-family: var(--wp--preset--font-family--alegreya); font-size: 1.5rem; }
@media (max-width: 800px) { .sd-dos--horarios { grid-template-columns: 1fr; } .sd-tabla-misas th { width: 40%; } }

/* ---- v0.7.2: catequesis como línea del tiempo en horizontal ---- */
.sd-camino { display: grid; grid-template-columns: repeat(6, 1fr); gap: 0 1.6rem; margin: 1.5rem 0 1.8rem; padding: 1.8rem 1.6rem; background: var(--wp--preset--color--superficie); border: 1px solid var(--wp--preset--color--linea); border-radius: 22px; }
.sd-banda--blanca .sd-camino { background: var(--wp--preset--color--papel); }
.sd-camino > * { margin-block: 0 !important; }
.sd-paso { position: relative; padding-top: 2.6rem; }
.sd-paso::before { content: ""; position: absolute; left: 0; top: 0; width: 22px; height: 22px; box-sizing: border-box; border-radius: 50%; background: var(--wp--preset--color--papel); border: 4px solid var(--wp--preset--color--liturgico); z-index: 1; }
.sd-paso::after { content: ""; position: absolute; left: 26px; right: -1.6rem; top: 9px; height: 3px; background: var(--wp--preset--color--linea); }
.sd-paso:last-child::after { display: none; }
.sd-paso > * { margin-block: 0.2rem !important; }
.sd-paso .sd-etiqueta { color: var(--wp--preset--color--tinta-suave); font-weight: 400; font-size: 1rem; }
.sd-paso h3 { font-family: var(--wp--preset--font-family--alegreya); font-size: 1.6rem; line-height: 1.15; }
.sd-paso p:not(.sd-etiqueta) { font-size: 1rem; line-height: 1.5; }
.sd-paso__grupos { list-style: none; display: flex; flex-wrap: wrap; gap: 0.4rem; padding: 0; margin-top: 0.7rem !important; }
.sd-paso__grupos li { margin: 0; }
.sd-paso__grupos a { display: inline-block; padding: 0.2rem 0.7rem; border: 1px solid var(--wp--preset--color--liturgico); border-radius: 999px; font-size: 0.85rem; font-weight: 600; text-decoration: none; color: var(--wp--preset--color--liturgico); }
.sd-paso__grupos a:hover { background: var(--wp--preset--color--liturgico); color: #fff; }
.sd-ademas { margin-top: 1.2rem; }
@media (max-width: 1000px) {
	.sd-camino { grid-template-columns: repeat(3, 1fr); row-gap: 1.8rem; }
	.sd-paso:nth-child(3n)::after { display: none; }
}
@media (max-width: 640px) {
	.sd-camino { grid-template-columns: 1fr; padding-left: 2.8rem; position: relative; }
	.sd-paso { padding: 0 0 0.4rem; }
	.sd-paso::before { left: -2.1rem; top: 0.1rem; }
	.sd-paso::after { display: block !important; left: calc(-2.1rem + 9px); right: auto; top: 1.6rem; bottom: -1.8rem; width: 3px; height: auto; }
	.sd-paso:last-child::after { display: none !important; }
}

/* ---- Botones: rectangulares con esquinas redondeadas, en todo el sitio ---- */
.wp-block-button__link, .wp-element-button { border-radius: 8px !important; padding: 0.7rem 1.3rem; font-weight: 700; }
.wp-block-button.is-style-outline .wp-block-button__link { background: transparent; border: 2px solid var(--wp--preset--color--liturgico); color: var(--wp--preset--color--liturgico); }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--wp--preset--color--liturgico); color: #fff; }
.sd-hero .wp-block-button.is-style-outline .wp-block-button__link { color: #fff; border-color: #fff; }
.sd-jovenes .wp-block-button.is-style-outline .wp-block-button__link { color: #fff; border-color: #fff; }

/* ---- v0.8.0: Colabora en verde, Trámites centrado, Jóvenes color o foto ---- */
.sd-banda--verde { background: #E6EFE8; }
.sd-cols { display: grid; gap: 2.5rem; grid-template-columns: repeat(3, 1fr); margin-top: 1.8rem; }
.sd-cols > * { margin-block: 0 !important; }
.sd-col { border-top: 3px solid var(--wp--preset--color--tinta); padding-top: 1.1rem; }
.sd-col > * { margin-block: 0.5rem !important; }
.sd-col h3 { font-family: var(--wp--preset--font-family--alegreya); font-size: 1.5rem; font-weight: 600; }
.sd-codigo { font-size: 2.6rem !important; font-weight: 800; letter-spacing: 0.12em; line-height: 1.1; margin-block: 0.3rem !important; }
@media (max-width: 800px) { .sd-cols { grid-template-columns: 1fr; gap: 1.8rem; } }

.sd-faq { margin: 1.5rem 0; border-bottom: 1px solid var(--wp--preset--color--linea); }
.sd-faq > * { margin-block: 0 !important; }
.sd-faq .wp-block-details { border-top: 1px solid var(--wp--preset--color--linea); margin: 0; }
.sd-faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1.1rem 0; font-weight: 700; font-size: 1.1rem; }
.sd-faq summary::-webkit-details-marker { display: none; }
.sd-faq summary::after { content: ""; flex: none; width: 0.6rem; height: 0.6rem; border-right: 3px solid var(--wp--preset--color--liturgico); border-bottom: 3px solid var(--wp--preset--color--liturgico); transform: rotate(45deg); margin-right: 0.4rem; transition: transform 0.15s; }
.sd-faq details[open] summary::after { transform: rotate(-135deg); }
.sd-faq details > p { margin: 0 0 1.1rem; }

/* Jóvenes: estilo «Sol» del bloque Portada */
.sd-jovenes.is-style-sol, .sd-jovenes.is-style-sol h2, .sd-jovenes.is-style-sol h3, .sd-jovenes.is-style-sol p, .sd-jovenes.is-style-sol a { color: #1E1C19; }
.sd-jovenes.is-style-sol .wp-block-cover__background { background-color: var(--wp--preset--color--chispa) !important; }
.sd-jovenes.is-style-sol .sd-tarjeta { background: rgba(255,255,255,0.55); border-color: rgba(30,28,25,0.25); }
.sd-jovenes.is-style-sol .sd-etiqueta { color: var(--wp--preset--color--terracota); }
.sd-jovenes.is-style-sol .sd-aviso { background: #1E1C19; }
.sd-jovenes.is-style-sol .sd-aviso, .sd-jovenes.is-style-sol .sd-aviso a { color: #fff; }
.sd-jovenes.is-style-sol .wp-block-button__link { background: #1E1C19; color: #fff; border-color: #1E1C19; }
.sd-jovenes.is-style-sol .is-style-outline .wp-block-button__link { background: transparent; color: #1E1C19; border-color: #1E1C19; }

/* ---- v0.8.1: subtítulos en una sola línea cuando caben, y repartidos si no ---- */
.sd-banda .sd-lead, .sd-hero .sd-lead, .sd-jovenes .sd-lead { padding-inline: 0; text-wrap: balance; }
.sd-banda h2 + .sd-lead { margin-top: 0.2rem; }

/* ---- v0.8.2: títulos iguales, avisos alineados y homilía como en la maqueta ---- */
.sd-banda h2, .sd-jovenes h2, .sd-av h2 { font-size: var(--wp--preset--font-size--titulo); margin-bottom: 0.4rem; }
.sd-av ul.wp-block-list { list-style: none; padding: 0; margin: 1rem 0 1.4rem; }
.sd-av ul.wp-block-list li { padding: 0.8rem 0; border-top: 1px solid var(--wp--preset--color--linea); }
.sd-av ul.wp-block-list li:last-child { border-bottom: 1px solid var(--wp--preset--color--linea); }

.sd-hom { border-left: 4px solid var(--wp--preset--color--liturgico); padding-left: 1.4rem; margin-top: 1rem; }
.sd-hom > * { margin-block: 0.3rem; }
.sd-hom__titulo { font-family: var(--wp--preset--font-family--alegreya); font-size: 1.65rem; line-height: 1.2; margin: 0 0 0.3rem; }
.sd-hom__ref { font-family: var(--wp--preset--font-family--alegreya); font-style: italic; color: var(--wp--preset--color--tinta-suave); font-size: 1.15rem; }
.sd-hom3 { display: grid; gap: 0.8rem; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); margin: 1.1rem 0 !important; }
.sd-hom3__c { display: flex; flex-direction: column; gap: 0.4rem; background: var(--wp--preset--color--superficie); border: 1px solid var(--wp--preset--color--linea); border-top: 5px solid var(--wp--preset--color--liturgico); border-radius: 14px; padding: 0.9rem; }
.sd-hom3__c h3 { font-size: 1.1rem; margin: 0; }
.sd-hom3__c p { margin: 0; font-size: 0.95rem; color: var(--wp--preset--color--tinta-suave); }
.sd-hom3__c .sd-btn { margin-top: auto; align-self: flex-start; }
.sd-btn { display: inline-block; padding: 0.55rem 1rem; border: 2px solid var(--wp--preset--color--liturgico); border-radius: 8px; background: var(--wp--preset--color--liturgico); color: #fff; font: inherit; font-weight: 700; font-size: 0.95rem; text-decoration: none; cursor: pointer; }
.sd-btn--out { background: transparent; color: var(--wp--preset--color--liturgico); }
.sd-btn--sol { background: var(--wp--preset--color--chispa); border-color: var(--wp--preset--color--chispa); color: #1E1C19; }
.sd-hom__panel { border-top: 1px solid var(--wp--preset--color--linea); margin-bottom: 0.8rem; }
.sd-hom__panel p { margin: 0; padding: 0.7rem 0; border-bottom: 1px solid var(--wp--preset--color--linea); }

/* ---- v0.8.3: subtítulo pegado al título y alineado bajo la puerta amarilla ---- */
.sd-banda h2.sd-titulo-arco, .sd-jovenes h2.sd-titulo-arco, .sd-av h2.sd-titulo-arco { margin-block-end: 0 !important; line-height: 1.1; }
.sd-banda h2.sd-titulo-arco + .sd-lead,
.sd-jovenes h2.sd-titulo-arco + .sd-lead,
.sd-hero h1 + .sd-lead { margin-block-start: 0.35rem !important; margin-block-end: 1rem; }
.sd-banda .sd-lead, .sd-jovenes .sd-lead { text-align: left; }

/* ---- v0.9.0: historia en la portada ---- */
.sd-dos--historia { grid-template-columns: 3fr 2fr; align-items: center; }
.sd-historia__foto { max-width: 340px; justify-self: center; }
.sd-historia__foto figure { margin: 0; }
.sd-historia__foto figcaption { text-align: center; font-size: 0.9rem; color: var(--wp--preset--color--tinta-suave); margin-top: 0.5rem; }
.sd-arco img:not([src]), .sd-arco img[src=""] { display: none; }
@media (max-width: 800px) { .sd-dos--historia { grid-template-columns: 1fr; } }

/* ---- v0.9.1: Así vivimos San Diego ---- */
.sd-vida { display: grid; gap: 1.2rem; grid-template-columns: repeat(4, 1fr); margin-top: 1.5rem; }
.sd-vida > * { margin-block: 0 !important; }
.sd-vida figure { margin: 0; }
.sd-vida figcaption { text-align: center; font-size: 0.9rem; color: var(--wp--preset--color--tinta-suave); margin-top: 0.5rem; }
@media (max-width: 800px) { .sd-vida { grid-template-columns: repeat(2, 1fr); } }
/* En la web (no en el editor) se ocultan las fotos vacías y, si no hay ninguna, toda la sección */
body:not(.editor-styles-wrapper) .sd-vida figure:not(:has(img[src]:not([src=""]))) { display: none; }
body:not(.editor-styles-wrapper) .sd-banda--vida:not(:has(img[src]:not([src=""]))) { display: none; }

/* ---- v0.10.0: cabecera como la maqueta: marca a la izquierda y menú a la derecha ---- */
.sd-cabecera { padding-block: 0.9rem; }
.sd-cabecera__in { max-width: 1280px !important; gap: 1.5rem; }
.sd-marca { gap: 0.8rem; flex: 0 1 auto; min-width: 0; }
.sd-marca .wp-block-site-logo { margin: 0; flex: none; }
.sd-marca .wp-block-site-logo img { height: auto; border-radius: 0; }
/* Si no se ha subido logo, se dibuja la marca de la puerta con la cruz, en el color del tiempo litúrgico */
.sd-marca:not(:has(.wp-block-site-logo img))::before {
	content: ""; flex: none; width: 30px; height: 36px; background: var(--wp--preset--color--liturgico);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 48'%3E%3Cpath d='M6 46V21a14 14 0 0 1 28 0v25' fill='none' stroke='black' stroke-width='3'/%3E%3Cpath d='M20 23v15M14.5 28.5h11' fill='none' stroke='black' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 48'%3E%3Cpath d='M6 46V21a14 14 0 0 1 28 0v25' fill='none' stroke='black' stroke-width='3'/%3E%3Cpath d='M20 23v15M14.5 28.5h11' fill='none' stroke='black' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
}
.sd-marca__texto > * { margin: 0 !important; }
.sd-marca .wp-block-site-title { font-family: var(--wp--preset--font-family--alegreya); font-weight: 700; font-size: 1.55rem; line-height: 1; }
.sd-marca .wp-block-site-title a { color: var(--wp--preset--color--tinta); text-decoration: none; }
.sd-marca .wp-block-site-tagline { font-size: 0.85rem; line-height: 1.3; color: var(--wp--preset--color--tinta-suave); margin-top: 3px !important; }

.sd-nav { flex: 1 1 auto; font-size: 0.97rem; }
.sd-nav .wp-block-navigation__container { justify-content: flex-end; gap: 0.2rem 1.3rem; }
.sd-nav .wp-block-navigation-item__content { padding: 6px 0; }
.sd-nav a:hover { color: var(--wp--preset--color--liturgico); }
.sd-nav .sd-nav-pill > a { background: var(--wp--preset--color--chispa); color: #1E1C19; padding: 6px 14px; border-radius: 99px; font-weight: 700; }
.sd-nav .sd-nav-pill > a:hover { color: #1E1C19; filter: brightness(0.95); }
.sd-nav .wp-block-navigation__submenu-container { min-width: 230px; border: 1px solid var(--wp--preset--color--linea) !important; border-radius: 10px; box-shadow: 0 14px 28px rgba(30,28,25,0.12); padding: 6px 16px !important; background: var(--wp--preset--color--superficie); }
.sd-nav .wp-block-navigation__submenu-container a { padding: 10px 0 !important; white-space: nowrap; border-bottom: 1px solid var(--wp--preset--color--linea); }
.sd-nav .wp-block-navigation__submenu-container li:last-child a { border-bottom: 0; }
@media (max-width: 781px) { .sd-marca__texto .wp-block-site-tagline { display: none; } }

/* ---- v0.11.0: eventos que llegan del calendario ---- */
.sd-proximos { list-style: none; margin-block: 0.6rem !important; padding: 0; display: grid; gap: 0.7rem; }
.sd-proximos li { display: grid; grid-template-columns: 3.4rem 1fr; gap: 0.9rem; align-items: start; margin: 0; padding: 0.7rem 0; border-top: 1px solid var(--wp--preset--color--linea); }
.sd-proximos li:last-child { border-bottom: 1px solid var(--wp--preset--color--linea); }
.sd-fecha { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 3.6rem; background: var(--wp--preset--color--superficie); border: 2px solid var(--wp--preset--color--liturgico); border-radius: 999px 999px 10px 10px; line-height: 1; padding-top: 0.35rem; }
.sd-fecha b { font-size: 1.35rem; }
.sd-fecha i { font-style: normal; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--wp--preset--color--tinta-suave); }
.sd-ev { display: flex; flex-direction: column; gap: 0.1rem; }
.sd-ev strong { font-size: 1.05rem; }
.sd-ev__meta, .sd-ev__desc { font-size: 0.92rem; color: var(--wp--preset--color--tinta-suave); }
.sd-ev__etq { align-self: flex-start; font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: #fff; border-radius: 6px; padding: 0.1rem 0.5rem; background: var(--wp--preset--color--liturgico); }
.sd-ev__etq--viernes { background: var(--wp--preset--color--indigo); }
.sd-ev__etq--talleres { background: #2E7D5B; }
.sd-ev__etq--fiestas { background: #B8862B; }
.sd-ev__etq--caritas { background: var(--wp--preset--color--terracota); }
.sd-ev__etq--ciudad { background: #6B4E9B; }
.sd-feat .sd-proximos { margin: 0.3rem 0 !important; }
.sd-feat .sd-proximos li { padding: 0.4rem 0; border: 0; grid-template-columns: 2.8rem 1fr; }
.sd-feat .sd-fecha { min-height: 3rem; }
.sd-enc-side .sd-proximos li { grid-template-columns: 2.8rem 1fr; }

.sd-ev__etq--grupos { background: #2E7D5B; }
.sd-ev__etq--catequesis { background: var(--wp--preset--color--liturgico); }
.sd-dos--fechas h3 { font-size: 1.3rem; margin-bottom: 0.4rem; }

/* ---- v0.12.0: cambios de horario de las misas ---- */
.sd-excepciones { margin-top: 1rem; padding: 0.9rem 1.1rem; background: #E8F1EA; border-left: 5px solid var(--wp--preset--color--liturgico); border-radius: 0 12px 12px 0; }
.sd-excepciones h4 { margin: 0 0 0.3rem; font-size: 1rem; }
.sd-excepciones ul { margin: 0; padding-left: 1.1rem; }
.sd-excepciones li { margin: 0.15rem 0; }


/* Fuente de las noticias y recursos de la celebración */
.sd-fuente{margin-top:1.5rem;padding:.8rem 1rem;border-left:5px solid var(--wp--preset--color--chispa);background:var(--wp--preset--color--superficie);font-size:.95rem}
.sd-recursos{margin-top:2.5rem}
.sd-recursos h2{margin-bottom:1rem}
.sd-recurso{border:1px solid var(--wp--preset--color--linea);border-radius:8px;background:var(--wp--preset--color--superficie);margin-bottom:.7rem}
.sd-recurso summary{cursor:pointer;padding:.9rem 1.1rem;font-weight:600;list-style-position:inside}
.sd-recurso summary:focus-visible{outline:3px solid var(--wp--preset--color--chispa);outline-offset:2px}
.sd-recurso__texto{padding:0 1.1rem 1rem}
.sd-recurso__texto h4{margin:1.2rem 0 .3rem}


/* Cantoral: buscador, cantos de la misa y listado */
.sd-cn-q{width:100%;max-width:28em;min-height:48px;border:0;border-radius:8px;padding:0 1.1rem;font:inherit;color:var(--wp--preset--color--tinta);background:#fff;margin:.4rem 0 .8rem}
.sd-cn-q:focus-visible{outline:3px solid var(--wp--preset--color--chispa);outline-offset:2px}
.sd-cm__fecha{font-weight:700;margin:0 0 .8rem;color:var(--wp--preset--color--liturgico)}
.sd-cm__lista{list-style:none;margin:0;padding:0;display:grid;gap:.6rem;counter-reset:cm}
.sd-cm__lista li{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .9rem;background:var(--wp--preset--color--superficie);border:1px solid var(--wp--preset--color--linea);border-left:6px solid var(--wp--preset--color--liturgico);border-radius:8px;padding:.8rem 1rem}
.sd-cm__lista a{display:flex;align-items:center;gap:.7rem;color:inherit;text-decoration:none;flex-wrap:wrap}
.sd-cm__lista a:hover strong{text-decoration:underline}
.sd-cm__lista .sd-tag{display:inline-block;min-width:7.5rem;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--wp--preset--color--liturgico)}
.sd-cn-num{display:inline-block;min-width:2.6rem;font-size:.82rem;font-weight:700;color:var(--wp--preset--color--tinta-suave)}
.sd-cn-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.4rem}
.sd-chip{font:inherit;font-weight:600;font-size:.92rem;min-height:44px;padding:0 1rem;border:1.5px solid var(--wp--preset--color--liturgico);border-radius:8px;background:transparent;color:var(--wp--preset--color--liturgico);cursor:pointer}
.sd-chip.is-on{background:var(--wp--preset--color--liturgico);color:#fff}
.sd-chip:focus-visible{outline:3px solid var(--wp--preset--color--chispa);outline-offset:2px}
.sd-cn-seccion{margin:0 0 1.8rem}
.sd-cn-seccion h3{margin:0 0 .6rem;font-size:1.2rem}
.sd-cn-lista{list-style:none;margin:0;padding:0;display:grid;gap:.4rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.sd-cn-lista li{margin:0}
.sd-cn-lista a{display:flex;align-items:baseline;gap:.5rem;padding:.65rem .9rem;border:1px solid var(--wp--preset--color--linea);border-radius:8px;background:var(--wp--preset--color--papel);color:inherit;text-decoration:none;min-height:44px}
.sd-cn-lista a:hover{border-color:var(--wp--preset--color--liturgico)}
.sd-cn-lista a:hover strong{text-decoration:underline}
.sd-cn-meta{margin-left:auto;font-size:.8rem;color:var(--wp--preset--color--tinta-suave);white-space:nowrap}
.sd-cn-vacio{padding:1rem 0}
.sd-aviso-auto{margin:0 0 1rem;padding:.7rem 1rem;border-left:5px solid var(--wp--preset--color--chispa);background:#FFF5DB;font-size:.92rem}
[hidden]{display:none!important}

/* Grupos: cuatro ámbitos en dos columnas, con descripción emergente */
.sd-areas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; align-items: start; }
.sd-area { background: var(--wp--preset--color--superficie); border: 1px solid var(--wp--preset--color--linea); border-radius: 16px; padding: 1.4rem 1.4rem 1rem; }
.sd-area__titulo { font-size: 1.5rem; margin: 0 0 0.3rem; }
.sd-area__desc { margin: 0 0 0.8rem; color: var(--wp--preset--color--tinta-suave); }
.sd-grupo-lista { list-style: none; margin: 0; padding: 0; }
.sd-grupo-item { position: relative; border-top: 1px solid var(--wp--preset--color--linea); }
.sd-grupo-item__a { display: block; padding: 0.6rem 0.2rem; color: var(--wp--preset--color--tinta); text-decoration: none; font-weight: 600; }
.sd-grupo-item__a:hover, .sd-grupo-item__a:focus-visible { text-decoration: underline; }
.sd-pop { display: none; position: absolute; left: 0; top: 100%; z-index: 20; width: min(340px, 86vw); padding: 0.9rem 1rem; background: var(--wp--preset--color--papel); border: 1px solid var(--wp--preset--color--linea); border-radius: 12px; box-shadow: 0 10px 28px rgba(0,0,0,.16); }
.sd-pop p { margin: 0 0 0.4rem; font-size: 0.95rem; }
.sd-pop__enlace { font-weight: 700; }
.sd-area:nth-child(even) .sd-pop { left: auto; right: 0; }
.sd-grupo-item:hover .sd-pop, .sd-grupo-item:focus-within .sd-pop { display: block; }
@media (hover: none) {
	.sd-pop { display: block; position: static; width: auto; box-shadow: none; border: 0; padding: 0 0.2rem 0.6rem; background: none; }
	.sd-pop .sd-etiqueta, .sd-pop__enlace { display: none; }
}
@media (max-width: 720px) { .sd-areas { grid-template-columns: 1fr; } }
.sd-ev__etq--consejo { background: var(--wp--preset--color--indigo); }
.sd-ev__etq--eventos { background: #2E7D5B; }
.sd-ev__etq--liturgia { background: var(--wp--preset--color--liturgico); }

.sd-hero .sd-peq { color: rgba(255, 255, 255, 0.9); }

/* ---- v0.15.5: portada (Viernes y Otras actividades a la misma altura, «En la ciudad» debajo) y fotos de eventos ---- */
.sd-enc-ciudad { grid-column: 1 / -1; }
.sd-enc-main .wp-block-buttons { margin-top: 1rem; }
.sd-proximos li.con-imagen { grid-template-columns: 6.5rem 3.4rem 1fr; }
.sd-ev__img { width: 6.5rem; height: 4.8rem; object-fit: cover; border-radius: 10px; background: var(--wp--preset--color--linea); }
@media (max-width: 640px) { .sd-proximos li.con-imagen { grid-template-columns: 4.6rem 3rem 1fr; } .sd-ev__img { width: 4.6rem; height: 3.6rem; } }
.sd-memoria { list-style: none; margin-block: 0.4rem 1.6rem !important; padding: 0; columns: 2 22rem; column-gap: 2.2rem; }
.sd-memoria li { break-inside: avoid; margin: 0; padding: 0.55rem 0; border-top: 1px solid var(--wp--preset--color--linea); font-size: 0.92rem; color: var(--wp--preset--color--tinta-suave); }
.sd-memoria strong { display: block; font-size: 1.02rem; color: var(--wp--preset--color--tinta); }

/* ---- v0.15.6: las dos tarjetas de la parroquia (Viernes y Otras actividades) en el azul noche de San Diego; «En la ciudad» queda neutra ---- */
.sd-enc-parroquia { background: #1E2548; border-color: #1E2548; color: #fff; }
.sd-enc-parroquia h3, .sd-enc-parroquia h4 { color: #fff; }
.sd-enc-parroquia .sd-etiqueta { color: var(--wp--preset--color--chispa); }
.sd-enc-parroquia p, .sd-enc-parroquia .sd-peq { color: rgba(255,255,255,.86); }
.sd-enc-parroquia a:not(.wp-element-button) { color: var(--wp--preset--color--chispa); }
.sd-enc-parroquia .sd-proximos li { border-color: rgba(255,255,255,.18); }
.sd-enc-parroquia .sd-fecha { background: transparent; border-color: var(--wp--preset--color--chispa); }
.sd-enc-parroquia .sd-fecha b { color: #fff; }
.sd-enc-parroquia .sd-fecha i { color: var(--wp--preset--color--chispa); }
.sd-enc-parroquia .sd-ev strong { color: #fff; }
.sd-enc-parroquia .sd-ev__meta, .sd-enc-parroquia .sd-ev__desc { color: rgba(255,255,255,.72); }
.sd-enc-parroquia .wp-block-button__link { background: var(--wp--preset--color--chispa); color: #1E2548; border-color: var(--wp--preset--color--chispa); }
.sd-enc-parroquia .is-style-outline .wp-block-button__link { background: transparent; color: #fff; border-color: rgba(255,255,255,.7); }
.sd-enc-ciudad { border-left: 6px solid #6B4E9B; }

/* ---- v0.18.6: logos de redes en «Síguenos», con los colores de la parroquia ---- */
.sd-tarjetas:has(.sd-red) { grid-template-columns: repeat(auto-fit, minmax(185px, 1fr)); }
.sd-red::before { content: ""; display: block; width: 2.9rem; height: 2.9rem; margin-bottom: 0.8rem; background-size: contain; background-repeat: no-repeat; }
.sd-red h3 { overflow-wrap: anywhere; }
.sd-red--whatsapp::before { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 48 48%22%3E%3Ccircle cx=%2224%22 cy=%2224%22 r=%2224%22 fill=%22%232D6A3E%22/%3E%3Cg transform=%22translate%2812 12%29%22%3E%3Cpath fill=%22%23fff%22 d=%22M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52s.198-.298.298-.497c.099-.198.05-.371-.025-.52s-.669-1.612-.916-2.207c-.242-.579-.487-.5-.669-.51a13 13 0 0 0-.57-.01c-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074s2.096 3.2 5.077 4.487c.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413s.248-1.289.173-1.413c-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 0 1-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 0 1-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.82 9.82 0 0 1 2.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.82 11.82 0 0 0 12.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.9 11.9 0 0 0 5.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.82 11.82 0 0 0-3.48-8.413%22/%3E%3C/g%3E%3C/svg%3E"); }
.sd-red--instagram::before { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 48 48%22%3E%3Ccircle cx=%2224%22 cy=%2224%22 r=%2224%22 fill=%22%23F4B63F%22/%3E%3Cg transform=%22translate%2812 12%29%22%3E%3Cpath fill=%22%231E2548%22 d=%22M7.03.084c-1.277.06-2.149.264-2.91.563a5.9 5.9 0 0 0-2.124 1.388 5.9 5.9 0 0 0-1.38 2.127C.321 4.926.12 5.8.064 7.076s-.069 1.688-.063 4.947.021 3.667.083 4.947c.061 1.277.264 2.149.563 2.911.308.789.72 1.457 1.388 2.123a5.9 5.9 0 0 0 2.129 1.38c.763.295 1.636.496 2.913.552 1.278.056 1.689.069 4.947.063s3.668-.021 4.947-.082c1.28-.06 2.147-.265 2.91-.563a5.9 5.9 0 0 0 2.123-1.388 5.9 5.9 0 0 0 1.38-2.129c.295-.763.496-1.636.551-2.912.056-1.28.07-1.69.063-4.948-.006-3.258-.02-3.667-.081-4.947-.06-1.28-.264-2.148-.564-2.911a5.9 5.9 0 0 0-1.387-2.123 5.86 5.86 0 0 0-2.128-1.38C19.074.322 18.202.12 16.924.066 15.647.009 15.236-.006 11.977 0S8.31.021 7.03.084m.14 21.693c-1.17-.05-1.805-.245-2.228-.408a3.7 3.7 0 0 1-1.382-.895 3.7 3.7 0 0 1-.9-1.378c-.165-.423-.363-1.058-.417-2.228-.06-1.264-.072-1.644-.08-4.848-.006-3.204.006-3.583.061-4.848.05-1.169.246-1.805.408-2.228.216-.561.477-.96.895-1.382a3.7 3.7 0 0 1 1.379-.9c.423-.165 1.057-.361 2.227-.417 1.265-.06 1.644-.072 4.848-.08 3.203-.006 3.583.006 4.85.062 1.168.05 1.804.244 2.227.408.56.216.96.475 1.382.895s.681.817.9 1.378c.165.422.362 1.056.417 2.227.06 1.265.074 1.645.08 4.848.005 3.203-.006 3.583-.061 4.848-.051 1.17-.245 1.805-.408 2.23-.216.56-.477.96-.896 1.38a3.7 3.7 0 0 1-1.378.9c-.422.165-1.058.362-2.226.418-1.266.06-1.645.072-4.85.079s-3.582-.006-4.848-.06m9.783-16.192a1.44 1.44 0 1 0 1.437-1.442 1.44 1.44 0 0 0-1.437 1.442M5.839 12.012a6.161 6.161 0 1 0 12.323-.024 6.162 6.162 0 0 0-12.323.024M8 12.008A4 4 0 1 1 12.008 16 4 4 0 0 1 8 12.008%22/%3E%3C/g%3E%3C/svg%3E"); }
.sd-red--facebook::before { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 48 48%22%3E%3Ccircle cx=%2224%22 cy=%2224%22 r=%2224%22 fill=%22%232F3E7E%22/%3E%3Cg transform=%22translate%2812 12%29%22%3E%3Cpath fill=%22%23fff%22 d=%22M9.101 23.691v-7.98H6.627v-3.667h2.474v-1.58c0-4.085 1.848-5.978 5.858-5.978.401 0 .955.042 1.468.103a9 9 0 0 1 1.141.195v3.325a9 9 0 0 0-.653-.036 27 27 0 0 0-.733-.009c-.707 0-1.259.096-1.675.309a1.7 1.7 0 0 0-.679.622c-.258.42-.374.995-.374 1.752v1.297h3.919l-.386 2.103-.287 1.564h-3.246v8.245C19.396 23.238 24 18.179 24 12.044c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.628 3.874 10.35 9.101 11.647%22/%3E%3C/g%3E%3C/svg%3E"); }
.sd-red--youtube::before { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 48 48%22%3E%3Ccircle cx=%2224%22 cy=%2224%22 r=%2224%22 fill=%22%23B8372E%22/%3E%3Cg transform=%22translate%2812 12%29%22%3E%3Cpath fill=%22%23fff%22 d=%22M23.498 6.186a3.02 3.02 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.02 3.02 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.02 3.02 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.02 3.02 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814M9.545 15.568V8.432L15.818 12z%22/%3E%3C/g%3E%3C/svg%3E"); }
.sd-red--telegram::before { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 48 48%22%3E%3Ccircle cx=%2224%22 cy=%2224%22 r=%2224%22 fill=%22%231F5F63%22/%3E%3Cg transform=%22translate%2812 12%29%22%3E%3Cpath fill=%22%23fff%22 d=%22M11.944 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0zm4.962 7.224c.1-.002.321.023.465.14a.5.5 0 0 1 .171.325c.016.093.036.306.02.472-.18 1.898-.962 6.502-1.36 8.627-.168.9-.499 1.201-.82 1.23-.696.065-1.225-.46-1.9-.902-1.056-.693-1.653-1.124-2.678-1.8-1.185-.78-.417-1.21.258-1.91.177-.184 3.247-2.977 3.307-3.23.007-.032.014-.15-.056-.212s-.174-.041-.249-.024q-.159.037-5.061 3.345-.72.495-1.302.48c-.428-.008-1.252-.241-1.865-.44-.752-.245-1.349-.374-1.297-.789q.04-.324.893-.663 5.247-2.286 6.998-3.014c3.332-1.386 4.025-1.627 4.476-1.635%22/%3E%3C/g%3E%3C/svg%3E"); }

/* ---- v0.18.7: grupo universitario en la sección Jóvenes (con el cartel) ---- */
.sd-uni { display: grid; grid-template-columns: minmax(0, 290px) 1fr; gap: 2rem; align-items: center; background: #fff; color: var(--wp--preset--color--tinta); border-radius: 20px; padding: 1.6rem; margin: 1.4rem 0 1.8rem; box-shadow: 0 18px 40px rgba(15, 20, 55, .28); }
.sd-uni > * { margin-block: 0 !important; }
.sd-uni__cartel { margin: 0 !important; }
.sd-uni__cartel img { width: 100%; height: auto; display: block; border-radius: 14px; box-shadow: 0 10px 24px rgba(15, 20, 55, .25); }
.sd-uni .sd-etiqueta { color: var(--wp--preset--color--verde-azulado); text-transform: uppercase; letter-spacing: .08em; font-size: .8rem; }
.sd-uni h3 { color: #1E2548; font-size: clamp(1.5rem, 3.2vw, 2.15rem); line-height: 1.1; margin: .25rem 0 .6rem; }
.sd-uni h4 { color: var(--wp--preset--color--verde-azulado); text-transform: uppercase; letter-spacing: .05em; font-size: .9rem; margin: 1.1rem 0 .5rem; }
.sd-uni p { color: var(--wp--preset--color--tinta); }
.sd-uni .sd-uni__gancho { color: var(--wp--preset--color--terracota); font-weight: 700; font-size: 1.15rem; }
.sd-uni__lista { list-style: none; padding: 0; margin: 0 0 1rem !important; display: grid; grid-template-columns: 1fr 1fr; gap: .5rem 1.2rem; }
.sd-uni__lista li { position: relative; padding-left: 2rem; font-size: .97rem; line-height: 1.3; margin: 0; }
.sd-uni__lista li::before { content: "✓"; position: absolute; left: 0; top: 0; width: 1.45rem; height: 1.45rem; border-radius: 50%; background: var(--wp--preset--color--verde-azulado); color: #fff; font-size: .8rem; font-weight: 700; text-align: center; line-height: 1.45rem; }
.sd-uni .sd-uni__invita { background: #FFF1EA; border-left: 5px solid var(--wp--preset--color--terracota); border-radius: 0 12px 12px 0; padding: .7rem 1rem; margin: 0 0 1rem !important; }
.sd-jovenes .sd-uni .is-style-outline .wp-block-button__link { color: #1E2548 !important; border-color: #1E2548 !important; background: transparent !important; }
.sd-uni-mas { color: #fff; font-size: 1.15rem; margin-block: .4rem 0 !important; }
@media (max-width: 800px) { .sd-uni { grid-template-columns: 1fr; padding: 1.2rem; } .sd-uni__cartel { max-width: 270px; margin-inline: auto !important; } .sd-uni__lista { grid-template-columns: 1fr; } }

/* v0.18.9 Últimos vídeos dentro del recuadro de los Viernes */
.sd-videos { margin-top: 1.4rem; padding-top: 1.1rem; border-top: 1px solid rgba(255,255,255,.18); }
.sd-videos__titulo { margin: 0 0 .7rem; font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--chispa) !important; }
.sd-videos__lista { display: grid; grid-template-columns: 1fr 1fr; gap: .9rem; }
.sd-video { display: block; text-decoration: none; color: #fff !important; }
.sd-video__img { position: relative; display: block; aspect-ratio: 16/9; overflow: hidden; border-radius: 12px; background: #0f1330; }
.sd-video__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .25s; }
.sd-video:hover .sd-video__img img { transform: scale(1.05); }
.sd-video__play { position: absolute; inset: 0; margin: auto; width: 44px; height: 44px; border-radius: 50%; background: var(--wp--preset--color--chispa); box-shadow: 0 2px 10px rgba(0,0,0,.35); }
.sd-video__play::after { content: ""; position: absolute; left: 17px; top: 12px; border-style: solid; border-width: 10px 0 10px 16px; border-color: transparent transparent transparent #1E2548; }
.sd-video__nombre { display: block; margin-top: .45rem; font-size: .86rem; line-height: 1.3; font-weight: 600; color: #fff; }
.sd-videos__mas { margin: .8rem 0 0; font-size: .85rem; }
@media (max-width: 520px) { .sd-videos__lista { grid-template-columns: 1fr; } }

/* v0.18.10 «Más allá de San Diego»: subtítulo más grande y pegado al título */
.sd-enc-ciudad > h3 { margin-bottom: .15rem !important; }
.sd-enc-ciudad > .sd-peq { font-size: 1.05rem; line-height: 1.4; margin-top: 0 !important; margin-bottom: 1rem; }
