/*
Theme Name: Yamantaka Ollie
Theme URI: https://centroyamantaka.org/
Author: Centro Yamantaka
Author URI: https://centroyamantaka.org/
Description: Child de Ollie con el sistema de diseño Yamantaka (paleta del logo, medida 68ch, superficie de lectura). Todo el diseño vive en theme.json + patrones; sin page builder.
Template: ollie
Version: 1.1.0
License: GNU General Public License v3 or later
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Text Domain: yamantaka-ollie
Requires PHP: 7.3
*/

/* ==========================================================================
   0. Tokens y utilidades base
   ========================================================================== */
:root {
	--yam-blue: #122777;
	--yam-blue-dark: #0e1e5c;
	--yam-blue-light: #006dcb;
	--yam-gold: #ffbe00;
	--yam-gold-dark: #e6ac00;
	--yam-gold-soft: #fff4e3;
	--yam-cream: #fff4e3;
	--yam-mist: #eef3f7;
	--yam-ochre: #775d16;
	--yam-gray: #aeaeae;
	--yam-deep: #122777;
	--yam-ink: #122777;
	--yam-ink-soft: #775d16;
	--yam-card: #eef3f7;
	--yam-sand: #fff4e3;
	--yam-clay: #e20613;
	--yam-line: rgba(18, 39, 119, 0.15);
	--yam-radius: 14px;
	--yam-radius-sm: 10px;
	--yam-radius-pill: 999px;
	--yam-shadow: 0 14px 38px rgba(18, 39, 119, 0.12);
	--yam-shadow-soft: 0 4px 16px rgba(18, 39, 119, 0.08);
	--yam-nubes: url("assets/patron-nubes-azul.png");   /* patrón oficial de nubes (Manual, pág. 11) */
	--yam-nubes-ocre: url("assets/patron-nubes-ocre.png");
	--yam-ic-hand: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23122777' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 14h2a2 2 0 1 0 0-4h-3c-.6 0-1.1.2-1.4.6L3 16'/%3E%3Cpath d='m7 20 1.6-1.4c.3-.4.8-.6 1.4-.6h4c1.1 0 2.1-.4 2.8-1.2l4.6-4.4a2 2 0 0 0-2.75-2.91l-4.2 3.9'/%3E%3Cpath d='m2 15 6 6'/%3E%3Cpath d='M19.5 8.5c.7-.7 1.5-1.6 1.5-2.7A2.73 2.73 0 0 0 16 4a2.78 2.78 0 0 0-5 1.8c0 1.2.8 2 1.5 2.8L16 12Z'/%3E%3C/svg%3E");
	--yam-ic-pin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23122777' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
	--yam-ic-clock: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23122777' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3.5 2'/%3E%3C/svg%3E");
	--yam-ic-video: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23122777' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5'/%3E%3Crect x='2' y='6' width='14' height='12' rx='2'/%3E%3C/svg%3E");
}
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }

/* ==========================================================================
   1. Cabecera y navegación
   ========================================================================== */
.yam-site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	box-shadow: 0 1px 0 rgba(18, 39, 119, 0.18), 0 4px 14px rgba(18, 39, 119, 0.06);
}
.yam-site-header .wp-block-image img {
	max-width: 100px;
	max-height: 100px;
}
.yam-site-header .wp-block-image {
	margin: 0;
}
.yam-topnav {
	font-size: 0.95rem;
}
.yam-topnav .wp-block-navigation-item__content {
	padding: 0.4em 0.1em;
}
.wp-block-site-title {
	font-size: 1rem;
}

/* Iconos distintivos en el menú: mano (Apóyanos) y pin (Cómo llegar) */
.yam-topnav .wp-block-navigation-item__content[href*="apoyanos"]::before,
.yam-topnav .wp-block-navigation-item__content[href*="como-llegar"]::before {
	content: "";
	display: inline-block;
	width: 1.05em;
	height: 1.05em;
	margin-right: 0.4em;
	vertical-align: -0.16em;
	background-color: currentColor;
}
.yam-topnav .wp-block-navigation-item__content[href*="apoyanos"]::before {
	-webkit-mask: var(--yam-ic-hand) center / contain no-repeat;
	mask: var(--yam-ic-hand) center / contain no-repeat;
}
.yam-topnav .wp-block-navigation-item__content[href*="como-llegar"]::before {
	-webkit-mask: var(--yam-ic-pin) center / contain no-repeat;
	mask: var(--yam-ic-pin) center / contain no-repeat;
}
.yam-topnav a[aria-current="page"] {
	color: var(--yam-clay);
	font-weight: 700;
}

/* ==========================================================================
   2. Portada (hero) — dos columnas, imagen completa y marco dorado
   ========================================================================== */
/* El fondo del hero se define en M7/M9 (MARCA-001, paleta del manual). El degradado terracota de
   HERO-001 (28-sep-2026) quedó fuera de la paleta y se retiró de aquí en el pulido MARCA-001;
   sigue en los respaldos (staging-private/releases/HERO-001-before-20260928/ y MARCA-001-*). */
.yam-hero {
	position: relative;
	overflow: hidden;
	color: #fff;
}
.yam-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: radial-gradient(rgba(255, 190, 0, 0.16) 1px, transparent 1.6px);
	background-size: 26px 26px;
	-webkit-mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.55), transparent 70%);
	mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.55), transparent 70%);
	pointer-events: none;
}
.yam-hero::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 5px;
	background: linear-gradient(90deg, var(--yam-clay), var(--yam-gold) 50%, var(--yam-clay));
}
.yam-hero__inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1.12fr) minmax(0, 0.88fr);
	gap: clamp(1.6rem, 4vw, 3.4rem);
	align-items: center;
}
.yam-hero__text { min-width: 0; }
.yam-hero__kicker {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	margin: 0 0 0.9rem;
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--yam-gold);
}
.yam-orn-line {
	display: inline-block;
	width: 42px;
	height: 1px;
	background: linear-gradient(90deg, rgba(255, 190, 0, 0.15), rgba(255, 190, 0, 0.95));
}
.yam-hero__text h1 {
	color: #fff;
	font-size: clamp(2.1rem, 4.6vw, 3.4rem);
	line-height: 1.07;
	margin: 0 0 0.55em;
	text-wrap: balance;
}
.yam-hero__lead {
	font-size: clamp(1.05rem, 1.5vw, 1.22rem);
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.93);
	max-width: 48ch;
	margin: 0 0 0.75rem;
}
.yam-hero__modalities {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.4rem;
	margin: 0.4rem 0 1.3rem;
	font-size: 0.98rem;
	color: rgba(255, 255, 255, 0.95);
}
.yam-hero__modalities span {
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
}
.yam-hero__modalities svg { flex: none; opacity: 0.95; }
.yam-hero__ctas .wp-block-buttons { gap: 0.7rem; }
.yam-hero__figure {
	margin: 0;
	justify-self: center;
	width: 100%;
	max-width: 460px;
}
.yam-hero__figure img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 16px;
	border: 3px solid rgba(255, 190, 0, 0.9);
	box-shadow: 0 26px 60px rgba(18, 39, 119, 0.22);
}
@media (max-width: 860px) {
	.yam-hero__inner { grid-template-columns: 1fr; }
	.yam-hero__figure { max-width: 420px; }
}
/* Hero compacto en móvil: primera ruta sobre el pliegue */
@media (max-width: 780px) {
	.yam-hero {
		padding-top: var(--wp--preset--spacing--50) !important;
		padding-bottom: var(--wp--preset--spacing--50) !important;
	}
	.yam-hero__text h1 { font-size: 2rem; }
	.yam-hero__lead { font-size: 1.02rem; }
	.yam-hero__modalities { font-size: 0.9rem; margin: 0.3rem 0 1rem; }
	.yam-hero__figure { max-width: 310px; }
	.yam-hero__figure img { border-width: 2px; }
}

/* ==========================================================================
   3. Tarjetas, botones y ritmo de contenido
   ========================================================================== */
.wp-block-button__link {
	transition: transform 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}
