/*
Theme Name:   Meeting Point SEFED (Astra Child)
Theme URI:    https://www.instagram.com/meetingpointcyl26_artesa/
Description:  Tema hijo de Astra para la web oficial del Meeting Point SEFED Burgos 2026–2027. Al activarlo crea la página de inicio, el menú de anclas, el logo y sube las bases de los concursos en PDF.
Author:       Meeting Point SEFED CyL
Template:     astra
Version:      1.2.0
Requires at least: 6.4
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:  meetingpoint-astra-child
*/

/* ==========================================================================
   1. Tipografía (Montserrat servida desde el tema, sin Google Fonts)
   ========================================================================== */

@font-face { font-family: "Montserrat"; font-style: normal; font-weight: 400; font-display: swap; src: url("assets/fonts/montserrat-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Montserrat"; font-style: normal; font-weight: 500; font-display: swap; src: url("assets/fonts/montserrat-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: "Montserrat"; font-style: normal; font-weight: 600; font-display: swap; src: url("assets/fonts/montserrat-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Montserrat"; font-style: normal; font-weight: 700; font-display: swap; src: url("assets/fonts/montserrat-latin-700-normal.woff2") format("woff2"); }
@font-face { font-family: "Montserrat"; font-style: normal; font-weight: 800; font-display: swap; src: url("assets/fonts/montserrat-latin-800-normal.woff2") format("woff2"); }

/* ==========================================================================
   2. Paleta corporativa
   Fuente: "Guía de paleta corporativa – Meeting Point Castilla y León" (valores HEX).
   Los tonos -osc / -texto son variantes para que el texto pequeño sea legible (contraste AA).
   ========================================================================== */

:root {
	--mp-rojo: #B32E2E;        /* Rojo Catedral: títulos y aguja izquierda */
	--mp-rojo-osc: #8A2125;
	--mp-cian: #00ACC1;        /* Cian Encuentro: llamadas a la acción y aguja derecha */
	--mp-cian-tinta: #06363C;  /* texto sobre fondo cian */
	--mp-oro: #C69550;         /* Oro Trigo: textos secundarios grandes y elementos gráficos */
	--mp-oro-texto: #85602A;   /* Oro Trigo oscurecido para texto pequeño */
	--mp-gris: #545454;        /* Gris texto corporativo */
	--mp-gris-osc: #333333;
	--mp-crema: #FDFDF6;       /* Fondo neutro / crema */
	--mp-crema-2: #F6F2E5;
	--mp-linea: #E4DDC8;
	--mp-degradado: linear-gradient(90deg, var(--mp-cian) 0%, var(--mp-oro) 50%, var(--mp-rojo) 100%);

	--mp-font: "Montserrat", "Helvetica Neue", Arial, sans-serif;
	/* Margen lateral único para cabecera y secciones: el logo queda pegado al lateral
	   y alineado con el título de la portada y de cada sección. */
	--mp-pad-x: clamp(1.25rem, 2.5vw, 3rem);
	--mp-pad-y: clamp(3.5rem, 8vw, 6.5rem);
	--mp-cabecera: 88px;

	/* Paleta global de Astra → colores del evento (cabecera, enlaces, botones, pie). */
	--ast-global-color-0: #B32E2E;
	--ast-global-color-1: #8A2125;
	--ast-global-color-2: #333333;
	--ast-global-color-3: #545454;
	--ast-global-color-4: #FDFDF6;
	--ast-global-color-5: #FFFFFF;
	--ast-global-color-6: #F6F2E5;
	--ast-global-color-7: #2A2A2A;
	--ast-global-color-8: #C69550;
}

/* ==========================================================================
   3. Base
   ========================================================================== */

html { scroll-padding-top: var(--mp-cabecera); }
:root { --mp-cabecera: 104px; }
html:has(body.admin-bar) { --mp-cabecera: 134px; }

@media (prefers-reduced-motion: no-preference) {
	html { scroll-behavior: smooth; }
}

body {
	font-family: var(--mp-font);
	color: var(--mp-gris);
	background-color: var(--mp-crema);
	overflow-x: clip;
}

body:is(.ast-plain-container, .ast-separate-container, .ast-page-builder-template),
body .site-content {
	background-color: var(--mp-crema);
}

body,
body button,
body input,
body select,
body textarea,
body .ast-button,
body .ast-custom-button {
	font-family: var(--mp-font);
}

body :is(h1, h2, h3, h4, h5, h6),
body .entry-content :is(h1, h2, h3, h4, h5, h6),
body .site-title {
	font-family: var(--mp-font);
}

body .entry-content :is(h2, h3) { color: var(--mp-gris-osc); }

a { color: var(--mp-rojo); }
a:hover, a:focus { color: var(--mp-rojo-osc); }

:focus-visible {
	outline: 3px solid var(--mp-cian);
	outline-offset: 3px;
}

/* ==========================================================================
   4. Cabecera de Astra
   ========================================================================== */

#masthead {
	position: sticky;
	top: 0;
	z-index: 99;
	border-bottom: 4px solid transparent;
	border-image: var(--mp-degradado) 1;
}
.admin-bar #masthead { top: 32px; }
@media (max-width: 782px) {
	.admin-bar #masthead { top: 46px; }
}
@media (max-width: 600px) {
	.admin-bar #masthead { top: 0; }
}

#masthead,
#masthead .main-header-bar,
#masthead .ast-primary-header-bar,
#masthead .ast-above-header-bar,
#masthead .ast-below-header-bar,
#masthead .ast-mobile-header-content,
#masthead .ast-desktop-header-content {
	background-color: var(--mp-crema);
}

#masthead .main-header-bar,
#masthead .ast-primary-header-bar { border-bottom: 0; }

/* Astra centra la cabecera en una caja de 1200 px; la abrimos al mismo margen que el contenido
   para que el logo quede pegado al lateral, alineado con el título de la portada. */
#masthead .ast-container,
#masthead .ast-builder-grid-row-container,
#masthead .site-primary-header-wrap {
	box-sizing: border-box;
	max-width: none !important;
	width: 100%;
	padding-left: var(--mp-pad-x) !important;
	padding-right: var(--mp-pad-x) !important;
}
#masthead .ast-builder-grid-row-container .ast-container,
#masthead .ast-container .site-primary-header-wrap {
	padding-left: 0 !important;
	padding-right: 0 !important;
}
#masthead .site-header-primary-section-left,
#masthead .site-branding,
#masthead .ast-site-identity,
#masthead .site-logo-img {
	padding-left: 0 !important;
	margin-left: 0 !important;
}
#masthead .main-header-bar-wrap .main-header-bar,
#masthead .ast-primary-header-bar { padding-top: 0.6rem; padding-bottom: 0.6rem; }

