/*
 Theme Name:   Sano Equilibrio
 Theme URI:    https://sanoequilibrio.cl
 Description:  Child theme de GeneratePress para Sano Equilibrio (psicología y bienestar). Sistema de diseño propio basado en la paleta oficial de la marca y tipografías Nunito + Lato self-hosted.
 Author:       Sano Equilibrio
 Author URI:   https://sanoequilibrio.cl
 Template:     generatepress
 Version:      0.5.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Text Domain:  sano-equilibrio
*/

/* ==========================================================================
   Sano Equilibrio - estilos base y componentes
   Los tokens de diseño (color, tipografía, espaciado) viven en assets/css/tokens.css
   ========================================================================== */

/* --- Base ----------------------------------------------------------------- */
body {
	font-family: var(--font-body);
	font-size: 1rem;
	line-height: 1.65;
	color: var(--color-text);
	background-color: var(--color-background);
	-webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--font-heading);
	font-weight: 700;
	color: var(--color-primary-dark);
	line-height: 1.25;
	margin-block: 0 var(--space-4);
}

h1 { font-size: 2.5rem; }
h2 { font-size: 2rem; }
h3 { font-size: 1.5rem; font-weight: 600; }
h4 { font-size: 1.25rem; font-weight: 600; }

p { margin-block: 0 1em; max-width: 70ch; }

a { color: var(--color-primary); text-underline-offset: 2px; }
a:hover { color: var(--color-primary-dark); }

img { max-width: 100%; height: auto; }

:focus-visible {
	outline: 2px solid var(--color-primary-dark);
	outline-offset: 2px;
}

/* --- Layout de secciones -------------------------------------------------- */
.se-section { padding-block: var(--space-8); padding-inline: var(--space-4); }
.se-section--tight { padding-block: var(--space-7); }
.se-container {
	width: 100%;
	max-width: 1120px;
	margin-inline: auto;
	padding-inline: var(--space-4);
}
.se-section__title { text-align: center; margin-bottom: var(--space-3); }
.se-section__lead {
	text-align: center;
	max-width: 60ch;
	margin-inline: auto;
	margin-bottom: var(--space-6);
	color: var(--color-text-muted);
}

.se-eyebrow {
	display: inline-block;
	font-family: var(--font-heading);
	font-weight: 600;
	font-size: 0.875rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--color-primary);
	margin-bottom: var(--space-2);
}

/* --- Grid ----------------------------------------------------------------- */
.se-grid { display: grid; gap: var(--space-5); }
.se-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.se-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.se-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.se-split { display: grid; grid-template-columns: 60% 40%; gap: var(--space-6); align-items: center; }
.se-split--reverse { grid-template-columns: 40% 60%; }

/* --- Botones -------------------------------------------------------------- */
.se-btn,
.wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-2);
	min-height: 48px;
	padding: 12px 24px;
	font-family: var(--font-heading);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	border-radius: var(--radius-small);
	border: 1.5px solid transparent;
	transition: background-color 150ms ease, color 150ms ease, border-color 150ms ease, box-shadow 150ms ease, filter 150ms ease;
}

/* El color de los botones rellenos viene de la paleta (has-*-background-color). */
.wp-block-button__link:hover { filter: brightness(0.92); }

/* Botón sólido por defecto (uso propio, sin clase de paleta). */
.se-btn {
	background-color: var(--color-primary);
	color: #fff;
}
.se-btn:hover { background-color: var(--color-primary-dark); color: #fff; filter: none; }

/* Botón con contorno. */
.se-btn--secondary,
.wp-block-button.is-style-outline .wp-block-button__link {
	background-color: transparent;
	border-color: var(--color-primary);
	color: var(--color-primary);
}
.se-btn--secondary:hover,
.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background-color: var(--color-primary);
	color: #fff;
	filter: none;
}

/* Botón terciario (enlace de texto). */
.se-btn--tertiary {
	background: none;
	border: 0;
	padding-inline: 0;
	min-height: 0;
	color: var(--color-primary);
	text-decoration: underline;
	text-decoration-color: transparent;
}
.se-btn--tertiary:hover { background: none; text-decoration-color: currentColor; }