.wp-block-button__link:hover { transform: translateY(-1px); }
.wp-block-button__link.has-brand-gold-background-color:hover { background-color: var(--yam-gold-dark); }
.entry-content a:not(.wp-block-button__link):not(.wp-element-button) {
	text-underline-offset: 3px;
	text-decoration-thickness: 1.5px;
}
.entry-content h2 {
	border-bottom: 2px solid var(--wp--preset--color--sand);
	padding-bottom: 0.3em;
	margin-top: 2.4rem;
	scroll-margin-top: 120px;
}
.entry-content h3 { margin-top: 1.7rem; scroll-margin-top: 120px; }
.entry-content figure img { border-radius: var(--yam-radius-sm); }
.entry-content hr { border: 0; border-top: 1px solid var(--yam-line); margin: 2.2rem 0; }
.entry-content blockquote {
	border-left: 4px solid var(--yam-gold);
	background: #fff;
	border-radius: 0.5rem;
	padding: 0.85rem 1.15rem;
	font-style: italic;
	color: var(--yam-blue);
	margin: 1.5rem 0;
}
.entry-content blockquote cite { color: var(--yam-ochre); font-style: normal; }
.entry-content ul li::marker { color: var(--yam-clay); }
.entry-content ol li::marker { color: var(--yam-clay); font-weight: 700; }

/* Tarjetas pizarra (columnas/grupos con fondo slate-card) */
.wp-block-column.has-slate-card-background-color,
.wp-block-group.has-slate-card-background-color {
	border-radius: var(--yam-radius);
	border: 1px solid rgba(255, 255, 255, 0.09);
	box-shadow: var(--yam-shadow-soft);
}
.wp-block-column.has-slate-card-background-color :is(h2, h3),
.wp-block-group.has-slate-card-background-color :is(h2, h3) {
	border-bottom: 0;
	padding-bottom: 0;
}
.wp-block-column.has-slate-card-background-color figure.wp-block-image img,
.wp-block-group.has-slate-card-background-color figure.wp-block-image img {
	border-radius: var(--yam-radius-sm);
	box-shadow: 0 10px 24px rgba(18, 39, 119, 0.16);
}
.has-slate-card-background-color a:not(.wp-block-button__link):not(.wp-element-button) {
	color: var(--yam-gold-soft);
}

/* Etiquetas de día · hora · modalidad en las tarjetas de actividades (MARCA-001 · pulido, 9-oct-2026):
   una sola forma para todas — «ficha» crema con texto ocre y radio pequeño. Las píldoras quedan
   reservadas a los botones (manual, lámina del sitio web), así las etiquetas no parecen botones y una
   etiqueta larga que parte línea se ve igual que las cortas. */
.yam-when {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin: 0.15rem 0 0.85rem;
}
.yam-when span {
	display: inline-flex;
	align-items: center;
	gap: 0.45em;
	background: var(--yam-cream);
	border: 0;
	border-radius: 6px;
	padding: 0.3em 0.65em;
	font-size: 0.82rem;
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: 0.01em;
	color: var(--yam-ochre);
}
.yam-when svg { flex: none; }
.yam-when--light span {
	background: var(--yam-cream);
	color: var(--yam-ochre);
}

/* Botones de icono dentro de tarjetas claras */
.yam-icon-line {
	display: flex;
	align-items: center;
	gap: 0.5em;
}
.yam-icon-line svg { flex: none; }

/* Tarjetas de rutas: misma altura y botón alineado al fondo */
.yam-rutas > .wp-block-column { display: flex; flex-direction: column; }
.yam-rutas > .wp-block-column > .wp-block-buttons { margin-top: auto; }

/* Tarjetas de video (portada y página de videos) */
.yam-video-card {
	border: 1px solid var(--yam-line);
	border-radius: var(--yam-radius);
	box-shadow: var(--yam-shadow-soft);
}
.yam-video-card figure.wp-block-image { margin-bottom: 0.6rem; }
.yam-video-card figure.wp-block-image img { border-radius: var(--yam-radius-sm); }
.yam-video-card h3 { margin: 0.4rem 0 0.3rem; font-size: 1.12rem; }
.yam-video-card p { margin: 0.2rem 0 0.4rem; }

/* Línea de horario dentro de las fichas de práctica: misma familia que las etiquetas de las
   tarjetas (crema de la paleta + filete dorado) */
.yam-practice-when {
	background: var(--yam-cream);
	border-left: 4px solid var(--yam-gold);
	border-radius: 0 6px 6px 0;
	padding: 0.6rem 0.9rem;
	font-size: 0.95rem;
	margin: 0.9rem 0 1.1rem;
}
.yam-practice-when strong { color: var(--yam-blue); }

/* Bloque de enlaces relacionados al final de páginas */
.yam-related {
	margin-top: 2.4rem;
	padding-top: 1.2rem;
	border-top: 1px dashed var(--yam-line);
}
.yam-related-title {
	font-size: 0.82rem;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	font-weight: 700;
	color: var(--yam-ochre);
	margin: 0 0 0.5rem;
}

/* Marco uniforme para las imágenes de las fichas de práctica */
.yam-practice-fig {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 420px;
	margin: 1.2rem 0 1.4rem;
	padding: 0.7rem;
	background: #fff;
	border: 1px solid var(--yam-line);
	border-radius: var(--yam-radius);
	box-shadow: var(--yam-shadow-soft);
}
.yam-practice-fig img {
	height: 100%;
	width: auto;
	max-width: 100%;
	border-radius: 8px;
	object-fit: contain;
}
@media (max-width: 780px) {
	.yam-practice-fig { height: 300px; }
}

.wp-block-column.yam-video-card {
	display: flex;
	flex-direction: column;
	align-items: stretch;
}
.yam-video-card > p:last-child { margin-top: auto; }
.yam-video-card h3 { margin: 0.4rem 0 0.2rem; font-size: 1.05rem; }
.yam-video-card figure { margin: 0 0 0.5rem; position: relative; }
.yam-video-card img { border-radius: 8px; }
/* Distintivo de reproducción uniforme en todas las miniaturas */
.yam-video-card figure::after {
	content: "";
	position: absolute;
	right: 3px;
	bottom: 11px;
	width: 30px;
	height: 30px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Ccircle cx='16' cy='16' r='15' fill='%23ffbe00' stroke='%23122777' stroke-width='1.5'/%3E%3Cpath d='M12.5 9.5l10 6.5-10 6.5z' fill='%23122777'/%3E%3C/svg%3E");
	background-size: contain;
	background-repeat: no-repeat;
	pointer-events: none;
}

/* Tarjeta del código QR de pago */
.yam-qr-card {
	background: #fff;
	border: 1px solid var(--yam-line);
	border-radius: var(--yam-radius);
	box-shadow: var(--yam-shadow-soft);
	padding: 1.2rem 1.3rem;
}
.yam-qr-card .yam-qr-figure {
	margin: 0.8rem auto;
	max-width: 340px;
	padding: 0.5rem;
	background: #fff;
	border: 1px solid var(--yam-line);
	border-radius: 10px;
}
.yam-qr-card .yam-qr-figure img {
	display: block;
	width: 100%;
	height: auto;
}
.yam-qr-caption {
	margin: 0.5rem 0 0;
	text-align: center;
	font-size: 0.8rem;
	letter-spacing: 0.02em;
	color: var(--yam-ink-soft);
}
@media (max-width: 640px) {
	.yam-qr-card { padding: 1rem 0.85rem; }
	.yam-qr-card .yam-qr-figure { padding: 0.45rem; }
}
.yam-qr-note {
	font-size: 0.85rem;
	line-height: 1.45;
	color: var(--yam-ink-soft);
	margin-top: 0.6rem;
}

/* Ancla del footer para /contactenos/ */
#contacto { scroll-margin-top: 6rem; }

/* Separador ornamental */
.yam-divider {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.7rem;
	margin: 2.8rem 0 1.6rem;
	color: var(--yam-gold);
}
.yam-divider::before,
.yam-divider::after {
	content: "";
	height: 1px;
	width: min(120px, 18vw);
	background: linear-gradient(90deg, transparent, rgba(255, 190, 0, 0.85));
}
.yam-divider::after {
	background: linear-gradient(90deg, rgba(255, 190, 0, 0.85), transparent);
}
.yam-divider span {
	width: 9px;
	height: 9px;
	background: var(--yam-gold);
	transform: rotate(45deg);
	box-shadow: 20px 0 0 -2.5px var(--yam-clay), -20px 0 0 -2.5px var(--yam-clay);
}