/* Logo: el logo ya incluye el nombre, así que ocultamos el título de texto. */
#masthead .custom-logo-link img {
	width: auto !important;
	max-width: none !important;
	height: 78px !important;
	max-height: 78px !important;
	outline: 0;
}
#masthead .custom-logo-link { display: block; line-height: 0; }
#masthead .site-branding:has(.custom-logo-link) .ast-site-title-wrap { display: none; }

#masthead .main-header-menu .menu-link {
	font-weight: 600;
	font-size: 0.95rem;
	color: var(--mp-gris-osc);
}
#masthead .main-header-menu .menu-item:hover > .menu-link,
#masthead .main-header-menu .menu-link:focus {
	color: var(--mp-rojo);
}

/* Botón "Inscríbete" del menú */
#masthead .main-header-menu .mp-menu-cta > .menu-link {
	background-color: var(--mp-cian);
	color: var(--mp-cian-tinta);
	border-radius: 999px;
	padding: 0.7em 1.4em;
	margin-left: 0.5rem;
	line-height: 1.2;
	font-weight: 700;
	transition: background-color 0.15s ease, color 0.15s ease;
}
#masthead .main-header-menu .mp-menu-cta > .menu-link:hover,
#masthead .main-header-menu .mp-menu-cta > .menu-link:focus {
	background-color: var(--mp-cian-tinta);
	color: var(--mp-cian);
}
.ast-header-break-point #masthead .main-header-menu .mp-menu-cta > .menu-link {
	display: inline-block;
	margin: 0.75rem 20px 1rem;
}