/* --- WhatsApp ------------------------------------------------------------- */
/*
 * Glifo de marca como máscara CSS (no como SVG en el contenido de la BD):
 * así el color lo hereda del contexto y KSES no puede eliminarlo.
 */
.se-wa {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	color: var(--color-primary);
	text-decoration: none;
}
.se-wa::before,
.wp-block-button.se-wa .wp-block-button__link::before {
	content: "";
	flex: 0 0 auto;
	width: 20px;
	height: 20px;
	background-color: currentColor;
	-webkit-mask: url("assets/icons/whatsapp.svg") center / contain no-repeat;
	mask: url("assets/icons/whatsapp.svg") center / contain no-repeat;
}
.se-wa:hover { text-decoration: underline; }
.se-cta__actions { margin-top: var(--space-4); }
/* Sobre el footer oscuro el verde de marca cumple (6.8:1); sobre blanco no (1.96:1). */
.se-footer__wa::before { background-color: #25D366; }

/* --- Tarjetas ------------------------------------------------------------- */
.se-card {
	background-color: var(--color-surface);
	border: 1px solid var(--color-border-soft);
	border-radius: var(--radius-medium);
	padding: var(--space-5);
	transition: box-shadow 150ms ease, transform 150ms ease;
}
a.se-card:hover,
.se-card--link:hover {
	box-shadow: var(--shadow-medium);
	transform: translateY(-2px);
}
.se-card__icon { color: var(--color-primary); margin-bottom: var(--space-3); }
.se-card h3 { margin-bottom: var(--space-2); }
.se-card p { color: var(--color-text-muted); }
.se-card__link {
	font-family: var(--font-heading);
	font-weight: 600;
	text-decoration: none;
}
.se-card__link::after { content: " \2192"; }

/* --- Encabezado (GeneratePress) ------------------------------------------ */
.site-header {
	position: sticky;
	top: 0;
	z-index: 60;
	background-color: var(--color-surface);
	border-bottom: 1px solid transparent;
	transition: box-shadow 150ms ease, border-color 150ms ease;
}
body.admin-bar .site-header {
	top: var(--wp-admin--admin-bar--height, 32px);
}
.site-header .inside-header {
	padding-block: 12px;
}
.site-header.is-scrolled,
.site-header.is-sticky,
.site-header.sticky {
	box-shadow: var(--shadow-small);
	border-bottom-color: var(--color-border-soft);
}
.site-header .site-logo img {
	width: auto;
	height: 64px;
	max-width: none;
}
.main-navigation a {
	font-family: var(--font-heading);
	font-weight: 600;
	color: var(--color-text);
}
.site-header .main-navigation .main-nav ul li > a {
	color: var(--color-text);
}
.site-header .main-navigation .main-nav ul li:not([class*="current-menu-"]) > a:hover,
.site-header .main-navigation .main-nav ul li.current-menu-item > a,
.site-header .main-navigation .main-nav ul li > a:focus-visible {
	color: var(--color-primary);
}

.site-header .main-navigation .main-nav ul li.se-nav-cta {
	display: inline-flex;
	align-items: center;
	margin-left: var(--space-3);
}
.site-header .main-navigation .main-nav ul li.se-nav-cta > a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 10px 18px;
	border-radius: var(--radius-small);
	background-color: var(--color-primary);
	color: #fff;
	font-family: var(--font-heading);
	font-size: 0.9375rem;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
}
.site-header .main-navigation .main-nav ul li.se-nav-cta > a:hover,
.site-header .main-navigation .main-nav ul li.se-nav-cta > a:focus-visible {
	background-color: var(--color-primary-dark);
	color: #fff;
}

/* --- Formularios ---------------------------------------------------------- */
input[type="text"],
input[type="email"],
input[type="tel"],
select,
textarea {
	width: 100%;
	min-height: 48px;
	padding: 12px 16px;
	font-family: var(--font-body);
	font-size: 1rem;
	color: var(--color-text);
	background-color: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-small);
}
input:focus, select:focus, textarea:focus {
	border-color: var(--color-primary);
	box-shadow: var(--shadow-small);
	outline: 2px solid var(--color-primary-dark);
	outline-offset: 2px;
}
label { font-weight: 600; }