/* ==========================================================================
   4. Páginas de contenido (clases yam- de los patrones de contenido)
   ========================================================================== */
.yam-eyebrow {
	font-size: 0.82rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	font-weight: 700;
	color: var(--yam-clay);
	margin: 0 0 0.35rem;
}
.yam-content-lead {
	font-size: clamp(1.15rem, 1.5vw, 1.32rem);
	line-height: 1.55;
	color: var(--yam-blue);
	font-weight: 500;
	margin-top: 0;
}
.yam-page-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.7rem;
	margin: 1.5rem 0 1.9rem;
	align-items: center;
}
.yam-page-actions a {
	display: inline-flex;
	align-items: center;
	gap: 0.45em;
	background: var(--yam-blue);
	color: #fff;
	text-decoration: none;
	font-weight: 600;
	padding: 0.68em 1.3em;
	border-radius: 999px;
	box-shadow: var(--yam-shadow-soft);
	transition: transform 0.15s ease, background-color 0.15s ease;
}
.yam-page-actions a:hover {
	background: var(--yam-blue-dark);
	transform: translateY(-1px);
	color: #fff;
}
.yam-page-actions a:nth-child(2n) {
	background: transparent;
	color: var(--yam-blue);
	box-shadow: inset 0 0 0 2px var(--yam-blue);
}
.yam-page-actions a:nth-child(2n):hover {
	background: rgba(18, 39, 119, 0.07);
	color: var(--yam-blue-dark);
}
.yam-inline-links {
	list-style: none;
	padding: 0;
	margin: 1rem 0 1.5rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
}
.yam-inline-links li { margin: 0; }
.yam-inline-links a {
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
	background: #fff;
	border: 1px solid var(--yam-line);
	border-radius: 999px;
	padding: 0.42em 1.05em;
	text-decoration: none;
	font-weight: 600;
	font-size: 0.95rem;
	color: var(--yam-ink);
}
.yam-inline-links a::before {
	content: "";
	width: 0.45em;
	height: 0.45em;
	border-radius: 1px;
	background: var(--yam-gold);
	transform: rotate(45deg);
	flex: none;
}
.yam-inline-links a:hover {
	border-color: var(--yam-blue);
	color: var(--yam-blue);
}

/* Listas de definición en tarjetas (Estudiar/Contemplar/Meditar · proyectos) */
.yam-reading-list {
	margin: 1.2rem 0 1.7rem;
	display: grid;
	gap: 0.8rem;
}
.yam-reading-list > div {
	background: #fff;
	border: 1px solid var(--yam-line);
	border-left: 4px solid var(--yam-gold);
	border-radius: 0.75rem;
	padding: 0.9rem 1.15rem;
	box-shadow: var(--yam-shadow-soft);
}
.yam-reading-list dt {
	font-weight: 700;
	color: var(--yam-blue);
	margin-bottom: 0.15rem;
}
.yam-reading-list dd {
	margin: 0;
	color: var(--yam-blue);
}

/* Horarios de atención */
.yam-opening-hours {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
	gap: 0.7rem;
	margin: 1rem 0 1.6rem;
}
.yam-opening-hours > div {
	background: #fff;
	border: 1px solid var(--yam-line);
	border-radius: 0.75rem;
	padding: 0.75rem 1.05rem;
	display: flex;
	justify-content: space-between;
	gap: 0.6rem;
	box-shadow: var(--yam-shadow-soft);
}
.yam-opening-hours dt { font-weight: 700; color: var(--yam-blue); }
.yam-opening-hours dd { margin: 0; }

/* Ficha del maestro residente */
.yam-teacher-intro {
	display: grid;
	grid-template-columns: minmax(0, 340px) minmax(0, 1fr);
	gap: 1.7rem;
	align-items: start;
	margin: 1.2rem 0 2rem;
}
.yam-teacher-portrait { margin: 0; }
.yam-teacher-portrait img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--yam-radius);
	border: 3px solid var(--yam-sand);
	box-shadow: var(--yam-shadow);
}
@media (max-width: 800px) {
	.yam-teacher-intro { grid-template-columns: 1fr; }
}
.yam-text-link {
	display: inline-flex;
	align-items: center;
	gap: 0.35em;
	font-weight: 600;
}

/* Lista de actividades */
.yam-act-list {
	list-style: none;
	padding: 0;
	display: grid;
	gap: 0.6rem;
	margin: 1.1rem 0 1.6rem;
}
.yam-act-list li {
	background: #fff;
	border: 1px solid var(--yam-line);
	border-radius: 0.75rem;
	padding: 0.8rem 1.05rem;
	box-shadow: var(--yam-shadow-soft);
}
.yam-act-list a { font-weight: 700; }

/* ==========================================================================
   5. Programación: franja semanal, calendario
   ========================================================================== */
.yam-sched {
	background: #fff;
	border: 1px solid var(--yam-line);
	border-radius: var(--yam-radius);
	padding: 1.25rem 1.45rem 1.1rem;
	box-shadow: var(--yam-shadow-soft);
	margin: 1.2rem 0 1.6rem;
}
.yam-sched h3 {
	margin: 0 0 0.7rem;
	font-size: 1.12rem;
	color: var(--yam-blue);
	display: flex;
	align-items: center;
	gap: 0.5em;
}
.yam-sched-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	gap: 0.6rem;
}
.yam-sched-list li {
	display: grid;
	grid-template-columns: 20rem minmax(0, 1fr);
	gap: 0.2rem 1.1rem;
	align-items: baseline;
	padding-bottom: 0.6rem;
	border-bottom: 1px dashed var(--yam-line);
	margin: 0;
}
.yam-sched-list li:last-child { border-bottom: 0; padding-bottom: 0; }
.yam-sched-day {
	font-weight: 700;
	color: var(--yam-blue);
	overflow-wrap: anywhere;
}
/* Columna de día fija y etiquetas que envuelven: nunca se montan sobre el detalle
   (antes: 15rem + nowrap, que desbordaba ~50-110 px sobre la columna derecha). */
@media (max-width: 800px) {
	.yam-sched-list li { grid-template-columns: 1fr; gap: 0.1rem; }
}

/* Calendario: más ancho que la columna de lectura, semana en escritorio y agenda en móvil */
.yam-cal-week,
.yam-cal-agenda {
	--yam-cal-w: min(1080px, calc(100% + 320px), calc(100vw - 3.5rem));
	width: var(--yam-cal-w);
	margin-left: calc((100% - var(--yam-cal-w)) / 2);
	margin-right: 0;
	margin-top: 1rem;
	margin-bottom: 1.8rem;
}
.yam-cal-week iframe,
.yam-cal-agenda iframe {
	width: 100%;
	max-width: 100%;
	border: 1px solid var(--yam-line);
	border-radius: var(--yam-radius);
	background: #fff;
	box-shadow: var(--yam-shadow-soft);
	display: block;
}
.yam-cal-agenda { display: none; }
@media (max-width: 980px) {
	.yam-cal-week { display: none; }
	.yam-cal-agenda { display: block; }
}

/* ==========================================================================
   6. Apóyanos
   ========================================================================== */
.yam-support-routes { margin: 1.2rem 0 2rem; }
.yam-support-routes .wp-block-buttons { gap: 0.6rem; }
.yam-support-routes .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
	border-radius: 999px;
	padding: 0.66em 1.25em;
	font-weight: 600;
}
.yam-support-routes .wp-block-button:not(.is-style-outline) .wp-block-button__link {
	background: var(--yam-blue);
	color: #fff;
}
.yam-support-routes .wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent;
	box-shadow: inset 0 0 0 2px var(--yam-blue);
	color: var(--yam-blue);
	border: 0;
}
.yam-support-routes .wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: rgba(18, 39, 119, 0.07);
}
.yam-support-section {
	margin: 2.6rem 0;
	padding-top: 0.4rem;
}
.yam-donation-options {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
	gap: 1.1rem;
	margin: 1.2rem 0 1.5rem;
}
/* La tarjeta bancaria ocupa la fila completa cuando la rejilla queda en 2 columnas
   (evita el medio hueco de la tercera tarjeta sola) */