/* ==========================================================================
   5. Página de una sola pantalla: secciones a todo el ancho
   ========================================================================== */

.mp-onepage #primary { margin: 0; padding: 0; }
.mp-onepage .site-content > .ast-container { max-width: none; padding: 0; }
.mp-onepage .entry-header { display: none; }
.mp-onepage .entry-content > .mp-section {
	max-width: none !important;
	width: auto;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	padding-left: var(--mp-pad-x) !important;
	padding-right: var(--mp-pad-x) !important;
	box-sizing: border-box;
}

.mp-section {
	padding: var(--mp-pad-y) var(--mp-pad-x);
	background-color: var(--mp-crema);
}
.mp-section > :first-child,
.mp-section > .wp-block-group__inner-container > :first-child { margin-top: 0; }
.mp-section > :last-child,
.mp-section > .wp-block-group__inner-container > :last-child { margin-bottom: 0; }

/* Temas clásicos (como Astra) envuelven el grupo en un contenedor interno: lo "aplanamos". */
:is(.mp-section, .mp-activity-grid, .mp-activity) > .wp-block-group__inner-container { display: contents; }

.mp-section .wp-block-columns { gap: clamp(2rem, 5vw, 4.5rem); }

body .entry-content .mp-title {
	font-size: clamp(2rem, 4.2vw, 3rem);
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -0.015em;
	color: var(--mp-rojo);
	margin: 0 0 1.25rem;
}
.mp-title::after {
	content: "";
	display: block;
	width: 4.5rem;
	height: 5px;
	margin-top: 0.9rem;
	border-radius: 3px;
	background: var(--mp-degradado);
}

.mp-section p { line-height: 1.7; }
.mp-intro {
	font-size: 1.125rem;
	max-width: 44em;
	margin-bottom: 2.25rem;
}
.mp-small { font-size: 0.9rem; }

/* ==========================================================================
   6. Botones
   ========================================================================== */

body .entry-content .mp-btn .wp-block-button__link {
	font-family: var(--mp-font);
	font-weight: 700;
	font-size: 1rem;
	line-height: 1.2;
	letter-spacing: 0.02em;
	padding: 1em 1.8em;
	border-radius: 999px;
	border: 2px solid transparent;
	text-decoration: none;
	transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

body .entry-content .mp-btn--primary .wp-block-button__link {
	background-color: var(--mp-cian);
	border-color: var(--mp-cian);
	color: var(--mp-cian-tinta);
}
body .entry-content .mp-btn--primary .wp-block-button__link:hover,
body .entry-content .mp-btn--primary .wp-block-button__link:focus {
	background-color: var(--mp-cian-tinta);
	border-color: var(--mp-cian-tinta);
	color: var(--mp-cian);
}

body .entry-content .mp-btn--outline .wp-block-button__link {
	background-color: transparent;
	border-color: var(--mp-rojo);
	color: var(--mp-rojo);
}
body .entry-content .mp-btn--outline .wp-block-button__link:hover,
body .entry-content .mp-btn--outline .wp-block-button__link:focus {
	background-color: var(--mp-rojo);
	color: var(--mp-crema);
}

body .entry-content .mp-btn--light .wp-block-button__link {
	background-color: transparent;
	border-color: var(--mp-crema);
	color: var(--mp-crema);
}
body .entry-content .mp-btn--light .wp-block-button__link:hover,
body .entry-content .mp-btn--light .wp-block-button__link:focus {
	background-color: var(--mp-crema);
	color: var(--mp-gris-osc);
}

/* ==========================================================================
   7. Portada (hero)
   ========================================================================== */

.mp-hero {
	position: relative;
	padding-top: clamp(2.5rem, 6vw, 5rem);
	padding-bottom: clamp(3rem, 7vw, 5.5rem);
}
.mp-hero::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 8px;
	background: var(--mp-degradado);
}

body .entry-content .mp-hero__title {
	font-size: clamp(3rem, 7.6vw, 6.25rem);
	font-weight: 800;
	line-height: 0.92;
	letter-spacing: -0.035em;
	color: var(--mp-rojo);
	margin: 0 0 1rem;
	text-wrap: balance;
}