/* WPForms (formulario de contacto) */
.se-wpforms {
	--wpforms-container-padding: var(--space-5);
	--wpforms-container-border-style: solid;
	--wpforms-container-border-width: 1px;
	--wpforms-container-border-color: var(--color-border-soft);
	--wpforms-container-border-radius: var(--radius-medium);
	--wpforms-container-shadow-size-box-shadow: var(--shadow-small);
	--wpforms-field-size-input-height: 48px;
	--wpforms-field-size-input-spacing: var(--space-3);
	--wpforms-field-size-font-size: 1rem;
	--wpforms-field-size-line-height: 1.5;
	--wpforms-field-size-padding-h: 16px;
	--wpforms-field-size-checkbox-size: 20px;
	--wpforms-label-size-font-size: 1rem;
	--wpforms-label-size-line-height: 1.5;
	--wpforms-label-size-sublabel-font-size: 0.875rem;
	--wpforms-label-size-sublabel-line-height: 1.5;
	--wpforms-background-color: var(--color-surface);
	--wpforms-background-url: none;
	--wpforms-field-background-color: var(--color-surface);
	--wpforms-field-border-color: var(--color-border);
	--wpforms-field-border-size: 1px;
	--wpforms-field-border-style: solid;
	--wpforms-field-border-radius: var(--radius-small);
	--wpforms-field-text-color: var(--color-text);
	--wpforms-label-color: var(--color-text);
	--wpforms-label-sublabel-color: var(--color-text-muted);
	--wpforms-label-error-color: var(--color-error);
	--wpforms-button-size-font-size: 1rem;
	--wpforms-button-size-height: 48px;
	--wpforms-button-size-padding-h: 24px;
	--wpforms-button-size-margin-top: var(--space-4);
	--wpforms-button-background-color: var(--color-primary);
	--wpforms-button-background-color-alt: var(--color-primary);
	--wpforms-button-text-color: #fff;
	--wpforms-button-border-radius: var(--radius-small);
	--wpforms-button-border-size: 0;
	--wpforms-button-border-style: none;
	--wpforms-button-border-color: transparent;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: var(--space-5);
	background-color: var(--color-surface);
	border: 1px solid var(--color-border-soft);
	border-radius: var(--radius-medium);
	box-shadow: var(--shadow-small);
}
div.wpforms-container-full.se-wpforms:not(:empty) {
	margin: 0;
	background-color: var(--color-surface);
}
.se-wpforms .wpforms-field {
	padding: 0 0 var(--space-3);
}
.se-wpforms .wpforms-field-label {
	font-family: var(--font-heading);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.5;
	color: var(--color-text);
	margin-bottom: var(--space-2);
}
.se-wpforms .wpforms-required-label { color: var(--color-error); }
.se-wpforms input[type="text"],
.se-wpforms input[type="email"],
.se-wpforms select,
.se-wpforms textarea {
	width: 100%;
	max-width: none;
	min-height: 48px;
	padding: 12px 16px;
	color: var(--color-text);
	background-color: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-small);
}
.se-wpforms .wpforms-field-medium,
div.wpforms-container-full.se-wpforms .wpforms-form select.wpforms-field-medium {
	width: 100%;
	max-width: 100%;
}
.se-wpforms .wpforms-field.se-phone input {
	font-variant-numeric: tabular-nums;
}
.se-wpforms textarea {
	min-height: 120px;
	resize: vertical;
}
.se-wpforms input:focus,
.se-wpforms select:focus,
.se-wpforms textarea:focus {
	border-color: var(--color-primary);
	box-shadow: var(--shadow-small);
	outline: 2px solid var(--color-primary-dark);
	outline-offset: 2px;
}
.se-wpforms .wpforms-field-gdpr-checkbox ul {
	display: grid;
	gap: var(--space-2);
	margin: 0;
	padding: 0;
	list-style: none;
}
.se-wpforms .wpforms-field-gdpr-checkbox li {
	display: flex;
	align-items: flex-start;
	gap: var(--space-2);
	margin: 0;
}
.se-wpforms .wpforms-field-gdpr-checkbox input[type="checkbox"] {
	flex: 0 0 auto;
	width: 20px;
	height: 20px;
	min-height: 0;
	margin: 2px 0 0;
	accent-color: var(--color-primary);
}
.se-wpforms .wpforms-field-label-inline {
	font-family: var(--font-body);
	font-size: 0.9375rem;
	font-weight: 400;
	line-height: 1.5;
	color: var(--color-text);
}
.se-wpforms .wpforms-field-description {
	margin-top: var(--space-2);
	font-size: 0.875rem;
	color: var(--color-text-muted);
}
div.wpforms-container-full.se-wpforms .wpforms-form button[type="submit"].wpforms-submit,
div.wpforms-container-full.se-wpforms .wpforms-form input[type="submit"].wpforms-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 48px;
	padding: 12px 24px;
	font-family: var(--font-heading);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1;
	color: #fff;
	background-color: var(--color-primary);
	border: 1.5px solid transparent;
	border-radius: var(--radius-small);
	transition: background-color 150ms ease, color 150ms ease, border-color 150ms ease;
}
div.wpforms-container-full.se-wpforms .wpforms-form button[type="submit"].wpforms-submit:hover,
div.wpforms-container-full.se-wpforms .wpforms-form button[type="submit"].wpforms-submit:focus-visible,
div.wpforms-container-full.se-wpforms .wpforms-form input[type="submit"].wpforms-submit:hover,
div.wpforms-container-full.se-wpforms .wpforms-form input[type="submit"].wpforms-submit:focus-visible {
	color: #fff;
	background-color: var(--color-primary-dark);
	background-image: none;
}
div.wpforms-container-full.se-wpforms .wpforms-form button[type="submit"].wpforms-submit:disabled {
	cursor: wait;
	opacity: 0.75;
}
.se-wpforms input.wpforms-error,
.se-wpforms select.wpforms-error,
.se-wpforms textarea.wpforms-error {
	border-color: var(--color-error);
}
.se-wpforms label.wpforms-error,
.se-wpforms em.wpforms-error {
	display: block;
	margin-top: var(--space-2);
	font-size: 0.875rem;
	font-style: normal;
	font-weight: 600;
	line-height: 1.5;
	color: var(--color-error);
}
.se-wpforms label.wpforms-error::before,
.se-wpforms em.wpforms-error::before {
	content: "\26A0\FE0E  ";
}
.se-wpforms .wpforms-error-container {
	color: var(--color-error);
	font-weight: 600;
}
div.wpforms-container-full.se-wpforms .wpforms-confirmation-container-full,
.se-wpforms .wpforms-confirmation-container {
	padding: var(--space-4);
	color: var(--color-text);
	background-color: rgba(146, 174, 163, 0.18);
	border: 1px solid var(--color-success);
	border-radius: var(--radius-small);
}
.se-wpforms .wpforms-confirmation-container p:last-child,
div.wpforms-container-full.se-wpforms .wpforms-confirmation-container-full p:last-child {
	margin-bottom: 0;
}
.se-form-note {
	max-width: none;
	margin-top: var(--space-3);
	font-size: 0.875rem;
	color: var(--color-text-muted);
	text-align: center;
}

