/*
Theme Name: Erich Schilling Psicólogo
Theme URI: https://erichschillingpsicologo.cl
Author: Erich Schilling Lara
Description: Tema de bloques para la consulta de Erich Schilling, psicólogo clínico en Talca y online. Lilas y calipsos suaves, tarjetas de vidrio, blog con columnas por tema y aviso de urgencia en todas las páginas.
Version: 1.0.0
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: erich-schilling
*/

/* ---------- Tokens ---------- */
:root {
	--es-fondo: #F6F4FB;
	--es-vidrio: rgba(255, 255, 255, 0.58);
	--es-vidrio-borde: rgba(185, 166, 227, 0.5);
	--es-lila-suave: #E6DEF6;
	--es-lila-medio: #B9A6E3;
	--es-lila-profundo: #5B4A8B;
	--es-lila-noche: #3B3264;
	--es-calipso-suave: #D3F0EF;
	--es-calipso-medio: #7FD1D0;
	--es-calipso-profundo: #1D6B70;
	--es-tinta: #2B2840;
	--es-tinta-suave: #56526D;
	--es-pie: #25223A;
	--es-radio-s: 14px;
	--es-radio-m: 22px;
	--es-radio-l: 30px;
	--es-sombra-boton: 0 8px 24px rgba(91, 74, 139, 0.22);
	--es-seccion: clamp(4rem, 7vw, 5.5rem);
}

html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
img { max-width: 100%; height: auto; }
.wp-site-blocks { overflow-x: clip; }
::selection { background: var(--es-lila-suave); color: var(--es-tinta); }

a { text-underline-offset: 0.18em; text-decoration-thickness: 1px; }

:where(a, button, summary, input, select, textarea, .wp-block-button__link):focus-visible {
	outline: 3px solid var(--es-calipso-profundo);
	outline-offset: 3px;
	border-radius: 6px;
}

/* Saltar al contenido */
.skip-link.screen-reader-text:focus { background: #fff; color: var(--es-tinta); }

/* ---------- Secciones ---------- */
.es-seccion { padding-top: var(--es-seccion); padding-bottom: var(--es-seccion); }
.es-seccion--arriba { padding-top: clamp(3rem, 6vw, 4.5rem); padding-bottom: clamp(2.5rem, 5vw, 3.5rem); }
.es-seccion--compacta { padding-top: clamp(2rem, 4vw, 3rem); padding-bottom: clamp(2rem, 4vw, 3rem); }
.es-seccion--sin-arriba { padding-top: 0; }

.es-ancho-lectura { max-width: 38em; }
.es-centro { text-align: center; margin-left: auto !important; margin-right: auto !important; }

/* Manchas difuminadas detrás del contenido */
.es-manchas { position: relative; isolation: isolate; }
.es-manchas::before,
.es-manchas::after {
	content: "";
	position: absolute;
	z-index: -1;
	border-radius: 50%;
	filter: blur(90px);
	pointer-events: none;
}
.es-manchas::before { width: 620px; height: 620px; top: -180px; right: -140px; background: var(--es-lila-medio); opacity: 0.38; }
.es-manchas::after { width: 560px; height: 560px; top: 35%; left: -240px; background: var(--es-calipso-medio); opacity: 0.32; }
.es-manchas--invertidas::before { right: auto; left: -160px; background: var(--es-calipso-medio); opacity: 0.32; }
.es-manchas--invertidas::after { left: auto; right: -220px; background: var(--es-lila-medio); opacity: 0.34; }
@media (max-width: 781px) {
	.es-manchas::before { width: 360px; height: 360px; right: -160px; top: -120px; }
	.es-manchas::after { width: 340px; height: 340px; left: -200px; }
}

/* ---------- Estilos de bloque: Grupo ---------- */
.is-style-vidrio {
	background: var(--es-vidrio);
	border: 1px solid var(--es-vidrio-borde);
	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);
	border-radius: var(--es-radio-m);
	padding: clamp(1.5rem, 3vw, 2rem);
}
.is-style-vidrio > :first-child, .is-style-calipso > :first-child, .is-style-aviso > :first-child { margin-top: 0; }
.is-style-vidrio.es-grande { border-radius: var(--es-radio-l); padding: clamp(1.75rem, 4vw, 2.75rem); }