.mp-hero__edition {
	font-size: clamp(1.1rem, 2vw, 1.45rem);
	font-weight: 700;
	letter-spacing: 0.06em;
	color: var(--mp-oro);
	margin: 0 0 2rem;
}

.mp-hero__facts {
	list-style: none;
	margin: 0 0 2rem;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}
.mp-hero__facts li {
	margin: 0;
	padding: 0.1rem 0 0.1rem 0.9rem;
	border-left: 4px solid var(--mp-rojo);
	font-size: 0.9rem;
	line-height: 1.45;
}
.mp-hero__facts li:nth-child(2) { border-left-color: var(--mp-cian); }
.mp-hero__facts li:nth-child(3) { border-left-color: var(--mp-oro); }
.mp-hero__facts strong {
	display: block;
	font-size: 1rem;
	color: var(--mp-gris-osc);
}

.mp-hero__lead {
	font-size: 1.1rem;
	max-width: 36em;
	margin-bottom: 2rem;
}

.mp-hero__actions { margin-bottom: 1.25rem; }
body .entry-content .mp-hero__actions .wp-block-button__link {
	font-size: 1.125rem;
	padding: 1.05em 2.6em;
	letter-spacing: 0.08em;
}

.mp-countdown {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	margin: 0 0 1.5rem;
	font-weight: 600;
	color: var(--mp-gris-osc);
}
.mp-countdown::before {
	content: "";
	width: 0.7rem;
	height: 0.7rem;
	border-radius: 50%;
	background: var(--mp-cian);
	box-shadow: 0 0 0 5px rgba(0, 172, 193, 0.18);
}
.mp-countdown[hidden] { display: none; }
.mp-countdown strong { color: var(--mp-rojo); }

.mp-quicklinks {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.75rem;
	margin: 0;
	font-weight: 600;
	font-size: 0.95rem;
}
.mp-quicklinks a {
	color: var(--mp-gris-osc);
	text-decoration: underline;
	text-decoration-color: var(--mp-oro);
	text-decoration-thickness: 2px;
	text-underline-offset: 0.35em;
}
.mp-quicklinks a:hover { color: var(--mp-rojo); text-decoration-color: var(--mp-rojo); }

/* El logo sobre un halo cian: el "punto de encuentro" de las dos agujas. */
.mp-hero__visual {
	display: flex;
	justify-content: center;
}
.mp-hero__logo {
	position: relative;
	margin: 0;
	width: min(100%, 26rem);
	aspect-ratio: 1;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background:
		radial-gradient(circle at 50% 50%, rgba(0, 172, 193, 0.16) 0%, rgba(0, 172, 193, 0.06) 45%, transparent 70%);
}
.mp-hero__logo::before {
	content: "";
	position: absolute;
	inset: 6%;
	border-radius: 50%;
	border: 1px dashed rgba(198, 149, 80, 0.55);
}
.mp-hero__logo img {
	position: relative;
	width: 74%;
	height: auto;
}

/* ==========================================================================
   8. Qué es
   ========================================================================== */

.mp-about { background-color: var(--mp-crema-2); }

.mp-lead {
	font-size: clamp(1.15rem, 1.8vw, 1.35rem);
	line-height: 1.6;
	font-weight: 500;
	color: var(--mp-gris-osc);
}

.mp-expect {
	align-self: flex-start;
	padding: 2rem;
	background: #fff;
	border-radius: 8px;
	border-top: 5px solid var(--mp-cian);
}
body .entry-content .mp-expect h3 {
	font-size: 1.2rem;
	font-weight: 700;
	margin: 0 0 1.25rem;
}
.mp-expect__list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.mp-expect__list li {
	position: relative;
	margin: 0 0 1.1rem;
	padding-left: 1.9rem;
	line-height: 1.6;
}
.mp-expect__list li:last-child { margin-bottom: 0; }
.mp-expect__list li::before {
	content: "";
	position: absolute;
	left: 0.2rem;
	top: 0.5em;
	width: 0.65rem;
	height: 0.65rem;
	border-radius: 50%;
	background: var(--mp-cian);
	box-shadow: 0 0 0 4px rgba(0, 172, 193, 0.18);
}