/* --- Footer --------------------------------------------------------------- */
.site-footer,
.se-footer {
	background-color: var(--color-surface-dark);
	color: #fff;
}
.site-footer a,
.se-footer a { color: #fff; }
.site-footer h1, .site-footer h2, .site-footer h3, .site-footer h4 { color: #fff; }

.se-footer__main {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1.2fr;
	gap: var(--space-5);
	max-width: 1120px;
	margin-inline: auto;
	padding: var(--space-6) var(--space-4);
}
.se-footer__brand {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--space-3);
}
.se-footer__logo {
	display: inline-flex;
	padding: 8px;
	background-color: #fff;
	border-radius: var(--radius-large);
	line-height: 0;
}
.se-footer__logo img {
	display: block;
	width: 72px;
	height: 72px;
}
.se-footer__tagline {
	max-width: 26ch;
	margin: 0;
	color: var(--color-background);
}
.se-footer__title {
	margin: 0 0 var(--space-3);
	font-size: 0.8125rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--color-background);
}
.se-footer__nav ul,
.se-footer__contact ul {
	display: grid;
	gap: var(--space-2);
	margin: 0;
	padding: 0;
	list-style: none;
}
.se-footer__main a { text-decoration: none; }
.se-footer__main a:hover { text-decoration: underline; }
.se-footer__social { margin-top: var(--space-3); }
.se-footer__note {
	display: block;
	margin-top: var(--space-1);
	max-width: 90ch;
	color: var(--color-background);
}
.site-footer :focus-visible { outline-color: var(--color-background); }
.site-footer .site-info { border-top: 1px solid rgba(255, 255, 255, 0.14); }
.site-footer .inside-site-info { padding-block: var(--space-3); }