.is-style-banda-lila { background: rgba(230, 222, 246, 0.55); }

.is-style-calipso {
	background: rgba(211, 240, 239, 0.7);
	border: 1px solid rgba(255, 255, 255, 0.85);
	border-radius: var(--es-radio-m);
	padding: clamp(1.5rem, 3vw, 2rem);
	color: #24474A;
}

.is-style-aviso {
	background: rgba(211, 240, 239, 0.7);
	border: 1px solid rgba(29, 107, 112, 0.25);
	border-radius: 18px;
	padding: 1.1rem 1.4rem;
	color: #24474A;
	font-size: 0.9375rem;
}
.is-style-aviso p { margin: 0; }
.is-style-aviso > * + * { margin-top: 0.5rem; }

.is-style-banda-noche {
	background: var(--es-lila-noche);
	color: #F1EEFA;
	position: relative;
	isolation: isolate;
	overflow: hidden;
}
.is-style-banda-noche::before,
.is-style-banda-noche::after {
	content: "";
	position: absolute;
	z-index: -1;
	border-radius: 50%;
	filter: blur(80px);
	pointer-events: none;
}
.is-style-banda-noche::before { width: 440px; height: 440px; top: -160px; right: -100px; background: var(--es-calipso-medio); opacity: 0.22; }
.is-style-banda-noche::after { width: 420px; height: 420px; bottom: -180px; left: -120px; background: var(--es-lila-medio); opacity: 0.28; }
.is-style-banda-noche :where(h1, h2, h3, h4) { color: #F1EEFA; }
.is-style-banda-noche a:not(.wp-block-button__link) { color: #CFF3F2; }
.is-style-banda-noche a:not(.wp-block-button__link):hover { color: #FFFFFF; }
.is-style-banda-noche .es-suave { color: #C9C1E8; }
.is-style-banda-noche .is-style-antetitulo { color: #9FE0DF; }
.is-style-banda-noche .wp-block-button:not(.is-style-secundario) .wp-block-button__link {
	background: var(--es-fondo);
	color: var(--es-tinta);
	box-shadow: none;
}
.is-style-banda-noche .wp-block-button:not(.is-style-secundario) .wp-block-button__link:hover { background: #FFFFFF; }
.is-style-banda-noche .wp-block-button.is-style-secundario .wp-block-button__link {
	background: transparent;
	border-color: #9FE0DF;
	color: #CFF3F2;
}
.is-style-banda-noche .wp-block-button.is-style-secundario .wp-block-button__link:hover { background: rgba(255, 255, 255, 0.08); color: #FFFFFF; }
.is-style-banda-noche .is-style-vidrio {
	background: rgba(255, 255, 255, 0.09);
	border-color: rgba(255, 255, 255, 0.16);
}

/* ---------- Texto ---------- */
.is-style-antetitulo {
	font-size: 0.875rem !important;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--es-calipso-profundo);
	font-family: var(--wp--preset--font-family--nunito-sans) !important;
	line-height: 1.4 !important;
}
h1.is-style-antetitulo, h2.is-style-antetitulo { margin-bottom: 0; }

.is-style-bajada { font-size: var(--wp--preset--font-size--large); color: var(--es-tinta-suave); max-width: 36em; }
.es-suave { color: var(--es-tinta-suave); }
.es-pequeno { font-size: 0.9375rem; }

.es-display {
	font-family: var(--wp--preset--font-family--fraunces);
	font-weight: 500;
	font-size: var(--wp--preset--font-size--xxx-large);
	line-height: 1.08;
	letter-spacing: -0.01em;
	color: var(--es-tinta);
	max-width: 15em;
	margin-top: 0.5rem !important;
}

.es-migas { font-size: 0.875rem; color: var(--es-tinta-suave); }
.es-migas a { color: var(--es-tinta-suave); }

/* ---------- Botones ---------- */
.wp-block-button__link { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease; }
.wp-block-button:not(.is-style-secundario):not(.is-style-contorno) .wp-block-button__link { box-shadow: var(--es-sombra-boton); }
.wp-block-button.is-style-secundario .wp-block-button__link {
	background: rgba(255, 255, 255, 0.55);
	border: 1.5px solid var(--es-calipso-profundo);
	color: var(--es-calipso-profundo);
	box-shadow: none;
}
.wp-block-button.is-style-secundario .wp-block-button__link:hover { background: var(--es-calipso-suave); color: #154F53; }
.wp-block-button.is-style-contorno .wp-block-button__link {
	background: transparent;
	border: 1.5px solid var(--es-lila-profundo);
	color: var(--es-lila-profundo);
	box-shadow: none;
}
.wp-block-button.is-style-contorno .wp-block-button__link:hover { background: var(--es-lila-suave); color: var(--es-lila-noche); }

/* ---------- Imágenes ---------- */
.wp-block-image.is-style-arco img,
.wp-block-image.is-style-arco-invertido img {
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	object-position: center 30%;
}
.wp-block-image.is-style-arco img { border-radius: 200px 200px 32px 32px; }
.wp-block-image.is-style-arco-invertido img { border-radius: 32px 32px 200px 200px; }
@media (max-width: 781px) {
	.wp-block-image.is-style-arco img,
	.wp-block-image.is-style-arco-invertido img { aspect-ratio: 1 / 1; max-height: 460px; }
	.wp-block-image.is-style-arco img { border-radius: 180px 180px 28px 28px; }
	.wp-block-image.is-style-arco-invertido img { border-radius: 28px 28px 180px 180px; }
}
.wp-block-image.is-style-circulo img { border-radius: 50%; aspect-ratio: 1 / 1; object-fit: cover; }
.wp-block-image.is-style-redondeada img { border-radius: var(--es-radio-m); }
.wp-block-image.es-foto-paisaje img { aspect-ratio: 16 / 10; object-fit: cover; object-position: center 35%; }

.es-icono { margin: 0 0 0.25rem !important; }
.es-icono img { width: 46px; height: 46px; display: block; }

/* ---------- Tarjetas ---------- */
.es-tarjeta { position: relative; display: flex; flex-direction: column; gap: 0.6rem; transition: border-color 0.2s ease, transform 0.2s ease; }
.es-tarjeta > * { margin: 0 !important; }
.es-tarjeta h3, .es-tarjeta h2 { font-size: 1.375rem; line-height: 1.25; }
.es-tarjeta p { font-size: 0.9375rem; color: var(--es-tinta-suave); }
.es-tarjeta .es-enlace-tarjeta { margin-top: auto !important; padding-top: 0.25rem; }
.es-tarjeta .es-enlace-tarjeta a { font-weight: 700; color: var(--es-lila-profundo); text-decoration: none; }
.es-tarjeta .es-enlace-tarjeta a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.es-tarjeta:has(.es-enlace-tarjeta a):hover { border-color: var(--es-lila-profundo); transform: translateY(-2px); }
.es-tarjeta .es-enlace-tarjeta a:focus-visible { outline: none; }
.es-tarjeta:has(.es-enlace-tarjeta a:focus-visible) { outline: 3px solid var(--es-calipso-profundo); outline-offset: 3px; }

.es-tarjeta ul { margin: 0; padding-left: 1.2rem; color: #4A4566; font-size: 0.9375rem; }
.es-tarjeta li + li { margin-top: 0.2rem; }

/* Franja de datos de confianza */
.es-datos .wp-block-column > * { margin: 0 !important; }
.es-dato { font-family: var(--wp--preset--font-family--fraunces); font-size: 1.5rem; line-height: 1.2; color: var(--es-tinta); }
.es-datos p:not(.es-dato) { font-size: 0.9375rem; color: var(--es-tinta-suave); }

/* Pasos numerados */
.es-paso { border-top: 2px solid var(--es-calipso-medio); padding-top: 1.25rem; }
.es-pasos > .wp-block-column:nth-child(2) .es-paso,
.es-pasos > .es-paso:nth-child(2) { border-top-color: var(--es-lila-medio); }
.es-paso > * { margin: 0 !important; }
.es-paso > * + * { margin-top: 0.6rem !important; }
.es-numero { font-family: var(--wp--preset--font-family--fraunces); font-size: 2.5rem; line-height: 1; color: var(--es-lila-profundo); }
.es-paso h3 { font-size: 1.375rem; }
.es-paso p:not(.es-numero) { color: var(--es-tinta-suave); }

/* Etiquetas tipo píldora */
.es-chips { display: flex; flex-wrap: wrap; gap: 0.6rem; }
.es-chips > * { margin: 0 !important; }
.es-chip {
	white-space: nowrap;
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0.55rem 1.1rem;
	border-radius: 999px;
	background: rgba(211, 240, 239, 0.85);
	color: #1D4F52;
	font-weight: 600;
	font-size: 0.9375rem;
	box-sizing: border-box;
}
.es-chip:nth-child(even) { background: rgba(230, 222, 246, 0.95); color: var(--es-lila-noche); }
.es-chip a { color: inherit; text-decoration: none; }
.es-chip a::after { content: ""; }
.es-chip--grande { font-family: var(--wp--preset--font-family--fraunces); font-weight: 500; font-size: 1.25rem; border-radius: 18px; padding: 1rem 1.25rem; flex: 1 1 140px; }

/* Listas con viñeta suave */
.es-lista { list-style: none; padding-left: 0 !important; }
.es-lista li { position: relative; padding-left: 1.6rem; }
.es-lista li + li { margin-top: 0.55rem; }
.es-lista li::before {
	content: "";
	position: absolute;
	left: 0.2rem;
	top: 0.62em;
	width: 0.55rem;
	height: 0.55rem;
	border-radius: 50%;
	background: var(--es-calipso-medio);
}
.es-lista li:nth-child(even)::before { background: var(--es-lila-medio); }

/* Preguntas frecuentes */
.wp-block-details {
	background: rgba(255, 255, 255, 0.7);
	border: 1px solid var(--es-vidrio-borde);
	border-radius: 18px;
	padding: 0.9rem 1.25rem;
}
.wp-block-details + .wp-block-details { margin-top: 0.75rem; }
.wp-block-details summary {
	font-weight: 700;
	cursor: pointer;
	min-height: 28px;
	padding: 0.15rem 0;
	list-style-position: outside;
}
.wp-block-details summary::marker { color: var(--es-lila-profundo); }
.wp-block-details[open] summary { margin-bottom: 0.4rem; }
.wp-block-details p { color: #4A4566; margin: 0.4rem 0 0; }

/* Tabla de valores */
.es-tabla table { border-collapse: separate; border-spacing: 0; width: 100%; background: rgba(255, 255, 255, 0.65); border: 1px solid var(--es-vidrio-borde); border-radius: 18px; overflow: hidden; }
.es-tabla th, .es-tabla td { border: none; border-bottom: 1px solid rgba(185, 166, 227, 0.4); padding: 0.9rem 1.2rem; text-align: left; vertical-align: top; }
.es-tabla thead th { background: rgba(230, 222, 246, 0.7); font-weight: 700; border-bottom: 1px solid var(--es-vidrio-borde); }
.es-tabla tr:last-child td { border-bottom: none; }
.es-tabla td:last-child { font-weight: 700; white-space: nowrap; }
.es-tabla figcaption { text-align: left; }

/* ---------- Encabezado ---------- */
.es-header {
	background: rgba(246, 244, 251, 0.78);
	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);
	border-bottom: 1px solid rgba(185, 166, 227, 0.45);
	position: relative;
	z-index: 50;
}
.es-header__fila { padding-top: 0.9rem; padding-bottom: 0.9rem; gap: 0.75rem 1.5rem; }
.es-marca { gap: 0.75rem; }
.es-marca > * { margin: 0 !important; }
.es-marca__iso img { width: 44px; height: auto; display: block; }
.es-marca__texto { gap: 0 !important; }
.es-marca__texto > * { margin: 0 !important; }
.es-marca__nombre { font-family: var(--wp--preset--font-family--fraunces); font-size: 1.375rem; font-weight: 600; line-height: 1.2; }
.es-marca__nombre a { color: var(--es-tinta); text-decoration: none; }
.es-marca__bajada { font-size: 0.8125rem; color: var(--es-tinta-suave); letter-spacing: 0.04em; line-height: 1.3; }
.es-header__acciones { gap: 0.5rem 1.25rem; }
.es-header .wp-block-navigation { gap: 0.25rem 1.35rem; }
.es-header .wp-block-navigation a { color: var(--es-tinta); text-decoration: none; }
.es-header .wp-block-navigation a:hover { color: var(--es-lila-profundo); }
.es-header .wp-block-navigation .current-menu-item > a,
.es-header .wp-block-navigation a[aria-current="page"] { color: var(--es-lila-profundo); }
.es-header .wp-block-navigation__submenu-container {
	background: #FFFFFF !important;
	border: 1px solid var(--es-vidrio-borde) !important;
	border-radius: 16px;
	padding: 0.5rem !important;
	box-shadow: 0 16px 40px rgba(43, 40, 64, 0.12);
	min-width: 240px !important;
}
.es-header .wp-block-navigation__submenu-container a { padding: 0.55rem 0.8rem !important; border-radius: 10px; }
.es-header .wp-block-navigation__submenu-container a:hover { background: var(--es-fondo); }
.es-header .wp-block-button__link { min-height: 44px; padding: 0.65rem 1.25rem; box-shadow: none !important; }
.es-header .wp-block-navigation__responsive-container-open { width: 44px; height: 44px; align-items: center; justify-content: center; border-radius: 12px; border: 1px solid var(--es-vidrio-borde); background: rgba(255,255,255,0.6); }
.es-header .wp-block-navigation__responsive-container.is-menu-open { background: var(--es-fondo) !important; padding: 1.5rem; }
.es-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { gap: 1rem; font-size: 1.125rem; }
.es-marca__nombre, .es-header .wp-block-button__link { white-space: nowrap; }
@media (max-width: 599px) {
	.es-marca__bajada { display: none; }
	.es-header__fila { flex-wrap: nowrap !important; gap: 0.5rem; }
	.es-header__acciones { gap: 0.5rem; }
	.es-header .wp-block-button__link { padding: 0.6rem 1rem; }
}
@media (max-width: 420px) {
	.es-marca { gap: 0.5rem; }
	.es-marca__iso img { width: 34px; }
	.es-marca__nombre { font-size: 1.15rem; }
}

/* ---------- Pie ---------- */
.es-pie { background: var(--es-pie); color: #E6E3F0; font-size: 0.9375rem; }
.es-pie a { color: #E6E3F0; }
.es-pie a:hover { color: #FFFFFF; }
.es-pie h2, .es-pie h3 { color: #FFFFFF; font-family: var(--wp--preset--font-family--nunito-sans); font-size: 0.875rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.es-pie .es-pie__logo img { width: 190px; height: auto; }
.es-pie__lista { list-style: none; padding: 0 !important; margin: 0; }
.es-pie__lista li + li { margin-top: 0.4rem; }
.es-urgencia {
	border: 1px solid #4E4970;
	border-radius: 18px;
	padding: 1.1rem 1.4rem;
	color: #E6E3F0;
}
.es-urgencia p { margin: 0; }
.es-urgencia strong { color: #FFFFFF; }
.es-pie__base { border-top: 1px solid rgba(255, 255, 255, 0.1); padding-top: 1.25rem; gap: 0.75rem 1.5rem; }
.es-pie__base > * { margin: 0 !important; }
.es-pie .wp-block-button__link { box-shadow: none !important; }
.es-pie .wp-block-button.is-style-secundario .wp-block-button__link { background: transparent; border-color: #9FE0DF; color: #CFF3F2; }
.es-pie .wp-block-button.is-style-secundario .wp-block-button__link:hover { background: rgba(255, 255, 255, 0.08); color: #FFFFFF; }

/* ---------- Blog ---------- */
.es-blog-grid .wp-block-post-template { gap: 2rem 1.75rem; }
.es-blog-grid .wp-block-post { display: flex; flex-direction: column; gap: 0.55rem; }
.es-blog-grid .wp-block-post > * { margin: 0 !important; }
.es-blog-grid .wp-block-post-featured-image { margin-bottom: 0.4rem !important; }
.es-blog-grid .wp-block-post-featured-image img { border-radius: 20px; aspect-ratio: 16 / 10; object-fit: cover; width: 100%; }
.es-blog-grid .wp-block-post-featured-image a { display: block; }
.es-blog-grid .wp-block-post-title { font-size: 1.3125rem; line-height: 1.3; }
.es-blog-grid .wp-block-post-title a { color: var(--es-tinta); text-decoration: none; }
.es-blog-grid .wp-block-post-title a:hover { color: var(--es-lila-profundo); text-decoration: underline; }
.es-blog-grid .wp-block-post-excerpt { color: var(--es-tinta-suave); font-size: 0.9375rem; }
.es-blog-grid .wp-block-post-excerpt__excerpt { margin: 0; }
.es-blog-grid .wp-block-post-date { font-size: 0.875rem; color: var(--es-tinta-suave); }

.taxonomy-category, .wp-block-post-terms.es-etiqueta {
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.wp-block-post-terms.es-etiqueta a { color: var(--es-calipso-profundo); text-decoration: none; }
.wp-block-post-terms.es-etiqueta a:hover { text-decoration: underline; }

/* Fichas sin imagen destacada: un recuadro lila con el isotipo, para que la grilla quede pareja */
.es-blog-grid .wp-block-post:not(:has(.wp-block-post-featured-image))::before {
	content: "";
	display: block;
	aspect-ratio: 16 / 10;
	border-radius: 20px;
	margin-bottom: 0.4rem;
	background: var(--es-lila-suave) url("assets/images/isotipo-erich-schilling.png") center / 72px auto no-repeat;
}
.es-blog-grid .wp-block-post:nth-child(even):not(:has(.wp-block-post-featured-image))::before { background-color: var(--es-calipso-suave); }

/* Categorías como píldoras */
.es-categorias .wp-block-categories-list,
ul.wp-block-categories.es-categorias {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
}
.es-categorias li { margin: 0; }
.es-categorias li a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0.5rem 1.05rem;
	border-radius: 999px;
	background: rgba(211, 240, 239, 0.85);
	color: #1D4F52;
	text-decoration: none;
	font-weight: 600;
	font-size: 0.9375rem;
	box-sizing: border-box;
}
.es-categorias li:nth-child(even) a { background: rgba(230, 222, 246, 0.95); color: var(--es-lila-noche); }
.es-categorias li a:hover { background: var(--es-lila-profundo); color: #FFFFFF; }
.es-categorias li.current-cat a { background: var(--es-lila-profundo); color: #FFFFFF; }

/* Paginación */
.wp-block-query-pagination { gap: 0.5rem; font-weight: 600; }
.wp-block-query-pagination a, .wp-block-query-pagination .page-numbers {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 44px; min-height: 44px; padding: 0 0.75rem;
	border-radius: 999px; text-decoration: none; box-sizing: border-box;
}
.wp-block-query-pagination .page-numbers.current { background: var(--es-lila-profundo); color: #fff; }
.wp-block-query-pagination a:hover { background: var(--es-lila-suave); }

/* Columna (entrada individual) */
.es-columna__cabecera > * { margin-top: 0 !important; }
.es-columna__meta { gap: 0.25rem 0.75rem; font-size: 0.9375rem; color: var(--es-tinta-suave); }
.es-columna__meta > * { margin: 0 !important; }
.es-columna__meta .wp-block-post-date { color: var(--es-tinta-suave); }
.es-columna__imagen img { border-radius: var(--es-radio-l); aspect-ratio: 16 / 9; object-fit: cover; width: 100%; }
.single .wp-block-post-content { font-size: 1.125rem; line-height: 1.75; }
.single .wp-block-post-content > p:first-child { font-size: 1.25rem; color: var(--es-tinta-suave); line-height: 1.65; }
.single .wp-block-post-content h2 { margin-top: 2.75rem; font-size: clamp(1.6rem, 2.6vw, 2rem); }
.single .wp-block-post-content h3 { margin-top: 2rem; font-size: 1.375rem; }
.single .wp-block-post-content li + li { margin-top: 0.35rem; }
.single .wp-block-post-content a { text-decoration: underline; }
.single .wp-block-post-content .wp-block-image img { border-radius: var(--es-radio-m); }
.single .wp-block-post-content blockquote { margin-left: 0; margin-right: 0; }

/* Caja de autor */
.es-autor { gap: 1.25rem 1.75rem; align-items: center; }
.es-autor > * { margin: 0 !important; }
.es-autor > .wp-block-image { flex: 0 0 112px; }
.es-autor .wp-block-image img { width: 112px; height: 112px; max-width: none; border-radius: 50%; object-fit: cover; }
.es-autor h2, .es-autor h3 { font-size: 1.375rem; margin: 0; }
.es-autor p { margin: 0.35rem 0 0; color: var(--es-tinta-suave); font-size: 0.9375rem; }
.es-autor .wp-block-buttons { margin-top: 0.9rem; }
@media (max-width: 599px) { .es-autor { flex-wrap: wrap !important; } }

/* Ficha "Quién te atiende" */
.es-quien { gap: 1rem; align-items: center; }
.es-quien > * { margin: 0 !important; }
.es-quien > .wp-block-image { flex: 0 0 72px; }
.es-quien .wp-block-image img { width: 72px; height: 72px; max-width: none; border-radius: 50%; object-fit: cover; }
.es-quien p { margin: 0; font-size: 0.9375rem; color: var(--es-tinta-suave); line-height: 1.45; }
.es-quien p strong { color: var(--es-tinta); font-size: 1rem; }

/* Herramientas */
.es-app__visual { min-height: 180px; display: flex; align-items: center; justify-content: center; border-radius: 18px; }
.es-app__visual.es-fondo-calipso { background: rgba(211, 240, 239, 0.8); }
.es-app__visual.es-fondo-lila { background: rgba(230, 222, 246, 0.9); }
.es-app__visual .wp-block-image img { width: 92px; height: 92px; }
.es-estado { display: inline-block; font-size: 0.8125rem; font-weight: 700; border-radius: 999px; padding: 0.25rem 0.75rem; background: var(--es-lila-suave); color: var(--es-lila-noche); }
.es-estado--calipso { background: var(--es-calipso-suave); color: #1D4F52; }

/* Ajustes de diseño */
.wp-site-blocks > main, .es-principal > .es-seccion, .wp-block-post-content > .es-seccion, .wp-site-blocks > footer { margin-block-start: 0; }
.es-seccion--ancha > .is-style-bajada:not(.es-centro),
.es-seccion--ancha > .es-ancho-lectura:not(.es-centro) { margin-left: max(0px, calc((100% - 1180px) / 2)) !important; }
.es-seccion:not(.es-seccion--ancha) > .is-style-bajada { max-width: none; }
.es-cabecera-blog { margin-bottom: 0.75rem; }
.es-cabecera-blog > * { margin: 0 !important; }
.es-cabecera-blog a { font-weight: 700; }
.es-publicado::before { content: "· "; }
.es-revisado::before { content: "· Última revisión: "; }
.es-navegacion-columnas { gap: 1rem; font-size: 0.9375rem; }
.es-navegacion-columnas > * { margin: 0 !important; max-width: 48%; }
.es-navegacion-columnas a { font-weight: 700; }
.es-columna__cabecera .wp-block-post-title { font-size: clamp(2.2rem, 4.2vw, 3.4rem); line-height: 1.1; }
.wp-block-search__input { border-radius: 999px; border: 1px solid var(--es-lila-medio); padding: 0.75rem 1.1rem; min-height: 48px; background: #fff; }
.wp-block-search__button { border-radius: 999px !important; min-height: 48px; }

.es-seccion--arriba > .wp-block-columns, .es-hero { align-items: center !important; }

/* Utilidades responsivas */
@media (max-width: 781px) {
	.es-invertir-movil { flex-direction: column-reverse; }
	.es-ocultar-movil { display: none !important; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	* { transition: none !important; }
}

/* Impresión */
@media print {
	.es-header, .es-pie, .es-manchas::before, .es-manchas::after { display: none !important; }
	body { background: #fff; }
}