/* ==========================================================================
   9. Actividades
   ========================================================================== */

.mp-activity-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(15.5rem, 1fr));
	gap: 2.5rem 2rem;
}
.mp-activity-grid .mp-activity { margin: 0 !important; }

.mp-activity {
	padding-top: 1.1rem;
	border-top: 4px solid var(--mp-rojo);
}
.mp-activity:nth-child(3n + 2) { border-top-color: var(--mp-cian); }
.mp-activity:nth-child(3n) { border-top-color: var(--mp-oro); }
body .entry-content .mp-activity h3 {
	font-size: 1.15rem;
	font-weight: 700;
	line-height: 1.3;
	margin: 0 0 0.5rem;
}
.mp-activity p { margin: 0; font-size: 0.975rem; line-height: 1.6; }

/* Desafío EMPRESA: se mantiene en secreto hasta el día del evento */
.mp-activity--secret {
	position: relative;
	padding: 1.1rem 1.25rem 1.25rem;
	border: 2px dashed var(--mp-gris);
	border-radius: 8px;
	background: var(--mp-crema-2);
}
.mp-activity--secret::after {
	content: "?";
	position: absolute;
	top: -1rem;
	right: 1rem;
	width: 2rem;
	height: 2rem;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: var(--mp-rojo);
	color: var(--mp-crema);
	font-weight: 800;
}

/* ==========================================================================
   10. Programa (franja roja)
   ========================================================================== */

.mp-schedule {
	background-color: var(--mp-rojo);
	color: var(--mp-crema);
}
body .entry-content .mp-schedule .mp-title { color: var(--mp-crema); }
.mp-schedule .mp-title::after { background: var(--mp-crema); opacity: 0.9; }
.mp-schedule .mp-intro { color: rgba(253, 253, 246, 0.85); }