/* --- Utilidades ----------------------------------------------------------- */
.se-text-center { text-align: center; }
.se-mb-0 { margin-bottom: 0; }
.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0);
	white-space: nowrap; border: 0;
}

/* --- Secciones (patrones) ------------------------------------------------- */
.wp-block-columns.se-grid,
.wp-block-columns.se-split { display: grid; }
.se-grid > .wp-block-column { margin: 0 !important; }

.se-section__head { text-align: center; margin-bottom: var(--space-6); }
.se-section__head p { color: var(--color-text-muted); }
.se-section__intro { color: var(--color-text-muted); }

/* Portada */
.se-hero { background: linear-gradient(180deg, var(--color-background) 0%, #ffffff 100%); }
.se-hero__lead { font-size: 1.125rem; color: var(--color-text-muted); }
.se-hero__trust {
	font-family: var(--font-heading);
	font-weight: 600;
	font-size: 0.875rem;
	color: var(--color-text-muted);
	margin-top: var(--space-4);
}
.se-hero__logo img,
.se-sobre__logo img { width: 100%; max-width: 420px; height: auto; margin-inline: auto; }
.se-sobre__logo img { max-width: 380px; }

/* Iconos de tarjeta */
.se-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: var(--radius-medium);
	background-color: rgba(118, 78, 110, 0.08);
	margin-bottom: var(--space-3);
}
.se-card__icon svg { width: 28px; height: 28px; }
.se-card--paso { position: relative; }

/* Contacto (CTA) */
.se-cta { background-color: var(--color-surface-mint); }
.se-cta h2 { margin-bottom: var(--space-3); }
.se-cta__form { display: block; }

/* Preguntas frecuentes */
.se-faq__list { max-width: 800px; margin-inline: auto; }
.se-faq__list .wp-block-details {
	border-bottom: 1px solid var(--color-border-soft);
	margin: 0;
}
.se-faq__list .wp-block-details summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-4);
	padding: var(--space-4) 0;
	list-style: none;
	cursor: pointer;
	font-family: var(--font-heading);
	font-weight: 600;
	font-size: 1.125rem;
	color: var(--color-primary-dark);
}
.se-faq__list .wp-block-details summary::-webkit-details-marker { display: none; }
.se-faq__list .wp-block-details summary::after { content: "+"; font-size: 1.5rem; line-height: 1; color: var(--color-primary); }
.se-faq__list .wp-block-details[open] summary::after { content: "\2212"; }
.se-faq__list .wp-block-details p {
	margin: 0 0 var(--space-4);
	color: var(--color-text-muted);
}

/* Páginas legales */
.se-legal { max-width: 820px; margin-inline: auto; }
.se-legal h2 { margin-top: var(--space-7); }
.se-legal h3 { margin-top: var(--space-6); }
.se-legal ul,
.se-legal ol { padding-left: 1.25rem; margin-block: 0 var(--space-4); }
.se-legal li { margin-bottom: var(--space-1); max-width: 70ch; }