.yam-donation-options .yam-bank-card { grid-column: 1 / -1; }
.yam-breb-card {
	background: #fff;
	border: 1px solid var(--yam-line);
	border-radius: var(--yam-radius);
	padding: 1.15rem 1.35rem;
	box-shadow: var(--yam-shadow-soft);
}
.yam-breb-card h3 { margin-top: 0; }
.yam-copy-row {
	display: flex;
	align-items: center;
	gap: 0.9rem;
	flex-wrap: wrap;
	background: var(--yam-cream);
	border: 1px dashed var(--yam-line);
	border-radius: 0.75rem;
	padding: 0.65rem 0.95rem;
	margin: 0.45rem 0 0.85rem;
}
.yam-copy-row strong {
	font-size: 1.32rem;
	letter-spacing: 0.07em;
	color: var(--yam-blue);
}
.yam-copy-key {
	background: var(--yam-blue);
	color: #fff;
	border: 0;
	border-radius: 999px;
	padding: 0.5em 1.1em;
	font-weight: 600;
	cursor: pointer;
}
.yam-copy-key:hover { background: var(--yam-blue-dark); }
.yam-copy-status {
	min-height: 1.2em;
	font-size: 0.9rem;
	color: var(--yam-blue);
	margin: 0.2rem 0 0.6rem;
}
.yam-bank-card {
	background: #fff;
	border: 1px solid var(--yam-line);
	border-radius: var(--yam-radius);
	padding: 1.15rem 1.35rem;
	box-shadow: var(--yam-shadow-soft);
}
.yam-bank-card h3 { margin-top: 0; }
.yam-bank-card dl {
	margin: 0.4rem 0 0.9rem;
	display: grid;
	gap: 0.35rem;
}
.yam-bank-card dl > div {
	display: grid;
	grid-template-columns: 11rem minmax(0, 1fr);
	gap: 0.6rem;
	padding-bottom: 0.35rem;
	border-bottom: 1px dashed var(--yam-line);
}
.yam-bank-card dl > div:last-child { border-bottom: 0; }
.yam-bank-card dt { font-weight: 700; color: var(--yam-blue); }
.yam-bank-card dd { margin: 0; }
@media (max-width: 520px) {
	.yam-bank-card dl > div { grid-template-columns: 1fr; gap: 0.1rem; }
}
.yam-breb-card details,
.yam-bank-card details {
	box-shadow: none;
	margin-bottom: 0;
}
.yam-membership-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
	gap: 0.9rem;
	margin: 1rem 0 0.6rem;
}
.yam-membership-cards article {
	background: #fff;
	border: 1px solid var(--yam-line);
	border-radius: 0.8rem;
	padding: 1rem 1.1rem;
	text-align: center;
	box-shadow: var(--yam-shadow-soft);
}
.yam-membership-cards h3 { margin: 0 0 0.4rem; font-size: 1.05rem; }
.yam-price strong { font-size: 1.35rem; color: var(--yam-blue); }
.yam-price span { color: var(--yam-ochre); font-size: 0.92rem; }
.yam-note { font-size: 0.9rem; color: var(--yam-ochre); }
.yam-donation-receipt { font-size: 0.95rem; }
.yam-table-scroll { overflow-x: auto; margin: 1rem 0; }
.yam-table-scroll table { margin: 0; min-width: 560px; }
.yam-table-scroll th,
.yam-table-scroll td { text-align: center; }
.yam-table-scroll :is(th, td):first-child { text-align: left; }

/* ==========================================================================
   7. Footer
   ========================================================================== */
.yam-footer { font-size: 0.95rem; }
.yam-footer h2 {
	display: flex;
	align-items: center;
	gap: 0.5em;
	font-size: 1.02rem;
	margin: 0 0 0.45rem;
}
.yam-footer h2 svg { flex: none; }
.yam-footer p { margin: 0.25rem 0 0.55rem; }
.yam-footer .wp-block-social-links { margin-top: 0.4rem; }
.yam-footer iframe { border-radius: 0.6rem; display: block; }
.yam-footer-bottom {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0.6rem;
	margin: 1.1rem 0 0;
	padding-top: 0.9rem;
	border-top: 1px solid var(--yam-line);
	font-size: 0.85rem;
	text-align: center;
}
.yam-footer-bottom img { width: 34px; height: 34px; }
@media (max-width: 781px) {
	.yam-footer .wp-block-columns {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1.15rem 1.25rem !important;
	}
	.yam-footer .wp-block-column { min-width: 0; }
	.yam-footer .wp-block-column:first-child { grid-column: 1 / -1; }
}

/* ==========================================================================
   8. Portadas de contenido y utilidades heredadas
   ========================================================================== */
/* La portada interna usa su propia proporción; el hero de la portada no entra aquí.
   Nota: aspect-ratio + min-height derivó el ancho a 714px en móviles (bicho del hero);
   por eso la regla excluye .yam-hero y fija el ancho al contenedor. */
main .wp-block-post-content .wp-block-cover:not(.yam-hero):has(.wp-block-cover__image-background) {
	aspect-ratio: 3.4 / 1;
	min-height: 210px;
	max-height: 400px;
	width: auto;
	max-width: 100%;
}
main .wp-block-post-content .wp-block-cover img.wp-block-cover__image-background {
	object-position: center 26% !important;
}
main .wp-block-post-content .wp-block-cover.has-featured-image-only {
	min-height: 0;
}

/* Logo blanco sobre fondo oscuro */
img[src*="logo_yamantaka_positivo"] {
	background: #122777;
	padding: 12px;
	border-radius: 8px;
}

/* Foco visible dorado (MEJ-001): 3px en controles y botones */
:where(a, button, summary, [tabindex]):focus-visible {
	outline: 3px solid #ffbe00;
	outline-offset: 3px;
}

/* Acordeones (details/summary) con marcador propio */
.entry-content details {
	border: 1px solid var(--yam-line);
	border-radius: 0.8rem;
	padding: 0.7rem 1rem;
	margin-bottom: 0.9rem;
	background: #fff;
	box-shadow: var(--yam-shadow-soft);
}
.entry-content summary {
	cursor: pointer;
	font-weight: 700;
	color: var(--yam-blue);
	display: flex;
	align-items: center;
	gap: 0.6rem;
	list-style: none;
}
.entry-content summary::-webkit-details-marker { display: none; }
.entry-content summary::before {
	content: "";
	width: 0.5em;
	height: 0.5em;
	border-right: 2px solid var(--yam-clay);
	border-bottom: 2px solid var(--yam-clay);
	transform: rotate(45deg);
	transition: transform 0.15s ease;
	flex: none;
	margin-top: -0.2em;
}
.entry-content details[open] summary::before {
	transform: rotate(-135deg);
	margin-top: 0.15em;
}
.entry-content details > *:last-child { margin-bottom: 0; }

/* Tablas */
.entry-content table {
	width: 100%;
	border-collapse: collapse;
	margin: 1.3rem 0;
	background: #fff;
	font-size: 0.97rem;
}
.entry-content th,
.entry-content td {
	padding: 0.6rem 0.85rem;
	border: 1px solid var(--yam-line);
	text-align: left;
	vertical-align: top;
}
.entry-content thead th { background: var(--yam-cream); color: var(--yam-blue); }
.entry-content tbody tr:nth-child(even) { background: rgba(255, 244, 227, 0.5); }

/* Llave Bre-B en línea: legible y copiable */
.yam-key {
	font-size: 1.05em;
	letter-spacing: 0.05em;
	user-select: all;
}

/* WhatsApp flotante: botón + panel controlados por JS (sin details) */
.yam-wa {
	position: fixed;
	right: 1rem;
	bottom: 1rem;
	z-index: 60;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 0.5rem;
	max-width: min(20rem, calc(100vw - 2rem));
}
/* MARCA-001 · P8 — Botón flotante de WhatsApp: solo el icono, vectorial y con el verde oficial.
   Antes: círculo blanco + aro dorado de 3 px + un PNG de mapa de bits (se veía sucio y sin contraste).
   Decisión del usuario (10-oct-2026) y coherente con la dirección de diseño registrada
   («WhatsApp conserva su verde reconocible»). Se conserva el verde oficial #25D366 de la marca WhatsApp. */