.mp-timeline {
	list-style: none;
	margin: 0;
	padding: 0;
	max-width: 52rem;
	position: relative;
}
.mp-timeline::before {
	content: "";
	position: absolute;
	top: 0.5rem;
	bottom: 0.5rem;
	left: 0.4rem;
	width: 2px;
	background: rgba(253, 253, 246, 0.35);
}
.mp-timeline li {
	position: relative;
	display: grid;
	grid-template-columns: 9.5rem 1fr;
	gap: 1.5rem;
	margin: 0;
	padding: 0.95rem 0 0.95rem 2.25rem;
	border-bottom: 1px solid rgba(253, 253, 246, 0.18);
	font-size: 1.05rem;
	line-height: 1.5;
}
.mp-timeline li:last-child { border-bottom: 0; }
.mp-timeline li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 1.3rem;
	width: 0.85rem;
	height: 0.85rem;
	border-radius: 50%;
	background: var(--mp-cian);
	box-shadow: 0 0 0 4px var(--mp-rojo), 0 0 0 6px rgba(253, 253, 246, 0.5);
}
.mp-timeline strong {
	font-weight: 700;
	color: #fff;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

/* ==========================================================================
   11. Concursos y bases
   ========================================================================== */

.mp-deadline {
	max-width: 44em;
	margin: -0.75rem 0 2.5rem;
	padding: 1rem 1.25rem;
	border-left: 5px solid var(--mp-rojo);
	background: var(--mp-crema-2);
	border-radius: 0 6px 6px 0;
}
.mp-deadline strong { color: var(--mp-rojo); }

/* Tarjetas de resumen: misma altura siempre; ya no se abren por dentro,
   así ninguna cambia de tamaño. Las bases completas van debajo, a todo el ancho. */
.mp-section .mp-contest-grid { gap: 1.5rem; margin-bottom: 0; }

.mp-section .mp-contest {
	display: flex;
	flex-direction: column;
	padding: 1.75rem 1.5rem 1.5rem;
	background: #fff;
	border: 1px solid var(--mp-linea);
	border-radius: 8px;
}
body .entry-content .mp-contest h3 {
	font-size: 1.2rem;
	font-weight: 800;
	line-height: 1.3;
	color: var(--mp-rojo);
	margin: 0 0 1rem;
}
.mp-contest__facts {
	list-style: none;
	margin: 0 0 1.25rem;
	padding: 0;
}
.mp-contest__facts li {
	margin: 0;
	padding: 0.6rem 0;
	border-top: 1px solid var(--mp-linea);
	font-size: 0.95rem;
	line-height: 1.5;
}
.mp-contest__facts strong { color: var(--mp-gris-osc); }

/* El enlace se queda abajo del todo en las tres tarjetas, alineado. */
.mp-section .mp-contest .mp-contest__link {
	margin: auto 0 0;
	padding-top: 1rem;
	border-top: 1px solid var(--mp-linea);
}
.mp-contest__link a {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	font-weight: 700;
	color: var(--mp-rojo);
	text-decoration: none;
}
.mp-contest__link a::after {
	content: "";
	width: 0.5rem;
	height: 0.5rem;
	margin-top: -0.25rem;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
}
.mp-contest__link a:hover,
.mp-contest__link a:focus { color: var(--mp-rojo-osc); text-decoration: underline; text-underline-offset: 0.3em; }

/* Bases completas: un desplegable por concurso, a todo el ancho */
body .entry-content .mp-bases-title {
	font-size: 1.35rem;
	font-weight: 800;
	color: var(--mp-gris-osc);
	margin: 3rem 0 1rem;
}

.mp-section .mp-bases {
	margin: 0 0 0.75rem;
	background: #fff;
	border: 1px solid var(--mp-linea);
	border-left: 5px solid var(--mp-rojo);
	border-radius: 8px;
	scroll-margin-top: calc(var(--mp-cabecera) + 1rem);
}
.mp-section .mp-bases:nth-of-type(3n + 2) { border-left-color: var(--mp-cian); }
.mp-section .mp-bases:nth-of-type(3n) { border-left-color: var(--mp-oro); }
.mp-bases summary {
	cursor: pointer;
	list-style: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1.1rem 1.5rem;
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--mp-gris-osc);
}
.mp-bases summary:hover { color: var(--mp-rojo); }
.mp-bases summary::-webkit-details-marker { display: none; }
.mp-bases summary::after {
	content: "";
	flex: none;
	width: 0.6rem;
	height: 0.6rem;
	border-right: 2px solid var(--mp-rojo);
	border-bottom: 2px solid var(--mp-rojo);
	transform: rotate(45deg);
	transition: transform 0.2s ease;
}
.mp-bases[open] summary { color: var(--mp-rojo); border-bottom: 1px solid var(--mp-linea); }
.mp-bases[open] summary::after { transform: rotate(-135deg); }
.mp-bases > :not(summary) {
	max-width: 50rem;
	margin-left: 1.5rem;
	margin-right: 1.5rem;
}
.mp-bases > p {
	font-size: 0.95rem;
	line-height: 1.65;
	margin-top: 1rem;
	margin-bottom: 0;
}
.mp-bases > :last-child { padding-bottom: 1.5rem; }
.mp-bases p strong { color: var(--mp-gris-osc); }

@media (prefers-reduced-motion: reduce) {
	.mp-bases summary::after { transition: none; }
}

.mp-secret-note {
	margin: 2rem 0 1.5rem;
	font-size: 0.95rem;
	color: var(--mp-oro-texto);
	font-weight: 600;
}

/* ==========================================================================
   12. Inscripción
   ========================================================================== */

.mp-signup { background-color: var(--mp-crema-2); }

.mp-section .mp-signup__card {
	position: relative;
	gap: clamp(2rem, 5vw, 4rem);
	margin: 0;
	padding: clamp(1.75rem, 4vw, 3rem);
	background: #fff;
	border: 1px solid var(--mp-linea);
	border-radius: 10px;
	overflow: hidden;
}
.mp-signup__card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 6px;
	background: var(--mp-degradado);
}

.mp-signup__lead {
	font-size: clamp(1.1rem, 1.6vw, 1.25rem);
	font-weight: 600;
	line-height: 1.55;
	color: var(--mp-gris-osc);
	margin: 0 0 1.5rem;
	max-width: 32em;
}