/* Páginas secundarias */
.se-page-hero {
	position: relative;
	overflow: clip;
	padding-block: clamp(48px, 8vw, 96px);
	padding-inline: var(--space-4);
	background: linear-gradient(180deg, var(--color-background) 0%, #ffffff 100%);
}
.se-page-hero::after {
	content: "";
	position: absolute;
	top: -18%;
	right: -8%;
	width: min(46%, 520px);
	aspect-ratio: 1 / 1;
	background: url("assets/img/watercolor-hero.webp") center / contain no-repeat;
	opacity: 0.45;
	pointer-events: none;
	z-index: 0;
}
.se-page-hero > * { position: relative; z-index: 1; }
.se-page-hero__inner {
	width: 100%;
	max-width: 1120px;
	margin-inline: auto;
}
.se-page-hero__inner > * {
	margin-left: 0;
	margin-right: 0;
}
.se-page-hero h1 {
	font-size: clamp(2.15rem, 4.6vw, 3.35rem);
	line-height: 1.08;
	letter-spacing: -0.01em;
	max-width: 24ch;
}
.se-page-hero__lead {
	font-size: clamp(1.05rem, 1.5vw, 1.2rem);
	color: var(--color-text-muted);
	max-width: 58ch;
}

/* Hero con retrato (Sobre mí) */
.se-page-hero--portrait::after { display: none; }
.se-page-hero--portrait .se-page-hero__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.85fr);
	gap: clamp(32px, 5vw, 64px);
	align-items: center;
}
.se-page-hero--portrait .se-page-hero__text > *:first-child { margin-top: 0; }
.se-page-hero--portrait .se-page-hero__text > *:last-child { margin-bottom: 0; }
.se-portrait {
	margin: 0;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	border-radius: var(--radius-large);
	background-color: var(--color-background);
	box-shadow: var(--shadow-medium);
}
.se-portrait img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Servicios: tarjetas con detalle */
.se-servicios--page + .se-proceso { background-color: var(--color-surface); }
.se-servicios--page .se-card--servicio {
	display: flex;
	flex-direction: column;
}
.se-servicios--page .se-card ul {
	margin: var(--space-2) 0 var(--space-4);
	padding-left: 1.1rem;
	color: var(--color-text-muted);
	font-size: 0.95rem;
}
.se-servicios--page .se-card li { margin-bottom: var(--space-1); }
.se-servicios--page .se-card__link {
	margin-top: auto;
	margin-bottom: 0;
	font-size: 0.95rem;
}
.se-servicios--page .se-card__link a { text-decoration: none; }
.se-servicios--page .se-card__link a:hover { text-decoration: underline; }

/* Sobre mí */
.se-sobre--page .se-sobre__visual { position: relative; }
.se-sobre--page .se-sobre__visual::before {
	content: "";
	position: absolute;
	inset: 50% auto auto 50%;
	width: 112%;
	aspect-ratio: 1 / 1;
	transform: translate(-50%, -50%);
	background: url("assets/img/watercolor-hero.webp") center / contain no-repeat;
	opacity: 0.7;
	pointer-events: none;
	z-index: 0;
}
.se-sobre--page .se-sobre__visual > * { position: relative; z-index: 1; }