.yam-wa-fab {
	width: 60px;
	height: 60px;
	border: 0;
	border-radius: 50%;
	background: #25d366;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 6px 18px rgba(18, 39, 119, 0.28);
	cursor: pointer;
	padding: 0;
	transition: transform .15s ease, background-color .15s ease;
}
.yam-wa-fab svg {
	width: 34px;
	height: 34px;
	fill: #ffffff;
	display: block;
}
.yam-wa-fab:hover { background: #1fb457; }
.yam-wa-fab:focus-visible { outline: 3px solid var(--yam-blue); outline-offset: 4px; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
	.yam-wa-fab:hover { transform: translateY(-2px); }
}
@media (max-width: 780px) {
	.yam-wa-fab { width: 56px; height: 56px; }
	.yam-wa-fab svg { width: 32px; height: 32px; }
}
.yam-wa-panel {
	background: #fff;
	color: var(--yam-blue);
	border: 2px solid #122777;
	border-radius: 1rem;
	padding: 0.8rem 1rem;
	box-shadow: 0 10px 28px rgba(18, 39, 119, 0.18);
	font-size: 0.875rem;
}
.yam-wa-panel p { margin: 0 0 0.5rem; }
.yam-wa-panel p:last-child { margin-bottom: 0; }
.yam-wa-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	margin-bottom: 0.5rem;
}
.yam-wa-close {
	width: 44px;
	height: 44px;
	flex: none;
	font-size: 1.4rem;
	line-height: 1;
	background: transparent;
	border: 2px solid #122777;
	border-radius: 50%;
	color: #122777;
	cursor: pointer;
}
.yam-wa-panel[hidden] { display: none; }

/* ————— Biblioteca: foto e catálogo buscable ————— */
.yam-biblio-intro {
	display: grid;
	gap: 1.4rem;
	align-items: start;
	margin-top: 1.2rem;
}
@media (min-width: 760px) {
	.yam-biblio-intro { grid-template-columns: minmax(0, 1fr) 280px; }
	.yam-biblio-photo { align-self: stretch; display: flex; flex-direction: column; }
	.yam-biblio-photo img { flex: 1; min-height: 320px; object-fit: cover; }
}
.yam-biblio-photo {
	margin: 0;
	background: #fff;
	border: 1px solid var(--yam-line);
	border-radius: var(--yam-radius-sm);
	box-shadow: var(--yam-shadow-soft);
	padding: 0.5rem;
}
.yam-biblio-photo img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: calc(var(--yam-radius-sm) - 4px);
}
.yam-biblio-photo figcaption {
	margin-top: 0.5rem;
	font-size: 0.82rem;
	color: var(--yam-ink-soft);
	text-align: center;
}

.yam-catalog { margin-top: 2.2rem; }
.yam-catalog h2 { margin-bottom: 0.4rem; }
.yam-cat-form {
	display: flex;
	flex-wrap: wrap;
	gap: 0.8rem;
	align-items: end;
	margin: 1rem 0 0.4rem;
}
.yam-cat-field { display: flex; flex-direction: column; gap: 0.25rem; }
.yam-cat-field label { font-size: 0.85rem; font-weight: 600; color: var(--yam-ink); }
.yam-cat-q {
	min-width: min(420px, 100%);
	padding: 0.55rem 0.75rem;
	border: 1px solid var(--yam-line);
	border-radius: 8px;
	font: inherit;
	background: #fff;
}
.yam-cat-q:focus-visible,
.yam-cat-nivel:focus-visible {
	outline: 3px solid var(--yam-gold);
	outline-offset: 1px;
}
.yam-cat-nivel {
	padding: 0.55rem 0.6rem;
	border: 1px solid var(--yam-line);
	border-radius: 8px;
	font: inherit;
	background: #fff;
}
.yam-cat-estado {
	font-size: 0.92rem;
	color: var(--yam-ink-soft);
	margin: 0.4rem 0 0.9rem;
}
.yam-cat-resultados {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.9rem;
}
@media (min-width: 800px) {
	.yam-cat-resultados { grid-template-columns: 1fr 1fr; }
}
.yam-cat-libro {
	background: #fff;
	border: 1px solid var(--yam-line);
	border-radius: var(--yam-radius-sm);
	box-shadow: var(--yam-shadow-soft);
	padding: 0.85rem 1rem;
}
.yam-cat-libro h3 { margin: 0 0 0.15rem; font-size: 1.02rem; }
.yam-cat-autor { margin: 0 0 0.3rem; font-size: 0.92rem; color: var(--yam-ink); }
.yam-cat-meta { margin: 0 0 0.35rem; font-size: 0.82rem; color: var(--yam-ink-soft); }
.yam-cat-etiqueta {
	margin: 0 0 0.35rem;
	font-size: 0.74rem;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--yam-clay);
}
.yam-cat-desc {
	margin: 0;
	font-size: 0.9rem;
	line-height: 1.5;
	color: var(--yam-blue);
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.yam-cat-acciones {
	display: flex;
	flex-wrap: wrap;
	gap: 0.7rem;
	align-items: center;
	margin: 1.1rem 0 0.4rem;
}
.yam-cat-mas,
.yam-cat-limpiar {
	font: inherit;
	font-weight: 600;
	padding: 0.6em 1.2em;
	border-radius: 999px;
	cursor: pointer;
	border: 2px solid var(--yam-blue);
	background: var(--yam-blue);
	color: #fff;
}
.yam-cat-limpiar { background: transparent; color: var(--yam-blue); }
.yam-cat-mas:hover { background: var(--yam-blue-dark); border-color: var(--yam-blue-dark); }
.yam-cat-limpiar:hover { background: rgba(18, 39, 119, 0.07); }
.yam-cat-fuente { font-size: 0.85rem; color: var(--yam-ink-soft); }

/* ————— Fotos del Centro en el contenido (jardín de la sede, mandala) ————— */
.yam-photo-card {
	margin: 0;
	background: #fff;
	border: 1px solid var(--yam-line);
	border-radius: var(--yam-radius-sm);
	box-shadow: var(--yam-shadow-soft);
	padding: 0.5rem;
}
.yam-photo-card img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: calc(var(--yam-radius-sm) - 4px);
}
.yam-photo-card figcaption {
	margin-top: 0.5rem;
	font-size: 0.82rem;
	color: var(--yam-ink-soft);
	text-align: center;
}

/* /conoce-el-centro/: fila «Visítanos…» con la foto del jardín de la sede */
.yam-visit-row {
	display: grid;
	gap: 1.4rem;
	align-items: start;
	margin-top: 0.9rem;
}
@media (min-width: 760px) {
	.yam-visit-row { grid-template-columns: minmax(0, 1fr) 300px; align-items: center; }
}

/* /practicas/: foto con pie dentro de las fichas de práctica */
.yam-practice-photo {
	max-width: 640px;
	margin: 1.6rem auto;
	background: #fff;
	border: 1px solid var(--yam-line);
	border-radius: var(--yam-radius);
	box-shadow: var(--yam-shadow-soft);
	padding: 0.7rem;
}
.yam-practice-photo img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 8px;
}
.yam-practice-photo figcaption {
	margin-top: 0.55rem;
	font-size: 0.82rem;
	color: var(--yam-ink-soft);
	text-align: center;
}

/* BRAND-002: recupera profundidad y gris pizarra según la revisión del usuario.
   Spartan permanece en todo el sitio; crema solamente en el pie y detalles. */
body, .editor-styles-wrapper { font-family: Spartan, sans-serif; }
button, input, select, textarea { font-family: inherit; }
/* (Los tokens y el degradado terracota que BRAND-002 fijaba aquí —#495565, #0d1d5e, #ffe08a, #d3dbe4,
   #4a1b18→#a2632a— quedaron fuera de la paleta; M1/M9 los redefinen y el pulido MARCA-001 los retiró.) */
