/* ============================================================
   MrPedu v2 — main.css
   Editorial deportiva: Arena + Tinta + Naranja. Mobile-first.
   ============================================================ */

:root {
  --mp-primary: var(--wp--preset--color--primary, #F15A24);
  --mp-ink: var(--wp--preset--color--secondary, #0D1B2A);
  --mp-arena: var(--wp--preset--color--arena, #FAF6F0);
  --mp-grey: var(--wp--preset--color--grey, #EDEDED);
  --mp-white: #fff;
  --mp-success: var(--wp--preset--color--success, #1E7E46);
  --mp-radius: 0;
  --mp-radius-s: 0;
  --mp-shadow: 0 18px 45px -22px rgba(13, 27, 42, .35);
}

/* ---------- base ---------- */

body { -webkit-font-smoothing: antialiased; }

a { text-decoration: none; }
a:hover { text-decoration: none; }

.wp-site-blocks { overflow-x: clip; }

/* ---------- botones: misma altura y padding en todas las variantes ---------- */

.wp-block-button__link {
  padding: 15px 38px;
  border: 2px solid var(--mp-primary);
  border-radius: var(--mp-radius-s);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
}
.wp-block-button__link:hover {
  background-color: var(--mp-ink);
  border-color: var(--mp-ink);
  color: #fff !important;
}
.is-style-outline .wp-block-button__link {
  background: transparent;
  border: 2px solid var(--mp-ink);
  color: var(--mp-ink);
  padding: 15px 38px;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
}
/* Variante clara para usar sobre fondos oscuros (sustituye estilos inline) */
.is-style-outline.is-light .wp-block-button__link { color: #fff; border-color: #fff; }
.is-style-outline.is-light .wp-block-button__link:hover { background: var(--mp-primary); border-color: var(--mp-primary); color: #fff; }
.is-style-outline .wp-block-button__link:hover {
  background: var(--mp-primary);
  border-color: var(--mp-primary);
  color: #fff !important;
}

/* Títulos con acento */
.mp-kicker {
  display: inline-block;
  font-size: 13px; font-weight: 700;
  letter-spacing: .18em; text-transform: uppercase;
  color: var(--mp-primary);
  margin-bottom: 10px;
}
.mp-h-display {
  font-size: clamp(3rem, 9vw, 6.5rem);
  line-height: .95;
  text-wrap: balance;
}
.mp-lead { font-size: 1.2rem; max-width: 62ch; margin-left: 0 !important; margin-right: auto; text-align: left; }

/* Ritmo vertical del contenido de páginas y entradas */
.wp-block-post-content > h2 { margin-top: clamp(2.4rem, 5vw, 3.4rem); }
.wp-block-post-content > .mp-kicker:first-child { margin-top: 0; }

/* ---------- header ---------- */

.mp-header {
  position: sticky; top: 0; z-index: 50;
  background: rgba(250, 246, 240, .92);
  backdrop-filter: blur(10px);
  /* Sin transicion de color: el cambio es neto e instantaneo (sin parpadeos) */
  transition: box-shadow .25s ease;
}
/* Al hacer scroll: header solido en tinta + barra superior plegada */
.mp-header.is-scrolled {
  background: var(--mp-ink);
  backdrop-filter: none;
  color: #fff;
  box-shadow: 0 14px 34px -18px rgba(0, 0, 0, .55);
}
.mp-header.is-scrolled a { color: #fff; }
.mp-header.is-scrolled a:hover { color: var(--mp-primary); }
.mp-header.is-scrolled .mp-brand a span { color: var(--mp-primary); }
.mp-header.is-scrolled .wp-block-navigation__responsive-container-open { color: #fff; }
.mp-header.is-scrolled .mp-header-main .wp-block-button__link {
  border-color: #fff;
  color: #fff;
  background: transparent;
}
.mp-header.is-scrolled .mp-header-main .wp-block-button__link:hover {
  border-color: var(--mp-primary);
  background: var(--mp-primary);
  color: #fff !important;
}
.mp-utility {
  max-height: 60px;
  overflow: hidden;
  padding-block: 9px;
  transition: max-height .35s ease, opacity .3s ease;
}
.mp-header.is-scrolled .mp-utility {
  max-height: 0;
  opacity: 0;
  padding-block: 0;
}
@media (prefers-reduced-motion: reduce) {
  .mp-header, .mp-utility { transition: none; }
}
.mp-utility {
  font-size: 13px; font-weight: 600;
}
/* Header a ancho completo: las filas ocupan el viewport con gutters fluidos */
.mp-header > .alignfull {
  max-width: none;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-inline: clamp(16px, 4vw, 54px);
}
.mp-utility {
  padding-block: 9px;
}
.mp-utility .is-layout-flex {
  gap: clamp(14px, 2vw, 28px);
  align-items: center;
}
.mp-utility p { margin: 0; }
.mp-header-main {
  padding-block: 12px 14px;
}
.mp-header-main > .wp-block-group {
  gap: clamp(16px, 3vw, 40px);
  align-items: center;
}
.mp-header-main .mp-brand p { margin: 0; }
.mp-header .wp-block-navigation {
  gap: clamp(14px, 2vw, 30px);
}
.mp-header .wp-block-navigation-item__content {
  font-weight: 500;
}
@media (max-width: 1100px) {
  .mp-header .wp-block-navigation { gap: 18px; }
}
.mp-utility a { opacity: .75; }
.mp-utility a:hover { opacity: 1; color: var(--mp-primary); }
.mp-brand a {
  font-family: var(--wp--preset--font-family--anton);
  font-size: 1.6rem; letter-spacing: .04em;
  text-decoration: none;
}
.mp-brand a span { color: var(--mp-primary); }
.mp-header .wp-block-navigation__responsive-container-open { color: var(--mp-ink); }

/* ---------- hero ---------- */

.mp-hero { border-radius: 0; overflow: hidden; }
/* El hero de la home va pegado al header, sin margen superior */
.wp-site-blocks > .mp-hero { margin-block-start: 0; }
.mp-hero .wp-block-cover { border-radius: 0; min-height: 92vh; }
/* Interior del hero a ancho de contenido */
.mp-hero .wp-block-cover__inner-container {
  max-width: var(--wp--style--global--content-size, 1140px);
  margin-inline: auto;
}
.mp-hero-badge {
  display: inline-block;
  border: 2px solid var(--mp-primary);
  color: var(--mp-white);
  border-radius: 999px;
  padding: 6px 18px;
  font-size: 13px; font-weight: 700; letter-spacing: .2em;
}

/* ---------- secciones ---------- */

.mp-section {
  max-width: var(--wp--style--global--content-size, 1140px);
  margin-inline: auto;
  padding-block: clamp(3rem, 7vw, 6rem);
}
/* Ritmo entre bloques de segundo nivel dentro de secciones/plantillas */
.mp-section > h2:not(:first-child) { margin-top: clamp(2.4rem, 5vw, 3.4rem); }
.mp-section-head { max-width: var(--wp--style--global--content-size, 1140px); margin-bottom: var(--wp--preset--spacing--50); margin-left: auto !important; margin-right: auto !important; text-align: left; }
.mp-section-head h2 { margin: 0 0 .5rem; }
.mp-section-head p { margin: 0; opacity: .8; }
.mp-cta-row { margin-top: 2rem; }

/* ---------- grids & cards ---------- */

.mp-grid { display: grid; gap: var(--wp--preset--spacing--40); }
.mp-grid-1 { grid-template-columns: 1fr; }
.mp-grid-3, .mp-grid-4 { grid-template-columns: 1fr; }
@media (min-width: 720px) {
  .mp-grid-3 { grid-template-columns: repeat(2, 1fr); }
  .mp-grid-4 { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
  .mp-grid-3 { grid-template-columns: repeat(3, 1fr); }
  .mp-grid-4 { grid-template-columns: repeat(4, 1fr); }
}

.mp-card {
  background: var(--mp-white);
  border-radius: var(--mp-radius);
  overflow: hidden;
  box-shadow: var(--mp-shadow);
  border: 1px solid rgba(13, 27, 42, .07);
  transition: transform .25s ease, box-shadow .25s ease;
  display: flex;
  flex-direction: column;
}
/* Solo en queries: el li estira y la tarjeta lo rellena (altura definida, sin ciclos) */
.wp-block-post-template > li > .mp-card { height: 100%; }
.mp-card:hover { transform: translateY(-5px); }
.mp-card-link {
  display: flex; flex-direction: column; flex: 1 1 auto; min-width: 0;
  text-decoration: none; color: inherit;
}
.mp-card-link:hover { color: inherit; }
.mp-card-media { aspect-ratio: 16/10; overflow: hidden; background: var(--mp-ink); }
.mp-card-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mp-media-fallback {
  display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, #0D1B2A 0%, #243b53 60%, #F15A24 130%);
}
.mp-media-fallback span {
  font-family: var(--wp--preset--font-family--anton);
  color: rgba(255, 255, 255, .85);
  letter-spacing: .25em; font-size: 1.1rem;
}
.mp-card-body { padding: var(--wp--preset--spacing--40); display: flex; flex-direction: column; gap: 10px; }
.mp-card-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.mp-card-title { margin: 0; font-size: 1.45rem; line-height: 1.1; }
.mp-card:hover .mp-card-title { color: var(--mp-primary); }
.mp-card-objetivo { margin: 0; opacity: .8; font-size: 1rem; }
.mp-card-fecha { font-size: .85rem; opacity: .65; font-weight: 600; }
.mp-card-cta { font-weight: 700; color: var(--mp-primary); margin-top: 4px; }

.mp-badge {
  display: inline-block;
  font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  background: var(--mp-ink); color: var(--mp-white);
  border-radius: 999px; padding: 5px 14px; width: fit-content;
}
.mp-badge.is-progreso { background: var(--mp-primary); }
.mp-badge.is-completado { background: var(--mp-success); }

/* ---------- progreso ---------- */

.mp-progress {
  height: 10px; border-radius: 999px;
  background: rgba(13, 27, 42, .1);
  overflow: hidden;
}
.mp-progress span {
  display: block; height: 100%; width: var(--mp-pct, 0%);
  background: linear-gradient(90deg, var(--mp-primary), #ff8a4c);
  border-radius: 999px;
}
/* Ritmo de titulares dentro del contenido (paginas de deporte, legales, contacto) */
.mp-section .entry-content > h2:not(:first-child) { margin-top: var(--wp--preset--spacing--50); }
/* Altura uniforme en grids de bloques custom */
.mp-reto-card, .mp-lugar-card { height: 100%; }
.mp-pin { vertical-align: -2px; color: var(--mp-primary); }

/* ---------- stats ---------- */

.mp-stat {
  background: var(--mp-ink); color: var(--mp-white);
  border-radius: var(--mp-radius);
  padding: 26px 22px;
  display: flex; flex-direction: column; gap: 6px;
}
.mp-stat-valor {
  font-family: var(--wp--preset--font-family--anton);
  font-size: 2.4rem; line-height: 1; color: var(--mp-primary);
}
.mp-stat-valor small { font-size: 1rem; font-family: var(--wp--preset--font-family--poppins); }
.mp-stat-label { font-size: 1.05rem; }
.mp-stat-fecha { opacity: .65; font-size: .85rem; }

/* ---------- objetivos ---------- */

.mp-objetivos { list-style: none; margin-block-start: var(--wp--style--block-gap, 1.5rem); margin-block-end: 0; padding: 0; display: grid; gap: 16px; }
@media (min-width: 800px) { .mp-objetivos { grid-template-columns: 1fr 1fr; } }
.mp-objetivo {
  display: flex; gap: 16px;
  background: var(--mp-white);
  border-radius: var(--mp-radius-s);
  padding: 20px;
  border: 1px solid rgba(13, 27, 42, .08);
  box-shadow: var(--mp-shadow);
}
.mp-objetivo-icon { font-size: 1.7rem; line-height: 1.2; color: var(--mp-primary); }
.mp-objetivo.is-completado .mp-objetivo-icon { color: var(--mp-success); }
.mp-objetivo-main { flex: 1; display: flex; flex-direction: column; gap: 8px; }
.mp-objetivo-main strong { font-size: 1.1rem; }
.mp-objetivo-main small { opacity: .7; }
.mp-objetivo.is-completado .mp-objetivo-main strong { text-decoration: line-through; text-decoration-color: var(--mp-primary); }
.mp-objetivo-estado { font-weight: 700; text-transform: uppercase; font-size: 12px; letter-spacing: .08em; }

/* ---------- deportes: pasaporte ---------- */

.mp-deporte-card { padding: 26px; text-align: left; }
.mp-deporte-card .mp-card-link {
  align-items: flex-start; gap: 12px;
}
a.mp-card-link:hover .mp-card-title { color: var(--mp-primary); }
.mp-deporte-icono {
  font-size: 2rem; line-height: 1;
  width: 64px; height: 64px;
  display: flex; align-items: center; justify-content: center;
  background: var(--mp-arena);
  border: 1px solid rgba(13, 27, 42, .1);
  border-radius: var(--mp-radius-s);
}
.mp-deporte-card .mp-card-title { font-size: 1.5rem; }
.mp-deporte-card .mp-card-cta { margin-top: auto; padding-top: 6px; }
.mp-deporte-card:not(.is-futuro):hover { border-color: var(--mp-primary); }
.mp-deporte-card.is-futuro {
  border: 2px dashed rgba(13, 27, 42, .22);
  box-shadow: none; background: transparent;
}
.mp-deporte-card.is-futuro:hover { transform: none; }
.mp-deporte-card.is-futuro .mp-deporte-icono { background: rgba(13, 27, 42, .05); filter: grayscale(1); }
.mp-deporte-card.is-futuro .mp-card-cta { color: inherit; opacity: .55; font-weight: 600; }

/* ---------- disciplinas (home) ---------- */

.mp-disciplina {
  border-radius: var(--mp-radius);
  overflow: hidden;
  position: relative;
  isolation: isolate;
  min-height: 300px;
  display: flex; align-items: flex-end;
  padding: 26px;
  color: #fff; text-decoration: none;
  box-shadow: var(--mp-shadow);
}
.mp-disciplina:hover { color: #fff; }
/* Velo oscuro para legibilidad sobre foto */
.mp-disciplina::before {
  content: "";
  position: absolute; inset: 0; z-index: 0;
  border-radius: inherit;
  background: linear-gradient(180deg, rgba(13,27,42,.05) 0%, rgba(13,27,42,.78) 100%);
}
.mp-disciplina > div { position: relative; z-index: 1; }
.mp-disciplina h3 { margin: 0; color: #fff; font-size: 2rem; }
.mp-disciplina p { margin: .3rem 0 0; opacity: .85; }
.mp-disciplina::after {
  content: "\2192";
  position: absolute; top: 20px; right: 24px; z-index: 1;
  font-size: 1.6rem; color: var(--mp-primary);
  transition: transform .25s ease;
}
.mp-disciplina:hover::after { transform: translateX(6px); }
.mp-disc-fitness { background: linear-gradient(160deg, #0D1B2A 20%, #3a2b23 70%, #F15A24 140%); }
.mp-disc-running { background: linear-gradient(160deg, #0D1B2A 20%, #1d3a2a 70%, #2fbf71 140%); }
.mp-disc-escalada { background: linear-gradient(160deg, #0D1B2A 20%, #3d3d3d 70%, #8a8a8a 160%); }
.mp-disc-snow { background: linear-gradient(160deg, #0D1B2A 20%, #274b63 70%, #9fd8ef 150%); }
.mp-disc-natacion { background: linear-gradient(160deg, #0D1B2A 20%, #123a4d 70%, #37b6ce 150%); }

/* ---------- reto single ---------- */

.mp-meta-grid {
  display: grid; gap: 14px; margin-block-end: 0;
  background: var(--mp-white);
  border-radius: var(--mp-radius);
  padding: 26px;
  border: 1px solid rgba(13, 27, 42, .08);
  box-shadow: var(--mp-shadow);
}
@media (min-width: 800px) { .mp-meta-grid { grid-template-columns: 1fr 1fr; } }
.mp-meta-grid div { display: flex; flex-direction: column; gap: 6px; }
.mp-meta-grid dt { font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; opacity: .6; }
.mp-meta-grid dd { margin: 0; font-size: 1.05rem; font-weight: 600; }

/* Breadcrumbs */
.mp-breadcrumbs {
  font-size: .9rem;
  font-weight: 500;
  opacity: .8;
  margin-bottom: 1.2rem;
}
.mp-breadcrumbs a { text-decoration: none; }
.mp-breadcrumbs a:hover { color: var(--mp-primary); opacity: 1; }
.mp-breadcrumbs-sep { opacity: .5; margin-inline: 6px; }

/* ---------- diario ---------- */

.mp-post-meta { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; font-size: .95rem; opacity: .85; }

/* Franja visual siempre presente (con o sin imagen destacada) */
.mp-mediawrap {
  position: relative;
  width: 100%;
  margin-inline: 0;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  border-radius: var(--mp-radius-s) var(--mp-radius-s) 0 0;
  background: linear-gradient(135deg, #0D1B2A 0%, #243b53 60%, #F15A24 130%);
}
.mp-mediawrap::after {
  content: "MRPEDU";
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--wp--preset--font-family--anton);
  letter-spacing: .25em; font-size: 1.1rem;
  color: rgba(255, 255, 255, .85);
}
.mp-mediawrap figure { margin: 0; height: 100%; }
.mp-mediawrap img {
  position: relative; z-index: 1;
  width: 100% !important; height: 100% !important; object-fit: cover;
}

/* Tarjetas uniformes pensadas para escalar a decenas de entradas */
.mp-diario-card { display: flex; flex-direction: column; }
.mp-diario-card .mp-card-body { flex: 1; }
.mp-diario-card .mp-card-title,
.mp-diario-card .wp-block-post-title {
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden;
}
.mp-diario-card .wp-block-post-excerpt__excerpt,
.mp-diario-card .mp-card-objetivo {
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical;
  overflow: hidden;
}
.mp-diario-card .mp-card-cta { margin-top: auto; padding-top: 10px; }

/* Paginacion del archivo */
.wp-block-query-pagination { gap: 8px; align-items: center; margin-top: 2.5rem; }
.wp-block-query-pagination .page-numbers {
  display: inline-block; min-width: 44px; text-align: center;
  padding: 8px 12px;
  border: 2px solid rgba(13, 27, 42, .15); border-radius: var(--mp-radius-s);
  font-weight: 700; text-decoration: none;
}
.wp-block-query-pagination .page-numbers.current {
  background: var(--mp-ink); border-color: var(--mp-ink); color: #fff;
}
.wp-block-query-pagination a.page-numbers:hover { border-color: var(--mp-primary); color: var(--mp-primary); }

/* ---------- footer ---------- */

.mp-footer {
  background: var(--mp-ink); color: var(--mp-white);
  border-radius: 0;
  margin-top: clamp(3rem, 7vw, 6rem);
}
.mp-footer h3, .mp-footer h4 { color: var(--mp-primary); }
.mp-footer a { color: var(--mp-white); text-decoration: none; opacity: .85; }
.mp-footer a:hover { opacity: 1; color: var(--mp-primary); }
/* Contenido a ancho completo, alineado con el header */
.mp-footer-inner {
  max-width: none;
  padding: clamp(2.8rem, 5vw, 4.5rem) clamp(16px, 4vw, 54px) 1.6rem;
}
.mp-footer-cols {
  gap: clamp(2rem, 4vw, 4.5rem) !important;
  margin-bottom: clamp(2rem, 4vw, 3rem);
}
.mp-footer-brand h3 { font-size: 1.9rem; margin: 0 0 .9rem; }
.mp-footer-brand p { max-width: 38ch; opacity: .8; line-height: 1.7; margin: 0; }
.mp-footer h4 {
  font-size: 1rem; letter-spacing: .12em; text-transform: uppercase;
  margin: 0 0 1.1rem;
}
.mp-footer-links { gap: 4px; }
.mp-footer-links p { margin: 0; }
.mp-footer-links a {
  display: inline-block; padding-block: 5px;
  font-weight: 500; font-size: 1.02rem;
}
.mp-footer-links a:hover { transform: translateX(4px); }
.mp-footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, .14);
  padding-top: 1.4rem;
  font-size: .9rem; opacity: .75;
  flex-wrap: wrap; gap: 8px 24px;
}
.mp-footer-bottom p { margin: 0; }
.mp-footer-legal { padding: 0; margin: 0; border: none; font-size: .88rem; flex-wrap: wrap; gap: 6px 0; }
.mp-footer-legal p { margin: 0; }
.mp-footer-legal p + p::before { content: "·"; margin: 0 14px; opacity: .4; }
.mp-footer-legal a { text-decoration: none; opacity: .8; }
.mp-footer-legal a:hover { opacity: 1; color: var(--mp-primary); }
.comment-form-rgpd { font-size: .9rem; opacity: .9; }
.comment-form-rgpd input { width: 18px; height: 18px; accent-color: var(--mp-primary); vertical-align: middle; }

/* ---------- pagina de enlaces (linktree) ---------- */
.mp-links-screen {
  min-height: 100dvh;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  padding: clamp(1.2rem, 4vw, 2.5rem) 20px;
  max-width: none;
}
.mp-links-screen .entry-content { width: 100%; }
.mp-links {
  max-width: 560px; margin-inline: auto;
  background: var(--mp-ink); color: #fff;
  border-radius: var(--mp-radius);
  padding: clamp(2rem, 5vw, 3rem) clamp(1.4rem, 4vw, 2.4rem);
  text-align: center;
  box-shadow: var(--mp-shadow);
}
.mp-links-avatar { margin: 0 auto 1rem; }
.mp-links-avatar img {
  width: 112px; height: 112px; object-fit: cover;
  border-radius: 50%; border: 3px solid var(--mp-primary);
}
.mp-links h1 { color: #fff; font-size: 1.8rem; font-family: var(--wp--preset--font-family--poppins); font-weight: 700; margin: 0 0 .3rem; }
.mp-links .mp-links-tag { color: var(--mp-primary); font-weight: 700; font-size: .85rem; letter-spacing: .18em; text-transform: uppercase; margin: 0 0 1.8rem; }
.mp-links .wp-block-buttons { flex-direction: column; align-items: stretch; gap: 12px; }
.mp-links .wp-block-buttons > .wp-block-button { flex: 1 1 auto; }
.mp-links .wp-block-button__link { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; }
.mp-links .wp-block-button__link svg { width: 20px; height: 20px; flex: none; }
.mp-links-sep { display: flex; align-items: center; gap: 12px; opacity: .6; font-size: .8rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; margin: 1.4rem 0 .2rem; }
.mp-links-sep::before, .mp-links-sep::after { content: ""; flex: 1; border-top: 1px solid rgba(255, 255, 255, .2); }

/* ---------- navegacion anterior/siguiente (retos y diario) ---------- */
.mp-post-nav { justify-content: center; gap: 12px 16px; flex-wrap: wrap; }
.mp-post-nav .wp-block-post-navigation-link:empty { display: none; }
.mp-post-nav .wp-block-post-navigation-link {
  margin: 0; border: 2px solid var(--mp-ink); border-radius: var(--mp-radius-s);
  padding: 12px 24px; max-width: 100%; line-height: 1.4;
}
.mp-post-nav .wp-block-post-navigation-link:hover { background: var(--mp-primary); border-color: var(--mp-primary); }
.mp-post-nav .post-navigation-link__label { display: block; font-size: .8rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; opacity: .7; }
.mp-post-nav .wp-block-post-navigation-link a { color: var(--mp-ink); font-weight: 600; font-size: 1rem; }
.mp-post-nav .wp-block-post-navigation-link:hover a, .mp-post-nav .wp-block-post-navigation-link:hover .post-navigation-link__label { color: #fff; opacity: 1; }

/* ---------- captacion: fondos ---------- */

.mp-news-form { max-width: 560px; }
.mp-news-field { display: flex; flex-direction: column; gap: 6px; }
.mp-news-field label { font-weight: 600; font-size: .95rem; }
.mp-news-field input[type="text"],
.mp-news-field input[type="email"] {
  border: 2px solid rgba(13, 27, 42, .2);
  border-radius: var(--mp-radius-s);
  padding: 13px 16px;
  font-size: 1rem;
  font-family: inherit;
  background: #fff;
  width: 100%;
  box-sizing: border-box;
}
.mp-news-field input:focus { outline: none; border-color: var(--mp-primary); }
.mp-news-hp { position: absolute; left: -9999px; top: -9999px; height: 0; overflow: hidden; }
.mp-news-rgpd { font-size: .9rem; opacity: .85; }
.mp-news-rgpd input { width: 18px; height: 18px; accent-color: var(--mp-primary); }
.mp-news-form button { cursor: pointer; border: none; }
.mp-news-box {
  background: var(--mp-white);
  border-radius: var(--mp-radius);
  padding: clamp(1.8rem, 4vw, 3rem);
  box-shadow: var(--mp-shadow);
  border: 1px solid rgba(13, 27, 42, .07);
  max-width: 720px;
}
.mp-news-box h2 { margin-top: 0; }
.mp-wallpaper-meta {
  display: flex; gap: 10px; align-items: center; flex-wrap: wrap;
  font-size: .95rem; font-weight: 600; opacity: .8;
}

/* ---------- modal de descarga ---------- */

.mp-dl-trigger { margin: 0; }
.mp-dl-trigger button { cursor: pointer; border: none; }

dialog.mp-modal {
  border: none;
  padding: 0;
  border-radius: var(--mp-radius);
  width: min(520px, calc(100vw - 32px));
  max-height: calc(100dvh - 48px);
  background: var(--mp-arena);
  color: var(--mp-ink);
  overflow: hidden auto;
}
dialog.mp-modal::backdrop {
  background: rgba(13, 27, 42, .72);
  backdrop-filter: blur(4px);
}
.mp-modal-body { padding: clamp(1.6rem, 4vw, 2.4rem); position: relative; }
.mp-modal-body > * { margin-block-start: 0; margin-block-end: 0; }
.mp-modal-body .mp-kicker { margin-bottom: 6px; }
.mp-modal-title { margin-bottom: 22px; font-size: clamp(1.5rem, 3vw, 1.9rem); padding-right: 36px; text-wrap: pretty; }
.mp-news-form { display: flex; flex-direction: column; gap: 16px; align-items: stretch; }
.mp-news-form > p { margin: 0; }
.mp-news-form > p:empty,
.mp-news-form br { display: none; }
.mp-news-form button[type="submit"] { margin-top: 6px; }
.mp-news-rgpd label { display: block; position: relative; padding-left: 30px; }
.mp-news-rgpd input[type="checkbox"] { position: absolute; left: 0; top: 2px; margin: 0; }
.mp-modal-body .mp-news-form { margin-top: 0; }
.mp-modal-body .mp-news-form button[type="submit"] { width: 100%; }
.mp-modal-close {
  position: absolute; top: 14px; right: 14px;
  width: 40px; height: 40px;
  border-radius: 50%;
  border: 2px solid rgba(13, 27, 42, .15);
  background: #fff;
  color: var(--mp-ink);
  font-size: 1rem; line-height: 1;
  cursor: pointer;
  transition: all .2s ease;
}
.mp-modal-close:hover { border-color: var(--mp-primary); color: var(--mp-primary); }

/* Hero de ficha de fondo: foto + pitch en 2 columnas (apila en movil por el core) */
.mp-wallpaper-hero { gap: clamp(1.5rem, 4vw, 3rem); margin-bottom: clamp(1.5rem, 4vw, 2.5rem); align-items: center; }
.mp-wallpaper-hero .wp-block-post-featured-image img { width: 100%; height: auto; }
.mp-wallpaper-hero .mp-dl-trigger { margin-top: 1.2rem; }
/* Si no hay destacada, la columna no colapsa: panel de marca */
.mp-wallpaper-hero > .wp-block-column:first-child {
  border-radius: var(--mp-radius);
  background: linear-gradient(135deg, #0D1B2A 0%, #243b53 60%, #F15A24 130%);
  min-height: 340px;
  overflow: hidden;
  position: relative;
}
.mp-wallpaper-hero > .wp-block-column:first-child::after {
  content: "MRPEDU";
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--wp--preset--font-family--anton);
  letter-spacing: .25em; font-size: 1.1rem;
  color: rgba(255, 255, 255, .85);
}
.mp-wallpaper-hero > .wp-block-column:first-child figure,
.mp-wallpaper-hero > .wp-block-column:first-child img { position: relative; z-index: 1; }
.mp-wallpaper-hero .wp-block-post-featured-image { margin: 0; width: 100%; }
.mp-wallpaper-hero .wp-block-post-featured-image img { object-fit: cover; border-radius: var(--mp-radius); }
@media (max-width: 720px) {
  .mp-wallpaper-hero > .wp-block-column:first-child { min-height: 240px; }
}

/* ---------- recursos: tarjetas hub ---------- */

.mp-recurso-card {
  border-radius: var(--mp-radius);
  padding: clamp(1.8rem, 4vw, 2.8rem);
  display: flex; flex-direction: column; gap: 12px;
  height: 100%;
  box-shadow: var(--mp-shadow);
  border: 1px solid rgba(13, 27, 42, .07);
  background: var(--mp-white);
}
.mp-recurso-card > * { margin-block-start: 0; margin-block-end: 0; }
.mp-recurso-card .wp-block-buttons { margin-top: auto; padding-top: 10px; }
.mp-recurso-card.is-dark { background: var(--mp-ink); color: #fff; border-color: transparent; }
.mp-recurso-card.is-dark h3 { color: #fff; }
.mp-recurso-card.is-dark p { opacity: .85; }
.mp-recurso-card.is-soon { border: 2px dashed rgba(13, 27, 42, .25); box-shadow: none; background: transparent; }
.mp-recurso-card.is-soon a { font-weight: 700; }
.mp-recurso-card.is-soon a:hover { color: var(--mp-primary); }

/* Franja de datos flotando sobre la cabecera de deporte */
.mp-stat-strip { margin-top: -70px; position: relative; z-index: 2; }
/* Opción A: fila de metadatos editorial */
.mp-deporte-meta { font-size: 15px; font-weight: 600; letter-spacing: .04em; opacity: .75; }
/* Opción B: hero inmersivo (siempre por debajo de 50vh) */
.mp-deporte-hero { border-radius: 0; }
.mp-deporte-hero.wp-block-cover { min-height: 44vh !important; }
/* Hero a sangre: breakout propio + pegado al menu + contenido abajo + migas integradas */
.mp-deporte-hero.mp-deporte-hero {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
}
.entry-content > .mp-deporte-hero:first-child { margin-top: calc(-1 * clamp(3rem, 7vw, 6rem)); }
/* Si la pagina arranca con hero, el main tampoco aporta margen superior */
main.mp-section:has(> .entry-content > .mp-deporte-hero:first-child) { margin-block-start: 0; }
.mp-deporte-hero .wp-block-cover__inner-container { max-width: var(--wp--style--global--content-size, 1140px); margin-top: auto; margin-inline: auto; margin-bottom: 0; padding-bottom: clamp(2rem, 5vw, 3.5rem); }
.mp-deporte-hero .mp-breadcrumbs { color: rgba(255, 255, 255, .85); margin-bottom: 1.4rem; }
.mp-deporte-hero .mp-breadcrumbs a { color: #fff; }
.mp-deporte-hero .mp-breadcrumbs a:hover { color: var(--mp-primary); }
@media (max-width: 720px) {
  .mp-stat-strip { margin-top: -48px; }
  .mp-deporte-hero.wp-block-cover { min-height: 48vh !important; }
}

/* ---------- miscelanea ---------- */

.mp-empty {
  background: var(--mp-white);
  border: 2px dashed rgba(13, 27, 42, .2);
  border-radius: var(--mp-radius-s);
  padding: 26px; text-align: center; opacity: .75;
}
.mp-insta {
  background: var(--mp-ink); color: #fff;
  border-radius: var(--mp-radius);
  padding: clamp(2rem, 5vw, 4rem);
  text-align: center;
}
.mp-insta h2 { color: #fff; }
.mp-insta .mp-kicker { color: var(--mp-primary); }

/* ---------- menu movil ---------- */

/* Enlaces que solo viven dentro del overlay */
.mp-header .wp-block-navigation .mob-only { display: none; }

/* Boton hamburguesa: tactil y visible */
.mp-header .wp-block-navigation__responsive-container-open {
  padding: 12px;
  color: var(--mp-ink);
}
.mp-header .wp-block-navigation__responsive-container-open svg { width: 30px; height: 30px; }

/* Forzar modo hamburguesa hasta 1024px (el inline no cabe con CTA) */
@media (max-width: 1024px) {
  .mp-header-main .wp-block-buttons { display: none; }
  .mp-header .wp-block-navigation__responsive-container-open { display: flex; }
  .mp-header .wp-block-navigation__responsive-container:not(.has-modal-open):not(.is-menu-open) { display: none; }
}
@media (min-width: 1025px) {
  .mp-header .wp-block-navigation__responsive-container-open { display: none; }
}

/* Overlay a pantalla completa con identidad.
   Ojo: WP lo estiliza con especificidad alta; se iguala (0,5,0) y gana el orden. */
.wp-block-navigation .wp-block-navigation__responsive-container.has-modal-open.is-menu-open:not(.disable-default-overlay) {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100dvh;
  box-sizing: border-box;
  z-index: 100000;
  overflow-y: auto;
  background-color: var(--mp-ink);
  color: #fff;
  padding: 76px clamp(24px, 8vw, 60px) calc(48px + env(safe-area-inset-bottom));
}
/* El core mete padding-top extra al contenido: se anula */
.wp-block-navigation .wp-block-navigation__responsive-container.has-modal-open.is-menu-open:not(.disable-default-overlay) .wp-block-navigation__responsive-container-content {
  padding-top: 0;
}
/* Cerrar siempre visible y nunca recortada (el boton real, no la envoltura) */
.wp-block-navigation .wp-block-navigation__responsive-container.has-modal-open.is-menu-open:not(.disable-default-overlay) .wp-block-navigation__responsive-close {
  position: static;
  margin: 0;
  max-width: none;
  padding: 0;
}
.wp-block-navigation .wp-block-navigation__responsive-container.has-modal-open.is-menu-open:not(.disable-default-overlay) .wp-block-navigation__responsive-container-close {
  position: fixed;
  top: 14px;
  right: 14px;
  z-index: 2;
  color: #fff;
  padding: 14px;
  background: transparent;
  border: 0;
}
.wp-block-navigation .wp-block-navigation__responsive-container.has-modal-open.is-menu-open:not(.disable-default-overlay) .wp-block-navigation__responsive-container-close svg {
  width: 30px;
  height: 30px;
}
/* (estilos del boton de cierre junto a su posicion fija, mas abajo) */
.has-modal-open .wp-block-navigation__responsive-container-content,
.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 0; }
.wp-block-navigation .wp-block-navigation__responsive-container.has-modal-open.is-menu-open:not(.disable-default-overlay) .wp-block-navigation__responsive-container-content {
  align-items: flex-start;
  text-align: left;
}
.wp-block-navigation .wp-block-navigation__responsive-container.has-modal-open.is-menu-open:not(.disable-default-overlay) ul.wp-block-navigation__container {
  flex-direction: column;
  align-items: stretch;
}
.has-modal-open .wp-block-navigation__responsive-container-content ul,
.is-menu-open .wp-block-navigation__responsive-container-content ul {
  gap: 4px;
  align-items: stretch;
  width: 100%;
}
.has-modal-open .mob-only,
.is-menu-open .mob-only { display: block; }
.has-modal-open .wp-block-navigation-item__content,
.is-menu-open .wp-block-navigation-item__content {
  display: block;
  width: 100%;
  text-align: left;
  font-family: var(--wp--preset--font-family--anton);
  font-size: clamp(2rem, 10vw, 3rem);
  line-height: 1.25;
  color: #fff;
  padding-block: 2px;
}
.has-modal-open .wp-block-navigation-item__content:hover,
.has-modal-open .wp-block-navigation-item__content:focus,
.is-menu-open .wp-block-navigation-item__content:hover,
.is-menu-open .wp-block-navigation-item__content:focus { color: var(--mp-primary); }
/* CTA dentro del overlay: boton de verdad, centrado */
.wp-block-navigation .wp-block-navigation__responsive-container.has-modal-open.is-menu-open:not(.disable-default-overlay) .mob-cta .wp-block-navigation-item__content {
  display: block;
  box-sizing: border-box;
  margin: 22px 0 0;
  padding: 16px 36px;
  background: var(--mp-primary);
  border-radius: var(--mp-radius-s);
  font-family: var(--wp--preset--font-family--poppins);
  font-size: 18px;
  font-weight: 600;
  color: #fff;
  text-align: center;
}
.wp-block-navigation .wp-block-navigation__responsive-container.has-modal-open.is-menu-open:not(.disable-default-overlay) .mob-cta .wp-block-navigation-item__content:hover {
  color: #fff;
}
/* Secundarios: mas pequenos y separados */
.has-modal-open .mob-sec .wp-block-navigation-item__content,
.is-menu-open .mob-sec .wp-block-navigation-item__content {
  font-family: var(--wp--preset--font-family--poppins);
  font-size: 17px;
  font-weight: 500;
  opacity: .75;
}
.has-modal-open .mob-sec-first,
.is-menu-open .mob-sec-first {
  margin-top: 26px;
  padding-top: 22px;
  border-top: 1px solid rgba(255, 255, 255, .16);
}

@media (max-width: 1024px) {
  .mp-utility { display: none; }
}
/* Gutters laterales bajo el ancho de contenido */
@media (max-width: 1180px) {
  .mp-section { padding-inline: 20px; }
}
/* Queries del core a 2 columnas en tablet */
@media (max-width: 1023px) {
  .wp-block-post-template.is-layout-grid { grid-template-columns: repeat(2, 1fr); }
}
/* ---------- responsive general ---------- */

@media (max-width: 720px) {
  .mp-hero .wp-block-cover__inner-container { padding-inline: 0; }
  .mp-hero .wp-block-cover { padding-inline: 20px; }
  h1 { font-size: clamp(2.3rem, 11vw, 3.2rem); }
  h2 { font-size: clamp(1.7rem, 8vw, 2.4rem); }
  .mp-h-display { font-size: clamp(2.8rem, 19vw, 4.2rem); }
  .mp-lead { font-size: 1.05rem; }
  .mp-section { padding-block: 2.5rem; }
  .mp-section-head { margin-bottom: 1.6rem; }

  /* Grids a una columna (incluye queries del core) */
  .wp-block-post-template.is-layout-grid { grid-template-columns: 1fr; }
  .mp-objetivos { grid-template-columns: 1fr; }

  /* Botones amplios en movil: lado a lado si caben, apilados si no */
  .wp-block-buttons { width: 100%; }
  .wp-block-buttons > .wp-block-button { flex: 1 1 220px; }
  .wp-block-buttons .wp-block-button__link { display: block; width: 100%; text-align: center; }

  .mp-hero .wp-block-cover { min-height: 88vh; }
  .mp-disciplina { min-height: 220px; }
  .mp-disciplina h3 { font-size: 1.6rem; }
  .mp-stat { padding: 22px 18px; }
  .mp-stat-valor { font-size: 2rem; }
  .mp-header-main { padding-block: 10px 12px; }
  .mp-footer-cols { gap: 2rem !important; }
  .mp-footer-bottom { justify-content: center; text-align: center; }
  .mp-footer-bottom .mp-footer-legal { justify-content: center; }
  .mp-card-body { padding: 20px 18px; }
}