/* Tarjeta de trayectoria (reemplaza al logo) */
.se-trayectoria {
	display: grid;
	gap: var(--space-2);
	padding: var(--space-5);
	background-color: var(--color-surface);
	border: 1px solid var(--color-border-soft);
	border-radius: var(--radius-medium);
	box-shadow: var(--shadow-small);
}
.se-trayectoria__item {
	margin: 0;
	padding-block: var(--space-3);
	border-bottom: 1px solid var(--color-border-soft);
}
.se-trayectoria__item:first-child { padding-top: 0; }
.se-trayectoria__item:last-child { padding-bottom: 0; border-bottom: 0; }
.se-trayectoria__item strong {
	display: block;
	font-family: var(--font-heading);
	font-size: clamp(1.5rem, 2.4vw, 2rem);
	font-weight: 700;
	line-height: 1.1;
	color: var(--color-primary-dark);
}
.se-trayectoria__item span {
	display: block;
	margin-top: 2px;
	font-size: 0.95rem;
	line-height: 1.4;
	color: var(--color-text-muted);
}
.se-sobre-valores { background-color: var(--color-background); }
.se-sobre-enfoque { background-color: var(--color-surface); }
.se-sobre-enfoque__quote { background-color: #fff; }
.se-sobre-enfoque__quote p {
	margin: 0;
	font-family: var(--font-heading);
	font-size: 1.25rem;
	line-height: 1.45;
	color: var(--color-primary-dark);
}

/* FAQ */
.se-faq--page .se-faq__list {
	width: 100%;
	max-width: 800px;
	margin-inline: auto;
	margin-bottom: var(--space-6);
}
.se-faq--page .se-faq__list > * { max-width: 100%; }
.se-faq--page .se-emergency {
	max-width: 800px;
	margin-inline: auto;
}

/* Contacto */
.se-contacto { background-color: var(--color-background); }
.se-contacto__grid { align-items: start; gap: var(--space-6); }
.se-contacto__card {
	background-color: #fff;
	border: 1px solid var(--color-border-soft);
	border-radius: var(--radius-medium);
	padding: var(--space-5);
	box-shadow: var(--shadow-small);
	margin-top: var(--space-4);
}
.se-contacto__card h3 { font-size: 1.125rem; margin-bottom: var(--space-2); }
.se-contacto__list { list-style: none; padding: 0; margin: 0; }
.se-contacto__list li {
	padding-block: var(--space-2);
	border-bottom: 1px solid var(--color-border-soft);
	color: var(--color-text);
	line-height: 1.5;
}
.se-contacto__list li:last-child { border-bottom: 0; padding-bottom: 0; }
.se-contacto__label {
	display: block;
	font-family: var(--font-heading);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--color-primary);
	margin-bottom: 2px;
}
.se-contacto .se-form-note { margin-top: var(--space-3); }
.se-contacto__hint {
	margin-top: var(--space-3);
	margin-bottom: 0;
	font-size: 0.875rem;
	color: var(--color-text-muted);
}

/* Aviso de emergencias */
.se-emergency {
	margin-top: var(--space-5);
	padding: var(--space-4);
	background-color: #f7eef3;
	border-left: 4px solid var(--color-primary);
	border-radius: var(--radius-medium);
}
.se-emergency h2,
.se-emergency h3 {
	margin-top: 0;
	margin-bottom: var(--space-2);
	font-size: 1.125rem;
}
.se-emergency p { margin-bottom: var(--space-2); color: var(--color-text); }
.se-emergency ul { margin: 0; padding-left: 1.1rem; }
.se-emergency li { margin-bottom: var(--space-1); }

/* Cierre con CTA centrado */
.se-cta--band { text-align: center; }
.se-cta--band p { margin-inline: auto; max-width: 60ch; }
.se-cta--band .wp-block-buttons { justify-content: center; }

/* --- Responsive ----------------------------------------------------------- */
@media (max-width: 1023px) {
	.se-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.se-split, .se-split--reverse { grid-template-columns: 1fr; }
	.se-page-hero--portrait .se-page-hero__inner { grid-template-columns: minmax(0, 1fr); }
	.se-portrait { max-width: 420px; margin-inline: auto; }
	.se-footer__main { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
	:root {
		--space-7: 48px;
		--space-8: 64px;
	}
	h1 { font-size: 2rem; }
	h2 { font-size: 1.75rem; }
	.se-grid--2,
	.se-grid--3,
	.se-grid--4 { grid-template-columns: 1fr; }
	.se-page-hero { padding-block: var(--space-7); }
	.se-page-hero::after { width: 70%; right: -20%; opacity: 0.28; }
	.se-page-hero h1 { max-width: none; }
	.se-contacto__grid { gap: var(--space-5); }
	.se-btn, .wp-block-button__link { width: 100%; }
	.site-header .site-logo img { height: 44px; }
	.site-header .inside-header { padding-block: 10px; padding-inline: var(--space-4); }
	.site-header .main-navigation .main-nav ul li.se-nav-cta { margin: var(--space-3) var(--space-3) var(--space-4); }
	.site-header .main-navigation .main-nav ul li.se-nav-cta > a { width: 100%; }
	.se-footer__main { grid-template-columns: 1fr; }
}

/* --- Movimiento reducido -------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}