.mp-steps {
	list-style: none;
	counter-reset: mp-step;
	margin: 0;
	padding: 0;
}
.mp-steps li {
	counter-increment: mp-step;
	position: relative;
	margin: 0 0 1rem;
	padding-left: 3rem;
	min-height: 2.1rem;
	display: flex;
	align-items: center;
	line-height: 1.5;
}
.mp-steps li:last-child { margin-bottom: 0; }
.mp-steps li::before {
	content: counter(mp-step);
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 2.1rem;
	height: 2.1rem;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: var(--mp-rojo);
	color: var(--mp-crema);
	font-weight: 800;
	font-size: 0.95rem;
}

.mp-signup__action {
	text-align: center;
	padding: clamp(1.5rem, 3vw, 2.25rem);
	background: var(--mp-crema);
	border-radius: 8px;
}
.mp-signup__buttons { justify-content: center; margin-bottom: 1rem; }
body .entry-content .mp-btn--big .wp-block-button__link {
	font-size: 1.1rem;
	padding: 1.15em 2em;
}
.mp-signup__note {
	margin: 0;
	font-size: 0.9rem;
	line-height: 1.55;
}
.mp-signup__note strong { color: var(--mp-rojo); }

/* ==========================================================================
   13. Información práctica
   ========================================================================== */

.mp-info__list {
	list-style: none;
	margin: 0 0 2rem;
	padding: 0;
}
.mp-info__list li {
	margin: 0;
	padding: 0.9rem 0;
	border-bottom: 1px solid var(--mp-linea);
	line-height: 1.5;
}
.mp-info__list li:first-child { padding-top: 0; }
.mp-info__list strong {
	display: block;
	font-size: 0.85rem;
	color: var(--mp-oro-texto);
	letter-spacing: 0.02em;
	margin-bottom: 0.15rem;
}

.mp-map {
	aspect-ratio: 4 / 3;
	border-radius: 8px;
	overflow: hidden;
	border: 1px solid var(--mp-linea);
	background: var(--mp-crema-2);
}
.mp-map iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

/* ==========================================================================
   14. Contacto (franja gris) y pie de Astra
   ========================================================================== */

.mp-contact {
	background-color: var(--mp-gris);
	color: var(--mp-crema);
}
body .entry-content .mp-contact .mp-title { color: var(--mp-crema); }
.mp-contact .mp-intro { color: rgba(253, 253, 246, 0.9); }
.mp-contact__actions { gap: 1rem; margin-bottom: 2.5rem; }
body .entry-content .mp-contact__actions .wp-block-button__link { word-break: break-word; }
.mp-organizer {
	margin: 0;
	padding-top: 1.5rem;
	border-top: 1px solid rgba(253, 253, 246, 0.25);
	font-size: 0.95rem;
}
.mp-organizer strong { color: #fff; }

#colophon,
#colophon .site-primary-footer-wrap,
#colophon .site-above-footer-wrap,
#colophon .site-below-footer-wrap {
	background-color: var(--mp-gris-osc);
	color: rgba(253, 253, 246, 0.8);
	border-top: 0;
}
#colophon a { color: var(--mp-crema); }
#colophon a:hover { color: var(--mp-cian); }

/* ==========================================================================
   15. Responsive
   ========================================================================== */

@media (max-width: 921px) {
	:root { --mp-cabecera: 76px; }
	#masthead .custom-logo-link img { height: 58px !important; max-height: 58px !important; }

}

@media (max-width: 781px) {
	.mp-hero__visual { order: -1; }
	.mp-hero__logo { width: min(62vw, 15rem); }
	.mp-hero__grid.wp-block-columns { gap: 1rem; }
	.mp-hero__facts { grid-template-columns: 1fr; gap: 0.75rem; }
	.mp-timeline li { grid-template-columns: 1fr; gap: 0.2rem; }
	.mp-expect { padding: 1.5rem; }
	body .entry-content .mp-btn--big .wp-block-button__link { font-size: 1rem; padding: 1em 1.4em; }
}