:root {
 --yam-shadow: 0 16px 38px rgba(18,39,119,.13);
}
.yam-hero {
 color: #fff;
}
.yam-hero::before { display: block; opacity: .45; }
.yam-hero::after { background: linear-gradient(90deg,#e20613 0%,#ffbe00 48%,#e20613 100%); height: 4px; }
.yam-hero__text h1 { line-height: 1.15; font-weight: 700; }
.yam-hero__kicker { letter-spacing: .10em; line-height: 1.6; }
.yam-hero__figure img { box-shadow: 0 24px 50px rgba(18,39,119,.18); }
.yam-hero__ctas .is-style-outline .wp-block-button__link { border-color: var(--yam-blue); }
.has-slate-card-background-color { color: #fff !important; }
.has-slate-card-background-color :is(h2,h3,h4,.has-white-color) { color: #fff !important; }
.has-slate-card-background-color :is(p,li,.yam-activity-meta) { color: #fff; }
.has-slate-card-background-color a:not(.wp-block-button__link) { color: var(--yam-blue); }
.yam-eyebrow { color: #775d16; }
.yam-topnav a[aria-current="page"] { color: var(--yam-blue); text-decoration: underline; text-underline-offset: .3em; }
.wp-block-button__link { font-weight: 600; line-height: 1.5; }
.wp-block-button__link.has-brand-gold-background-color:hover { background-color: var(--yam-gold); box-shadow: 0 0 0 2px var(--yam-blue); }
:where(a,button,input,select,textarea):focus-visible { outline: 3px solid #122777; outline-offset: 4px; }
.has-slate-background-color :focus-visible, .has-slate-card-background-color :focus-visible, .has-brand-blue-background-color :focus-visible, .yam-hero :focus-visible { outline-color: #ffbe00; }
@media (max-width: 780px) {
 .yam-hero__text h1 { font-size: clamp(1.7rem,7.2vw,2rem); }
 .yam-hero__kicker { font-size: .75rem; }
 .wp-block-site-title { font-size: .88rem; }
}

/* BRAND-003: imagotipo oficial en escritorio; nombre corto legible en móvil. */
.yam-site-header .yam-brand {
 display: inline-flex;
 align-items: center;
 gap: .38rem;
 min-width: 0;
 color: var(--yam-blue);
 text-decoration: none;
}
.yam-site-header .yam-brand__symbol {
 display: block;
 flex: none;
 width: 72px;
 height: 72px;
 object-fit: contain;
}
.yam-site-header .yam-brand__wordmark {
 display: block;
 flex: none;
 width: 390px;
 height: auto;
 max-height: 93px;
 object-fit: contain;
}
.yam-site-header .yam-brand__short { display: none; }
.yam-site-header .yam-brand:focus-visible {
 outline: 3px solid var(--yam-blue);
 outline-offset: 3px;
 border-radius: .3rem;
}
@media (max-width: 1199px) {
 .yam-site-header .yam-brand__wordmark { display: none; }
 .yam-site-header .yam-brand__short {
  display: inline;
  font-family: Spartan, sans-serif;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.25;
  white-space: nowrap;
 }
 .yam-site-header .yam-brand__short strong { font-weight: 700; }
 .yam-site-header .yam-brand__symbol { width: 68px; height: 68px; }
}
@media (max-width: 600px) {
 .yam-site-header .yam-brand { gap: .2rem; }
 .yam-site-header .yam-brand__symbol { width: 60px; height: 60px; }
 .yam-site-header .yam-brand__short { font-size: .92rem; }
}

/* ==========================================================================
   OBS-001 — Observaciones de la dirección (9-oct-2026, staging)
   ========================================================================== */
/* Correos largos en el contenido: que puedan partirse y no desborden en móvil */
main a[href^="mailto:"] { overflow-wrap: anywhere; word-break: break-word; }
/* Anclas de sección: que el encabezado pegajoso no tape el destino */
:where(h2, h3)[id] { scroll-margin-top: 110px; }

/* B3 — Comunidad destacada en la portada (subida y con botones más visibles) */
.yam-comunidad {
 border: 1px solid var(--yam-line);
 border-radius: var(--yam-radius);
 box-shadow: var(--yam-shadow-soft);
 margin: 2.1rem 0;
}
.yam-comunidad .wp-block-buttons { gap: .7rem; flex-wrap: wrap; margin-top: .5rem; }
.yam-comunidad .wp-block-button__link {
 display: inline-flex;
 align-items: center;
 gap: .5em;
 padding: .82em 1.5em;
 border-radius: 999px;
 font-size: 1.04rem;
 font-weight: 700;
}

/* B5a — Galería de fotos del Centro */
.yam-gallery img { border-radius: 10px; }
.yam-gallery figcaption { font-size: .8rem; }
/* Cierre OBS-001: celdas uniformes — con 4 fotos, la última se estiraba a ancho completo por flex-grow.
   Se iguala la especificidad de la regla core (wp-block-gallery.has-nested-images figure.wp-block-image). */
.yam-gallery.has-nested-images figure.wp-block-image { flex: 0 1 calc((100% - 1.8rem) / 3); aspect-ratio: 3 / 4; }
@media (max-width: 600px) {
 .yam-gallery.has-nested-images figure.wp-block-image { flex-basis: calc((100% - .9rem) / 2); }
 .yam-gallery.columns-3 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

/* B5b — Blog de artículos breves */
.yam-blog .wp-block-post-template {
 list-style: none;
 margin: 1.3rem 0 0;
 padding: 0;
 display: grid;
 gap: 1rem;
 grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}
.yam-blog .wp-block-post-template > li {
 background: #fff;
 border: 1px solid var(--yam-line);
 border-radius: var(--yam-radius-sm);
 box-shadow: var(--yam-shadow-soft);
 padding: 1rem 1.1rem;
}
.yam-blog .wp-block-post-title { font-size: 1.06rem; margin: 0 0 .3rem; }
.yam-blog .wp-block-post-title a { color: var(--yam-blue); text-decoration: none; }
.yam-blog .wp-block-post-title a:hover { text-decoration: underline; }
.yam-blog .wp-block-post-date { font-size: .8rem; color: var(--yam-ochre); }
.yam-blog .wp-block-post-excerpt { margin-top: .45rem; font-size: .93rem; }
.yam-blog .wp-block-query-no-results p {
 background: #fff;
 border: 1px dashed var(--yam-line);
 border-radius: var(--yam-radius-sm);
 padding: 1rem 1.2rem;
 margin: 1.2rem 0 0;
}

/* D1 — Formulario de preinscripción (/landing-interesados/) */
.yam-preinsc-form { max-width: 640px; }
.yam-form-grid { display: grid; gap: .85rem; grid-template-columns: 1fr 1fr; }
.yam-form-grid .yam-field-full { grid-column: 1 / -1; }
.yam-preinsc-form label {
 display: block;
 font-weight: 600;
 font-size: .9rem;
 color: var(--yam-ink);
 margin-bottom: .28rem;
}
.yam-preinsc-form :is(input, select) {
 width: 100%;
 padding: .6rem .75rem;
 border: 1px solid var(--yam-line);
 border-radius: 8px;
 font: inherit;
 background: #fff;
}
.yam-preinsc-form button[type="submit"] {
 background: var(--yam-gold);
 color: var(--yam-blue);
 border: 0;
 border-radius: 999px;
 padding: .85em 1.7em;
 font-weight: 700;
 font-size: 1.02rem;
 cursor: pointer;
}
.yam-preinsc-form button[type="submit"]:hover { background: var(--yam-gold-dark); }
.yam-hp { position: absolute; left: -5000px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.yam-preinsc-ok {
 background: var(--yam-cream);
 border: 1px solid var(--yam-gold);
 border-left-width: 4px;
 border-radius: var(--yam-radius-sm);
 padding: 1rem 1.2rem;
 max-width: 640px;
}
.yam-preinsc-error { color: var(--yam-clay); font-weight: 600; }
@media (max-width: 560px) { .yam-form-grid { grid-template-columns: 1fr; } }

/* D6/D7/D8 — fotografías reducidas en páginas de contenido */
.yam-photo-480 { max-width: 480px; margin-left: auto; margin-right: auto; }
.yam-photo-480 img { width: 100%; height: auto; }
.yam-photo-320 { max-width: 320px; margin-left: auto; margin-right: auto; }
.yam-photo-320 img { width: 100%; height: auto; }

/* D11 — /descubrir/: acordeón de módulos con la imagen al frente */
.yam-descubre { align-items: flex-start; }
.yam-descubre .yam-descubre-figura { margin: 0 0 1rem; }
.yam-descubre .yam-descubre-figura img {
 width: 100%;
 height: auto;
 border-radius: var(--yam-radius-sm);
 box-shadow: var(--yam-shadow-soft);
 border: 1px solid var(--yam-line);
}
.yam-descubre .wp-block-details { margin-bottom: .55rem; }
@media (min-width: 782px) {
 .yam-descubre > .wp-block-column:first-child { order: 2; flex-basis: 33%; }
 .yam-descubre > .wp-block-column:last-child { order: 1; flex-basis: 64%; }
 .yam-descubre .yam-descubre-figura { position: sticky; top: 96px; }
}

/* ==========================================================================
   MARCA-001 (9-oct-2026) — Identidad de marca Yamantaka en el sitio
   Fuente de verdad: `specs/identidad-marca-yamantaka.md`
   (Manual de Marca, Makona Grupo Creativo 2022 — reglas duras).
   Paleta permitida: #FFF4E3 · #EEF3F7 · #ffbe00 · #122777 · #e20613 · #006dcb · #775d16 · #aeaeae
   Solo se admiten tintes/sombras DERIVADOS de esos colores para estados de interacción.
   ========================================================================== */

/* M1 — Paleta: se retiran los tonos fuera de marca que quedaban en el tema */
:root {
	--yam-ink: #122777;            /* tinta = azul Yamantaka (textos de corrido) */
	--yam-ink-soft: #775d16;       /* secundarios = ocre */
	--yam-card: #122777;           /* tarjetas oscuras = azul Yamantaka */
	--yam-blue-dark: #0e1e5c;      /* sombra del azul, para hover */
	--yam-gold-dark: #e6ac00;      /* sombra del dorado, para hover */
	--yam-gold-soft: #fff4e3;      /* crema de la paleta */
	--yam-line: rgba(18, 39, 119, 0.15); /* tinte del azul para filetes */
	--yam-blue-light: #006dcb;
	--yam-ochre: #775d16;
	--yam-gray: #aeaeae;
}
body, .editor-styles-wrapper {
	background-color: #ffffff;
	color: var(--yam-blue);
	/* M2 — Gráfica complementaria: nubes tenues (manual §5, apoyo NO predominante) */
	background-image: var(--yam-nubes);
	background-size: 520px auto;
	background-repeat: repeat;
}
/* Tonos fuera de paleta que aún quedaban en reglas concretas */
.entry-content thead th { background: var(--yam-cream); }
.entry-content tbody tr:nth-child(even) { background: rgba(255, 244, 227, 0.5); }   /* crema de la paleta al 50 % */
.yam-note, .yam-price span, .yam-blog .wp-block-post-date { color: var(--yam-ochre); }
.yam-preinsc-error { color: var(--yam-clay); }
.yam-preinsc-form button[type="submit"]:hover,
.wp-block-button__link.has-brand-gold-background-color:hover { background-color: var(--yam-gold-dark); }
.yam-eyebrow { color: var(--yam-ochre); }

/* M3 — Cabecera y navegación: barra clara, enlaces azul Yamantaka, filete dorado */
.yam-site-header {
	background-color: #ffffff;
	border-bottom: 3px solid var(--yam-gold);
	box-shadow: 0 1px 0 rgba(18, 39, 119, 0.10), 0 6px 18px rgba(18, 39, 119, 0.06);
}
.yam-site-header .yam-brand__symbol { width: 96px; height: 96px; }   /* escala mínima del manual */
.yam-site-header .yam-brand__wordmark { width: 320px; max-height: 96px; }
.yam-topnav { font-size: 0.98rem; letter-spacing: 0.01em; }
.yam-topnav .wp-block-navigation__container { gap: 0.7rem !important; flex-wrap: nowrap; }
.yam-topnav .wp-block-navigation-item__content {
	min-height: 44px;                     /* área táctil cómoda (41 % del tráfico es móvil) */
	display: inline-flex;
	align-items: center;
	padding: 0.3em 0.45em;
	border-radius: var(--yam-radius-sm);
	transition: background-color .15s ease, color .15s ease;
}
.yam-topnav .wp-block-navigation-item__content:hover,
.yam-topnav .wp-block-navigation-item__content:focus-visible {
	background-color: rgba(255, 190, 0, 0.18);
	color: var(--yam-blue);
}
.yam-topnav a[aria-current="page"],
.yam-topnav .current-menu-item > .wp-block-navigation-item__content {
	color: var(--yam-blue);
	text-decoration: underline;
	text-decoration-color: var(--yam-gold);
	text-decoration-thickness: 3px;
	text-underline-offset: 0.35em;
}
/* Submenús desplegables: fondo claro, filete dorado, enlaces azules */
.yam-topnav .wp-block-navigation__submenu-container {
	border: 1px solid var(--yam-line);
	border-top: 3px solid var(--yam-gold);
	border-radius: 0 0 var(--yam-radius-sm) var(--yam-radius-sm);
	box-shadow: var(--yam-shadow-soft);
	background: #ffffff;
}
.yam-topnav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	min-height: 40px;
	padding: 0.45em 0.8em;
	border-radius: 0;
}
.yam-topnav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
	background-color: var(--yam-cream);
}

/* M4 — Botones: píldora, según jerarquía del manual (dorado / azul / contorno dorado) */
.wp-block-button__link { border-radius: var(--yam-radius-pill); }
.wp-block-button__link.has-brand-gold-background-color { color: var(--yam-blue); }
.wp-block-button__link.has-brand-blue-background-color { color: #ffffff; }
.wp-block-button__link.has-brand-blue-background-color:hover { background-color: var(--yam-blue-dark) !important; }
.is-style-outline .wp-block-button__link { border-width: 2px; }
.is-style-outline .wp-block-button__link.has-brand-gold-color { border-color: var(--yam-gold); }

/* M5 — Pie: crema de la paleta, texto azul, filete dorado */
.yam-footer { border-top: 3px solid var(--yam-gold) !important; font-size: 1rem; }
.yam-footer h2 { letter-spacing: 0.01em; }
.yam-footer a { text-decoration-color: rgba(18, 39, 119, 0.35); }
.yam-footer a:hover { text-decoration-color: var(--yam-gold); }
.yam-footer-bottom { border-top: 1px solid var(--yam-line); padding-top: 0.9rem; margin-top: 1.2rem; }
.yam-footer-bottom p { color: var(--yam-ochre); font-size: 0.92rem; }

/* M6 — Móvil (41 % del tráfico): cuerpo legible y áreas táctiles cómodas */
@media (max-width: 780px) {
	body, .editor-styles-wrapper { font-size: 16px; background-size: 360px auto; }
	.yam-site-header .yam-brand__symbol { width: 64px; height: 64px; }
	.wp-block-navigation__responsive-container { background-color: #ffffff; }
	.wp-block-navigation__responsive-container .wp-block-navigation-item__content {
		min-height: 48px;
		display: flex;
		align-items: center;
		padding: 0.5em 0.2em;
	}
	.wp-block-navigation__responsive-container .wp-block-navigation-item__content:hover,
	.wp-block-navigation__responsive-container .wp-block-navigation-item__content:focus-visible {
		background-color: var(--yam-cream);
	}
	.wp-block-navigation__responsive-container-open,
	.wp-block-navigation__responsive-container-close { color: var(--yam-blue); }
	.wp-block-button__link { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; }
}

/* M7 — Portada (hero): cálida y clara, con la identidad del manual
   Reemplaza el degradado marrón de HERO-001 (fuera de la paleta). Decisión del usuario, 9-oct-2026. */
.yam-hero {
	position: relative;
	overflow: hidden;
	color: var(--yam-blue);
	background:
		radial-gradient(900px 480px at 88% 4%, rgba(255, 190, 0, 0.30), transparent 64%),
		radial-gradient(760px 420px at 4% 100%, rgba(0, 109, 203, 0.10), transparent 68%),
		linear-gradient(180deg, #fff4e3 0%, #fffaf2 58%, #ffffff 100%);
}
.yam-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: var(--yam-nubes-ocre);
	background-size: 620px auto;
	pointer-events: none;
}
.yam-hero::after {
	height: 4px;
	background: linear-gradient(90deg, var(--yam-gold), var(--yam-clay) 50%, var(--yam-gold));
}
.yam-hero__kicker { color: var(--yam-ochre); }
.yam-orn-line { background: linear-gradient(90deg, rgba(255, 190, 0, 0.25), var(--yam-gold)); }
.yam-hero__text h1 { color: var(--yam-blue); }
.yam-hero__lead { color: var(--yam-blue); }
.yam-hero__modalities span {
	color: var(--yam-blue);
	background: rgba(255, 255, 255, 0.78);
	border: 1px solid var(--yam-line);
	border-radius: var(--yam-radius-pill);
	padding: 0.28em 0.75em;
}
.yam-hero__figure img {
	border: 8px solid #ffffff;
	border-radius: var(--yam-radius);
	box-shadow: 0 0 0 3px var(--yam-gold), 0 22px 46px rgba(18, 39, 119, 0.18);
}
.yam-hero__ctas .is-style-outline .wp-block-button__link {
	color: var(--yam-blue) !important;
	border-color: var(--yam-blue);
}
.yam-hero__ctas .is-style-outline .wp-block-button__link:hover {
	background: var(--yam-blue);
	color: #ffffff !important;
}
.yam-hero :focus-visible { outline-color: var(--yam-blue); }

/* M9 — Portada, opción C «crema con presencia dorada» (elegida por el usuario, 9-oct-2026):
   halo dorado fuerte arriba a la derecha y banda dorada inferior; el resto en crema de la paleta. */
.yam-hero {
	background:
		radial-gradient(820px 470px at 92% 0%, rgba(255, 190, 0, 0.95) 0%, rgba(255, 190, 0, 0.32) 38%, rgba(255, 190, 0, 0) 62%),
		linear-gradient(180deg, #fff4e3 0%, #fff4e3 60%, #ffffff 100%);
}
.yam-hero::after { height: 6px; background: var(--yam-gold); }
.yam-hero__figure img { border-color: #ffffff; box-shadow: 0 0 0 3px var(--yam-gold), 0 22px 46px rgba(18, 39, 119, 0.18); }

/* M10 — Tarjetas de actividades, opción 3 «blancas con filete dorado»:
   se reinterpretan las tarjetas oscuras del contenido (has-slate-card-background-color) como fichas claras. */
.wp-block-column.has-slate-card-background-color,
.wp-block-group.has-slate-card-background-color {
	background-color: #ffffff !important;
	border: 1px solid rgba(18, 39, 119, 0.12);
	border-top: 5px solid var(--yam-gold);
	border-radius: var(--yam-radius);
	box-shadow: 0 10px 26px rgba(18, 39, 119, 0.10);
}
.has-slate-card-background-color {
	background-color: #ffffff !important;
}
.has-slate-card-background-color :is(h2, h3, h4, .has-white-color) { color: var(--yam-blue) !important; }
.has-slate-card-background-color :is(p, li, .yam-activity-meta) { color: var(--yam-blue); }
.has-slate-card-background-color a:not(.wp-block-button__link) { color: var(--yam-blue); }
.has-slate-card-background-color :focus-visible { outline-color: var(--yam-blue); }
/* (MARCA-001 · pulido: aquí había un segundo juego de reglas para tarjetas OSCURAS —etiquetas en azul
   tenue con píldora, enlaces dorados y títulos blancos— que chocaba con M10. Se retiró: las etiquetas
   se definen una sola vez en la sección 3 y los enlaces de las tarjetas claras son azules.) */
.yam-practice-when strong { color: var(--yam-blue); }
.yam-eyebrow { color: var(--yam-ochre); letter-spacing: 0.12em; }
.yam-related {
	background: var(--yam-cream);
	border: 1px solid var(--yam-line);
	border-radius: var(--yam-radius);
	padding: 1rem 1.15rem;
}
main a:not(.wp-block-button__link) { text-underline-offset: 0.22em; }
main a:not(.wp-block-button__link):hover { text-decoration-color: var(--yam-gold); }
.yam-comunidad { background: var(--yam-mist); }

/* ==========================================================================
   MARCA-001 · pulido (9-oct-2026) — auditoría de marca en las 38 publicaciones
   Detalle y criterio: staging-tools/CAMBIOS.md (entrada «MARCA-001 · pulido»).
   ========================================================================== */
:root {
	/* Iconos de línea (máscaras: el color sale de currentColor; el trazo del SVG no se ve) */
	--yam-ic-ext: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23122777' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7'/%3E%3Cpath d='M8 7h9v9'/%3E%3C/svg%3E");
	--yam-ic-mas: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23122777' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m13 6 6 6-6 6'/%3E%3C/svg%3E");
	/* Corazón azul Yamantaka para el distintivo de «Apóyanos» */
	--yam-ic-corazon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23122777' d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z'/%3E%3C/svg%3E");
}

/* P1 — Submenús y menú móvil: el bloque de navegación del núcleo los pinta en negro (#000) cuando
   el menú no declara color de texto. Se fijan al azul Yamantaka, como el resto del menú. */
.yam-site-header .yam-topnav.wp-block-navigation .wp-block-navigation__submenu-container,
.yam-site-header .yam-topnav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open {
	color: var(--yam-blue);
	background-color: #ffffff;
}

/* P2 — «Apóyanos»: la mano con corazón de 16 px se leía como un garabato y era el único icono
   suelto del menú. Se sustituye por el recurso de la lámina del sitio web del manual (botón
   «Ingreso Miembros»): un círculo dorado con el símbolo en azul; aquí, un corazón. Mismo
   distintivo en el pie. Sigue siendo un enlace de texto (el apoyo es secundario en la navegación). */
.yam-topnav .wp-block-navigation-item__content[href*="apoyanos"]::before,
.yam-apoyo-ico {
	content: "";
	display: inline-block;
	flex: none;
	width: 1.5em;
	height: 1.5em;
	margin-right: 0.45em;
	-webkit-mask: none;
	mask: none;
	border-radius: 50%;
	background: var(--yam-gold) var(--yam-ic-corazon) center / 56% no-repeat;
}
.yam-apoyo-ico { width: 1.35em; height: 1.35em; margin-right: 0.3em; vertical-align: -0.38em; }

/* P3 — Flechas de enlace como iconos de línea: los glifos «↗» y «→» no existen en Spartan y el
   navegador los dibujaba con otra fuente (Noto Sans Math / Arial). */
.yam-ext::after,
.yam-mas::after,
.yam-video-card p > a[href*="youtube.com/watch"]::after {
	content: "";
	display: inline-block;
	width: 0.78em;
	height: 0.78em;
	margin-left: 0.3em;
	vertical-align: -0.04em;
	background-color: currentColor;
	-webkit-mask: var(--yam-ic-ext) center / contain no-repeat;
	mask: var(--yam-ic-ext) center / contain no-repeat;
}
.yam-mas::after {
	-webkit-mask-image: var(--yam-ic-mas);
	mask-image: var(--yam-ic-mas);
}
.yam-text-link.yam-mas::after,
.yam-page-actions a.yam-ext::after { margin-left: 0; }

/* P4 — Botones en contenido clásico: sin el CSS del bloque Botón el enlace quedaba «inline» y la
   píldora se partía en trozos al saltar de línea (p. ej. «Profundizar: el Programa Básico»).
   :where() no gana a ninguna regla existente (el móvil sigue con inline-flex). */
:where(.wp-block-button__link) {
	display: inline-block;
	box-sizing: border-box;
	text-align: center;
	word-break: break-word;
}

/* P5 — Campos de formulario: la sombra de Ollie era negra; se tiñe del azul de la paleta. */
body :is(input:not([type="submit"]):not([type="radio"]):not([type="checkbox"]), select, textarea),
body .wp-block-post-comments-form :is(input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]), textarea) {
	box-shadow: 0 1px 2px rgba(18, 39, 119, 0.04), 0 0.5px 1px rgba(18, 39, 119, 0.06);
}

/* P6 — Hero en móvil: fichas de modalidad un punto más compactas para que no partan línea
   desde 360 px (la tercera, además, se acortó en patterns/hero-home.php). */
@media (max-width: 400px) {
	.yam-hero__modalities { gap: 0.45rem 1rem; }
	.yam-hero__modalities span { font-size: 0.825rem; padding: 0.28em 0.65em; }
}

/* P7 — URL o palabras muy largas escritas como texto (p. ej. en entradas antiguas del blog):
   que partan antes de salirse de la pantalla en móvil. No afecta al texto normal. */
.entry-content :is(p, li, td, dd, figcaption) { overflow-wrap: break-word; }


