/* =========================================================================
   Madres sin Tribu — Hoja PRINCIPAL de componentes
   Tema hijo: madresintribu-child (Twenty Twenty-Five / FSE)
   Mobile-first · Accesible · Sin dependencias externas

   ÍNDICE
   1. Variables de marca (:root)
   2. Base (reset suave, tipografía, imágenes)
   3. Accesibilidad (foco, sr-only, reduced-motion, táctil)
   4. Componentes:
      4.1 .mst-hero
      4.2 .mst-btn (+ variantes)
      4.3 .mst-crisis
      4.4 .mst-values / .mst-value-card
      4.5 .mst-help-search
      4.6 .mst-resource-grid / .mst-resource-card
      4.7 .mst-form (+ pasos, progreso, navegación)
      4.8 .mst-tone
   5. Utilidades / contenedores
   ========================================================================= */

/* =========================================================================
   1. VARIABLES DE MARCA
   ========================================================================= */
:root {
  /* Colores de marca (10) */
  --mst-brown:      #B36600;
  --mst-yellow:     #F7C654;
  --mst-blue:       #0085CA;
  --mst-black:      #111111;
  --mst-white:      #FFFFFF;
  --mst-cream:      #FFF8EC;
  --mst-sand:       #F4E2C8;
  --mst-soft-blue:  #E6F6FC;
  --mst-soft-green: #EAF4EA;
  --mst-text:       #2B2118;

  /* Variantes de apoyo (derivadas, para hover/estados) */
  --mst-brown-dark: #8F5200;
  --mst-blue-dark:  #006BA3;

  /* Radios */
  --mst-radius:      18px;
  --mst-radius-sm:   12px;
  --mst-radius-pill: 999px;

  /* Sombras suaves */
  --mst-shadow-sm: 0 1px 3px rgba(43, 33, 24, 0.08);
  --mst-shadow:    0 6px 20px rgba(43, 33, 24, 0.10);
  --mst-shadow-lg: 0 14px 40px rgba(43, 33, 24, 0.14);

  /* Espaciado de apoyo (complementa los presets de WP) */
  --mst-space-2:  0.5rem;
  --mst-space-3:  0.75rem;
  --mst-space-4:  1rem;
  --mst-space-6:  1.5rem;
  --mst-space-8:  2rem;
  --mst-space-12: 3rem;
}

/* =========================================================================
   2. BASE
   ========================================================================= */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Solo afecta a contenidos del tema; no pisamos html/body global de WP. */
.mst-body,
.mst-main {
  color: var(--mst-text);
  background-color: var(--mst-cream);
  line-height: 1.6;
}

/* Imágenes fluidas y suaves dentro de los componentes. */
.mst-main img,
[class^="mst-"] img,
[class*=" mst-"] img {
  max-width: 100%;
  height: auto;
  border-radius: var(--mst-radius-sm);
}

/* Enlaces dentro de los componentes (marrón cálido, no azul). */
[class^="mst-"] a,
[class*=" mst-"] a {
  color: var(--mst-brown);
}

[class^="mst-"] a:hover,
[class*=" mst-"] a:hover {
  color: var(--mst-brown);
}

/* =========================================================================
   3. ACCESIBILIDAD
   ========================================================================= */

/* Foco siempre visible y claro. */
:focus-visible {
  outline: 3px solid var(--mst-blue);
  outline-offset: 2px;
  border-radius: var(--mst-radius-sm);
}

/* Oculto visualmente, accesible a lectores de pantalla. */
.mst-sr-only {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Salto al contenido: visible al recibir foco. */
.mst-skip-link:focus {
  position: fixed;
  top: var(--mst-space-2);
  left: var(--mst-space-2);
  z-index: 1000;
  width: auto;
  height: auto;
  padding: var(--mst-space-3) var(--mst-space-4);
  clip: auto;
  background: var(--mst-white);
  color: var(--mst-text);
  border-radius: var(--mst-radius-sm);
  box-shadow: var(--mst-shadow);
}

/* Respeta la preferencia de menos movimiento. */
@media (prefers-reduced-motion: reduce) {
  * {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}

/* Objetivos táctiles cómodos: mínimo 44px. */
.mst-btn,
[class^="mst-"] button,
[class^="mst-"] input[type="submit"],
[class^="mst-"] select,
[class^="mst-"] input:not([type="checkbox"]):not([type="radio"]),
.mst-crisis a[href^="tel:"],
.mst-resource-card a {
  min-height: 44px;
}

/* =========================================================================
   4. COMPONENTES
   ========================================================================= */

/* -------------------------------------------------------------------------
   4.1 HERO — banner cálido de bienvenida
   ------------------------------------------------------------------------- */
.mst-hero {
  background: linear-gradient(160deg, var(--mst-cream) 0%, var(--mst-sand) 100%);
  border-radius: var(--mst-radius);
  padding: var(--mst-space-8) var(--mst-space-6);
  text-align: center;
  box-shadow: var(--mst-shadow-sm);
}

.mst-hero__title {
  margin: 0 0 var(--mst-space-4);
  font-size: clamp(1.9rem, 6vw, 3rem);
  line-height: 1.15;
  color: var(--mst-brown);
  font-weight: 700;
}

.mst-hero__subtitle {
  margin: 0 auto var(--mst-space-6);
  max-width: 38rem;
  font-size: clamp(1.05rem, 3.5vw, 1.3rem);
  color: var(--mst-text);
}

.mst-hero__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: var(--mst-space-3);
  justify-content: center;
}

@media (min-width: 768px) {
  .mst-hero {
    padding: var(--mst-space-12) var(--mst-space-8);
  }
}

/* -------------------------------------------------------------------------
   4.2 BOTONES — grandes, redondeados, cálidos
   ------------------------------------------------------------------------- */
.mst-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--mst-space-2);
  padding: 0.85rem 1.75rem;
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  text-align: center;
  border: 2px solid transparent;
  border-radius: var(--mst-radius-pill);
  cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.15s ease,
              background-color 0.15s ease, color 0.15s ease,
              border-color 0.15s ease;
}

.mst-btn:hover {
  transform: translateY(-2px);
  box-shadow: var(--mst-shadow);
}

.mst-btn:active {
  transform: translateY(0);
}

.mst-btn:focus-visible {
  outline: 3px solid var(--mst-brown);
  outline-offset: 3px;
}

/* Primario: marrón sobre blanco */
.mst-btn--primary {
  background-color: var(--mst-brown);
  color: var(--mst-white);
}

.mst-btn--primary:hover,
.mst-btn--primary:focus {
  background-color: var(--mst-brown-dark);
  color: var(--mst-white);
}

/* Secundario: verde otoñal (antes azul) */
.mst-btn--secondary {
  background-color: #3b7f5f;
  color: var(--mst-white);
}

.mst-btn--secondary:hover,
.mst-btn--secondary:focus {
  background-color: #2f6149;
  color: var(--mst-white);
}

/* Fantasma: contorno */
.mst-btn--ghost {
  background-color: transparent;
  color: var(--mst-brown);
  border-color: var(--mst-brown);
}

.mst-btn--ghost:hover,
.mst-btn--ghost:focus {
  background-color: var(--mst-brown);
  color: var(--mst-white);
}

.mst-btn--block {
  width: 100%;
}

/* -------------------------------------------------------------------------
   4.3 CRISIS — ayuda urgente, números muy visibles
   ------------------------------------------------------------------------- */
.mst-crisis {
  background-color: var(--mst-soft-blue);
  border-left: 6px solid var(--mst-blue);
  border-radius: var(--mst-radius);
  padding: var(--mst-space-6);
  box-shadow: var(--mst-shadow-sm);
}

.mst-crisis__title {
  margin: 0 0 var(--mst-space-2);
  font-size: 1.3rem;
  color: var(--mst-blue-dark);
  font-weight: 700;
}

.mst-crisis__text {
  margin: 0 0 var(--mst-space-4);
  color: var(--mst-text);
}

.mst-crisis__numbers {
  display: flex;
  flex-wrap: wrap;
  gap: var(--mst-space-3);
}

/* Enlaces tel: destacados y grandes. */
.mst-crisis__number {
  display: flex;
  flex: 1 1 8rem;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: var(--mst-space-4);
  background-color: var(--mst-white);
  border: 2px solid var(--mst-blue);
  border-radius: var(--mst-radius-sm);
  text-decoration: none;
  color: var(--mst-text);
  transition: background-color 0.15s ease, transform 0.15s ease;
}

.mst-crisis__number:hover,
.mst-crisis__number:focus {
  background-color: var(--mst-blue);
  color: var(--mst-white);
  transform: translateY(-2px);
}

.mst-crisis__number-digits {
  font-size: 2rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.02em;
}

.mst-crisis__number-label {
  margin-top: var(--mst-space-2);
  font-size: 0.95rem;
  font-weight: 600;
}

.mst-crisis__note {
  margin: var(--mst-space-4) 0 0;
  font-size: 0.9rem;
  color: var(--mst-text);
  opacity: 0.85;
}

/* -------------------------------------------------------------------------
   4.4 VALORES — rejilla de tarjetas
   ------------------------------------------------------------------------- */
.mst-values {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: var(--mst-space-4);
}

.mst-value-card {
  background-color: var(--mst-white);
  border: 1px solid var(--mst-sand);
  border-radius: var(--mst-radius);
  padding: var(--mst-space-6);
  box-shadow: var(--mst-shadow-sm);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

/* Alterna fondos suaves para dar calidez. */
.mst-value-card:nth-child(even) {
  background-color: var(--mst-soft-green);
}

.mst-value-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--mst-shadow);
}

.mst-value-card__icon {
  font-size: 2rem;
  line-height: 1;
  margin-bottom: var(--mst-space-3);
}

.mst-value-card__title {
  margin: 0 0 var(--mst-space-2);
  font-size: 1.2rem;
  color: var(--mst-brown);
  font-weight: 700;
}

.mst-value-card__text {
  margin: 0;
  color: var(--mst-text);
}

/* -------------------------------------------------------------------------
   4.5 BÚSQUEDA DE AYUDA — país → región → ciudad
   ------------------------------------------------------------------------- */
.mst-help-search {
  background-color: var(--mst-white);
  border: 1px solid var(--mst-sand);
  border-radius: var(--mst-radius);
  padding: var(--mst-space-6);
  box-shadow: var(--mst-shadow-sm);
}

.mst-help-search__title {
  margin: 0 0 var(--mst-space-4);
  font-size: 1.3rem;
  color: var(--mst-brown);
  font-weight: 700;
}

.mst-help-search__fields {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--mst-space-4);
}

.mst-help-search__field {
  display: flex;
  flex-direction: column;
  gap: var(--mst-space-2);
}

.mst-help-search__label {
  font-weight: 600;
  font-size: 0.95rem;
  color: var(--mst-text);
}

/* Campos grandes y cómodos. */
.mst-help-search__select,
.mst-help-search__input {
  width: 100%;
  padding: 0.85rem 1rem;
  font-size: 1.05rem;
  color: var(--mst-text);
  background-color: var(--mst-cream);
  border: 2px solid var(--mst-sand);
  border-radius: var(--mst-radius-sm);
}

.mst-help-search__select:focus,
.mst-help-search__input:focus {
  border-color: var(--mst-blue);
  outline: none;
}

.mst-help-search__actions {
  margin-top: var(--mst-space-4);
}

/* Escritorio: campos en varias columnas. */
@media (min-width: 768px) {
  .mst-help-search__fields {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* -------------------------------------------------------------------------
   4.6 RECURSOS — rejilla de tarjetas de recurso
   ------------------------------------------------------------------------- */
.mst-resource-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: var(--mst-space-4);
}

.mst-resource-card {
  display: flex;
  flex-direction: column;
  gap: var(--mst-space-3);
  background-color: var(--mst-white);
  border: 1px solid var(--mst-sand);
  border-radius: var(--mst-radius);
  padding: var(--mst-space-6);
  box-shadow: var(--mst-shadow-sm);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.mst-resource-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--mst-shadow);
}

.mst-resource-card__title {
  margin: 0;
  font-size: 1.2rem;
  color: var(--mst-brown);
  font-weight: 700;
}

/* Etiqueta de tipo de ayuda. */
.mst-resource-card__type {
  align-self: flex-start;
  display: inline-block;
  padding: 0.25rem 0.75rem;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--mst-blue-dark);
  background-color: var(--mst-soft-blue);
  border-radius: var(--mst-radius-pill);
}

.mst-resource-card__phone {
  display: inline-flex;
  align-items: center;
  gap: var(--mst-space-2);
  font-weight: 700;
  font-size: 1.1rem;
  color: var(--mst-text);
  text-decoration: none;
}

.mst-resource-card__phone:hover {
  color: var(--mst-blue-dark);
}

.mst-resource-card__link {
  margin-top: auto;
  align-self: flex-start;
  font-weight: 600;
  color: var(--mst-blue-dark);
}

/* -------------------------------------------------------------------------
   4.7 FORMULARIO POR PASOS
   Sin JS: todos los pasos visibles (progresivo).
   Con JS: el contenedor añade .mst-form--js y solo .is-active se muestra.
   ------------------------------------------------------------------------- */
.mst-form {
  background-color: var(--mst-white);
  border: 1px solid var(--mst-sand);
  border-radius: var(--mst-radius);
  padding: var(--mst-space-6);
  box-shadow: var(--mst-shadow-sm);
}

/* Barra de progreso. */
.mst-form__progress {
  display: flex;
  flex-wrap: wrap;
  gap: var(--mst-space-2);
  margin-bottom: var(--mst-space-6);
  padding: 0;
  list-style: none;
}

.mst-form__progress-step {
  flex: 1 1 auto;
  padding: var(--mst-space-2) var(--mst-space-3);
  text-align: center;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--mst-text);
  background-color: var(--mst-sand);
  border-radius: var(--mst-radius-pill);
}

.mst-form__progress-step.is-active {
  color: var(--mst-white);
  background-color: var(--mst-brown);
}

.mst-form__progress-step.is-done {
  color: var(--mst-white);
  background-color: var(--mst-blue);
}

/* Cada paso del formulario. */
.mst-form__step {
  margin-bottom: var(--mst-space-6);
}

.mst-form__step-title {
  margin: 0 0 var(--mst-space-4);
  font-size: 1.2rem;
  color: var(--mst-brown);
  font-weight: 700;
}

/* Con JS activo: ocultar pasos no activos. */
.mst-form--js .mst-form__step {
  display: none;
}

.mst-form--js .mst-form__step.is-active {
  display: block;
}

/* Campos del formulario. */
.mst-form__group {
  display: flex;
  flex-direction: column;
  gap: var(--mst-space-2);
  margin-bottom: var(--mst-space-4);
}

.mst-form__label {
  font-weight: 600;
  font-size: 0.95rem;
  color: var(--mst-text);
}

.mst-form__control,
.mst-form select,
.mst-form input[type="text"],
.mst-form input[type="email"],
.mst-form input[type="tel"],
.mst-form textarea {
  width: 100%;
  padding: 0.85rem 1rem;
  font-size: 1.05rem;
  color: var(--mst-text);
  background-color: var(--mst-cream);
  border: 2px solid var(--mst-sand);
  border-radius: var(--mst-radius-sm);
  font-family: inherit;
}

.mst-form__control:focus,
.mst-form select:focus,
.mst-form input:focus,
.mst-form textarea:focus {
  border-color: var(--mst-blue);
  outline: none;
}

.mst-form textarea {
  min-height: 8rem;
  resize: vertical;
}

.mst-form__hint {
  font-size: 0.85rem;
  color: var(--mst-text);
  opacity: 0.8;
}

/* Navegación entre pasos. */
.mst-form__nav {
  display: flex;
  flex-wrap: wrap;
  gap: var(--mst-space-3);
  justify-content: space-between;
  margin-top: var(--mst-space-6);
}

.mst-form__nav .mst-btn {
  flex: 1 1 auto;
}

@media (min-width: 600px) {
  .mst-form__nav .mst-btn {
    flex: 0 1 auto;
  }
}

/* -------------------------------------------------------------------------
   4.8 TONO — frase esperanzadora destacada
   ------------------------------------------------------------------------- */
.mst-tone {
  margin: 0;
  padding: var(--mst-space-8) var(--mst-space-6);
  text-align: center;
  font-size: clamp(1.4rem, 4.5vw, 2.1rem);
  line-height: 1.35;
  font-weight: 700;
  color: var(--mst-brown);
  background-color: var(--mst-cream);
  border-radius: var(--mst-radius);
}

.mst-tone__cite {
  display: block;
  margin-top: var(--mst-space-4);
  font-size: 1rem;
  font-weight: 600;
  font-style: normal;
  color: var(--mst-text);
  opacity: 0.85;
}

/* =========================================================================
   5. UTILIDADES / CONTENEDORES
   ========================================================================= */
.mst-container {
  width: 100%;
  max-width: 72rem;
  margin-inline: auto;
  padding-inline: var(--mst-space-4);
}

.mst-section {
  margin-block: var(--mst-space-12);
}

.mst-section__title {
  margin: 0 0 var(--mst-space-6);
  font-size: clamp(1.5rem, 4vw, 2.2rem);
  color: var(--mst-brown);
  font-weight: 700;
  text-align: center;
}

.mst-stack {
  display: flex;
  flex-direction: column;
  gap: var(--mst-space-4);
}

/* =========================================================================
   6. BOOTSTRAP -> MARCA (reconciliación + variables)
   Bootstrap se carga ANTES; aquí lo alineamos con la identidad de marca y
   reparamos los choques de su "reboot" con los bloques de WordPress.
   ========================================================================= */
:root {
  --bs-primary: #B36600;
  --bs-primary-rgb: 179, 102, 0;
  --bs-link-color: #006BA3;
  --bs-link-color-rgb: 0, 107, 163;
  --bs-link-hover-color: #B36600;
  --bs-border-radius: 12px;
  --bs-border-radius-lg: 18px;
  --bs-body-color: #2B2118;
  --bs-body-font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* Tipografía base coherente (gana sobre el reboot de Bootstrap por orden de carga). */
body {
  color: var(--mst-text);
}

/* Encabezados de bloque: recuperar peso/altura de marca tras el reboot de Bootstrap. */
.wp-block-heading {
  font-weight: 700;
  line-height: 1.2;
}

/* Botones de Bootstrap con piel de marca (por si se usan .btn-*). */
.btn-primary {
  --bs-btn-bg: var(--mst-brown);
  --bs-btn-border-color: var(--mst-brown);
  --bs-btn-hover-bg: var(--mst-brown-dark);
  --bs-btn-hover-border-color: var(--mst-brown-dark);
  --bs-btn-active-bg: var(--mst-brown-dark);
}

/* =========================================================================
   7. CAPA GLOBAL SOBRE BLOQUES NATIVOS (solo front-end)
   Hace que CUALQUIER página construida con bloques nativos se vea diseñada.
   ========================================================================= */

/* Botones nativos de WordPress: mismo lenguaje cálido que .mst-btn. */
.wp-block-button__link {
  border-radius: var(--mst-radius-pill);
  padding: 0.85rem 1.75rem;
  font-weight: 600;
  transition: transform 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

.wp-block-button__link:hover {
  transform: translateY(-2px);
  box-shadow: var(--mst-shadow);
}

.wp-block-button.is-style-outline .wp-block-button__link {
  border-width: 2px;
}

/* Listados (Query Loop) como REJILLA de tarjetas modernas. */
.wp-block-query .wp-block-post-template {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--mst-space-6);
  margin: 0;
  padding: 0;
  list-style: none;
}

@media (min-width: 600px) {
  .wp-block-query .wp-block-post-template {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 992px) {
  .wp-block-query .wp-block-post-template {
    grid-template-columns: repeat(3, 1fr);
  }
}

.wp-block-query .wp-block-post-template > li {
  display: flex;
  flex-direction: column;
  gap: var(--mst-space-3);
  background: var(--mst-white);
  border: 1px solid var(--mst-sand);
  border-radius: var(--mst-radius);
  padding: var(--mst-space-6);
  box-shadow: var(--mst-shadow-sm);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.wp-block-query .wp-block-post-template > li:hover {
  transform: translateY(-3px);
  box-shadow: var(--mst-shadow);
}

.wp-block-query .wp-block-post-title {
  margin: 0;
  font-size: 1.25rem;
}

.wp-block-query .wp-block-post-title a {
  color: var(--mst-brown);
  text-decoration: none;
}

.wp-block-query .wp-block-post-title a:hover {
  color: var(--mst-blue-dark);
}

.wp-block-query .wp-block-post-featured-image img {
  border-radius: var(--mst-radius-sm);
}

.wp-block-query .wp-block-post-date {
  font-size: 0.85rem;
  opacity: 0.75;
}

/* Páginas de texto (legal, contacto) con la clase .mst-prose: lectura cómoda. */
.mst-prose {
  max-width: 44rem;
  margin-inline: auto;
}

.mst-prose h2 {
  margin-top: var(--mst-space-8);
  color: var(--mst-brown);
}

.mst-prose h3 {
  margin-top: var(--mst-space-6);
  color: var(--mst-brown-dark);
}

.mst-prose p,
.mst-prose li {
  line-height: 1.7;
}

.mst-prose ul,
.mst-prose ol {
  padding-left: 1.25rem;
}

.mst-prose a {
  color: var(--mst-blue-dark);
}

/* Citas cálidas. */
.wp-block-quote {
  border-left: 5px solid var(--mst-yellow);
  background: var(--mst-cream);
  border-radius: var(--mst-radius-sm);
  padding: var(--mst-space-6);
  font-style: italic;
}

/* =========================================================================
   8. COMPONENTES DE PÁGINA (heros de subpágina, tarjetas, badges, CTA)
   ========================================================================= */

/* Hero reutilizable para la cabecera de cada página. */
.mst-page-hero {
  text-align: center;
  border-radius: var(--mst-radius);
}

.mst-page-hero__eyebrow,
.mst-eyebrow {
  display: inline-block;
  padding: 0.35rem 1rem;
  margin-bottom: var(--mst-space-3);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--mst-brown-dark);
  background: var(--mst-yellow);
  border-radius: var(--mst-radius-pill);
}

.mst-page-hero__title {
  margin: 0 0 var(--mst-space-4);
  font-size: clamp(1.9rem, 5.5vw, 3rem);
  line-height: 1.15;
  color: var(--mst-brown);
}

.mst-page-hero__lead {
  max-width: 42rem;
  margin: 0 auto;
  font-size: clamp(1.05rem, 3vw, 1.25rem);
}

.mst-page-hero__note {
  max-width: 38rem;
  margin: var(--mst-space-6) auto 0;
  font-size: 0.9rem;
  opacity: 0.85;
}

/* Tarjeta genérica moderna + rejilla responsive. */
.mst-card {
  height: 100%;
  background: var(--mst-white);
  border: 1px solid var(--mst-sand);
  border-radius: var(--mst-radius);
  padding: var(--mst-space-6);
  box-shadow: var(--mst-shadow-sm);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.mst-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--mst-shadow);
}

.mst-card__icon {
  font-size: 2rem;
  line-height: 1;
  margin-bottom: var(--mst-space-3);
}

.mst-card__title {
  margin: 0 0 var(--mst-space-2);
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--mst-brown);
}

.mst-card__text {
  margin: 0;
}

.mst-card-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--mst-space-4);
}

@media (min-width: 600px) {
  .mst-card-grid,
  .mst-card-grid--2 {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 992px) {
  .mst-card-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .mst-card-grid--4 {
    grid-template-columns: repeat(4, 1fr);
  }
  .mst-card-grid--2 {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Etiqueta / badge. */
.mst-badge {
  display: inline-block;
  padding: 0.25rem 0.75rem;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--mst-blue-dark);
  background: var(--mst-soft-blue);
  border-radius: var(--mst-radius-pill);
}

/* Banda de llamada a la acción. */
.mst-cta {
  text-align: center;
  border-radius: var(--mst-radius);
}

/* Tarjeta de contacto rápido. */
.mst-contact-card {
  display: flex;
  flex-direction: column;
  gap: var(--mst-space-2);
  background: var(--mst-white);
  border: 1px solid var(--mst-sand);
  border-radius: var(--mst-radius);
  padding: var(--mst-space-6);
  box-shadow: var(--mst-shadow-sm);
}

.mst-contact-card a {
  font-weight: 600;
  color: var(--mst-blue-dark);
}

/* =========================================================================
   9. REFINAMIENTO MINIMALISTA + COMPONENTES NUEVOS
   (crisis compacta, barra de cuenta, auth/Mi espacio, acordeón, mapa)
   ========================================================================= */

/* --- Más aire, menos densidad --- */

/* Héroes contenidos: que no ocupen pantalla completa (sobre todo en móvil). */
.mst-page-hero {
  padding-top: clamp(2rem, 5vw, 3.5rem) !important;
  padding-bottom: clamp(2rem, 5vw, 3.5rem) !important;
}

/* Tarjetas más compactas en móvil. */
@media (max-width: 600px) {
  .mst-card,
  .mst-value-card,
  .mst-resource-card,
  .wp-block-query .wp-block-post-template > li {
    padding: var(--mst-space-4);
  }
  .mst-card__icon {
    font-size: 1.6rem;
  }
}

/* --- Barra de cuenta (discreta, arriba del todo) --- */
.mst-account-bar {
  background: var(--mst-cream);
  border-bottom: 1px solid var(--mst-sand);
  font-size: 0.85rem;
}

.mst-account-bar__inner {
  max-width: 1200px;
  margin-inline: auto;
  padding: 0.35rem var(--mst-space-4);
  display: flex;
  gap: var(--mst-space-4);
  align-items: center;
  justify-content: flex-end;
}

.mst-account-bar__link {
  color: var(--mst-brown-dark);
  text-decoration: none;
  font-weight: 600;
}

.mst-account-bar__link--space {
  margin-right: auto;
}

.mst-account-bar__link--cta {
  background: var(--mst-brown);
  color: var(--mst-white);
  padding: 0.25rem 0.85rem;
  border-radius: var(--mst-radius-pill);
}

.mst-account-bar__link:hover {
  color: var(--mst-blue-dark);
}

.mst-account-bar__link--cta:hover {
  color: var(--mst-white);
  background: var(--mst-blue);
}

@media (max-width: 480px) {
  .mst-account-bar__inner {
    gap: var(--mst-space-3);
    padding: 0.3rem var(--mst-space-3);
    font-size: 0.8rem;
  }
}

/* --- Crisis compacta (franja discreta) --- */
.mst-crisis--compact {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--mst-space-2) var(--mst-space-3);
  background: #eb7f24;
  border-left: 7px solid #6b2f10;
  border-radius: var(--mst-radius-sm);
  padding: var(--mst-space-4);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
}

.mst-crisis__compact-label {
  font-weight: 800;
  color: #3a1e08;
}

/* Nombre del país más grande y destacado (≈+5px). */
.mst-crisis--compact .mst-crisis__pais {
  margin-left: 0.5rem;
  padding: 0.05rem 0.6rem;
  border-radius: var(--mst-radius-pill);
  background: rgba(255, 255, 255, 0.55);
  color: #3a1e08;
  font-size: 1.35em;
  font-weight: 800;
}

.mst-crisis__chips {
  display: flex;
  flex-wrap: wrap;
  gap: var(--mst-space-2);
}

.mst-crisis__chip {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.4rem 0.9rem;
  background: #fff6e9;
  border: 2px solid #a9542c;
  border-radius: var(--mst-radius-pill);
  color: #5c2a0f;
  text-decoration: none;
  font-size: 0.95rem;
  font-weight: 600;
}

.mst-crisis__chip strong {
  color: #000000;
  font-weight: 800;
}

.mst-crisis__chip:hover {
  background: #ffe6c9;
  border-color: #8a3b1e;
  color: #5c2a0f;
}

.mst-crisis__chip:hover strong {
  color: #000000;
}

.mst-crisis__more {
  margin-left: auto;
  font-weight: 800;
  font-size: 0.9rem;
  color: #5c2a0f;
  text-decoration: underline;
}

.mst-crisis--compact .mst-crisis__generic {
  color: #3a1e08;
}

@media (max-width: 600px) {
  .mst-crisis__more {
    margin-left: 0;
  }
}

/* --- Formularios de cuenta (login / registro) --- */
.mst-auth {
  max-width: 32rem;
  margin-inline: auto;
  background: var(--mst-white);
  border: 1px solid var(--mst-sand);
  border-radius: var(--mst-radius);
  padding: var(--mst-space-8) var(--mst-space-6);
  box-shadow: var(--mst-shadow-sm);
}

.mst-auth--info {
  text-align: center;
}

.mst-auth label {
  display: block;
  font-weight: 600;
  margin-bottom: 0.35rem;
}

.mst-auth input[type="text"],
.mst-auth input[type="email"],
.mst-auth input[type="password"] {
  width: 100%;
  padding: 0.8rem 1rem;
  font-size: 1.05rem;
  background: var(--mst-cream);
  border: 2px solid var(--mst-sand);
  border-radius: var(--mst-radius-sm);
}

.mst-auth input:focus {
  border-color: var(--mst-blue);
  outline: none;
}

.mst-auth p {
  margin: 0 0 var(--mst-space-4);
}

.mst-auth__row {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--mst-space-3);
}

@media (min-width: 560px) {
  .mst-auth__row {
    grid-template-columns: repeat(3, 1fr);
  }
}

.mst-auth__links {
  margin-top: var(--mst-space-3);
  font-size: 0.9rem;
  text-align: center;
}

.mst-auth__errors {
  margin-bottom: var(--mst-space-4);
  padding: var(--mst-space-3) var(--mst-space-4);
  background: #fdecea;
  border: 1px solid #f5b5ad;
  border-radius: var(--mst-radius-sm);
  color: #8a1c10;
}

.mst-auth__ok {
  color: var(--mst-blue-dark);
  font-weight: 600;
}

.mst-auth__cta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--mst-space-3);
  justify-content: center;
}

/* Botón nativo de wp_login_form() con piel de marca. */
.mst-auth .button,
.mst-auth #wp-submit {
  background: var(--mst-brown);
  color: var(--mst-white);
  border: 0;
  border-radius: var(--mst-radius-pill);
  padding: 0.8rem 1.75rem;
  font-size: 1.05rem;
  font-weight: 600;
  cursor: pointer;
}

.mst-auth .button:hover,
.mst-auth #wp-submit:hover {
  background: var(--mst-blue);
}

.mst-form__check {
  display: flex;
  gap: 0.5rem;
  align-items: flex-start;
  font-size: 0.95rem;
}

.mst-form__check input {
  margin-top: 0.2rem;
}

/* --- Mi espacio --- */
.mst-espacio {
  max-width: 44rem;
  margin-inline: auto;
}

.mst-espacio__hola {
  font-size: clamp(1.2rem, 3vw, 1.6rem);
  color: var(--mst-brown);
}

.mst-espacio__verif {
  padding: var(--mst-space-3) var(--mst-space-4);
  background: var(--mst-soft-blue);
  border-radius: var(--mst-radius-sm);
}

.mst-espacio__form {
  margin-block: var(--mst-space-6);
}

.mst-espacio__acciones {
  display: flex;
  flex-wrap: wrap;
  gap: var(--mst-space-3);
}

/* --- Acordeón (bloque core/details o <details>) para textos largos --- */
.wp-block-details,
.mst-accordion {
  margin-bottom: var(--mst-space-3);
  padding: var(--mst-space-4) var(--mst-space-6);
  background: var(--mst-white);
  border: 1px solid var(--mst-sand);
  border-radius: var(--mst-radius-sm);
}

.wp-block-details summary,
.mst-accordion summary {
  cursor: pointer;
  font-weight: 700;
  color: var(--mst-brown);
}

.wp-block-details[open],
.mst-accordion[open] {
  box-shadow: var(--mst-shadow-sm);
}

/* --- Mapa de ayuda (Leaflet) --- */
.mst-mapa {
  margin-block: var(--mst-space-4);
}

.mst-mapa__filtros {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--mst-space-3);
  margin-bottom: var(--mst-space-4);
}

@media (min-width: 700px) {
  .mst-mapa__filtros {
    grid-template-columns: repeat(4, 1fr);
  }
}

.mst-mapa__filtro {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.mst-mapa__filtro label {
  font-weight: 600;
  font-size: 0.9rem;
}

.mst-mapa__filtro select {
  padding: 0.7rem 0.9rem;
  font-size: 1rem;
  background: var(--mst-cream);
  border: 2px solid var(--mst-sand);
  border-radius: var(--mst-radius-sm);
}

.mst-mapa__layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--mst-space-4);
}

@media (min-width: 900px) {
  .mst-mapa__layout {
    grid-template-columns: 1.6fr 1fr;
  }
}

.mst-mapa__map {
  width: 100%;
  height: clamp(260px, 42vh, 440px);
  border: 1px solid var(--mst-sand);
  border-radius: var(--mst-radius);
  box-shadow: var(--mst-shadow-sm);
  overflow: hidden;
  isolation: isolate;
  z-index: 0;
}

.mst-mapa__lista {
  display: flex;
  flex-direction: column;
  gap: var(--mst-space-3);
  max-height: min(42vh, 440px);
  overflow: auto;
}

.mst-mapa__count {
  margin: 0;
  font-weight: 700;
  color: var(--mst-brown);
}

.mst-mapa__sin {
  opacity: 0.8;
}

.mst-mapa__nota,
.mst-mapa__noscript {
  margin-top: var(--mst-space-3);
  font-size: 0.85rem;
  opacity: 0.8;
}

/* Intro de la sección de recursos (la que contiene el mapa): título más grande,
   tipografía serif elegante y mapa menos protagonista. Apunta solo a esta sección
   vía :has(.mst-mapa), sirve para ES e inglés sin tocar la base de datos. */
.wp-block-group:has(.mst-mapa) > h2.wp-block-heading {
  font-family: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;
  font-size: clamp(2rem, 4.5vw, 3rem);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: 0.01em;
  color: var(--mst-brown);
  margin-bottom: 0.5rem;
}

.wp-block-group:has(.mst-mapa) > p {
  font-family: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;
  font-size: clamp(1.08rem, 1.6vw, 1.28rem);
  line-height: 1.6;
  color: var(--mst-brown);
  max-width: 46ch;
  margin-inline: auto;
}

/* Pin del mapa (divIcon) en forma de gota. */
.mst-pin__dot {
  display: block;
  width: 18px;
  height: 18px;
  border: 2px solid #fff;
  border-radius: 50% 50% 50% 0;
  transform: rotate(-45deg);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
}

.mst-pin-pop__title {
  display: block;
  margin-bottom: 0.25rem;
  color: var(--mst-brown);
}

.mst-pin-pop__tipo {
  display: inline-block;
  margin-bottom: 0.35rem;
  padding: 0.1rem 0.5rem;
  font-size: 0.75rem;
  color: var(--mst-blue-dark);
  background: var(--mst-soft-blue);
  border-radius: var(--mst-radius-pill);
}

.mst-pin-pop__txt {
  margin: 0.25rem 0;
  font-size: 0.9rem;
}

/* =========================================================================
   10. CABECERA Y PIE PROPIOS (template parts)
   ========================================================================= */

/* Fuente de marca — Beiruti (display llamativo, auto-alojada en el tema hijo,
   licencia OFL, SIN peticiones externas: respeta la privacidad). */
@font-face {
  font-family: "Beiruti";
  src: url("../fonts/beiruti/Beiruti-VariableFont_wght.woff2") format("woff2");
  font-weight: 200 900;
  font-style: normal;
  font-display: swap;
}

/* Fuente de titulares elegante — Platypi (serif display, auto-alojada en el
   tema hijo, licencia OFL, SIN peticiones externas). */
@font-face {
  font-family: "Platypi";
  src: url("../fonts/platypi/Platypi-VariableFont_wght.woff2") format("woff2");
  font-weight: 300 800;
  font-style: normal;
  font-display: swap;
}

/* --- Cabecera minimalista --- */
.mst-header {
  background: var(--mst-white);
  border-bottom: 1px solid var(--mst-sand);
}

.mst-header__inner {
  max-width: 1340px;
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--mst-space-3);
  padding: var(--mst-space-3) var(--mst-space-4);
}

.mst-header__brand {
  display: inline-flex;
  align-items: center;
  gap: 32px;
  text-decoration: none;
}

/* Línea vertical divisoria: ocultada por CSS (se conserva el <span> en el patrón). */
.mst-header__divider {
  display: none;
}

/* Especificidad mayor que la regla base [class^="mst-"] img (que fija height:auto). */
.mst-header__brand .mst-header__logo {
  height: 168px;
  width: auto;
  max-width: 340px;
  border-radius: 0;
  display: block;
}

.mst-header__name {
  font-family: "Beiruti", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
  font-weight: 700;
  font-size: 1.85rem;
  letter-spacing: 0.01em;
  color: var(--mst-brown);
  white-space: nowrap;
  line-height: 1.1;
}

/* Wordmark del header (imagen "Madres Sin Tribu" junto al icono de la madre).
   Pequeño, elegante y proporcionado; sin montarse con el menú. */
.mst-header__brand .mst-header__wordmark {
  display: block;
  height: 92px;
  width: auto;
  max-width: 360px;
  object-fit: contain;
  margin-left: -44px;
}

@media (max-width: 992px) {
  .mst-header__brand .mst-header__wordmark {
    height: 64px;
    max-width: 280px;
    margin-left: -28px;
  }
  .mst-header__brand {
    gap: 24px;
  }
}

@media (max-width: 600px) {
  .mst-header__brand .mst-header__wordmark {
    height: 44px;
    max-width: 220px;
    margin-left: -16px;
  }
  .mst-header__brand {
    gap: 16px;
  }
}

/* Botón de menú compacto: oculto por defecto; el JS lo revela en móvil. */
.mst-header__toggle {
  display: none;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
  min-height: 44px;
  padding: 0.4rem 0.9rem;
  border: 1px solid var(--mst-sand);
  border-radius: var(--mst-radius-pill);
  font: inherit;
  font-weight: 700;
  color: var(--mst-brown);
  background: var(--mst-cream);
}

.mst-header__toggle-bars {
  position: relative;
  display: block;
  width: 18px;
  height: 2px;
  background: currentColor;
}

.mst-header__toggle-bars::before,
.mst-header__toggle-bars::after {
  content: "";
  position: absolute;
  left: 0;
  width: 18px;
  height: 2px;
  background: currentColor;
}

.mst-header__toggle-bars::before {
  top: -6px;
}

.mst-header__toggle-bars::after {
  top: 6px;
}

/* Panel: en escritorio, en línea a la derecha y SIEMPRE visible. */
.mst-header__panel {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--mst-space-4);
}

.mst-header__nav {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--mst-space-4);
}

.mst-header__nav a {
  text-decoration: none;
  font-family: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
  font-weight: 600;
  color: var(--mst-text);
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}

.mst-header__nav a:hover {
  color: var(--mst-brown);
}

.mst-header__cta {
  padding: 0.5rem 1.1rem;
  background: var(--mst-brown);
  color: var(--mst-white) !important;
  border-radius: var(--mst-radius-pill);
}

.mst-header__cta:hover {
  background: #2f6149;
}

/* Selector de país (nombre + código, no solo bandera). */
.mst-paises--header {
  display: inline-flex;
  align-items: center;
  margin: 0;
}

.mst-paises__select {
  max-width: 12rem;
  min-height: 44px;
  border: 1px solid var(--mst-sand);
  border-radius: var(--mst-radius);
  /* Icono de ubicación (pin) para distinguir PAÍS del selector de idioma. */
  background-color: var(--mst-white);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23B36600'%3E%3Cpath d='M12 2C8.1 2 5 5.1 5 9c0 5.2 7 13 7 13s7-7.8 7-13c0-3.9-3.1-7-7-7zm0 9.5a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: 0.55rem center;
  background-size: 14px;
  color: var(--mst-text);
  padding: 0.35rem 0.5rem 0.35rem 1.85rem;
  font: inherit;
}

/* Separador sutil entre idioma y país en escritorio. */
@media (min-width: 769px) {
  .mst-paises--header {
    border-left: 1px solid var(--mst-sand);
    padding-left: var(--mst-space-3);
    margin-left: var(--mst-space-2);
  }
}

.mst-paises__go {
  min-height: 44px;
  margin-left: 0.4rem;
}

/* Escritorio: la cabecera SIEMPRE en una sola línea. El logo va a la izquierda y
   el menú + idioma + país a la derecha, sin que nada baje de línea. */
@media (min-width: 993px) {
  .mst-header__inner {
    flex-wrap: nowrap;
  }
  .mst-header__panel {
    flex-wrap: nowrap;
    gap: var(--mst-space-3);
  }
  .mst-header__nav {
    flex-wrap: nowrap;
    gap: var(--mst-space-3);
  }
  .mst-header__nav a {
    white-space: nowrap;
  }
  .mst-paises__select {
    max-width: 11rem;
  }
}

/* Tablet: logo a 72px. */
@media (max-width: 992px) {
  .mst-header__brand .mst-header__logo {
    height: 88px;
  }
}

/* Móvil: menú compacto. El colapso SOLO ocurre con JS (.mst-header--js);
   sin JS el panel queda visible (apilado) y usable. */
@media (max-width: 768px) {
  .mst-header__inner {
    position: relative;
  }
  .mst-header--js .mst-header__toggle {
    display: inline-flex;
  }
  .mst-header--js .mst-header__panel {
    display: none;
    position: absolute;
    right: 0;
    top: calc(100% + 8px);
    z-index: 60;
    min-width: 250px;
    flex-direction: column;
    align-items: stretch;
    gap: var(--mst-space-3);
    background: var(--mst-white);
    border: 1px solid var(--mst-sand);
    border-radius: var(--mst-radius);
    box-shadow: 0 10px 28px rgba(58, 42, 23, 0.16);
    padding: var(--mst-space-4);
  }
  .mst-header--js .mst-header__panel.is-open {
    display: flex;
  }
  .mst-header__nav {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    gap: var(--mst-space-2);
  }
  .mst-langs--header,
  .mst-paises--header {
    width: 100%;
  }
  .mst-paises__select {
    max-width: 100%;
    width: 100%;
  }
}

@media (max-width: 600px) {
  .mst-header__brand .mst-header__logo {
    height: 74px;
  }
  .mst-header__name {
    font-size: 1.5rem;
  }
}

/* --- Pie propio (sustituye al de Twenty Twenty-Five) — otoñal cálido y claro --- */
.mst-footer {
  position: relative;
  overflow: hidden;
  margin-top: 0;
  background-color: #eecaa4;
  background-image:
    url("../img/butterfly-small.png"),
    url("../img/butterfly-small.png"),
    url("../img/texture-footer-overlay.png"),
    radial-gradient(105% 130% at 50% 6%, rgba(255, 251, 244, 0.85) 0%, rgba(255, 251, 244, 0) 55%),
    radial-gradient(85% 95% at 100% 112%, rgba(196, 116, 60, 0.32) 0%, rgba(196, 116, 60, 0) 55%),
    linear-gradient(180deg, #f6e6d2 0%, #edc8a3 52%, #dca06a 100%);
  background-repeat: no-repeat, no-repeat, no-repeat, no-repeat, no-repeat, no-repeat;
  background-position: left 9% top 13%, right 6% top 15%, center, center, center, center;
  background-size: 44px auto, 38px auto, cover, 100% 100%, 100% 100%, 100% 100%;
  color: #5a3a1a;
  font-family: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.6;
}

/* Quita el hueco (margen de bloque) entre la última sección y el footer,
   para que la ola verde del techo conecte con la sección verde de arriba. */
.wp-block-template-part:has(.mst-footer) {
  margin-top: 0 !important;
}

/* Ola verde en el techo (misma familia que las olas de la Home). */
.mst-footer::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 58px;
  background: url("../img/wave-footer.svg") no-repeat top center / 100% 100%;
  pointer-events: none;
  z-index: 0;
}

/* Hojas de vid teñidas de otoño en las esquinas inferiores (detrás del contenido). */
.mst-footer::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    url("../img/vine-corner-left.png"),
    url("../img/vine-corner-right.png"),
    url("../img/vine-sprig.png"),
    url("../img/vine-sprig.png");
  background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
  background-position: left -55px bottom -45px, right -60px bottom -55px, left 2% top 16%, right 2% bottom 42%;
  background-size: 450px auto, 490px auto, 200px auto, 180px auto;
  filter: sepia(0.78) saturate(1.75) hue-rotate(-20deg) brightness(0.93);
  opacity: 0.92;
  pointer-events: none;
  z-index: 0;
}

.mst-footer__inner,
.mst-footer__bottom {
  position: relative;
  z-index: 1;
}

.mst-footer a {
  color: #8a4a24;
  text-decoration: none;
}

.mst-footer a:hover {
  color: #b5673c;
  text-decoration: underline;
}

.mst-footer__inner {
  max-width: 1200px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--mst-space-6);
  padding: 78px var(--mst-space-4) var(--mst-space-6);
}

@media (min-width: 760px) {
  .mst-footer__inner {
    grid-template-columns: 1.3fr 1fr;
  }
}

.mst-footer__name {
  display: block;
  font-family: "Platypi", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  color: #6b3a17;
}

.mst-footer__tag {
  margin: 0.6rem 0 0;
  max-width: 34rem;
  font-size: 0.95rem;
  color: #6a4a2c;
}

.mst-footer__nav {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.55rem;
}

@media (min-width: 520px) {
  .mst-footer__nav {
    grid-template-columns: 1fr 1fr;
  }
}

.mst-footer__nav a {
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
}

.mst-footer__nav a::before {
  content: "";
  flex: 0 0 auto;
  width: 15px;
  height: 15px;
  background: url("../img/icon-flower.svg") no-repeat center / contain;
}

/* "Crear cuenta" bajo la marca del pie: píldora terracota discreta. */
.mst-footer__account {
  margin: 1.1rem 0 0;
}
.mst-footer__account-link {
  display: inline-flex;
  align-items: center;
  padding: 0.5rem 1.2rem;
  border: 1.5px solid rgba(181, 103, 60, 0.6);
  border-radius: var(--mst-radius-pill);
  font-weight: 700;
  color: #b5673c;
  text-decoration: none;
  transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.mst-footer__account-link:hover,
.mst-footer__account-link:focus {
  background-color: #b5673c;
  color: #fff8ec;
  border-color: #b5673c;
}

.mst-footer__bottom {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  padding: var(--mst-space-4);
  text-align: center;
  font-size: 0.92rem;
  border-top: 1px solid rgba(107, 58, 23, 0.22);
}

.mst-footer__urgente {
  margin: 0;
  color: #5a3a1a;
}

.mst-footer__urgente a {
  font-weight: 800;
  color: #b5673c;
}

.mst-footer__copy {
  margin: 0;
  color: #8a6b45;
}

/* Móvil: decoración reducida (prioridad legibilidad). */
@media (max-width: 600px) {
  .mst-footer::after {
    background-size: 250px auto, 270px auto, 120px auto, 110px auto;
    opacity: 0.55;
  }
  .mst-footer {
    background-size: 28px auto, 26px auto, cover, 100% 100%, 100% 100%, 100% 100%;
  }
}

/* --- Mi espacio: bloques (solicitudes, seguridad, consentimientos) --- */
.mst-espacio__bloque {
  margin-block: var(--mst-space-6);
  padding-top: var(--mst-space-6);
  border-top: 1px solid var(--mst-sand);
}

.mst-espacio__solicitudes,
.mst-espacio__lista {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: var(--mst-space-3);
}

.mst-espacio__solicitud {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--mst-space-3);
  padding: var(--mst-space-3) var(--mst-space-4);
  background: var(--mst-white);
  border: 1px solid var(--mst-sand);
  border-radius: var(--mst-radius-sm);
}

.mst-espacio__solicitud-fecha {
  font-size: 0.9rem;
  opacity: 0.7;
}

.mst-espacio__solicitud .mst-badge {
  margin-left: auto;
}

.mst-espacio__lista a {
  font-weight: 600;
  color: var(--mst-blue-dark);
}

/* --- Selector de idioma (Polylang) --- */
.mst-langs select {
  padding: 0.3rem 0.6rem;
  font-size: 0.85rem;
  color: var(--mst-text);
  background: var(--mst-white);
  border: 1px solid var(--mst-sand);
  border-radius: var(--mst-radius-pill);
  max-width: 9rem;
}

.mst-langs--header {
  display: flex;
  align-items: center;
}

.mst-langs--footer {
  margin: 0.5rem 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 0.75rem;
  justify-content: center;
  font-size: 0.85rem;
}

.mst-langs--footer a {
  color: #8a4a24;
  text-decoration: none;
}

.mst-langs--footer .current-lang a,
.mst-langs--footer .current-lang {
  font-weight: 700;
  color: #b5673c;
}

@media (max-width: 600px) {
  .mst-langs--header {
    width: 100%;
    justify-content: center;
    margin-top: var(--mst-space-2);
  }
}

/* --- Aviso de traducción pendiente / respaldo en español --- */
.mst-i18n-notice {
  margin: 0 0 var(--mst-space-4);
  padding: var(--mst-space-3) var(--mst-space-4);
  background: var(--mst-soft-blue);
  border-left: 4px solid var(--mst-blue);
  border-radius: var(--mst-radius-sm);
  font-size: 0.95rem;
}

.mst-pin-pop__fallback,
.mst-resource-card__fallback {
  display: inline-block;
  margin-top: 0.25rem;
  font-size: 0.8rem;
  font-style: italic;
  color: var(--mst-brown-dark);
}

/* --- País en la caja de crisis y avisos dinámicos --- */
.mst-crisis__pais {
  display: inline-block;
  margin-left: 0.4rem;
  padding: 0.05rem 0.5rem;
  border-radius: var(--mst-radius-pill);
  background: rgba(0, 0, 0, 0.06);
  font-size: 0.85em;
  font-weight: 700;
}

.mst-crisis__generic {
  font-weight: 600;
}

.mst-crisis__pendiente {
  display: inline-block;
  margin-left: 0.4rem;
  font-size: 0.8rem;
  font-style: italic;
  opacity: 0.8;
}

/* --- Caja de crisis completa (variante no compacta) --- */
.mst-crisis__intro {
  margin: 0 0 var(--mst-space-4);
}

.mst-crisis__list {
  list-style: none;
  margin: 0 0 var(--mst-space-4);
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mst-space-3);
}

.mst-crisis__item {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.5rem 0.8rem;
  padding-bottom: var(--mst-space-3);
  border-bottom: 1px solid var(--mst-sand);
}

.mst-crisis__label {
  font-weight: 700;
  min-width: 12ch;
}

.mst-crisis__number--big {
  font-size: 1.4rem;
  font-weight: 800;
}

.mst-crisis__care {
  margin-top: var(--mst-space-4);
}

.mst-crisis__care-note {
  font-size: 0.9rem;
  opacity: 0.85;
}

/* --- Aviso del Diario --- */
.mst-diario-notice__link {
  font-weight: 700;
  text-decoration: underline;
  white-space: nowrap;
}

/* --- Aviso discreto de país aproximado por IP --- */
.mst-pais-aviso {
  margin: 0 0 var(--mst-space-3);
  padding: 0.4rem 0.75rem;
  font-size: 0.85rem;
  color: var(--mst-brown-dark);
  background: var(--mst-cream);
  border: 1px solid var(--mst-sand);
  border-radius: var(--mst-radius-sm);
}

/* =========================================================================
   REDISEÑO OTOÑAL — banners verdes con hojas de uva + caja de crisis oscura
   ========================================================================= */

/* Banners verdes (#3b7f5f): texto marrón oscuro + hojas de uva en diagonal. */
.wp-block-group.has-verde-background-color {
  color: #533000;
  position: relative;
  overflow: hidden;
}

.wp-block-group.has-verde-background-color::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("../img/hojas-uva.svg");
  background-repeat: no-repeat;
  background-size: auto 100%;
  background-position: center;
  opacity: 0.6;
  pointer-events: none;
  z-index: 0;
}

/* Deriva de las hojas al bajar por la página: hero a la izquierda, valores al
   centro y crisis a la derecha (diagonal descendente arriba-izq -> abajo-der). */
.has-verde-background-color.mst-page-hero::before {
  background-position: left center;
}

.has-verde-background-color:has(.mst-card)::before {
  background-position: center;
}

.has-verde-background-color:has(.mst-crisis)::before {
  background-position: right center;
}

/* Diario de Rosalba: la decoración del Diario se define en el bloque
   "DIARIO DE ROSALBA — rediseño" al final del archivo (vides + mariposas PNG).
   Ya NO se usa mariposas-diario.svg; la caja de crisis del Diario recupera la
   decoración estándar del sitio (hojas-uva.svg del bloque base). */

/* Crear cuenta: mismo rediseño, pero con las mariposas un poco más presentes. */
body.mst-page-crear-cuenta .wp-block-group.has-verde-background-color::before {
  opacity: 0.75;
}

/* ============================================================
   HOME — Héroe elegante (BLOQUE 1). Verde profundo con relieve,
   texto crema, título Platypi, separador con corazón y ola al pie.
   Scopeado a body.home (Diario/Crear cuenta no cambian). Las
   mariposas/decoración lateral llegan en el BLOQUE 2.
   ============================================================ */
body.home .mst-page-hero {
  background-color: #33684e;
  background-image:
    url("../img/texture-hero-overlay.png"),
    radial-gradient(135% 120% at 50% 10%, rgba(255, 248, 236, 0.13) 0%, rgba(255, 248, 236, 0) 46%),
    radial-gradient(120% 120% at 50% 120%, rgba(0, 0, 0, 0.32) 0%, rgba(0, 0, 0, 0) 55%);
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: center, center, center;
  background-size: cover, auto, auto;
  padding-top: clamp(3rem, 6vw, 5rem) !important;
  padding-bottom: clamp(5rem, 9vw, 7.5rem) !important;
}

/* BLOQUE 2 — decoración lateral del hero: mariposas line-art + ramas, sutiles y
   a los lados (el texto va centrado, así que no se tapa). */
body.home .mst-page-hero::before {
  background-image:
    url("../img/butterfly-left.png"),
    url("../img/butterfly-right.png");
  background-repeat: no-repeat, no-repeat;
  background-position:
    left 2% top 6%,
    right 1% bottom 3%;
  background-size: 300px auto, 360px auto;
  opacity: 0.85;
}

/* Pantallas medianas/móvil: se oculta la decoración lateral (no invade el texto). */
@media (max-width: 920px) {
  body.home .mst-page-hero::before {
    background-image: none;
  }
}

/* Ola verde -> crema al pie del héroe. */
body.home .mst-page-hero::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 68px;
  background: url("../img/hero-wave.svg") no-repeat center bottom / 100% 100%;
  pointer-events: none;
  z-index: 1;
}

/* Título: serif Platypi, crema, grande y refinado. */
body.home .mst-page-hero .mst-page-hero__title {
  font-family: "Platypi", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  color: #f7edd6;
  font-weight: 600;
  font-size: clamp(2rem, 5.5vw, 3.7rem);
  line-height: 1.16;
  letter-spacing: 0.01em;
  margin-bottom: 0.4rem;
  overflow-wrap: break-word;
}

/* Separador decorativo (línea fina + corazón) bajo el título. */
body.home .mst-page-hero .mst-page-hero__title::after {
  content: "";
  display: block;
  width: 230px;
  max-width: 62%;
  height: 22px;
  margin: 0.9rem auto 0;
  background: url("../img/hero-divider.svg") no-repeat center / contain;
}

/* Subtítulo en crema cálido. */
body.home .mst-page-hero .mst-page-hero__lead {
  color: #ead7ac;
  font-size: clamp(1.05rem, 1.9vw, 1.4rem);
  margin-top: 0.2rem;
}

/* Botones tipo píldora, centrados y cálidos. */
body.home .mst-page-hero .wp-block-button__link {
  border-radius: 999px;
  padding: 0.85rem 2.1rem;
  font-weight: 700;
}

/* ============================================================
   BLOQUE 2 — Sección "Aquí tienes un lugar": fondo crema, título
   Platypi, separador vegetal y ramas de esquina muy sutiles.
   Solo Home; el mapa/búsqueda no se tocan (decoración detrás y
   con pointer-events:none). La ola crema del hero encaja aquí.
   ============================================================ */
body.home .wp-block-group.has-white-background-color:has(.mst-mapa) {
  background-color: #fff8ec;
  background-image: url("../img/texture-cream-overlay.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: relative;
}

body.home .wp-block-group:has(.mst-mapa) > h2.wp-block-heading {
  font-family: "Platypi", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
}

body.home .wp-block-group:has(.mst-mapa) > h2.wp-block-heading::after {
  content: "";
  display: block;
  width: 260px;
  max-width: 62%;
  height: 26px;
  margin: 0.7rem auto 0.2rem;
  background: url("../img/leaf-divider.svg") no-repeat center / contain;
}

/* Ramas botánicas suaves + mariposa pequeña, muy tenues y detrás del contenido. */
body.home .wp-block-group.has-white-background-color:has(.mst-mapa)::before,
body.home .wp-block-group.has-white-background-color:has(.mst-mapa)::after {
  content: "";
  position: absolute;
  top: 0;
  width: 150px;
  height: 270px;
  background-repeat: no-repeat;
  pointer-events: none;
  z-index: 0;
}

body.home .wp-block-group.has-white-background-color:has(.mst-mapa)::before {
  left: 0.5%;
  background-image: url("../img/botanical-branch.svg");
  background-position: left top;
  background-size: 105px auto;
  opacity: 0.16;
}

body.home .wp-block-group.has-white-background-color:has(.mst-mapa)::after {
  right: 1%;
  background-image: url("../img/butterfly-small.png");
  background-position: right 6px top 112px;
  background-size: 96px auto;
  opacity: 0.5;
}

/* Móvil: se ocultan las ramas de esquina (se conserva el separador del título). */
@media (max-width: 700px) {
  body.home .wp-block-group.has-white-background-color:has(.mst-mapa)::before,
  body.home .wp-block-group.has-white-background-color:has(.mst-mapa)::after {
    display: none;
  }
}

.wp-block-group.has-verde-background-color > * {
  position: relative;
  z-index: 1;
}

.wp-block-group.has-verde-background-color :where(h1, h2, h3),
.wp-block-group.has-verde-background-color .mst-page-hero__title,
.wp-block-group.has-verde-background-color .mst-page-hero__lead {
  color: #533000;
}

/* Las tarjetas blancas conservan su título cálido y texto legible. */
.wp-block-group.has-verde-background-color .mst-card__title {
  color: var(--mst-brown);
}

.wp-block-group.has-verde-background-color .mst-card__text {
  color: var(--mst-text);
}

/* Caja de crisis COMPLETA (Solicitar ayuda / Contacto): mismo estilo oscuro. */
.mst-crisis {
  background-color: #eb7f24;
  border-left: 7px solid #6b2f10;
  color: #3a1e08;
}

.mst-crisis__title,
.mst-crisis__intro,
.mst-crisis__label,
.mst-crisis__care-text,
.mst-crisis__care-note,
.mst-crisis__generic,
.mst-crisis__note,
.mst-crisis__pendiente {
  color: #3a1e08;
}

.mst-crisis__number,
.mst-crisis__number--big {
  color: #000000;
}

.mst-crisis__item {
  border-bottom-color: rgba(58, 30, 8, 0.25);
}

/* Enlaces de la caja de crisis sobre fondo ámbar: oscuros (ganan a [class^="mst-"] a). */
.mst-crisis a,
.mst-crisis .mst-crisis__chip,
.mst-crisis .mst-crisis__more {
  color: #5c2a0f;
}

.mst-crisis .mst-crisis__chip strong {
  color: #000000;
}

.mst-crisis .mst-crisis__chip:hover {
  color: #5c2a0f;
}

.mst-crisis .mst-crisis__more:hover {
  color: #8a3b1e;
}

.mst-crisis .mst-crisis__number,
.mst-crisis .mst-crisis__number--big {
  color: #000000;
}

/* ============================================================
   BLOQUE INFERIOR (solo Home) — "No estás sola" + ayuda urgente.
   Restyling + decoración: hojas de vid (esquinas) y mariposas.
   Solo CSS; no toca BD, textos, enlaces, teléfonos ni el mapa.
   ============================================================ */

/* --- Sección "No estás sola" (tarjetas): verde profundo + compacta --- */
/* Ola crema en el techo (misma familia que la ola del hero, espejada) para una
   transición ondulada con la sección crema "Aquí tienes un lugar" de arriba. */
body.home .wp-block-group.has-verde-background-color:has(.mst-card) {
  background-color: #33684e;
  background-image:
    url("../img/wave-top-cream.svg"),
    url("../img/texture-green-overlay.png"),
    radial-gradient(130% 120% at 50% 8%, rgba(255, 248, 236, 0.12) 0%, rgba(255, 248, 236, 0) 46%),
    radial-gradient(120% 130% at 50% 130%, rgba(0, 0, 0, 0.26) 0%, rgba(0, 0, 0, 0) 55%);
  background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
  background-position: top center, center, center, center;
  background-size: 100% 58px, cover, auto, auto;
  padding-top: clamp(4.4rem, 7vw, 6rem) !important;
  padding-bottom: clamp(2rem, 3.5vw, 3rem) !important;
  /* Igualar el padding lateral al del resto de secciones (hero/crema/urgente
     usan spacing|40); antes esta sección caía al padding raíz (~24px) y las
     tarjetas sobresalían ~24px respecto al mapa en laptop/tablet. */
  padding-left: var(--wp--preset--spacing--40) !important;
  padding-right: var(--wp--preset--spacing--40) !important;
}

/* Menos hueco: encoger el spacer y acercar subtítulo al título. */
body.home .wp-block-group.has-verde-background-color:has(.mst-card) .wp-block-spacer {
  height: 0.7rem !important;
}
body.home .wp-block-group.has-verde-background-color:has(.mst-card) > h2 {
  font-family: "Platypi", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  color: #f7edd6;
  font-weight: 600;
  font-size: clamp(2.1rem, 4.6vw, 3.3rem);
  line-height: 1.12;
  letter-spacing: 0.01em;
  margin-bottom: 0.4rem;
}
body.home .wp-block-group.has-verde-background-color:has(.mst-card) > p {
  color: #ead7ac;
  font-size: clamp(1.05rem, 1.7vw, 1.3rem);
  max-width: 42ch;
  margin: 0 auto;
}

/* Hojas de vid: más grandes y envolventes (esquinas + acento inferior). */
body.home .wp-block-group.has-verde-background-color:has(.mst-card)::before {
  background-image:
    url("../img/vine-corner-left.png"),
    url("../img/vine-sprig.png");
  background-repeat: no-repeat, no-repeat;
  background-position:
    left -22px top -16px,
    left 6% bottom -16px;
  background-size: 440px auto, 320px auto;
  opacity: 0.9;
}
body.home .wp-block-group.has-verde-background-color:has(.mst-card)::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("../img/vine-corner-right.png");
  background-repeat: no-repeat;
  background-position: right -22px top -16px;
  background-size: 440px auto;
  opacity: 0.9;
  pointer-events: none;
  z-index: 0;
}

/* Tarjetas crema más grandes y elegantes, borde fino dorado, centradas. */
body.home .wp-block-group.has-verde-background-color:has(.mst-card) .mst-card {
  background: #fff8ec;
  border: 1px solid rgba(199, 154, 82, 0.55);
  border-radius: 22px;
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.22);
  padding: 2.6rem 1.6rem 2.2rem;
  text-align: center;
}
body.home .wp-block-group.has-verde-background-color:has(.mst-card) .mst-card__title {
  font-family: "Platypi", "Iowan Old Style", Palatino, Georgia, serif;
  color: var(--mst-brown);
  font-size: 1.35rem;
  margin-top: 0.2rem;
}

/* Icono line-art arriba de cada tarjeta (uno por columna). */
body.home .wp-block-group.has-verde-background-color:has(.mst-card) .mst-card::before {
  content: "";
  display: block;
  width: 50px;
  height: 50px;
  margin: 0 auto 0.8rem;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
body.home .has-verde-background-color:has(.mst-card) .wp-block-column:nth-child(1) .mst-card::before { background-image: url("../img/icon-heart.svg"); }
body.home .has-verde-background-color:has(.mst-card) .wp-block-column:nth-child(2) .mst-card::before { background-image: url("../img/icon-listen.svg"); }
body.home .has-verde-background-color:has(.mst-card) .wp-block-column:nth-child(3) .mst-card::before { background-image: url("../img/icon-compass.svg"); }
body.home .has-verde-background-color:has(.mst-card) .wp-block-column:nth-child(4) .mst-card::before { background-image: url("../img/icon-steps.svg"); }

/* --- Sección urgente: mismo verde profundo (sin línea dura), caja subida --- */
body.home .wp-block-group.has-verde-background-color:has(.mst-crisis) {
  background-color: #33684e;
  margin-top: -1px;
  padding-top: clamp(0.75rem, 2vw, 1.6rem) !important;
  padding-bottom: clamp(2rem, 4vw, 3rem) !important;
}
/* Oculta las mariposas SVG antiguas de esta sección (solo mariposas PNG en la caja). */
body.home .wp-block-group.has-verde-background-color:has(.mst-crisis)::before {
  background-image: none;
}

/* Caja "¿Necesitas ayuda urgente ahora?" premium: más ancha, centrada, marco fino. */
body.home .wp-block-group.has-verde-background-color:has(.mst-crisis) .mst-crisis--compact {
  max-width: 980px;
  width: 100%;
  margin-inline: auto;
  border-left: none;
  border-radius: 26px;
  padding: 1.4rem 1.8rem;
  box-shadow: 0 16px 40px rgba(58, 20, 8, 0.34), inset 0 0 0 1.5px rgba(255, 248, 236, 0.45);
  position: relative;
}
body.home .mst-crisis--compact .mst-crisis__pais {
  background: rgba(255, 248, 236, 0.9);
  color: #5c2a0f;
  font-weight: 800;
}

/* Mariposas pequeñas asomando en 2 esquinas de la caja (sin tapar texto). */
body.home .mst-crisis--compact::before,
body.home .mst-crisis--compact::after {
  content: "";
  position: absolute;
  background: url("../img/butterfly-small.png") no-repeat center / contain;
  pointer-events: none;
  z-index: 3;
}
body.home .mst-crisis--compact::before {
  top: -18px;
  right: 22px;
  width: 54px;
  height: 48px;
  opacity: 0.95;
}
body.home .mst-crisis--compact::after {
  bottom: -16px;
  left: 24px;
  width: 44px;
  height: 40px;
  transform: scaleX(-1);
  opacity: 0.85;
}

/* Móvil: decoración reducida y luego oculta; caja completa y legible. */
@media (max-width: 782px) {
  body.home .wp-block-group.has-verde-background-color:has(.mst-card)::before,
  body.home .wp-block-group.has-verde-background-color:has(.mst-card)::after {
    background-size: 175px auto;
    opacity: 0.5;
  }
}
@media (max-width: 600px) {
  body.home .wp-block-group.has-verde-background-color:has(.mst-card)::before,
  body.home .wp-block-group.has-verde-background-color:has(.mst-card)::after {
    background-image: none;
  }
  body.home .mst-crisis--compact::before,
  body.home .mst-crisis--compact::after {
    display: none;
  }
  body.home .wp-block-group.has-verde-background-color:has(.mst-crisis) .mst-crisis--compact {
    padding: 1.1rem 1rem;
    border-radius: 18px;
  }
}

/* ============================================================
   DIARIO DE ROSALBA — rediseño cálido, íntimo y elegante.
   Solo CSS · scope body.mst-page-diario · assets PNG transparentes
   (vides + mariposas), textura, ola y tarjetas tipo papel.
   ============================================================ */

/* --- Hero verde: textura suave + tipografía elegante --- */
body.mst-page-diario .mst-page-hero {
  background-color: #33684e;
  background-image:
    url("../img/texture-green-overlay.png"),
    radial-gradient(120% 120% at 50% 6%, rgba(255, 248, 236, 0.12) 0%, rgba(255, 248, 236, 0) 46%),
    radial-gradient(120% 120% at 50% 128%, rgba(0, 0, 0, 0.30) 0%, rgba(0, 0, 0, 0) 55%);
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: center, center, center;
  background-size: cover, auto, auto;
  color: #f3e8cf;
  padding-top: clamp(3rem, 6vw, 4.5rem) !important;
  padding-bottom: clamp(5rem, 9vw, 7rem) !important;
}

/* Contenido por encima de la decoración */
body.mst-page-diario .mst-page-hero > * {
  position: relative;
  z-index: 2;
}

/* Vides en esquinas superiores + mariposas sutiles (detrás del texto) */
body.mst-page-diario .mst-page-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    url("../img/diario-vine-left-clean.png"),
    url("../img/diario-vine-right-clean.png"),
    url("../img/diario-butterfly-copper-clean.png"),
    url("../img/diario-butterfly-gold-clean.png"),
    url("../img/diario-butterfly-small-clean.png");
  background-repeat: no-repeat, no-repeat, no-repeat, no-repeat, no-repeat;
  background-position:
    left -30px top -18px,
    right -30px top -18px,
    right 11% top 34%,
    left 8% top 30%,
    left 25% bottom 20%;
  background-size: 360px auto, 360px auto, 118px auto, 92px auto, 62px auto;
  opacity: 0.96;
  pointer-events: none;
  z-index: 0;
}

/* Ola inferior crema (transición ondulada hacia Entradas) */
body.mst-page-diario .mst-page-hero::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 58px;
  background: url("../img/hero-wave.svg") no-repeat bottom center / 100% 100%;
  pointer-events: none;
  z-index: 1;
}

/* Título elegante (Platypi) + separador de corazón */
body.mst-page-diario .mst-page-hero .mst-page-hero__title {
  font-family: "Platypi", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  font-weight: 700;
  color: #f7edd6;
  font-size: clamp(2.2rem, 5vw, 3.4rem);
  line-height: 1.1;
  margin: 0.2rem 0 0;
}
body.mst-page-diario .mst-page-hero .mst-page-hero__title::after {
  content: "";
  display: block;
  width: 132px;
  height: 16px;
  margin: 0.85rem auto 0;
  background: url("../img/hero-divider.svg") no-repeat center / contain;
  opacity: 0.9;
}
body.mst-page-diario .mst-page-hero .mst-eyebrow {
  color: #e4cd93;
  letter-spacing: 0.16em;
}
body.mst-page-diario .mst-page-hero .mst-page-hero__lead {
  color: #ecdcbf;
  font-size: clamp(1.05rem, 2.2vw, 1.25rem);
}

/* --- Sección "Entradas": crema cálido + textura + vides en esquinas --- */
body.mst-page-diario .wp-block-group.has-white-background-color {
  background-color: #fff8ec;
  background-image: url("../img/texture-cream-overlay.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: relative;
  overflow: hidden;
}
body.mst-page-diario .wp-block-group.has-white-background-color > * {
  position: relative;
  z-index: 1;
}
body.mst-page-diario .wp-block-group.has-white-background-color::before {
  content: "";
  position: absolute;
  left: -40px;
  bottom: -40px;
  width: 340px;
  height: 255px;
  background: url("../img/diario-vine-bottom-left-clean.png") no-repeat left bottom / contain;
  opacity: 0.9;
  pointer-events: none;
  z-index: 0;
}
body.mst-page-diario .wp-block-group.has-white-background-color::after {
  content: "";
  position: absolute;
  right: -34px;
  top: 34px;
  width: 300px;
  height: 225px;
  background: url("../img/diario-vine-right-clean.png") no-repeat right top / contain;
  opacity: 0.78;
  pointer-events: none;
  z-index: 0;
}

/* Título "Entradas" elegante + separador vegetal */
body.mst-page-diario .wp-block-group.has-white-background-color > h2 {
  font-family: "Platypi", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  font-weight: 700;
  color: #6b3a17;
  font-size: clamp(1.8rem, 3.6vw, 2.5rem);
  margin-bottom: 0.4rem;
}
body.mst-page-diario .wp-block-group.has-white-background-color > h2::after {
  content: "";
  display: block;
  width: 180px;
  height: 18px;
  margin: 0.7rem auto 1.6rem;
  background: url("../img/leaf-divider.svg") no-repeat center / contain;
  opacity: 0.9;
}

/* --- Tarjetas de entradas: rejilla + papel + sombra premium --- */
body.mst-page-diario .wp-block-post-template {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(1.1rem, 2.6vw, 1.9rem);
  max-width: 1000px;
  margin-inline: auto;
  padding: 0;
  list-style: none;
}
body.mst-page-diario .wp-block-post {
  position: relative;
  background: #fffaf1;
  border: 1px solid rgba(199, 154, 82, 0.5);
  border-radius: 20px;
  padding: clamp(1.4rem, 3vw, 2.1rem) clamp(1.4rem, 3vw, 2.1rem) clamp(2.2rem, 4vw, 2.8rem);
  box-shadow: 0 12px 30px rgba(107, 58, 23, 0.10), 0 2px 6px rgba(107, 58, 23, 0.06);
  overflow: hidden;
}
body.mst-page-diario .wp-block-post-title {
  margin: 0 0 0.5rem;
}
body.mst-page-diario .wp-block-post-title a {
  font-family: "Platypi", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  font-weight: 700;
  color: #7a3f16;
  font-size: clamp(1.15rem, 2.2vw, 1.45rem);
  line-height: 1.25;
}
body.mst-page-diario .wp-block-post-title a:hover {
  color: #a75a24;
}
body.mst-page-diario .wp-block-post-date {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  color: #b0824a;
  font-size: 0.82rem;
  letter-spacing: 0.02em;
  margin: 0 0 0.7rem;
  padding-bottom: 0.7rem;
  border-bottom: 1px solid rgba(199, 154, 82, 0.28);
}
body.mst-page-diario .wp-block-post-date::before {
  content: "";
  width: 13px;
  height: 13px;
  background: url("../img/icon-flower.svg") no-repeat center / contain;
  opacity: 0.85;
  flex: 0 0 auto;
}
body.mst-page-diario .wp-block-post-excerpt {
  color: #5a4636;
  line-height: 1.7;
  font-size: 0.98rem;
  margin: 0;
}
/* Corazón discreto al pie de cada tarjeta */
body.mst-page-diario .wp-block-post::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0.9rem;
  transform: translateX(-50%);
  width: 22px;
  height: 14px;
  background: url("../img/icon-heart.svg") no-repeat center / contain;
  opacity: 0.5;
  pointer-events: none;
}

/* --- Responsive: legibilidad primero --- */
@media (max-width: 760px) {
  body.mst-page-diario .wp-block-post-template {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 600px) {
  body.mst-page-diario .mst-page-hero::before {
    background-size: 200px auto, 200px auto, 70px auto, 58px auto, 0 0;
    opacity: 0.78;
  }
  body.mst-page-diario .wp-block-group.has-white-background-color::before {
    width: 180px;
    height: 135px;
    opacity: 0.6;
  }
  body.mst-page-diario .wp-block-group.has-white-background-color::after {
    display: none;
  }
}

/* ============================================================
   DIARIO — sección "¿Necesitas ayuda urgente ahora?" IDÉNTICA a
   la Home: sin decoración SVG de fondo, caja premium (980px, marco
   y sombra), país en crema y mariposas PNG asomando en la caja.
   ============================================================ */
body.mst-page-diario .wp-block-group.has-verde-background-color:has(.mst-crisis) {
  background-color: #33684e;
  margin-top: -1px;
  padding-top: clamp(0.75rem, 2vw, 1.6rem) !important;
  padding-bottom: clamp(2rem, 4vw, 3rem) !important;
}
/* Oculta las mariposas/hojas SVG del fondo (las "fantasma"). */
body.mst-page-diario .wp-block-group.has-verde-background-color:has(.mst-crisis)::before {
  background-image: none;
}
body.mst-page-diario .wp-block-group.has-verde-background-color:has(.mst-crisis) .mst-crisis--compact {
  max-width: 980px;
  width: 100%;
  margin-inline: auto;
  border-left: none;
  border-radius: 26px;
  padding: 1.4rem 1.8rem;
  box-shadow: 0 16px 40px rgba(58, 20, 8, 0.34), inset 0 0 0 1.5px rgba(255, 248, 236, 0.45);
  position: relative;
}
body.mst-page-diario .mst-crisis--compact .mst-crisis__pais {
  background: rgba(255, 248, 236, 0.9);
  color: #5c2a0f;
  font-weight: 800;
}
body.mst-page-diario .mst-crisis--compact::before,
body.mst-page-diario .mst-crisis--compact::after {
  content: "";
  position: absolute;
  background: url("../img/butterfly-small.png") no-repeat center / contain;
  pointer-events: none;
  z-index: 3;
}
body.mst-page-diario .mst-crisis--compact::before {
  top: -18px;
  right: 22px;
  width: 54px;
  height: 48px;
  opacity: 0.95;
}
body.mst-page-diario .mst-crisis--compact::after {
  bottom: -16px;
  left: 24px;
  width: 44px;
  height: 40px;
  transform: scaleX(-1);
  opacity: 0.85;
}
@media (max-width: 600px) {
  body.mst-page-diario .mst-crisis--compact::before,
  body.mst-page-diario .mst-crisis--compact::after {
    display: none;
  }
  body.mst-page-diario .wp-block-group.has-verde-background-color:has(.mst-crisis) .mst-crisis--compact {
    padding: 1.1rem 1rem;
    border-radius: 18px;
  }
}

/* ============================================================
   SOLICITAR AYUDA — refugio cálido, humano y seguro (solo CSS).
   Scope body.mst-page-solicitar-ayuda · assets existentes.
   NO toca HTML/JS del formulario ni el mostrado de pasos
   (.mst-form--js .mst-form__step.is-active queda intacto).
   ============================================================ */

/* --- Hero crema cálido: textura + vides + mariposa + título Platypi --- */
body.mst-page-solicitar-ayuda .mst-page-hero {
  background-color: #33684e !important;
  background-image:
    url("../img/texture-green-overlay.png"),
    radial-gradient(120% 120% at 50% 6%, rgba(255, 248, 236, 0.12) 0%, rgba(255, 248, 236, 0) 46%),
    radial-gradient(120% 130% at 50% 128%, rgba(0, 0, 0, 0.30) 0%, rgba(0, 0, 0, 0) 55%);
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: center, center, center;
  background-size: cover, auto, auto;
  color: #f3e8cf;
  padding-top: clamp(3rem, 6vw, 4.5rem) !important;
  padding-bottom: clamp(5rem, 9vw, 7rem) !important;
}
body.mst-page-solicitar-ayuda .mst-page-hero > * {
  position: relative;
  z-index: 2;
}
body.mst-page-solicitar-ayuda .mst-page-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    url("../img/vine-corner-left.png"),
    url("../img/vine-corner-right.png"),
    url("../img/butterfly-small.png");
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: left -46px top -30px, right -46px top -26px, right 14% bottom 24%;
  background-size: 320px auto, 330px auto, 64px auto;
  filter: sepia(0.55) saturate(1.4) hue-rotate(-12deg) brightness(1.22);
  opacity: 0.9;
  pointer-events: none;
  z-index: 0;
}
body.mst-page-solicitar-ayuda .mst-page-hero::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 52px;
  background: url("../img/hero-wave.svg") no-repeat bottom center / 100% 100%;
  pointer-events: none;
  z-index: 1;
}
body.mst-page-solicitar-ayuda .mst-page-hero .mst-page-hero__title {
  font-family: "Platypi", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  font-weight: 700;
  color: #f7edd6;
  font-size: clamp(2.1rem, 4.8vw, 3.2rem);
  line-height: 1.12;
  margin: 0.2rem 0 0;
}
body.mst-page-solicitar-ayuda .mst-page-hero .mst-page-hero__title::after {
  content: "";
  display: block;
  width: 210px;
  max-width: 60%;
  height: 20px;
  margin: 0.85rem auto 0;
  background: url("../img/hero-divider.svg") no-repeat center / contain;
}
body.mst-page-solicitar-ayuda .mst-page-hero .mst-eyebrow {
  display: inline-block;
  padding: 0.28rem 1.05rem;
  border-radius: var(--mst-radius-pill);
  background: rgba(255, 248, 236, 0.92);
  color: #6b3a17;
  font-weight: 800;
  letter-spacing: 0.16em;
  font-size: 0.78rem;
}
body.mst-page-solicitar-ayuda .mst-page-hero .mst-page-hero__lead {
  color: #ecdcbf;
  font-size: clamp(1.05rem, 2.2vw, 1.22rem);
}

/* --- Sección "Cuéntanos, a tu ritmo": crema + textura + vides suaves --- */
body.mst-page-solicitar-ayuda .wp-block-group.has-cream-background-color:has(.mst-form) {
  background-color: #fff8ec;
  background-image: url("../img/texture-cream-overlay.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: relative;
  overflow: hidden;
}
body.mst-page-solicitar-ayuda .wp-block-group.has-cream-background-color:has(.mst-form) > * {
  position: relative;
  z-index: 1;
}
body.mst-page-solicitar-ayuda .wp-block-group.has-cream-background-color:has(.mst-form)::before {
  content: "";
  position: absolute;
  left: -55px;
  top: 6%;
  width: 240px;
  height: 185px;
  background: url("../img/vine-sprig.png") no-repeat left top / contain;
  opacity: 0.42;
  pointer-events: none;
  z-index: 0;
}
body.mst-page-solicitar-ayuda .wp-block-group.has-cream-background-color:has(.mst-form)::after {
  content: "";
  position: absolute;
  right: -55px;
  bottom: 5%;
  width: 250px;
  height: 195px;
  background: url("../img/vine-corner-right.png") no-repeat right bottom / contain;
  opacity: 0.42;
  pointer-events: none;
  z-index: 0;
}
body.mst-page-solicitar-ayuda .wp-block-group.has-cream-background-color:has(.mst-form) > h2 {
  font-family: "Platypi", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  font-weight: 700;
  color: #6b3a17;
  font-size: clamp(1.7rem, 3.4vw, 2.3rem);
  margin-bottom: 0.35rem;
}
body.mst-page-solicitar-ayuda .wp-block-group.has-cream-background-color:has(.mst-form) > h2::after {
  content: "";
  display: block;
  width: 170px;
  height: 18px;
  margin: 0.6rem auto 0.3rem;
  background: url("../img/leaf-divider.svg") no-repeat center / contain;
  opacity: 0.9;
}

/* --- Formulario: tarjeta papel (NO se toca el display de pasos) --- */
body.mst-page-solicitar-ayuda .mst-form {
  max-width: 680px;
  margin-inline: auto;
  background-color: #fffaf1;
  border: 1px solid rgba(199, 154, 82, 0.5);
  border-radius: 24px;
  padding: clamp(1.5rem, 4vw, 2.6rem);
  box-shadow: 0 18px 44px rgba(107, 58, 23, 0.12), 0 3px 8px rgba(107, 58, 23, 0.06);
}
body.mst-page-solicitar-ayuda .mst-form__progress-step {
  background-color: #f1e2c8;
  color: #6a4a2c;
}
body.mst-page-solicitar-ayuda .mst-form__progress-step.is-active {
  background-color: #a75a24;
  color: #fff8ec;
}
body.mst-page-solicitar-ayuda .mst-form__progress-step.is-done {
  background-color: #7a9c6b;
  color: #fff8ec;
}
body.mst-page-solicitar-ayuda .mst-form__step-title {
  font-family: "Platypi", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  color: #7a3f16;
}
body.mst-page-solicitar-ayuda .mst-form__label {
  color: #5a4636;
}
body.mst-page-solicitar-ayuda .mst-form__control,
body.mst-page-solicitar-ayuda .mst-form select,
body.mst-page-solicitar-ayuda .mst-form input[type="text"],
body.mst-page-solicitar-ayuda .mst-form input[type="email"],
body.mst-page-solicitar-ayuda .mst-form input[type="tel"],
body.mst-page-solicitar-ayuda .mst-form textarea {
  background-color: #fffdf8;
  border: 1.5px solid rgba(199, 154, 82, 0.55);
  border-radius: 12px;
  color: #4a3a2a;
}
/* Foco cálido, visible y accesible (anillo terracota, no azul). */
body.mst-page-solicitar-ayuda .mst-form__control:focus,
body.mst-page-solicitar-ayuda .mst-form select:focus,
body.mst-page-solicitar-ayuda .mst-form input:focus,
body.mst-page-solicitar-ayuda .mst-form textarea:focus {
  border-color: #a75a24;
  outline: none;
  box-shadow: 0 0 0 3px rgba(167, 90, 36, 0.30);
}
body.mst-page-solicitar-ayuda .mst-form .mst-btn--primary,
body.mst-page-solicitar-ayuda .mst-form .mst-btn--secondary {
  background-color: #a75a24;
  color: #fff8ec;
}
body.mst-page-solicitar-ayuda .mst-form .mst-btn--primary:hover,
body.mst-page-solicitar-ayuda .mst-form .mst-btn--primary:focus,
body.mst-page-solicitar-ayuda .mst-form .mst-btn--secondary:hover,
body.mst-page-solicitar-ayuda .mst-form .mst-btn--secondary:focus {
  background-color: #8f4a1c;
}

/* --- Caja "¿Necesitas ayuda urgente ahora?": lenguaje de la Home --- */
body.mst-page-solicitar-ayuda .wp-block-group.has-cream-background-color:has(.mst-crisis) {
  background-color: #33684e !important;
  background-image:
    url("../img/wave-top-cream.svg"),
    url("../img/texture-green-overlay.png"),
    radial-gradient(120% 130% at 50% 0%, rgba(255, 248, 236, 0.10) 0%, rgba(255, 248, 236, 0) 55%);
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: top center, center, center;
  background-size: 100% 58px, cover, auto;
  position: relative;
  overflow: hidden;
  margin-top: -1px;
  padding-top: clamp(3.6rem, 6vw, 5rem) !important;
  /* Ensancha el contenido de esta sección para que la caja quepa como en la Home. */
  --wp--style--global--content-size: 1010px;
}
body.mst-page-solicitar-ayuda .wp-block-group.has-cream-background-color:has(.mst-crisis) > * {
  position: relative;
  z-index: 1;
}
/* Vides doradas en los laterales de la banda verde (detrás de la caja). */
body.mst-page-solicitar-ayuda .wp-block-group.has-cream-background-color:has(.mst-crisis)::before {
  content: "";
  position: absolute;
  left: -18px;
  bottom: -14px;
  width: 215px;
  height: 195px;
  background: url("../img/vine-corner-left.png") no-repeat left bottom / contain;
  filter: sepia(0.5) saturate(1.4) hue-rotate(-12deg) brightness(1.18);
  opacity: 0.55;
  pointer-events: none;
  z-index: 0;
}
body.mst-page-solicitar-ayuda .wp-block-group.has-cream-background-color:has(.mst-crisis)::after {
  content: "";
  position: absolute;
  right: -18px;
  top: 22%;
  width: 200px;
  height: 195px;
  background: url("../img/vine-corner-right.png") no-repeat right top / contain;
  filter: sepia(0.5) saturate(1.4) hue-rotate(-12deg) brightness(1.18);
  opacity: 0.55;
  pointer-events: none;
  z-index: 0;
}
body.mst-page-solicitar-ayuda .mst-crisis--compact {
  max-width: 860px;
  width: 100%;
  margin-inline: auto;
  border-left: none;
  border-radius: 26px;
  padding: 1.4rem 1.8rem;
  box-shadow: 0 16px 40px rgba(58, 20, 8, 0.30), inset 0 0 0 1.5px rgba(255, 248, 236, 0.45);
  position: relative;
}
body.mst-page-solicitar-ayuda .mst-crisis--compact .mst-crisis__pais {
  background: rgba(255, 248, 236, 0.9);
  color: #5c2a0f;
  font-weight: 800;
}
body.mst-page-solicitar-ayuda .mst-crisis--compact::before,
body.mst-page-solicitar-ayuda .mst-crisis--compact::after {
  content: "";
  position: absolute;
  background: url("../img/butterfly-small.png") no-repeat center / contain;
  pointer-events: none;
  z-index: 3;
}
body.mst-page-solicitar-ayuda .mst-crisis--compact::before {
  top: -18px;
  right: 22px;
  width: 52px;
  height: 46px;
  opacity: 0.95;
}
body.mst-page-solicitar-ayuda .mst-crisis--compact::after {
  bottom: -16px;
  left: 24px;
  width: 42px;
  height: 38px;
  transform: scaleX(-1);
  opacity: 0.85;
}

/* --- Responsive: formulario limpio y usable, decoración reducida --- */
@media (max-width: 900px) {
  body.mst-page-solicitar-ayuda .wp-block-group.has-cream-background-color:has(.mst-form)::before,
  body.mst-page-solicitar-ayuda .wp-block-group.has-cream-background-color:has(.mst-form)::after {
    display: none;
  }
}
@media (max-width: 600px) {
  body.mst-page-solicitar-ayuda .mst-page-hero::before {
    background-size: 180px auto, 180px auto, 0 0;
    opacity: 0.72;
  }
  body.mst-page-solicitar-ayuda .mst-form {
    padding: clamp(1.2rem, 5vw, 1.6rem);
    border-radius: 18px;
  }
  body.mst-page-solicitar-ayuda .mst-crisis--compact::before,
  body.mst-page-solicitar-ayuda .mst-crisis--compact::after {
    display: none;
  }
}

/* ============================================================
   CAJA "¿Necesitas ayuda urgente ahora?" — réplica de la referencia.
   Global (misma caja en Home, Diario y Solicitar). SOLO CSS: no cambia
   el HTML del template-part ni los enlaces tel:. Textura de papel +
   icono de cabecera + icono por pastilla + flecha + ramita botánica.
   ============================================================ */

/* Contenedor: terracota cálido con textura de papel sutil + marco premium.
   Espiga (crisis-branch) a la derecha + mariposa arriba-derecha como CAPAS
   DE FONDO GLOBALES → misma decoración en TODAS las páginas. */
.mst-crisis--compact {
  background-color: #e07a1e !important;
  background-image:
    url("../img/crisis-butterfly.png"),
    url("../img/crisis-branch.png"),
    url("../img/texture-footer-overlay.png");
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: top 14px right 30px, right 6px bottom -4px, center;
  background-size: 72px auto, auto 224px, cover;
  background-blend-mode: normal, normal, soft-light;
  /* Aspecto ÚNICO de la caja en TODO el sitio: estas propiedades llevan
     !important para vencer a los bloques por página (que tienen mayor
     especificidad) y garantizar que la caja sea IDÉNTICA en todas.
     La sombra canónica es la de la imagen de referencia aprobada. */
  border-left: none !important;
  border-radius: 26px !important;
  box-shadow: 0 16px 40px rgba(58, 20, 8, 0.34), inset 0 0 0 1.5px rgba(255, 248, 236, 0.45) !important;
  max-width: 980px !important;
  width: 100%;
  margin-inline: auto !important;
  padding: 1.4rem 1.8rem !important;
}

/* Pastilla "España": crema ÚNICA en todo el sitio (vence overrides por página). */
.mst-crisis--compact .mst-crisis__pais {
  background: rgba(255, 248, 236, 0.9) !important;
  color: #5c2a0f !important;
  font-weight: 800 !important;
}
/* En móvil la caja es estrecha: se oculta la espiga (2ª capa) para no
   invadir chips/enlace; se conserva la mariposa. */
@media (max-width: 600px) {
  .mst-crisis--compact {
    background-size: 44px auto, 0 0, cover;
    padding: 1.1rem 1.2rem !important;
  }
}

/* Cabecera: icono PNG de manos-corazón (crema) antes del título. */
.mst-crisis__compact-label::before {
  content: "";
  display: inline-block;
  width: 52px;
  height: 52px;
  margin-right: 0.6rem;
  vertical-align: middle;
  background: url("../img/crisis-hands-heart-tight.png") no-repeat center / contain;
}

/* Pastillas: claras, flotantes, con icono lineal por servicio. */
.mst-crisis__chip {
  background: #fffdf8;
  border: 1.5px solid rgba(169, 84, 44, 0.4);
  gap: 0.5rem;
  padding: 0.45rem 0.95rem 0.45rem 0.7rem;
  box-shadow: 0 2px 7px rgba(58, 20, 8, 0.12);
}
/* Iconos coherentes de Bootstrap Icons (misma familia, mismo trazo) en color
   terracota de marca. Sustituyen a los PNG sueltos que no guardaban relación
   entre sí; el escudo de Policía ya no lleva la raya vertical. */
.mst-crisis__chip::before {
  content: "";
  flex: 0 0 auto;
  width: 30px;
  height: 30px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.mst-crisis__chips .mst-crisis__chip:nth-child(1)::before {
  background-image: url("../img/bi-geo-alt.svg");
}
.mst-crisis__chips .mst-crisis__chip:nth-child(2)::before {
  background-image: url("../img/bi-plus-square.svg");
}
.mst-crisis__chips .mst-crisis__chip:nth-child(3)::before {
  background-image: url("../img/bi-heart.svg");
}
.mst-crisis__chips .mst-crisis__chip:nth-child(4)::before {
  background-image: url("../img/bi-person.svg");
}
.mst-crisis__chips .mst-crisis__chip:nth-child(5)::before {
  background-image: url("../img/bi-shield.svg");
}

/* Enlace inferior con flecha PNG a la derecha. */
.mst-crisis__more::after {
  content: "";
  display: inline-block;
  width: 26px;
  height: 13px;
  margin-left: 0.45rem;
  vertical-align: -2px;
  background: url("../img/crisis-arrow.png") no-repeat center / contain;
}

/* Mariposa PNG asomando en la esquina superior derecha (crema). */
body.home .mst-crisis--compact::before,
body.mst-page-diario .mst-crisis--compact::before,
body.mst-page-solicitar-ayuda .mst-crisis--compact::before {
  top: 26px;
  right: 18px;
  bottom: auto;
  left: auto;
  width: 56px;
  height: 56px;
  transform: none;
  background: url("../img/crisis-butterfly.png") no-repeat center / contain;
  opacity: 1;
}

/* Ramita botánica PNG naciendo del lateral derecho (crema). */
body.home .mst-crisis--compact::after,
body.mst-page-diario .mst-crisis--compact::after,
body.mst-page-solicitar-ayuda .mst-crisis--compact::after {
  top: 58%;
  right: -34px;
  bottom: auto;
  left: auto;
  width: 150px;
  height: 205px;
  transform: translateY(-46%);
  background: url("../img/crisis-branch.png") no-repeat right center / contain;
  opacity: 0.8;
}

/* ============================================================
   CREAR CUENTA — misma familia visual (Home / Diario / Solicitar).
   Solo CSS · scope body.mst-page-crear-cuenta · PNG transparentes
   (ramas y flores de acuarela + mariposas). NO toca HTML/PHP/JS
   del formulario ni sus IDs; el login (que comparte .mst-auth) no
   se ve afectado por el scope de página.
   ============================================================ */

/* --- Hero verde: textura + decoración botánica + ola + título --- */
body.mst-page-crear-cuenta .mst-page-hero {
  background-color: #33684e;
  background-image:
    url("../img/texture-green-overlay.png"),
    radial-gradient(120% 120% at 50% 6%, rgba(255, 248, 236, 0.12) 0%, rgba(255, 248, 236, 0) 46%),
    radial-gradient(120% 120% at 50% 128%, rgba(0, 0, 0, 0.30) 0%, rgba(0, 0, 0, 0) 55%);
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: center, center, center;
  background-size: cover, auto, auto;
  color: #f3e8cf;
  padding-top: clamp(3rem, 6vw, 4.5rem) !important;
  padding-bottom: clamp(5rem, 9vw, 7rem) !important;
}
body.mst-page-crear-cuenta .mst-page-hero > * {
  position: relative;
  z-index: 2;
}
/* Ramas en esquinas + 2 mariposas sutiles (detrás del contenido). */
body.mst-page-crear-cuenta .mst-page-hero.has-verde-background-color::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    url("../img/cc-branch-thin.png"),
    url("../img/cc-corner-floral.png"),
    url("../img/cc-butterfly-cream.png"),
    url("../img/cc-butterfly-gold.png");
  background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
  background-position:
    left -18px top -8px,
    right -8px top -16px,
    left 13% bottom 22%,
    right 9% top 34%;
  background-size: 226px auto, 210px auto, 58px auto, 66px auto;
  opacity: 0.95;
  pointer-events: none;
  z-index: 0;
}
/* Ola inferior crema (transición ondulada a la sección del formulario). */
body.mst-page-crear-cuenta .mst-page-hero::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 56px;
  background: url("../img/hero-wave.svg") no-repeat bottom center / 100% 100%;
  pointer-events: none;
  z-index: 1;
}
body.mst-page-crear-cuenta .mst-page-hero .mst-page-hero__title {
  font-family: "Platypi", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  font-weight: 700;
  color: #f7edd6;
  font-size: clamp(2.1rem, 4.8vw, 3.2rem);
  line-height: 1.12;
  margin: 0.2rem 0 0;
}
body.mst-page-crear-cuenta .mst-page-hero .mst-page-hero__title::after {
  content: "";
  display: block;
  width: 210px;
  max-width: 60%;
  height: 20px;
  margin: 0.85rem auto 0;
  background: url("../img/hero-divider.svg") no-repeat center / contain;
}
body.mst-page-crear-cuenta .mst-page-hero .mst-eyebrow {
  color: #e4cd93;
  letter-spacing: 0.16em;
}
body.mst-page-crear-cuenta .mst-page-hero .mst-page-hero__lead {
  color: #ecdcbf;
  font-size: clamp(1.05rem, 2.2vw, 1.25rem);
}

/* --- Sección del formulario: crema cálido + textura + botánica lateral --- */
body.mst-page-crear-cuenta .wp-block-group.has-white-background-color {
  background-color: #fff8ec;
  background-image: url("../img/texture-cream-overlay.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: relative;
  overflow: hidden;
}
body.mst-page-crear-cuenta .wp-block-group.has-white-background-color > * {
  position: relative;
  z-index: 1;
}
body.mst-page-crear-cuenta .wp-block-group.has-white-background-color::before {
  content: "";
  position: absolute;
  left: -30px;
  bottom: -24px;
  width: 300px;
  height: 350px;
  background: url("../img/cc-spray-lush.png") no-repeat left bottom / contain;
  opacity: 0.85;
  pointer-events: none;
  z-index: 0;
}
body.mst-page-crear-cuenta .wp-block-group.has-white-background-color::after {
  content: "";
  position: absolute;
  right: -28px;
  top: 26px;
  width: 300px;
  height: 300px;
  background: url("../img/cc-spray-b.png") no-repeat right top / contain;
  opacity: 0.78;
  pointer-events: none;
  z-index: 0;
}

/* --- Tarjeta del formulario: papel cálido (mantiene campos/IDs/validaciones) --- */
body.mst-page-crear-cuenta .mst-auth {
  max-width: 40rem;
  background: #fffaf1;
  border: 1px solid rgba(199, 154, 82, 0.5);
  border-radius: 24px;
  padding: clamp(1.6rem, 4vw, 2.8rem) clamp(1.4rem, 4vw, 2.4rem);
  box-shadow: 0 18px 44px rgba(107, 58, 23, 0.12), 0 3px 8px rgba(107, 58, 23, 0.06);
}
body.mst-page-crear-cuenta .mst-auth label {
  color: #5a4636;
}
body.mst-page-crear-cuenta .mst-auth input[type="text"],
body.mst-page-crear-cuenta .mst-auth input[type="email"],
body.mst-page-crear-cuenta .mst-auth input[type="password"] {
  background: #fffdf8;
  border: 1.5px solid rgba(199, 154, 82, 0.55);
  border-radius: 12px;
  color: #4a3a2a;
}
body.mst-page-crear-cuenta .mst-auth input:focus {
  border-color: #a75a24;
  outline: none;
  box-shadow: 0 0 0 3px rgba(167, 90, 36, 0.28);
}
body.mst-page-crear-cuenta .mst-auth .mst-btn--primary {
  background-color: #a75a24;
  color: #fff8ec;
}
body.mst-page-crear-cuenta .mst-auth .mst-btn--primary:hover,
body.mst-page-crear-cuenta .mst-auth .mst-btn--primary:focus {
  background-color: #8f4a1c;
}

/* --- Caja urgente: reutiliza el componente global + limpia el SVG del fondo --- */
body.mst-page-crear-cuenta .wp-block-group.has-verde-background-color:has(.mst-crisis) {
  background-color: #33684e;
}
body.mst-page-crear-cuenta .wp-block-group.has-verde-background-color:has(.mst-crisis)::before {
  background-image: none;
}
body.mst-page-crear-cuenta .wp-block-group.has-verde-background-color:has(.mst-crisis) .mst-crisis--compact {
  max-width: 860px;
  width: 100%;
  margin-inline: auto;
  position: relative;
}
body.mst-page-crear-cuenta .mst-crisis--compact .mst-crisis__pais {
  background: rgba(255, 248, 236, 0.9);
  color: #5c2a0f;
  font-weight: 800;
}
body.mst-page-crear-cuenta .mst-crisis--compact::before,
body.mst-page-crear-cuenta .mst-crisis--compact::after {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: 3;
}
body.mst-page-crear-cuenta .mst-crisis--compact::before {
  top: 26px;
  right: 18px;
  width: 56px;
  height: 56px;
  background: url("../img/crisis-butterfly.png") no-repeat center / contain;
  opacity: 1;
}
body.mst-page-crear-cuenta .mst-crisis--compact::after {
  top: 58%;
  right: -34px;
  width: 150px;
  height: 205px;
  transform: translateY(-46%);
  background: url("../img/crisis-branch.png") no-repeat right center / contain;
  opacity: 0.8;
}

/* --- Responsive: legibilidad primero --- */
@media (max-width: 900px) {
  body.mst-page-crear-cuenta .wp-block-group.has-white-background-color::before,
  body.mst-page-crear-cuenta .wp-block-group.has-white-background-color::after {
    display: none;
  }
}
@media (max-width: 600px) {
  body.mst-page-crear-cuenta .mst-page-hero.has-verde-background-color::before {
    background-size: 150px auto, 148px auto, 0 0, 52px auto;
    opacity: 0.8;
  }
  body.mst-page-crear-cuenta .mst-auth {
    padding: clamp(1.2rem, 5vw, 1.7rem);
    border-radius: 18px;
  }
  body.mst-page-crear-cuenta .mst-crisis--compact::before,
  body.mst-page-crear-cuenta .mst-crisis--compact::after {
    display: none;
  }
}

/* ============================================================
   CONTACTO Y AYUDA URGENTE — réplica de la referencia (misma
   familia visual). Solo CSS · scope body.mst-page-contacto ·
   assets existentes limpios. No toca HTML/PHP/JS ni enlaces.
   ============================================================ */

/* --- HERO: banda verde redondeada + textura + botánica + pastilla --- */
body.mst-page-contacto .mst-page-hero {
  background-color: #33684e !important;
  background-image:
    url("../img/texture-green-overlay.png"),
    radial-gradient(120% 120% at 50% 8%, rgba(255, 248, 236, 0.12) 0%, rgba(255, 248, 236, 0) 46%),
    radial-gradient(120% 130% at 50% 130%, rgba(0, 0, 0, 0.28) 0%, rgba(0, 0, 0, 0) 55%);
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: center, center, center;
  background-size: cover, auto, auto;
  color: #f3e8cf;
  position: relative;
  overflow: hidden;
  padding-top: clamp(2.6rem, 5vw, 3.6rem) !important;
  padding-bottom: clamp(4.6rem, 8vw, 6.4rem) !important;
}
body.mst-page-contacto .mst-page-hero > * {
  position: relative;
  z-index: 2;
}
body.mst-page-contacto .mst-page-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    url("../img/vine-corner-left.png"),
    url("../img/vine-sprig.png"),
    url("../img/butterfly-right.png");
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: left -16px top -12px, right 1% bottom 10%, right 5% top 24%;
  background-size: 250px auto, 180px auto, 148px auto;
  filter: sepia(0.55) saturate(1.4) hue-rotate(-12deg) brightness(1.22);
  opacity: 0.9;
  pointer-events: none;
  z-index: 0;
}
/* Ola inferior crema (transición ondulada a la sección crema). */
body.mst-page-contacto .mst-page-hero::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 56px;
  background: url("../img/hero-wave.svg") no-repeat bottom center / 100% 100%;
  pointer-events: none;
  z-index: 1;
}
/* Pastilla "HABLEMOS" */
body.mst-page-contacto .mst-page-hero .mst-eyebrow {
  display: inline-block;
  padding: 0.28rem 1.05rem;
  border-radius: var(--mst-radius-pill);
  background: rgba(255, 248, 236, 0.92);
  color: #6b3a17;
  font-weight: 800;
  letter-spacing: 0.16em;
  font-size: 0.78rem;
}
body.mst-page-contacto .mst-page-hero .mst-page-hero__title {
  font-family: "Platypi", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  font-weight: 700;
  color: #f7edd6;
  font-size: clamp(2.1rem, 4.8vw, 3.2rem);
  line-height: 1.12;
  margin: 0.55rem 0 0;
}
body.mst-page-contacto .mst-page-hero .mst-page-hero__title::after {
  content: "";
  display: block;
  width: 210px;
  max-width: 58%;
  height: 20px;
  margin: 0.7rem auto 0;
  background: url("../img/hero-divider.svg") no-repeat center / contain;
}
body.mst-page-contacto .mst-page-hero .mst-page-hero__lead {
  color: #ecdcbf;
  font-size: clamp(1.02rem, 2.2vw, 1.2rem);
}

/* --- SECCIÓN CREMA "¿Cómo prefieres contactarnos?" --- */
body.mst-page-contacto .wp-block-group.has-white-background-color {
  background-color: #fff8ec !important;
  background-image:
    url("../img/butterfly-small.png"),
    url("../img/texture-cream-overlay.png");
  background-repeat: no-repeat, no-repeat;
  background-position: left 6% top 12%, center;
  background-size: 58px auto, cover;
  position: relative;
  overflow: hidden;
}
body.mst-page-contacto .wp-block-group.has-white-background-color > * {
  position: relative;
  z-index: 1;
}
body.mst-page-contacto .wp-block-group.has-white-background-color::before {
  content: "";
  position: absolute;
  left: -24px;
  bottom: -18px;
  width: 235px;
  height: 275px;
  background: url("../img/vine-corner-left.png") no-repeat left bottom / contain;
  opacity: 0.5;
  pointer-events: none;
  z-index: 0;
}
body.mst-page-contacto .wp-block-group.has-white-background-color::after {
  content: "";
  position: absolute;
  right: -26px;
  top: 38%;
  width: 200px;
  height: 235px;
  background: url("../img/vine-sprig.png") no-repeat right center / contain;
  opacity: 0.5;
  pointer-events: none;
  z-index: 0;
}
body.mst-page-contacto .wp-block-group.has-white-background-color > h2 {
  font-family: "Platypi", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  font-weight: 700;
  color: #6b3a17;
  font-size: clamp(1.7rem, 3.6vw, 2.4rem);
  margin-bottom: 0.35rem;
}
body.mst-page-contacto .wp-block-group.has-white-background-color > h2::after {
  content: "";
  display: block;
  width: 180px;
  height: 18px;
  margin: 0.6rem auto 0.2rem;
  background: url("../img/leaf-divider.svg") no-repeat center / contain;
}

/* --- TARJETAS: papel, borde dorado, icono, separador, botones --- */
body.mst-page-contacto .mst-contact-card {
  background: #fffaf1;
  border: 1px solid rgba(199, 154, 82, 0.5);
  border-radius: 22px;
  padding: clamp(1.6rem, 3vw, 2.3rem);
  box-shadow: 0 14px 34px rgba(107, 58, 23, 0.10), 0 2px 6px rgba(107, 58, 23, 0.06);
  text-align: center;
  height: 100%;
  display: flex;
  flex-direction: column;
}
body.mst-page-contacto .mst-contact-card::before {
  content: "";
  display: block;
  width: 44px;
  height: 44px;
  margin: 0 auto 0.7rem;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
body.mst-page-contacto .wp-block-column:nth-child(1) .mst-contact-card::before {
  background-image: url("../img/icon-listen.svg");
}
body.mst-page-contacto .wp-block-column:nth-child(2) .mst-contact-card::before {
  background-image: url("../img/icon-heart.svg");
}
body.mst-page-contacto .mst-card__title {
  font-family: "Platypi", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  color: #7a3f16;
  font-size: clamp(1.2rem, 2.2vw, 1.5rem);
  margin: 0 0 0.4rem;
}
body.mst-page-contacto .mst-card__title::after {
  content: "";
  display: block;
  width: 96px;
  height: 12px;
  margin: 0.45rem auto 0.2rem;
  background: url("../img/leaf-divider.svg") no-repeat center / contain;
  opacity: 0.85;
}
body.mst-page-contacto .mst-card__text {
  color: #5a4636;
  line-height: 1.65;
}
body.mst-page-contacto .mst-contact-card .wp-block-buttons {
  justify-content: center;
  margin-top: auto !important;
  padding-top: 1.3rem;
}
/* Nota de cuidado: pequeña, discreta y con aire respecto al texto. */
body.mst-page-contacto .mst-card__note {
  color: #6b4a2f;
  line-height: 1.55;
  margin-top: 0.9rem;
}
body.mst-page-contacto .mst-contact-card .wp-block-button__link {
  border-radius: var(--mst-radius-pill);
  padding: 0.72rem 1.7rem;
  font-weight: 700;
}
body.mst-page-contacto .wp-block-column:nth-child(1) .wp-block-button__link {
  background-color: #a75a24;
  color: #fff8ec;
  border: 2px solid #a75a24;
}
body.mst-page-contacto .wp-block-column:nth-child(1) .wp-block-button__link:hover {
  background-color: #8f4a1c;
  border-color: #8f4a1c;
}
body.mst-page-contacto .wp-block-column:nth-child(2) .wp-block-button__link {
  background-color: #fffaf1;
  color: #a75a24;
  border: 2px solid #a75a24;
}
body.mst-page-contacto .wp-block-column:nth-child(2) .wp-block-button__link:hover {
  background-color: #f4e4d1;
}

/* --- BANDA VERDE con la caja urgente (componente aprobado) --- */
body.mst-page-contacto .wp-block-group.has-cream-background-color:has(.mst-crisis) {
  background-color: #33684e !important;
  background-image:
    url("../img/wave-top-cream.svg"),
    url("../img/texture-green-overlay.png"),
    radial-gradient(120% 130% at 50% 0%, rgba(255, 248, 236, 0.10) 0%, rgba(255, 248, 236, 0) 55%);
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: top center, center, center;
  background-size: 100% 58px, cover, auto;
  position: relative;
  overflow: hidden;
  margin-top: -1px;
  padding-top: clamp(3.6rem, 6vw, 5rem) !important;
}
body.mst-page-contacto .wp-block-group.has-cream-background-color:has(.mst-crisis) > * {
  position: relative;
  z-index: 1;
}
body.mst-page-contacto .wp-block-group.has-cream-background-color:has(.mst-crisis)::before {
  content: "";
  position: absolute;
  left: -18px;
  bottom: -14px;
  width: 215px;
  height: 195px;
  background: url("../img/vine-corner-left.png") no-repeat left bottom / contain;
  filter: sepia(0.5) saturate(1.4) hue-rotate(-12deg) brightness(1.18);
  opacity: 0.6;
  pointer-events: none;
  z-index: 0;
}
body.mst-page-contacto .wp-block-group.has-cream-background-color:has(.mst-crisis)::after {
  content: "";
  position: absolute;
  right: -18px;
  top: 8%;
  width: 200px;
  height: 195px;
  background: url("../img/vine-corner-right.png") no-repeat right top / contain;
  filter: sepia(0.5) saturate(1.4) hue-rotate(-12deg) brightness(1.18);
  opacity: 0.6;
  pointer-events: none;
  z-index: 0;
}
/* Caja de crisis: reutiliza el componente (mariposa + ramita + iconos). */
body.mst-page-contacto .wp-block-group.has-cream-background-color:has(.mst-crisis) .mst-crisis--compact {
  max-width: 860px;
  width: 100%;
  margin-inline: auto;
  position: relative;
}
body.mst-page-contacto .mst-crisis--compact .mst-crisis__pais {
  background: rgba(255, 248, 236, 0.9);
  color: #5c2a0f;
  font-weight: 800;
}
body.mst-page-contacto .mst-crisis--compact::before,
body.mst-page-contacto .mst-crisis--compact::after {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: 3;
}
body.mst-page-contacto .mst-crisis--compact::before {
  top: 26px;
  right: 18px;
  width: 56px;
  height: 56px;
  background: url("../img/crisis-butterfly.png") no-repeat center / contain;
  opacity: 1;
}
body.mst-page-contacto .mst-crisis--compact::after {
  top: 58%;
  right: -34px;
  width: 150px;
  height: 205px;
  transform: translateY(-46%);
  background: url("../img/crisis-branch.png") no-repeat right center / contain;
  opacity: 0.8;
}

/* --- Responsive --- */
@media (max-width: 900px) {
  body.mst-page-contacto .wp-block-group.has-white-background-color::before,
  body.mst-page-contacto .wp-block-group.has-white-background-color::after {
    display: none;
  }
}
@media (max-width: 600px) {
  body.mst-page-contacto .mst-page-hero::before {
    background-size: 150px auto, 128px auto, 100px auto;
    opacity: 0.82;
  }
  body.mst-page-contacto .wp-block-group.has-cream-background-color:has(.mst-crisis)::before,
  body.mst-page-contacto .wp-block-group.has-cream-background-color:has(.mst-crisis)::after,
  body.mst-page-contacto .mst-crisis--compact::before,
  body.mst-page-contacto .mst-crisis--compact::after {
    display: none;
  }
}

/* ============================================================
   COMUNIDAD — "Un espacio para sostenernos". Misma familia visual
   (Home / Diario / Solicitar). Solo CSS · scope body.mst-page-comunidad ·
   assets aprobados limpios. No toca HTML/PHP/JS ni el acordeón nativo.
   ============================================================ */

/* --- HERO verde profundo + textura + vides + mariposa + ola --- */
body.mst-page-comunidad .mst-page-hero {
  background-color: #33684e !important;
  background-image:
    url("../img/texture-green-overlay.png"),
    radial-gradient(120% 120% at 50% 6%, rgba(255, 248, 236, 0.12) 0%, rgba(255, 248, 236, 0) 46%),
    radial-gradient(120% 130% at 50% 128%, rgba(0, 0, 0, 0.30) 0%, rgba(0, 0, 0, 0) 55%);
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: center, center, center;
  background-size: cover, auto, auto;
  color: #f3e8cf;
  position: relative;
  overflow: hidden;
  padding-top: clamp(3rem, 6vw, 4.5rem) !important;
  padding-bottom: clamp(5rem, 9vw, 7rem) !important;
}
body.mst-page-comunidad .mst-page-hero > * {
  position: relative;
  z-index: 2;
}
body.mst-page-comunidad .mst-page-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    url("../img/vine-corner-left.png"),
    url("../img/vine-corner-right.png"),
    url("../img/butterfly-small.png");
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: left -46px top -30px, right -46px top -26px, right 13% bottom 22%;
  background-size: 320px auto, 330px auto, 62px auto;
  filter: sepia(0.55) saturate(1.4) hue-rotate(-12deg) brightness(1.22);
  opacity: 0.9;
  pointer-events: none;
  z-index: 0;
}
body.mst-page-comunidad .mst-page-hero::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 54px;
  background: url("../img/hero-wave.svg") no-repeat bottom center / 100% 100%;
  pointer-events: none;
  z-index: 1;
}
body.mst-page-comunidad .mst-page-hero .mst-page-hero__title {
  font-family: "Platypi", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  font-weight: 700;
  color: #f7edd6;
  font-size: clamp(2.1rem, 4.8vw, 3.2rem);
  line-height: 1.12;
  margin: 0.2rem 0 0;
}
body.mst-page-comunidad .mst-page-hero .mst-page-hero__title::after {
  content: "";
  display: block;
  width: 210px;
  max-width: 60%;
  height: 20px;
  margin: 0.85rem auto 0;
  background: url("../img/hero-divider.svg") no-repeat center / contain;
}
body.mst-page-comunidad .mst-page-hero .mst-eyebrow {
  display: inline-block;
  padding: 0.28rem 1.05rem;
  border-radius: var(--mst-radius-pill);
  background: rgba(255, 248, 236, 0.92);
  color: #6b3a17;
  font-weight: 800;
  letter-spacing: 0.16em;
  font-size: 0.78rem;
}
body.mst-page-comunidad .mst-page-hero .mst-page-hero__lead {
  color: #ecdcbf;
  font-size: clamp(1.05rem, 2.2vw, 1.25rem);
}

/* --- "Antes de comentar": crema + textura + acordeón elegante --- */
body.mst-page-comunidad .wp-block-group.has-white-background-color {
  background-color: #fff8ec !important;
  background-image: url("../img/texture-cream-overlay.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: relative;
  overflow: hidden;
}
body.mst-page-comunidad .wp-block-group.has-white-background-color > * {
  position: relative;
  z-index: 1;
}
body.mst-page-comunidad .wp-block-group.has-white-background-color::before {
  content: "";
  position: absolute;
  right: -24px;
  bottom: -18px;
  width: 200px;
  height: 230px;
  background: url("../img/vine-sprig.png") no-repeat right bottom / contain;
  opacity: 0.4;
  pointer-events: none;
  z-index: 0;
}
body.mst-page-comunidad .mst-prose > h2 {
  font-family: "Platypi", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  font-weight: 700;
  color: #6b3a17;
  font-size: clamp(1.6rem, 3.2vw, 2.2rem);
  margin-bottom: 0.4rem;
  /* Centrado para que "Antes de comentar" concuerde con "Últimas
     publicaciones" y con el resto de títulos de sección del sitio. */
  text-align: center;
}
body.mst-page-comunidad .mst-prose > h2::after {
  content: "";
  display: block;
  width: 160px;
  height: 16px;
  margin: 0.55rem auto 1rem;
  background: url("../img/leaf-divider.svg") no-repeat center center / contain;
  opacity: 0.9;
}
/* Acordeón nativo <details>/<summary>: tarjeta papel cálida (sin tocar JS). */
body.mst-page-comunidad .wp-block-details {
  background: #fffaf1;
  border: 1px solid rgba(199, 154, 82, 0.5);
  border-radius: 16px;
  box-shadow: 0 10px 26px rgba(107, 58, 23, 0.09);
  padding: 0.2rem 1.3rem;
  margin-top: 0.6rem;
}
body.mst-page-comunidad .wp-block-details summary {
  font-family: "Platypi", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  font-weight: 700;
  color: #7a3f16;
  cursor: pointer;
  padding: 1rem 0;
  font-size: 1.1rem;
}
body.mst-page-comunidad .wp-block-details[open] summary {
  border-bottom: 1px solid rgba(199, 154, 82, 0.28);
  margin-bottom: 0.7rem;
}
body.mst-page-comunidad .wp-block-details .wp-block-list {
  color: #5a4636;
  line-height: 1.75;
  padding-bottom: 0.8rem;
}

/* --- "Últimas publicaciones": crema + textura + tarjetas papel --- */
body.mst-page-comunidad .wp-block-group.has-cream-background-color:has(.wp-block-query) {
  background-color: #fff8ec !important;
  background-image:
    url("../img/butterfly-small.png"),
    url("../img/texture-cream-overlay.png");
  background-repeat: no-repeat, no-repeat;
  background-position: left 5% top 10%, center;
  background-size: 54px auto, cover;
  position: relative;
  overflow: hidden;
}
body.mst-page-comunidad .wp-block-group.has-cream-background-color:has(.wp-block-query) > * {
  position: relative;
  z-index: 1;
}
body.mst-page-comunidad .wp-block-group.has-cream-background-color:has(.wp-block-query)::before {
  content: "";
  position: absolute;
  left: -26px;
  bottom: -18px;
  width: 220px;
  height: 250px;
  background: url("../img/vine-corner-left.png") no-repeat left bottom / contain;
  opacity: 0.42;
  pointer-events: none;
  z-index: 0;
}
body.mst-page-comunidad .wp-block-group.has-cream-background-color:has(.wp-block-query) > h2 {
  font-family: "Platypi", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  font-weight: 700;
  color: #6b3a17;
  font-size: clamp(1.7rem, 3.6vw, 2.4rem);
  margin-bottom: 0.35rem;
}
body.mst-page-comunidad .wp-block-group.has-cream-background-color:has(.wp-block-query) > h2::after {
  content: "";
  display: block;
  width: 180px;
  height: 18px;
  margin: 0.6rem auto 1.6rem;
  background: url("../img/leaf-divider.svg") no-repeat center / contain;
  opacity: 0.9;
}
body.mst-page-comunidad .wp-block-post-template {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
  gap: clamp(1.1rem, 2.6vw, 1.8rem);
  max-width: 1040px;
  margin-inline: auto;
  padding: 0;
  list-style: none;
}
body.mst-page-comunidad .wp-block-post {
  position: relative;
  background: #fffaf1;
  border: 1px solid rgba(199, 154, 82, 0.5);
  border-radius: 20px;
  padding: clamp(1.4rem, 3vw, 2rem);
  box-shadow: 0 12px 30px rgba(107, 58, 23, 0.10), 0 2px 6px rgba(107, 58, 23, 0.06);
  overflow: hidden;
}
body.mst-page-comunidad .wp-block-post-title {
  margin: 0 0 0.5rem;
}
body.mst-page-comunidad .wp-block-post-title a {
  font-family: "Platypi", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  font-weight: 700;
  color: #7a3f16;
  font-size: clamp(1.15rem, 2.2vw, 1.4rem);
  line-height: 1.25;
}
body.mst-page-comunidad .wp-block-post-title a:hover {
  color: #a75a24;
}
body.mst-page-comunidad .wp-block-post-excerpt {
  color: #5a4636;
  line-height: 1.7;
  font-size: 0.98rem;
  margin: 0 0 0.6rem;
}
body.mst-page-comunidad .wp-block-post-date {
  color: #b0824a;
  font-size: 0.82rem;
  letter-spacing: 0.02em;
  padding-top: 0.6rem;
  border-top: 1px solid rgba(199, 154, 82, 0.28);
}

/* --- Caja urgente: banda verde profunda (como Solicitar/Contacto) --- */
body.mst-page-comunidad .wp-block-group.has-cream-background-color:has(.mst-crisis) {
  background-color: #33684e !important;
  background-image:
    url("../img/wave-top-cream.svg"),
    url("../img/texture-green-overlay.png"),
    radial-gradient(120% 130% at 50% 0%, rgba(255, 248, 236, 0.10) 0%, rgba(255, 248, 236, 0) 55%);
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: top center, center, center;
  background-size: 100% 58px, cover, auto;
  position: relative;
  overflow: hidden;
  margin-top: -1px;
  padding-top: clamp(3.6rem, 6vw, 5rem) !important;
}
body.mst-page-comunidad .wp-block-group.has-cream-background-color:has(.mst-crisis) > * {
  position: relative;
  z-index: 1;
}
body.mst-page-comunidad .wp-block-group.has-cream-background-color:has(.mst-crisis)::before {
  content: "";
  position: absolute;
  left: -18px;
  bottom: -14px;
  width: 215px;
  height: 195px;
  background: url("../img/vine-corner-left.png") no-repeat left bottom / contain;
  filter: sepia(0.5) saturate(1.4) hue-rotate(-12deg) brightness(1.18);
  opacity: 0.55;
  pointer-events: none;
  z-index: 0;
}
body.mst-page-comunidad .wp-block-group.has-cream-background-color:has(.mst-crisis)::after {
  content: "";
  position: absolute;
  right: -18px;
  top: 22%;
  width: 200px;
  height: 195px;
  background: url("../img/vine-corner-right.png") no-repeat right top / contain;
  filter: sepia(0.5) saturate(1.4) hue-rotate(-12deg) brightness(1.18);
  opacity: 0.55;
  pointer-events: none;
  z-index: 0;
}
body.mst-page-comunidad .wp-block-group.has-cream-background-color:has(.mst-crisis) .mst-crisis--compact {
  max-width: 860px;
  width: 100%;
  margin-inline: auto;
  position: relative;
}
body.mst-page-comunidad .mst-crisis--compact .mst-crisis__pais {
  background: rgba(255, 248, 236, 0.9);
  color: #5c2a0f;
  font-weight: 800;
}
body.mst-page-comunidad .mst-crisis--compact::before,
body.mst-page-comunidad .mst-crisis--compact::after {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: 3;
}
body.mst-page-comunidad .mst-crisis--compact::before {
  top: 26px;
  right: 18px;
  width: 56px;
  height: 56px;
  background: url("../img/crisis-butterfly.png") no-repeat center / contain;
  opacity: 1;
}
body.mst-page-comunidad .mst-crisis--compact::after {
  top: 58%;
  right: -34px;
  width: 150px;
  height: 205px;
  transform: translateY(-46%);
  background: url("../img/crisis-branch.png") no-repeat right center / contain;
  opacity: 0.8;
}

/* --- Responsive --- */
@media (max-width: 900px) {
  body.mst-page-comunidad .wp-block-group.has-white-background-color::before,
  body.mst-page-comunidad .wp-block-group.has-cream-background-color:has(.wp-block-query)::before {
    display: none;
  }
}
@media (max-width: 600px) {
  body.mst-page-comunidad .mst-page-hero::before {
    background-size: 150px auto, 150px auto, 0 0;
    opacity: 0.8;
  }
  body.mst-page-comunidad .wp-block-group.has-cream-background-color:has(.mst-crisis)::before,
  body.mst-page-comunidad .wp-block-group.has-cream-background-color:has(.mst-crisis)::after,
  body.mst-page-comunidad .mst-crisis--compact::before,
  body.mst-page-comunidad .mst-crisis--compact::after {
    display: none;
  }
}

/* ============================================================
   PROYECTO — "Madres sin Tribu". Misma familia visual (Home /
   Diario / Comunidad). Solo CSS · scope body.mst-page-proyecto ·
   assets aprobados limpios. No toca HTML/PHP/JS ni los acordeones.
   ============================================================ */

/* --- HERO verde profundo + textura + vides + mariposa + ola --- */
body.mst-page-proyecto .mst-page-hero {
  background-color: #33684e !important;
  background-image:
    url("../img/texture-green-overlay.png"),
    radial-gradient(120% 120% at 50% 6%, rgba(255, 248, 236, 0.12) 0%, rgba(255, 248, 236, 0) 46%),
    radial-gradient(120% 130% at 50% 128%, rgba(0, 0, 0, 0.30) 0%, rgba(0, 0, 0, 0) 55%);
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: center, center, center;
  background-size: cover, auto, auto;
  color: #f3e8cf;
  position: relative;
  overflow: hidden;
  padding-top: clamp(3rem, 6vw, 4.5rem) !important;
  padding-bottom: clamp(5rem, 9vw, 7rem) !important;
}
body.mst-page-proyecto .mst-page-hero > * {
  position: relative;
  z-index: 2;
}
body.mst-page-proyecto .mst-page-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    url("../img/vine-corner-left.png"),
    url("../img/vine-corner-right.png"),
    url("../img/butterfly-small.png");
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: left -46px top -30px, right -46px top -26px, right 13% bottom 22%;
  background-size: 320px auto, 330px auto, 62px auto;
  filter: sepia(0.55) saturate(1.4) hue-rotate(-12deg) brightness(1.22);
  opacity: 0.9;
  pointer-events: none;
  z-index: 0;
}
body.mst-page-proyecto .mst-page-hero::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 54px;
  background: url("../img/hero-wave.svg") no-repeat bottom center / 100% 100%;
  pointer-events: none;
  z-index: 1;
}
body.mst-page-proyecto .mst-page-hero .mst-page-hero__title {
  font-family: "Platypi", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  font-weight: 700;
  color: #f7edd6;
  font-size: clamp(2.1rem, 4.8vw, 3.2rem);
  line-height: 1.12;
  margin: 0.2rem 0 0;
}
body.mst-page-proyecto .mst-page-hero .mst-page-hero__title::after {
  content: "";
  display: block;
  width: 210px;
  max-width: 60%;
  height: 20px;
  margin: 0.85rem auto 0;
  background: url("../img/hero-divider.svg") no-repeat center / contain;
}
body.mst-page-proyecto .mst-page-hero .mst-eyebrow {
  display: inline-block;
  padding: 0.28rem 1.05rem;
  border-radius: var(--mst-radius-pill);
  background: rgba(255, 248, 236, 0.92);
  color: #6b3a17;
  font-weight: 800;
  letter-spacing: 0.16em;
  font-size: 0.78rem;
}
body.mst-page-proyecto .mst-page-hero .mst-page-hero__lead {
  color: #ecdcbf;
  font-size: clamp(1.05rem, 2.2vw, 1.25rem);
}

/* --- INTRO + ACORDEONES: crema + textura + tarjetas papel --- */
body.mst-page-proyecto .wp-block-group.has-white-background-color {
  background-color: #fff8ec !important;
  background-image: url("../img/texture-cream-overlay.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: relative;
  overflow: hidden;
}
body.mst-page-proyecto .wp-block-group.has-white-background-color > * {
  position: relative;
  z-index: 1;
}
body.mst-page-proyecto .wp-block-group.has-white-background-color::before {
  content: "";
  position: absolute;
  left: -24px;
  top: 8%;
  width: 200px;
  height: 235px;
  background: url("../img/vine-sprig.png") no-repeat left top / contain;
  opacity: 0.4;
  pointer-events: none;
  z-index: 0;
}
body.mst-page-proyecto .wp-block-group.has-white-background-color::after {
  content: "";
  position: absolute;
  right: -24px;
  bottom: -18px;
  width: 210px;
  height: 250px;
  background: url("../img/vine-corner-right.png") no-repeat right bottom / contain;
  opacity: 0.4;
  pointer-events: none;
  z-index: 0;
}
/* Párrafo de introducción, más elegante. */
body.mst-page-proyecto .mst-prose > p {
  max-width: 42rem;
  margin-inline: auto;
  color: #6a4a2c;
  font-size: clamp(1.05rem, 2vw, 1.18rem);
  line-height: 1.7;
}
/* Acordeones nativos <details>/<summary>: tarjeta papel cálida. */
body.mst-page-proyecto .wp-block-details {
  background: #fffaf1;
  border: 1px solid rgba(199, 154, 82, 0.5);
  border-radius: 18px;
  box-shadow: 0 10px 26px rgba(107, 58, 23, 0.09);
  padding: 0.2rem 1.4rem;
  margin: 0 auto 1rem;
  max-width: 720px;
}
body.mst-page-proyecto .wp-block-details summary {
  font-family: "Platypi", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  font-weight: 700;
  color: #7a3f16;
  cursor: pointer;
  padding: 1rem 0;
  font-size: 1.12rem;
}
body.mst-page-proyecto .wp-block-details[open] summary {
  border-bottom: 1px solid rgba(199, 154, 82, 0.28);
  margin-bottom: 0.7rem;
}
body.mst-page-proyecto .wp-block-details p {
  color: #5a4636;
  line-height: 1.75;
  padding-bottom: 0.8rem;
  margin: 0;
}

/* --- CTA "¿Quieres caminar con nosotras?" : crema + botón terracota --- */
body.mst-page-proyecto .wp-block-group.has-cream-background-color:has(.wp-block-button) {
  background-color: #fff8ec !important;
  background-image: url("../img/texture-cream-overlay.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: relative;
}
body.mst-page-proyecto .wp-block-group.has-cream-background-color:has(.wp-block-button) h2 {
  font-family: "Platypi", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  font-weight: 700;
  color: #6b3a17;
  font-size: clamp(1.6rem, 3.4vw, 2.3rem);
  margin-bottom: 0.35rem;
}
body.mst-page-proyecto .wp-block-group.has-cream-background-color:has(.wp-block-button) h2::after {
  content: "";
  display: block;
  width: 170px;
  height: 16px;
  margin: 0.55rem auto 0.2rem;
  background: url("../img/leaf-divider.svg") no-repeat center / contain;
  opacity: 0.9;
}
body.mst-page-proyecto .wp-block-group.has-cream-background-color:has(.wp-block-button) .wp-block-button__link {
  background-color: #a75a24 !important;
  color: #fff8ec !important;
  border-radius: var(--mst-radius-pill);
  padding: 0.8rem 1.9rem;
  font-weight: 700;
}
body.mst-page-proyecto .wp-block-group.has-cream-background-color:has(.wp-block-button) .wp-block-button__link:hover {
  background-color: #8f4a1c !important;
}

/* --- Caja urgente: banda verde profunda (como Comunidad) --- */
body.mst-page-proyecto .wp-block-group.has-cream-background-color:has(.mst-crisis) {
  background-color: #33684e !important;
  background-image:
    url("../img/wave-top-cream.svg"),
    url("../img/texture-green-overlay.png"),
    radial-gradient(120% 130% at 50% 0%, rgba(255, 248, 236, 0.10) 0%, rgba(255, 248, 236, 0) 55%);
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: top center, center, center;
  background-size: 100% 58px, cover, auto;
  position: relative;
  overflow: hidden;
  margin-top: -1px;
  padding-top: clamp(3.6rem, 6vw, 5rem) !important;
}
body.mst-page-proyecto .wp-block-group.has-cream-background-color:has(.mst-crisis) > * {
  position: relative;
  z-index: 1;
}
body.mst-page-proyecto .wp-block-group.has-cream-background-color:has(.mst-crisis)::before {
  content: "";
  position: absolute;
  left: -18px;
  bottom: -14px;
  width: 215px;
  height: 195px;
  background: url("../img/vine-corner-left.png") no-repeat left bottom / contain;
  filter: sepia(0.5) saturate(1.4) hue-rotate(-12deg) brightness(1.18);
  opacity: 0.55;
  pointer-events: none;
  z-index: 0;
}
body.mst-page-proyecto .wp-block-group.has-cream-background-color:has(.mst-crisis)::after {
  content: "";
  position: absolute;
  right: -18px;
  top: 22%;
  width: 200px;
  height: 195px;
  background: url("../img/vine-corner-right.png") no-repeat right top / contain;
  filter: sepia(0.5) saturate(1.4) hue-rotate(-12deg) brightness(1.18);
  opacity: 0.55;
  pointer-events: none;
  z-index: 0;
}
body.mst-page-proyecto .wp-block-group.has-cream-background-color:has(.mst-crisis) .mst-crisis--compact {
  max-width: 860px;
  width: 100%;
  margin-inline: auto;
  position: relative;
}
body.mst-page-proyecto .mst-crisis--compact .mst-crisis__pais {
  background: rgba(255, 248, 236, 0.9);
  color: #5c2a0f;
  font-weight: 800;
}
body.mst-page-proyecto .mst-crisis--compact::before,
body.mst-page-proyecto .mst-crisis--compact::after {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: 3;
}
body.mst-page-proyecto .mst-crisis--compact::before {
  top: 26px;
  right: 18px;
  width: 56px;
  height: 56px;
  background: url("../img/crisis-butterfly.png") no-repeat center / contain;
  opacity: 1;
}
body.mst-page-proyecto .mst-crisis--compact::after {
  top: 58%;
  right: -34px;
  width: 150px;
  height: 205px;
  transform: translateY(-46%);
  background: url("../img/crisis-branch.png") no-repeat right center / contain;
  opacity: 0.8;
}

/* --- Responsive --- */
@media (max-width: 900px) {
  body.mst-page-proyecto .wp-block-group.has-white-background-color::before,
  body.mst-page-proyecto .wp-block-group.has-white-background-color::after {
    display: none;
  }
}
@media (max-width: 600px) {
  body.mst-page-proyecto .mst-page-hero::before {
    background-size: 150px auto, 150px auto, 0 0;
    opacity: 0.8;
  }
  body.mst-page-proyecto .wp-block-group.has-cream-background-color:has(.mst-crisis)::before,
  body.mst-page-proyecto .wp-block-group.has-cream-background-color:has(.mst-crisis)::after,
  body.mst-page-proyecto .mst-crisis--compact::before,
  body.mst-page-proyecto .mst-crisis--compact::after {
    display: none;
  }
}

/* ============================================================
   RECURSOS — "Ayuda por localidad". Misma familia visual
   (Home / Diario / Comunidad). Adiós al azul. Solo CSS · scope
   body.mst-page-recursos · assets aprobados. No toca HTML/PHP/JS.
   ============================================================ */

/* --- HERO verde profundo + textura + vides + mariposa + ola --- */
body.mst-page-recursos .mst-page-hero {
  background-color: #33684e !important;
  background-image:
    url("../img/texture-green-overlay.png"),
    radial-gradient(120% 120% at 50% 6%, rgba(255, 248, 236, 0.12) 0%, rgba(255, 248, 236, 0) 46%),
    radial-gradient(120% 130% at 50% 128%, rgba(0, 0, 0, 0.30) 0%, rgba(0, 0, 0, 0) 55%);
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: center, center, center;
  background-size: cover, auto, auto;
  color: #f3e8cf;
  position: relative;
  overflow: hidden;
  padding-top: clamp(3rem, 6vw, 4.5rem) !important;
  padding-bottom: clamp(5rem, 9vw, 7rem) !important;
}
body.mst-page-recursos .mst-page-hero > * {
  position: relative;
  z-index: 2;
}
body.mst-page-recursos .mst-page-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    url("../img/vine-corner-left.png"),
    url("../img/vine-corner-right.png"),
    url("../img/butterfly-small.png");
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: left -46px top -30px, right -46px top -26px, right 13% bottom 22%;
  background-size: 320px auto, 330px auto, 62px auto;
  filter: sepia(0.55) saturate(1.4) hue-rotate(-12deg) brightness(1.22);
  opacity: 0.9;
  pointer-events: none;
  z-index: 0;
}
body.mst-page-recursos .mst-page-hero::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 54px;
  background: url("../img/hero-wave.svg") no-repeat bottom center / 100% 100%;
  pointer-events: none;
  z-index: 1;
}
body.mst-page-recursos .mst-page-hero .mst-page-hero__title {
  font-family: "Platypi", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  font-weight: 700;
  color: #f7edd6;
  font-size: clamp(2.1rem, 4.8vw, 3.2rem);
  line-height: 1.12;
  margin: 0.2rem 0 0;
}
body.mst-page-recursos .mst-page-hero .mst-page-hero__title::after {
  content: "";
  display: block;
  width: 210px;
  max-width: 60%;
  height: 20px;
  margin: 0.85rem auto 0;
  background: url("../img/hero-divider.svg") no-repeat center / contain;
}
body.mst-page-recursos .mst-page-hero .mst-eyebrow {
  display: inline-block;
  padding: 0.28rem 1.05rem;
  border-radius: var(--mst-radius-pill);
  background: rgba(255, 248, 236, 0.92);
  color: #6b3a17;
  font-weight: 800;
  letter-spacing: 0.16em;
  font-size: 0.78rem;
}
body.mst-page-recursos .mst-page-hero .mst-page-hero__lead {
  color: #ecdcbf;
  font-size: clamp(1.05rem, 2.2vw, 1.25rem);
}

/* --- "Directorio de recursos": crema + textura + tarjetas --- */
body.mst-page-recursos .wp-block-group.has-white-background-color {
  background-color: #fff8ec !important;
  background-image:
    url("../img/butterfly-small.png"),
    url("../img/texture-cream-overlay.png");
  background-repeat: no-repeat, no-repeat;
  background-position: right 5% top 8%, center;
  background-size: 54px auto, cover;
  position: relative;
  overflow: hidden;
}
body.mst-page-recursos .wp-block-group.has-white-background-color > * {
  position: relative;
  z-index: 1;
}
body.mst-page-recursos .wp-block-group.has-white-background-color::before {
  content: "";
  position: absolute;
  left: -26px;
  bottom: -18px;
  width: 220px;
  height: 250px;
  background: url("../img/vine-corner-left.png") no-repeat left bottom / contain;
  opacity: 0.42;
  pointer-events: none;
  z-index: 0;
}
body.mst-page-recursos .wp-block-group.has-white-background-color > h2 {
  font-family: "Platypi", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  font-weight: 700;
  color: #6b3a17;
  font-size: clamp(1.7rem, 3.6vw, 2.4rem);
  text-align: center;
  margin-bottom: 0.35rem;
}
body.mst-page-recursos .wp-block-group.has-white-background-color > h2::after {
  content: "";
  display: block;
  width: 180px;
  height: 18px;
  margin: 0.6rem auto 0.9rem;
  background: url("../img/leaf-divider.svg") no-repeat center / contain;
  opacity: 0.9;
}
body.mst-page-recursos .wp-block-group.has-white-background-color > p {
  max-width: 44rem;
  margin: 0 auto 1.6rem;
  text-align: center;
  color: #6a4a2c;
  line-height: 1.7;
}
/* Aviso de país ("Estamos preparando recursos..."): tarjeta papel cálida. */
body.mst-page-recursos .mst-pais-aviso {
  max-width: 720px;
  margin: 0 auto 1.6rem;
  padding: 0.9rem 1.3rem;
  font-size: 0.95rem;
  color: #5a4636;
  background: #fffaf1;
  border: 1px solid rgba(199, 154, 82, 0.5);
  border-left: 4px solid #a75a24;
  border-radius: 14px;
  box-shadow: 0 8px 22px rgba(107, 58, 23, 0.08);
}
/* Aviso i18n / "preparando recursos" (país sin recursos): antes azul,
   ahora verde claro para entrar en la familia. Scoped a Recursos. */
body.mst-page-recursos .mst-i18n-notice {
  max-width: 720px;
  margin: 0 auto 1.6rem;
  padding: 0.9rem 1.3rem;
  font-size: 0.95rem;
  color: #2f5540;
  background: #e8f1e2;
  border: 1px solid rgba(51, 104, 78, 0.28);
  border-left: 4px solid #4f8062;
  border-radius: 14px;
  box-shadow: 0 8px 22px rgba(51, 104, 78, 0.08);
}
/* Rejilla de recursos (tarjetas papel). */
body.mst-page-recursos .wp-block-post-template {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: clamp(1rem, 2.4vw, 1.6rem);
  max-width: 1040px;
  margin-inline: auto;
  padding: 0;
  list-style: none;
}
body.mst-page-recursos .wp-block-post {
  position: relative;
  background: #fffaf1;
  border: 1px solid rgba(199, 154, 82, 0.5);
  border-radius: 18px;
  padding: clamp(1.2rem, 2.6vw, 1.6rem);
  box-shadow: 0 10px 26px rgba(107, 58, 23, 0.09), 0 2px 6px rgba(107, 58, 23, 0.05);
  overflow: hidden;
}
body.mst-page-recursos .wp-block-post-title {
  margin: 0 0 0.5rem;
}
body.mst-page-recursos .wp-block-post-title a {
  font-family: "Platypi", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  font-weight: 700;
  color: #7a3f16;
  font-size: clamp(1.1rem, 2vw, 1.32rem);
  line-height: 1.25;
}
body.mst-page-recursos .wp-block-post-title a:hover {
  color: #a75a24;
}
/* Etiqueta de tipo de ayuda (taxonomía). */
body.mst-page-recursos .wp-block-post-terms {
  margin: 0 0 0.6rem;
  font-size: 0.78rem;
}
body.mst-page-recursos .wp-block-post-terms a {
  display: inline-block;
  background: rgba(199, 154, 82, 0.18);
  color: #7a3f16;
  padding: 0.15rem 0.65rem;
  border-radius: var(--mst-radius-pill);
  text-decoration: none;
  font-weight: 700;
}
body.mst-page-recursos .wp-block-post-excerpt {
  color: #5a4636;
  line-height: 1.65;
  font-size: 0.95rem;
  margin: 0;
}
/* Estado vacío ("Estamos añadiendo recursos. Vuelve pronto."): tarjeta cálida. */
body.mst-page-recursos .wp-block-query-no-results {
  position: relative;
  max-width: 560px;
  margin: 0.5rem auto 0;
  padding: 2.2rem 1.8rem;
  text-align: center;
  background: #fffaf1;
  border: 1px solid rgba(199, 154, 82, 0.5);
  border-radius: 22px;
  box-shadow: 0 12px 30px rgba(107, 58, 23, 0.10);
}
body.mst-page-recursos .wp-block-query-no-results::before {
  content: "";
  display: block;
  width: 52px;
  height: 52px;
  margin: 0 auto 0.6rem;
  background: url("../img/butterfly-small.png") no-repeat center / contain;
  opacity: 0.9;
}
body.mst-page-recursos .wp-block-query-no-results p {
  margin: 0;
  color: #6a4a2c;
  font-size: 1.05rem;
}

/* --- Caja urgente: banda verde profunda (como Comunidad) --- */
body.mst-page-recursos .wp-block-group.has-cream-background-color:has(.mst-crisis) {
  background-color: #33684e !important;
  background-image:
    url("../img/wave-top-cream.svg"),
    url("../img/texture-green-overlay.png"),
    radial-gradient(120% 130% at 50% 0%, rgba(255, 248, 236, 0.10) 0%, rgba(255, 248, 236, 0) 55%);
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: top center, center, center;
  background-size: 100% 58px, cover, auto;
  position: relative;
  overflow: hidden;
  margin-top: -1px;
  padding-top: clamp(3.6rem, 6vw, 5rem) !important;
}
body.mst-page-recursos .wp-block-group.has-cream-background-color:has(.mst-crisis) > * {
  position: relative;
  z-index: 1;
}
body.mst-page-recursos .wp-block-group.has-cream-background-color:has(.mst-crisis)::before {
  content: "";
  position: absolute;
  left: -18px;
  bottom: -14px;
  width: 215px;
  height: 195px;
  background: url("../img/vine-corner-left.png") no-repeat left bottom / contain;
  filter: sepia(0.5) saturate(1.4) hue-rotate(-12deg) brightness(1.18);
  opacity: 0.55;
  pointer-events: none;
  z-index: 0;
}
body.mst-page-recursos .wp-block-group.has-cream-background-color:has(.mst-crisis)::after {
  content: "";
  position: absolute;
  right: -18px;
  top: 22%;
  width: 200px;
  height: 195px;
  background: url("../img/vine-corner-right.png") no-repeat right top / contain;
  filter: sepia(0.5) saturate(1.4) hue-rotate(-12deg) brightness(1.18);
  opacity: 0.55;
  pointer-events: none;
  z-index: 0;
}
body.mst-page-recursos .wp-block-group.has-cream-background-color:has(.mst-crisis) .mst-crisis--compact {
  max-width: 860px;
  width: 100%;
  margin-inline: auto;
  position: relative;
}
body.mst-page-recursos .mst-crisis--compact .mst-crisis__pais {
  background: rgba(255, 248, 236, 0.9);
  color: #5c2a0f;
  font-weight: 800;
}
body.mst-page-recursos .mst-crisis--compact::before,
body.mst-page-recursos .mst-crisis--compact::after {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: 3;
}
body.mst-page-recursos .mst-crisis--compact::before {
  top: 26px;
  right: 18px;
  width: 56px;
  height: 56px;
  background: url("../img/crisis-butterfly.png") no-repeat center / contain;
  opacity: 1;
}
body.mst-page-recursos .mst-crisis--compact::after {
  top: 58%;
  right: -34px;
  width: 150px;
  height: 205px;
  transform: translateY(-46%);
  background: url("../img/crisis-branch.png") no-repeat right center / contain;
  opacity: 0.8;
}

/* --- Responsive --- */
@media (max-width: 900px) {
  body.mst-page-recursos .wp-block-group.has-white-background-color::before {
    display: none;
  }
}
@media (max-width: 600px) {
  body.mst-page-recursos .mst-page-hero::before {
    background-size: 150px auto, 150px auto, 0 0;
    opacity: 0.8;
  }
  body.mst-page-recursos .wp-block-group.has-cream-background-color:has(.mst-crisis)::before,
  body.mst-page-recursos .wp-block-group.has-cream-background-color:has(.mst-crisis)::after,
  body.mst-page-recursos .mst-crisis--compact::before,
  body.mst-page-recursos .mst-crisis--compact::after {
    display: none;
  }
}

/* ============================================================
   MI ESPACIO — réplica de la referencia: CREMA arriba, VERDE abajo.
   Hero crema/papel con hojas de uva doradas + mariposas + divisor →
   tarjeta papel de acceso → banda verde profunda a todo ancho con la
   caja urgente. Solo CSS · scope body.mst-page-mi-espacio.
   NO convierte el hero a verde. No toca HTML/JS/login ni teléfonos.
   ============================================================ */

/* Contiene la banda verde full-bleed (100vw) sin scroll horizontal. */
body.mst-page-mi-espacio .wp-block-post-content {
  overflow-x: clip;
}

/* --- HERO crema/papel cálido con hojas de uva, mariposas y divisor --- */
body.mst-page-mi-espacio .mst-page-hero {
  background-color: #33684e !important;
  background-image:
    url("../img/texture-green-overlay.png"),
    radial-gradient(120% 120% at 50% 6%, rgba(255, 248, 236, 0.12) 0%, rgba(255, 248, 236, 0) 46%),
    radial-gradient(120% 130% at 50% 128%, rgba(0, 0, 0, 0.30) 0%, rgba(0, 0, 0, 0) 55%);
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: center, center, center;
  background-size: cover, auto, auto;
  color: #f3e8cf;
  position: relative;
  overflow: hidden;
  padding-top: clamp(3rem, 6vw, 4.5rem) !important;
  padding-bottom: clamp(5rem, 9vw, 7rem) !important;
}
body.mst-page-mi-espacio .mst-page-hero > * {
  position: relative;
  z-index: 2;
}
/* Hojas de uva (vine-corner) tintadas en dorado otoñal para el fondo crema. */
body.mst-page-mi-espacio .mst-page-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    url("../img/vine-corner-left.png"),
    url("../img/vine-corner-right.png");
  background-repeat: no-repeat, no-repeat;
  background-position: left -46px top -30px, right -46px top -26px;
  background-size: 330px auto, 340px auto;
  filter: sepia(0.55) saturate(1.4) hue-rotate(-12deg) brightness(1.22);
  opacity: 0.9;
  pointer-events: none;
  z-index: 0;
}
/* Mariposas sutiles (sin tinte) + onda inferior orgánica cremosa. */
body.mst-page-mi-espacio .mst-page-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    url("../img/butterfly-small.png"),
    url("../img/butterfly-small.png"),
    url("../img/hero-wave.svg");
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: left 27% top 30%, right 21% top 44%, bottom center;
  background-size: 44px auto, 56px auto, 100% 46px;
  pointer-events: none;
  z-index: 1;
}
/* Título con divisor de corazón. */
body.mst-page-mi-espacio .mst-page-hero__title {
  color: #f7edd6;
}
body.mst-page-mi-espacio .mst-page-hero__title::after {
  content: "";
  display: block;
  width: 210px;
  max-width: 60%;
  height: 20px;
  margin: 0.85rem auto 0;
  background: url("../img/hero-divider.svg") no-repeat center / contain;
}
body.mst-page-mi-espacio .mst-page-hero__lead {
  color: #ecdcbf;
}
body.mst-page-mi-espacio .mst-page-hero .mst-eyebrow {
  background: rgba(255, 248, 236, 0.92);
  color: #6b3a17;
}

/* --- Sección de la tarjeta de acceso: crema/papel continuo --- */
body.mst-page-mi-espacio .wp-block-group.has-white-background-color {
  background-color: #fff8ec !important;
  background-image: url("../img/texture-cream-overlay.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: relative;
  overflow: hidden;
  padding-top: clamp(2.6rem, 5vw, 4rem) !important;
  padding-bottom: clamp(3rem, 6vw, 4.5rem) !important;
}

/* --- Tarjeta de acceso: papel cálido, borde dorado, sprigs botánicos --- */
body.mst-page-mi-espacio .mst-auth--info {
  position: relative;
  max-width: 560px;
  margin-inline: auto;
  background: #fffaf1;
  border: 1px solid rgba(199, 154, 82, 0.6);
  border-radius: 28px;
  box-shadow: 0 18px 44px rgba(107, 58, 23, 0.12), 0 3px 8px rgba(107, 58, 23, 0.06);
  padding: clamp(2rem, 4vw, 3rem) clamp(1.6rem, 3.5vw, 2.6rem);
  overflow: hidden;
}
body.mst-page-mi-espacio .mst-auth--info > * {
  position: relative;
  z-index: 1;
}
body.mst-page-mi-espacio .mst-auth--info::before,
body.mst-page-mi-espacio .mst-auth--info::after {
  content: "";
  position: absolute;
  width: 116px;
  height: 116px;
  background-repeat: no-repeat;
  background-size: contain;
  filter: sepia(0.5) saturate(1.45) hue-rotate(-20deg) brightness(1.02);
  opacity: 0.5;
  pointer-events: none;
  z-index: 0;
}
body.mst-page-mi-espacio .mst-auth--info::before {
  top: -8px;
  left: -8px;
  background-image: url("../img/vine-sprig.png");
  background-position: left top;
}
body.mst-page-mi-espacio .mst-auth--info::after {
  bottom: -10px;
  right: -10px;
  background-image: url("../img/vine-sprig.png");
  background-position: right bottom;
  transform: scaleX(-1);
}
body.mst-page-mi-espacio .mst-auth--info p {
  color: #6a4a2c;
  font-size: 1.05rem;
  line-height: 1.6;
}
/* Botones: primario terracota sólido (texto crema legible) + fantasma crema. */
body.mst-page-mi-espacio .mst-auth__cta {
  margin-top: 1.4rem;
}
body.mst-page-mi-espacio .mst-auth__cta .mst-btn--primary {
  background-color: #b5652a;
  color: #fff8ec;
  border-color: #b5652a;
}
body.mst-page-mi-espacio .mst-auth__cta .mst-btn--primary:hover,
body.mst-page-mi-espacio .mst-auth__cta .mst-btn--primary:focus {
  background-color: #9a5324;
  color: #fff8ec;
  border-color: #9a5324;
}
body.mst-page-mi-espacio .mst-auth__cta .mst-btn--ghost {
  background-color: #fffaf1;
  color: #a75a24;
  border-color: #c99a52;
}
body.mst-page-mi-espacio .mst-auth__cta .mst-btn--ghost:hover,
body.mst-page-mi-espacio .mst-auth__cta .mst-btn--ghost:focus {
  background-color: #a75a24;
  color: #fff8ec;
  border-color: #a75a24;
}

/* --- Banda VERDE profunda a todo ancho detrás de la caja urgente --- */
body.mst-page-mi-espacio .mst-crisis--compact {
  position: relative;
  margin-top: clamp(3.2rem, 7vw, 5rem);
  margin-bottom: clamp(3rem, 7vw, 5rem);
}
/* Banda verde full-bleed (queda detrás de la caja terracota). */
body.mst-page-mi-espacio .mst-crisis--compact::before {
  content: "";
  position: absolute;
  z-index: -2;
  left: 50%;
  margin-left: -50vw;
  width: 100vw;
  top: calc(-1 * clamp(3.2rem, 7vw, 5rem));
  bottom: calc(-1 * clamp(6rem, 12vw, 9rem));
  background-color: #33684e;
  background-image:
    url("../img/wave-top-cream.svg"),
    url("../img/texture-green-overlay.png"),
    radial-gradient(120% 130% at 50% 0%, rgba(255, 248, 236, 0.10) 0%, rgba(255, 248, 236, 0) 55%);
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: top center, center, center;
  background-size: 100% 56px, cover, auto;
  pointer-events: none;
}
/* Enredaderas doradas suaves a los lados de la banda. */
body.mst-page-mi-espacio .mst-crisis--compact::after {
  content: "";
  position: absolute;
  z-index: -1;
  left: 50%;
  margin-left: -50vw;
  width: 100vw;
  top: calc(-1 * clamp(3.2rem, 7vw, 5rem));
  bottom: calc(-1 * clamp(6rem, 12vw, 9rem));
  background-image:
    url("../img/vine-corner-left.png"),
    url("../img/vine-corner-right.png");
  background-repeat: no-repeat, no-repeat;
  background-position: left -12px bottom 12%, right -12px top 18%;
  background-size: 230px auto, 220px auto;
  filter: sepia(0.5) saturate(1.4) hue-rotate(-12deg) brightness(1.2);
  opacity: 0.5;
  pointer-events: none;
}
/* País en la caja: pastilla crema (consistente con el resto). */
body.mst-page-mi-espacio .mst-crisis--compact .mst-crisis__pais {
  background: rgba(255, 248, 236, 0.9);
  color: #5c2a0f;
  font-weight: 800;
}

/* --- Responsive --- */
@media (max-width: 700px) {
  body.mst-page-mi-espacio .mst-page-hero::before {
    background-size: 190px auto, 196px auto;
    opacity: 0.85;
  }
  body.mst-page-mi-espacio .mst-page-hero::after {
    background-size: 34px auto, 42px auto, 100% 34px;
  }
  body.mst-page-mi-espacio .mst-crisis--compact::after {
    background-size: 150px auto, 144px auto;
    opacity: 0.4;
  }
  body.mst-page-mi-espacio .mst-auth--info::before,
  body.mst-page-mi-espacio .mst-auth--info::after {
    width: 84px;
    height: 84px;
  }
}

/* ============================================================
   POLÍTICA DE PRIVACIDAD — página hermana del resto: crema cálido,
   hojas de uva, mariposas, textura de papel, bloque legal elegante y
   acordeones tipo tarjeta. Legal pero amable. Solo CSS · scope
   body.mst-page-privacidad. No toca textos, HTML, PHP ni acordeones.
   ============================================================ */

/* --- HERO crema/papel con hojas de uva, mariposas y divisor (NO verde) --- */
body.mst-page-privacidad .mst-page-hero {
  background-color: #33684e !important;
  background-image:
    url("../img/texture-green-overlay.png"),
    radial-gradient(120% 120% at 50% 6%, rgba(255, 248, 236, 0.12) 0%, rgba(255, 248, 236, 0) 46%),
    radial-gradient(120% 130% at 50% 128%, rgba(0, 0, 0, 0.30) 0%, rgba(0, 0, 0, 0) 55%);
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: center, center, center;
  background-size: cover, auto, auto;
  color: #f3e8cf;
  position: relative;
  overflow: hidden;
  padding-top: clamp(3rem, 6vw, 4.5rem) !important;
  padding-bottom: clamp(5rem, 9vw, 7rem) !important;
}
body.mst-page-privacidad .mst-page-hero > * {
  position: relative;
  z-index: 2;
}
body.mst-page-privacidad .mst-page-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    url("../img/vine-corner-left.png"),
    url("../img/vine-corner-right.png");
  background-repeat: no-repeat, no-repeat;
  background-position: left -46px top -30px, right -46px top -26px;
  background-size: 330px auto, 340px auto;
  filter: sepia(0.55) saturate(1.4) hue-rotate(-12deg) brightness(1.22);
  opacity: 0.9;
  pointer-events: none;
  z-index: 0;
}
body.mst-page-privacidad .mst-page-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    url("../img/butterfly-small.png"),
    url("../img/butterfly-small.png"),
    url("../img/hero-wave.svg");
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: left 27% top 30%, right 21% top 44%, bottom center;
  background-size: 44px auto, 56px auto, 100% 54px;
  pointer-events: none;
  z-index: 1;
}
body.mst-page-privacidad .mst-page-hero__title {
  color: #f7edd6;
}
body.mst-page-privacidad .mst-page-hero__title::after {
  content: "";
  display: block;
  width: 210px;
  max-width: 60%;
  height: 20px;
  margin: 0.85rem auto 0;
  background: url("../img/hero-divider.svg") no-repeat center / contain;
}
body.mst-page-privacidad .mst-page-hero__lead {
  color: #ecdcbf;
}
body.mst-page-privacidad .mst-page-hero .mst-eyebrow {
  background: rgba(255, 248, 236, 0.92);
  color: #6b3a17;
}

/* --- Sección de contenido: crema/papel cálido con textura + decoración --- */
body.mst-page-privacidad .wp-block-group.has-white-background-color:has(.mst-prose) {
  background-color: #fff8ec !important;
  background-image: url("../img/texture-cream-overlay.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: relative;
  overflow: hidden;
}
body.mst-page-privacidad .wp-block-group.has-white-background-color:has(.mst-prose) > * {
  position: relative;
  z-index: 1;
}
/* Vides muy sutiles en los márgenes, detrás del texto legal. */
body.mst-page-privacidad .wp-block-group.has-white-background-color:has(.mst-prose)::before {
  content: "";
  position: absolute;
  left: -30px;
  bottom: -20px;
  width: 230px;
  height: 260px;
  background: url("../img/vine-corner-left.png") no-repeat left bottom / contain;
  filter: sepia(0.5) saturate(1.4) hue-rotate(-22deg) brightness(1.04);
  opacity: 0.32;
  pointer-events: none;
  z-index: 0;
}
body.mst-page-privacidad .wp-block-group.has-white-background-color:has(.mst-prose)::after {
  content: "";
  position: absolute;
  right: -34px;
  top: 40px;
  width: 210px;
  height: 230px;
  background: url("../img/vine-corner-right.png") no-repeat right top / contain;
  filter: sepia(0.5) saturate(1.4) hue-rotate(-22deg) brightness(1.04);
  opacity: 0.28;
  pointer-events: none;
  z-index: 0;
}

/* --- Bloque "Borrador...": tarjeta papel elegante con sprig botánico --- */
body.mst-page-privacidad .mst-prose .wp-block-quote {
  position: relative;
  background: #fffaf1;
  border: 1px solid rgba(199, 154, 82, 0.55);
  border-left: 5px solid #c99a52;
  border-radius: 22px;
  box-shadow: 0 14px 34px rgba(107, 58, 23, 0.10);
  padding: clamp(1.5rem, 3.2vw, 2.2rem) clamp(1.6rem, 3.4vw, 2.4rem);
  font-family: "Platypi", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  font-style: italic;
  overflow: hidden;
}
body.mst-page-privacidad .mst-prose .wp-block-quote::before {
  content: "";
  position: absolute;
  top: -10px;
  right: -10px;
  width: 104px;
  height: 104px;
  background: url("../img/vine-sprig.png") no-repeat right top / contain;
  filter: sepia(0.5) saturate(1.45) hue-rotate(-20deg) brightness(1.02);
  opacity: 0.42;
  pointer-events: none;
  z-index: 0;
}
body.mst-page-privacidad .mst-prose .wp-block-quote p {
  position: relative;
  z-index: 1;
  color: #6b4a2c;
}
body.mst-page-privacidad .mst-prose .wp-block-quote strong {
  color: #a75a24;
}

/* --- Texto introductorio bajo el bloque Borrador --- */
body.mst-page-privacidad .mst-prose > p {
  max-width: 40rem;
  margin: 1.6rem auto 2rem;
  color: #5a4636;
  line-height: 1.8;
}

/* --- Acordeones legales: tarjetas papel (mismo lenguaje que Comunidad) --- */
body.mst-page-privacidad .wp-block-details {
  position: relative;
  background: #fffaf1;
  border: 1px solid rgba(199, 154, 82, 0.5);
  border-radius: 16px;
  box-shadow: 0 10px 26px rgba(107, 58, 23, 0.09);
  padding: 0.2rem 1.35rem;
  margin-top: 0.7rem;
}
body.mst-page-privacidad .wp-block-details summary {
  font-family: "Platypi", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  font-weight: 700;
  color: #7a3f16;
  cursor: pointer;
  padding: 1rem 0;
  font-size: 1.1rem;
}
body.mst-page-privacidad .wp-block-details[open] summary {
  border-bottom: 1px solid rgba(199, 154, 82, 0.28);
  margin-bottom: 0.7rem;
}
body.mst-page-privacidad .wp-block-details p {
  color: #5a4636;
  line-height: 1.75;
  padding-bottom: 0.8rem;
}
body.mst-page-privacidad .wp-block-details strong {
  color: #6b3a17;
}
/* Enlaces del contenido legal en terracota (nada azul). */
body.mst-page-privacidad .mst-prose a {
  color: #a75a24;
  text-underline-offset: 2px;
}
body.mst-page-privacidad .mst-prose a:hover,
body.mst-page-privacidad .mst-prose a:focus {
  color: #8a4718;
}

/* --- Caja urgente: banda verde profunda a todo ancho (hermana del sitio) --- */
body.mst-page-privacidad .wp-block-group.has-cream-background-color:has(.mst-crisis) {
  background-color: #33684e !important;
  background-image:
    url("../img/wave-top-cream.svg"),
    url("../img/texture-green-overlay.png"),
    radial-gradient(120% 130% at 50% 0%, rgba(255, 248, 236, 0.10) 0%, rgba(255, 248, 236, 0) 55%);
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: top center, center, center;
  background-size: 100% 58px, cover, auto;
  position: relative;
  overflow: hidden;
  margin-top: -1px;
  padding-top: clamp(3.6rem, 6vw, 5rem) !important;
}
body.mst-page-privacidad .wp-block-group.has-cream-background-color:has(.mst-crisis) > * {
  position: relative;
  z-index: 1;
}
body.mst-page-privacidad .wp-block-group.has-cream-background-color:has(.mst-crisis)::before {
  content: "";
  position: absolute;
  left: -18px;
  bottom: -14px;
  width: 215px;
  height: 195px;
  background: url("../img/vine-corner-left.png") no-repeat left bottom / contain;
  filter: sepia(0.5) saturate(1.4) hue-rotate(-12deg) brightness(1.18);
  opacity: 0.55;
  pointer-events: none;
  z-index: 0;
}
body.mst-page-privacidad .wp-block-group.has-cream-background-color:has(.mst-crisis)::after {
  content: "";
  position: absolute;
  right: -18px;
  top: 22%;
  width: 200px;
  height: 195px;
  background: url("../img/vine-corner-right.png") no-repeat right top / contain;
  filter: sepia(0.5) saturate(1.4) hue-rotate(-12deg) brightness(1.18);
  opacity: 0.55;
  pointer-events: none;
  z-index: 0;
}
body.mst-page-privacidad .wp-block-group.has-cream-background-color:has(.mst-crisis) .mst-crisis--compact {
  max-width: 860px;
  width: 100%;
  margin-inline: auto;
  position: relative;
}
body.mst-page-privacidad .mst-crisis--compact .mst-crisis__pais {
  background: rgba(255, 248, 236, 0.9);
  color: #5c2a0f;
  font-weight: 800;
}
body.mst-page-privacidad .mst-crisis--compact::before,
body.mst-page-privacidad .mst-crisis--compact::after {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: 3;
}
body.mst-page-privacidad .mst-crisis--compact::before {
  top: 26px;
  right: 18px;
  width: 56px;
  height: 56px;
  background: url("../img/crisis-butterfly.png") no-repeat center / contain;
  opacity: 1;
}
body.mst-page-privacidad .mst-crisis--compact::after {
  top: 58%;
  right: -34px;
  width: 150px;
  height: 205px;
  transform: translateY(-46%);
  background: url("../img/crisis-branch.png") no-repeat right center / contain;
  opacity: 0.8;
}

/* --- Responsive --- */
@media (max-width: 900px) {
  body.mst-page-privacidad .wp-block-group.has-white-background-color:has(.mst-prose)::before,
  body.mst-page-privacidad .wp-block-group.has-white-background-color:has(.mst-prose)::after {
    display: none;
  }
}
@media (max-width: 700px) {
  body.mst-page-privacidad .mst-page-hero::before {
    background-size: 190px auto, 196px auto;
    opacity: 0.85;
  }
  body.mst-page-privacidad .mst-page-hero::after {
    background-size: 34px auto, 42px auto, 100% 34px;
  }
  body.mst-page-privacidad .mst-prose .wp-block-quote::before {
    width: 76px;
    height: 76px;
    opacity: 0.35;
  }
  body.mst-page-privacidad .wp-block-group.has-cream-background-color:has(.mst-crisis)::before,
  body.mst-page-privacidad .wp-block-group.has-cream-background-color:has(.mst-crisis)::after,
  body.mst-page-privacidad .mst-crisis--compact::before,
  body.mst-page-privacidad .mst-crisis--compact::after {
    display: none;
  }
}

/* ============================================================
   POLÍTICA DE COOKIES — hermana directa de Privacidad: mismo lenguaje
   crema cálido, hojas de uva, mariposas, textura de papel, bloque legal
   elegante y acordeones tipo tarjeta. Solo CSS · scope
   body.mst-page-cookies. No toca textos, HTML, PHP ni acordeones.
   ============================================================ */

/* --- HERO crema/papel con hojas de uva, mariposas y divisor (NO verde) --- */
body.mst-page-cookies .mst-page-hero {
  background-color: #33684e !important;
  background-image:
    url("../img/texture-green-overlay.png"),
    radial-gradient(120% 120% at 50% 6%, rgba(255, 248, 236, 0.12) 0%, rgba(255, 248, 236, 0) 46%),
    radial-gradient(120% 130% at 50% 128%, rgba(0, 0, 0, 0.30) 0%, rgba(0, 0, 0, 0) 55%);
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: center, center, center;
  background-size: cover, auto, auto;
  color: #f3e8cf;
  position: relative;
  overflow: hidden;
  padding-top: clamp(3rem, 6vw, 4.5rem) !important;
  padding-bottom: clamp(5rem, 9vw, 7rem) !important;
}
body.mst-page-cookies .mst-page-hero > * {
  position: relative;
  z-index: 2;
}
body.mst-page-cookies .mst-page-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    url("../img/vine-corner-left.png"),
    url("../img/vine-corner-right.png");
  background-repeat: no-repeat, no-repeat;
  background-position: left -46px top -30px, right -46px top -26px;
  background-size: 330px auto, 340px auto;
  filter: sepia(0.55) saturate(1.4) hue-rotate(-12deg) brightness(1.22);
  opacity: 0.9;
  pointer-events: none;
  z-index: 0;
}
body.mst-page-cookies .mst-page-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    url("../img/butterfly-small.png"),
    url("../img/butterfly-small.png"),
    url("../img/hero-wave.svg");
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: left 27% top 30%, right 21% top 44%, bottom center;
  background-size: 44px auto, 56px auto, 100% 54px;
  pointer-events: none;
  z-index: 1;
}
body.mst-page-cookies .mst-page-hero__title {
  color: #f7edd6;
}
body.mst-page-cookies .mst-page-hero__title::after {
  content: "";
  display: block;
  width: 210px;
  max-width: 60%;
  height: 20px;
  margin: 0.85rem auto 0;
  background: url("../img/hero-divider.svg") no-repeat center / contain;
}
body.mst-page-cookies .mst-page-hero__lead {
  color: #ecdcbf;
}
body.mst-page-cookies .mst-page-hero .mst-eyebrow {
  background: rgba(255, 248, 236, 0.92);
  color: #6b3a17;
}

/* --- Sección de contenido: crema/papel cálido con textura + decoración --- */
body.mst-page-cookies .wp-block-group.has-white-background-color:has(.mst-prose) {
  background-color: #fff8ec !important;
  background-image: url("../img/texture-cream-overlay.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: relative;
  overflow: hidden;
}
body.mst-page-cookies .wp-block-group.has-white-background-color:has(.mst-prose) > * {
  position: relative;
  z-index: 1;
}
body.mst-page-cookies .wp-block-group.has-white-background-color:has(.mst-prose)::before {
  content: "";
  position: absolute;
  left: -30px;
  bottom: -20px;
  width: 230px;
  height: 260px;
  background: url("../img/vine-corner-left.png") no-repeat left bottom / contain;
  filter: sepia(0.5) saturate(1.4) hue-rotate(-22deg) brightness(1.04);
  opacity: 0.32;
  pointer-events: none;
  z-index: 0;
}
body.mst-page-cookies .wp-block-group.has-white-background-color:has(.mst-prose)::after {
  content: "";
  position: absolute;
  right: -34px;
  top: 40px;
  width: 210px;
  height: 230px;
  background: url("../img/vine-corner-right.png") no-repeat right top / contain;
  filter: sepia(0.5) saturate(1.4) hue-rotate(-22deg) brightness(1.04);
  opacity: 0.28;
  pointer-events: none;
  z-index: 0;
}

/* --- Bloque "BORRADOR...": tarjeta papel elegante con sprig botánico --- */
body.mst-page-cookies .mst-prose .wp-block-quote {
  position: relative;
  background: #fffaf1;
  border: 1px solid rgba(199, 154, 82, 0.55);
  border-left: 5px solid #c99a52;
  border-radius: 22px;
  box-shadow: 0 14px 34px rgba(107, 58, 23, 0.10);
  padding: clamp(1.5rem, 3.2vw, 2.2rem) clamp(1.6rem, 3.4vw, 2.4rem);
  font-family: "Platypi", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  font-style: italic;
  overflow: hidden;
}
body.mst-page-cookies .mst-prose .wp-block-quote::before {
  content: "";
  position: absolute;
  top: -10px;
  right: -10px;
  width: 104px;
  height: 104px;
  background: url("../img/vine-sprig.png") no-repeat right top / contain;
  filter: sepia(0.5) saturate(1.45) hue-rotate(-20deg) brightness(1.02);
  opacity: 0.42;
  pointer-events: none;
  z-index: 0;
}
body.mst-page-cookies .mst-prose .wp-block-quote p {
  position: relative;
  z-index: 1;
  color: #6b4a2c;
}
body.mst-page-cookies .mst-prose .wp-block-quote strong {
  color: #a75a24;
}

/* --- Nota de cierre (párrafo pequeño) bien espaciada --- */
body.mst-page-cookies .mst-prose > p {
  max-width: 40rem;
  margin: 1.6rem auto 0;
  color: #5a4636;
  line-height: 1.8;
}

/* --- Acordeones legales: tarjetas papel (mismo lenguaje que Comunidad) --- */
body.mst-page-cookies .wp-block-details {
  position: relative;
  background: #fffaf1;
  border: 1px solid rgba(199, 154, 82, 0.5);
  border-radius: 16px;
  box-shadow: 0 10px 26px rgba(107, 58, 23, 0.09);
  padding: 0.2rem 1.35rem;
  margin-top: 0.7rem;
}
body.mst-page-cookies .wp-block-details summary {
  font-family: "Platypi", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  font-weight: 700;
  color: #7a3f16;
  cursor: pointer;
  padding: 1rem 0;
  font-size: 1.1rem;
}
body.mst-page-cookies .wp-block-details[open] summary {
  border-bottom: 1px solid rgba(199, 154, 82, 0.28);
  margin-bottom: 0.7rem;
}
body.mst-page-cookies .wp-block-details p {
  color: #5a4636;
  line-height: 1.75;
  padding-bottom: 0.8rem;
}
body.mst-page-cookies .wp-block-details strong {
  color: #6b3a17;
}
/* Enlaces del contenido legal en terracota (nada azul). */
body.mst-page-cookies .mst-prose a {
  color: #a75a24;
  text-underline-offset: 2px;
}
body.mst-page-cookies .mst-prose a:hover,
body.mst-page-cookies .mst-prose a:focus {
  color: #8a4718;
}

/* --- Caja urgente: banda verde profunda a todo ancho (hermana del sitio) --- */
body.mst-page-cookies .wp-block-group.has-cream-background-color:has(.mst-crisis) {
  background-color: #33684e !important;
  background-image:
    url("../img/wave-top-cream.svg"),
    url("../img/texture-green-overlay.png"),
    radial-gradient(120% 130% at 50% 0%, rgba(255, 248, 236, 0.10) 0%, rgba(255, 248, 236, 0) 55%);
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: top center, center, center;
  background-size: 100% 58px, cover, auto;
  position: relative;
  overflow: hidden;
  margin-top: -1px;
  padding-top: clamp(3.6rem, 6vw, 5rem) !important;
}
body.mst-page-cookies .wp-block-group.has-cream-background-color:has(.mst-crisis) > * {
  position: relative;
  z-index: 1;
}
body.mst-page-cookies .wp-block-group.has-cream-background-color:has(.mst-crisis)::before {
  content: "";
  position: absolute;
  left: -18px;
  bottom: -14px;
  width: 215px;
  height: 195px;
  background: url("../img/vine-corner-left.png") no-repeat left bottom / contain;
  filter: sepia(0.5) saturate(1.4) hue-rotate(-12deg) brightness(1.18);
  opacity: 0.55;
  pointer-events: none;
  z-index: 0;
}
body.mst-page-cookies .wp-block-group.has-cream-background-color:has(.mst-crisis)::after {
  content: "";
  position: absolute;
  right: -18px;
  top: 22%;
  width: 200px;
  height: 195px;
  background: url("../img/vine-corner-right.png") no-repeat right top / contain;
  filter: sepia(0.5) saturate(1.4) hue-rotate(-12deg) brightness(1.18);
  opacity: 0.55;
  pointer-events: none;
  z-index: 0;
}
body.mst-page-cookies .wp-block-group.has-cream-background-color:has(.mst-crisis) .mst-crisis--compact {
  max-width: 860px;
  width: 100%;
  margin-inline: auto;
  position: relative;
}
body.mst-page-cookies .mst-crisis--compact .mst-crisis__pais {
  background: rgba(255, 248, 236, 0.9);
  color: #5c2a0f;
  font-weight: 800;
}
body.mst-page-cookies .mst-crisis--compact::before,
body.mst-page-cookies .mst-crisis--compact::after {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: 3;
}
body.mst-page-cookies .mst-crisis--compact::before {
  top: 26px;
  right: 18px;
  width: 56px;
  height: 56px;
  background: url("../img/crisis-butterfly.png") no-repeat center / contain;
  opacity: 1;
}
body.mst-page-cookies .mst-crisis--compact::after {
  top: 58%;
  right: -34px;
  width: 150px;
  height: 205px;
  transform: translateY(-46%);
  background: url("../img/crisis-branch.png") no-repeat right center / contain;
  opacity: 0.8;
}

/* --- Responsive --- */
@media (max-width: 900px) {
  body.mst-page-cookies .wp-block-group.has-white-background-color:has(.mst-prose)::before,
  body.mst-page-cookies .wp-block-group.has-white-background-color:has(.mst-prose)::after {
    display: none;
  }
}
@media (max-width: 700px) {
  body.mst-page-cookies .mst-page-hero::before {
    background-size: 190px auto, 196px auto;
    opacity: 0.85;
  }
  body.mst-page-cookies .mst-page-hero::after {
    background-size: 34px auto, 42px auto, 100% 34px;
  }
  body.mst-page-cookies .mst-prose .wp-block-quote::before {
    width: 76px;
    height: 76px;
    opacity: 0.35;
  }
  body.mst-page-cookies .wp-block-group.has-cream-background-color:has(.mst-crisis)::before,
  body.mst-page-cookies .wp-block-group.has-cream-background-color:has(.mst-crisis)::after,
  body.mst-page-cookies .mst-crisis--compact::before,
  body.mst-page-cookies .mst-crisis--compact::after {
    display: none;
  }
}

/* ============================================================
   AVISO LEGAL — hermana directa de Privacidad/Cookies: hero verde,
   cuerpo crema con tarjeta intro + acordeones papel, sección de
   formulario elegante y banda verde de crisis. Solo CSS · scope
   body.mst-page-aviso-legal. No toca textos, HTML, PHP ni acordeones.
   ============================================================ */

/* --- HERO verde profundo (patrón estándar del sitio) --- */
body.mst-page-aviso-legal .mst-page-hero {
  background-color: #33684e !important;
  background-image:
    url("../img/texture-green-overlay.png"),
    radial-gradient(120% 120% at 50% 6%, rgba(255, 248, 236, 0.12) 0%, rgba(255, 248, 236, 0) 46%),
    radial-gradient(120% 130% at 50% 128%, rgba(0, 0, 0, 0.30) 0%, rgba(0, 0, 0, 0) 55%);
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: center, center, center;
  background-size: cover, auto, auto;
  color: #f3e8cf;
  position: relative;
  overflow: hidden;
  padding-top: clamp(3rem, 6vw, 4.5rem) !important;
  padding-bottom: clamp(5rem, 9vw, 7rem) !important;
}
body.mst-page-aviso-legal .mst-page-hero > * {
  position: relative;
  z-index: 2;
}
body.mst-page-aviso-legal .mst-page-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    url("../img/vine-corner-left.png"),
    url("../img/vine-corner-right.png");
  background-repeat: no-repeat, no-repeat;
  background-position: left -46px top -30px, right -46px top -26px;
  background-size: 330px auto, 340px auto;
  filter: sepia(0.55) saturate(1.4) hue-rotate(-12deg) brightness(1.22);
  opacity: 0.9;
  pointer-events: none;
  z-index: 0;
}
body.mst-page-aviso-legal .mst-page-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    url("../img/butterfly-small.png"),
    url("../img/butterfly-small.png"),
    url("../img/hero-wave.svg");
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: left 27% top 30%, right 21% top 44%, bottom center;
  background-size: 44px auto, 56px auto, 100% 54px;
  pointer-events: none;
  z-index: 1;
}
body.mst-page-aviso-legal .mst-page-hero__title {
  color: #f7edd6;
}
body.mst-page-aviso-legal .mst-page-hero__title::after {
  content: "";
  display: block;
  width: 210px;
  max-width: 60%;
  height: 20px;
  margin: 0.85rem auto 0;
  background: url("../img/hero-divider.svg") no-repeat center / contain;
}
body.mst-page-aviso-legal .mst-page-hero__lead {
  color: #ecdcbf;
}
body.mst-page-aviso-legal .mst-page-hero .mst-eyebrow {
  background: rgba(255, 248, 236, 0.92);
  color: #6b3a17;
}

/* --- Sección de contenido: crema/papel cálido con textura + decoración --- */
body.mst-page-aviso-legal .wp-block-group.has-white-background-color:has(.mst-prose) {
  background-color: #fff8ec !important;
  background-image: url("../img/texture-cream-overlay.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: relative;
  overflow: hidden;
}
body.mst-page-aviso-legal .wp-block-group.has-white-background-color:has(.mst-prose) > * {
  position: relative;
  z-index: 1;
}
body.mst-page-aviso-legal .wp-block-group.has-white-background-color:has(.mst-prose)::before {
  content: "";
  position: absolute;
  left: -30px;
  bottom: -20px;
  width: 230px;
  height: 260px;
  background: url("../img/vine-corner-left.png") no-repeat left bottom / contain;
  filter: sepia(0.5) saturate(1.4) hue-rotate(-22deg) brightness(1.04);
  opacity: 0.32;
  pointer-events: none;
  z-index: 0;
}
body.mst-page-aviso-legal .wp-block-group.has-white-background-color:has(.mst-prose)::after {
  content: "";
  position: absolute;
  right: -34px;
  top: 40px;
  width: 210px;
  height: 230px;
  background: url("../img/vine-corner-right.png") no-repeat right top / contain;
  filter: sepia(0.5) saturate(1.4) hue-rotate(-22deg) brightness(1.04);
  opacity: 0.28;
  pointer-events: none;
  z-index: 0;
}

/* --- Texto introductorio: tarjeta papel suave con sprig botánico --- */
body.mst-page-aviso-legal .mst-prose > p {
  position: relative;
  max-width: 44rem;
  margin: 0 auto 1.8rem;
  background: #fffaf1;
  border: 1px solid rgba(199, 154, 82, 0.5);
  border-left: 5px solid #c99a52;
  border-radius: 20px;
  box-shadow: 0 12px 30px rgba(107, 58, 23, 0.09);
  padding: clamp(1.4rem, 3vw, 2rem) clamp(1.5rem, 3.2vw, 2.2rem);
  color: #5a4636;
  line-height: 1.8;
  overflow: hidden;
}
body.mst-page-aviso-legal .mst-prose > p::before {
  content: "";
  position: absolute;
  top: -10px;
  right: -10px;
  width: 100px;
  height: 100px;
  background: url("../img/vine-sprig.png") no-repeat right top / contain;
  filter: sepia(0.5) saturate(1.45) hue-rotate(-20deg) brightness(1.02);
  opacity: 0.4;
  pointer-events: none;
  z-index: 0;
}
body.mst-page-aviso-legal .mst-prose > p strong {
  color: #7a3f16;
}

/* --- Acordeones legales: tarjetas papel (mismo lenguaje del sitio) --- */
body.mst-page-aviso-legal .wp-block-details {
  position: relative;
  background: #fffaf1;
  border: 1px solid rgba(199, 154, 82, 0.5);
  border-radius: 16px;
  box-shadow: 0 10px 26px rgba(107, 58, 23, 0.09);
  padding: 0.2rem 1.35rem;
  margin-top: 0.7rem;
}
body.mst-page-aviso-legal .wp-block-details summary {
  font-family: "Platypi", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  font-weight: 700;
  color: #7a3f16;
  cursor: pointer;
  padding: 1rem 0;
  font-size: 1.1rem;
}
body.mst-page-aviso-legal .wp-block-details[open] summary {
  border-bottom: 1px solid rgba(199, 154, 82, 0.28);
  margin-bottom: 0.7rem;
}
body.mst-page-aviso-legal .wp-block-details p {
  color: #5a4636;
  line-height: 1.75;
  padding-bottom: 0.8rem;
}
body.mst-page-aviso-legal .wp-block-details strong {
  color: #6b3a17;
}
body.mst-page-aviso-legal .mst-prose a {
  color: #a75a24;
  text-underline-offset: 2px;
}
body.mst-page-aviso-legal .mst-prose a:hover,
body.mst-page-aviso-legal .mst-prose a:focus {
  color: #8a4718;
}

/* --- Sección "¿Necesitas información legal ampliada?": crema elegante --- */
body.mst-page-aviso-legal .wp-block-group.has-cream-background-color:has(> h2) {
  background-color: #fff2df !important;
  background-image: url("../img/texture-cream-overlay.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: relative;
  overflow: hidden;
}
body.mst-page-aviso-legal .wp-block-group.has-cream-background-color:has(> h2) > * {
  position: relative;
  z-index: 1;
}
body.mst-page-aviso-legal .wp-block-group.has-cream-background-color:has(> h2)::before {
  content: "";
  position: absolute;
  right: -26px;
  top: -18px;
  width: 190px;
  height: 200px;
  background: url("../img/vine-corner-right.png") no-repeat right top / contain;
  filter: sepia(0.5) saturate(1.4) hue-rotate(-22deg) brightness(1.04);
  opacity: 0.3;
  pointer-events: none;
  z-index: 0;
}
body.mst-page-aviso-legal .wp-block-group.has-cream-background-color:has(> h2) > h2 {
  font-family: "Platypi", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  font-weight: 700;
  color: #6b3a17;
  font-size: clamp(1.6rem, 3.4vw, 2.2rem);
  margin-bottom: 0.35rem;
}
body.mst-page-aviso-legal .wp-block-group.has-cream-background-color:has(> h2) > h2::after {
  content: "";
  display: block;
  width: 180px;
  height: 18px;
  margin: 0.6rem auto 0.4rem;
  background: url("../img/leaf-divider.svg") no-repeat center / contain;
  opacity: 0.9;
}
body.mst-page-aviso-legal .wp-block-group.has-cream-background-color:has(> h2) > p {
  max-width: 40rem;
  margin: 0 auto 1.6rem;
  color: #6a4a2c;
  line-height: 1.7;
}
/* Formulario como tarjeta papel cálida. */
body.mst-page-aviso-legal .mst-form {
  max-width: 640px;
  margin-inline: auto;
  background: #fffaf1;
  border: 1px solid rgba(199, 154, 82, 0.55);
  border-radius: 24px;
  box-shadow: 0 16px 40px rgba(107, 58, 23, 0.11);
  padding: clamp(1.6rem, 3.4vw, 2.4rem);
}
body.mst-page-aviso-legal .mst-form input[type="text"],
body.mst-page-aviso-legal .mst-form input[type="email"],
body.mst-page-aviso-legal .mst-form input[type="tel"],
body.mst-page-aviso-legal .mst-form textarea {
  background: #fffdf9;
  border: 2px solid rgba(199, 154, 82, 0.45);
  border-radius: 12px;
}
body.mst-page-aviso-legal .mst-form input:focus,
body.mst-page-aviso-legal .mst-form textarea:focus {
  border-color: #a75a24;
  outline: none;
}
body.mst-page-aviso-legal .mst-form .mst-btn--primary {
  background-color: #b5652a;
  color: #fff8ec;
  border-color: #b5652a;
}
body.mst-page-aviso-legal .mst-form .mst-btn--primary:hover,
body.mst-page-aviso-legal .mst-form .mst-btn--primary:focus {
  background-color: #9a5324;
  color: #fff8ec;
  border-color: #9a5324;
}
body.mst-page-aviso-legal .mst-form a {
  color: #a75a24;
}

/* --- Caja urgente: banda verde profunda a todo ancho --- */
body.mst-page-aviso-legal .wp-block-group.has-cream-background-color:has(.mst-crisis) {
  background-color: #33684e !important;
  background-image:
    url("../img/wave-top-cream.svg"),
    url("../img/texture-green-overlay.png"),
    radial-gradient(120% 130% at 50% 0%, rgba(255, 248, 236, 0.10) 0%, rgba(255, 248, 236, 0) 55%);
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: top center, center, center;
  background-size: 100% 58px, cover, auto;
  position: relative;
  overflow: hidden;
  margin-top: -1px;
  padding-top: clamp(3.6rem, 6vw, 5rem) !important;
}
body.mst-page-aviso-legal .wp-block-group.has-cream-background-color:has(.mst-crisis) > * {
  position: relative;
  z-index: 1;
}
body.mst-page-aviso-legal .wp-block-group.has-cream-background-color:has(.mst-crisis)::before {
  content: "";
  position: absolute;
  left: -18px;
  bottom: -14px;
  width: 215px;
  height: 195px;
  background: url("../img/vine-corner-left.png") no-repeat left bottom / contain;
  filter: sepia(0.5) saturate(1.4) hue-rotate(-12deg) brightness(1.18);
  opacity: 0.55;
  pointer-events: none;
  z-index: 0;
}
body.mst-page-aviso-legal .wp-block-group.has-cream-background-color:has(.mst-crisis)::after {
  content: "";
  position: absolute;
  right: -18px;
  top: 22%;
  width: 200px;
  height: 195px;
  background: url("../img/vine-corner-right.png") no-repeat right top / contain;
  filter: sepia(0.5) saturate(1.4) hue-rotate(-12deg) brightness(1.18);
  opacity: 0.55;
  pointer-events: none;
  z-index: 0;
}
body.mst-page-aviso-legal .wp-block-group.has-cream-background-color:has(.mst-crisis) .mst-crisis--compact {
  max-width: 860px;
  width: 100%;
  margin-inline: auto;
  position: relative;
}
body.mst-page-aviso-legal .mst-crisis--compact .mst-crisis__pais {
  background: rgba(255, 248, 236, 0.9);
  color: #5c2a0f;
  font-weight: 800;
}
body.mst-page-aviso-legal .mst-crisis--compact::before,
body.mst-page-aviso-legal .mst-crisis--compact::after {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: 3;
}
body.mst-page-aviso-legal .mst-crisis--compact::before {
  top: 26px;
  right: 18px;
  width: 56px;
  height: 56px;
  background: url("../img/crisis-butterfly.png") no-repeat center / contain;
  opacity: 1;
}
body.mst-page-aviso-legal .mst-crisis--compact::after {
  top: 58%;
  right: -34px;
  width: 150px;
  height: 205px;
  transform: translateY(-46%);
  background: url("../img/crisis-branch.png") no-repeat right center / contain;
  opacity: 0.8;
}

/* --- Responsive --- */
@media (max-width: 900px) {
  body.mst-page-aviso-legal .wp-block-group.has-white-background-color:has(.mst-prose)::before,
  body.mst-page-aviso-legal .wp-block-group.has-white-background-color:has(.mst-prose)::after,
  body.mst-page-aviso-legal .wp-block-group.has-cream-background-color:has(> h2)::before {
    display: none;
  }
}
@media (max-width: 700px) {
  body.mst-page-aviso-legal .mst-page-hero::before {
    background-size: 190px auto, 196px auto;
    opacity: 0.85;
  }
  body.mst-page-aviso-legal .mst-page-hero::after {
    background-size: 34px auto, 42px auto, 100% 34px;
  }
  body.mst-page-aviso-legal .mst-prose > p::before {
    width: 74px;
    height: 74px;
    opacity: 0.32;
  }
  body.mst-page-aviso-legal .wp-block-group.has-cream-background-color:has(.mst-crisis)::before,
  body.mst-page-aviso-legal .wp-block-group.has-cream-background-color:has(.mst-crisis)::after,
  body.mst-page-aviso-legal .mst-crisis--compact::before,
  body.mst-page-aviso-legal .mst-crisis--compact::after {
    display: none;
  }
}

/* ============================================================
   SINGLE POST (Diario de Rosalba) — que la vista individual deje de
   parecer WordPress por defecto y se sienta hermana del Diario:
   fondo crema/papel, cabecera decorada, contenido en tarjeta,
   navegación suave, comentarios cuidados, "Más entradas" en tarjetas
   y ola verde hacia el footer. Solo CSS · scope body:is(.single-post, .single-diario).
   No toca textos, HTML, PHP ni la funcionalidad de comentarios.
   ============================================================ */

/* Evita que cualquier elemento ensanche la página más allá del viewport
   (mantiene 100vw = ancho real y deja que todo encoja en móvil). */
body:is(.single-post, .single-diario) {
  overflow-x: clip;
}

/* --- Base: main crema (para comentarios y "Más entradas") --- */
body:is(.single-post, .single-diario) main.wp-block-group {
  background-color: #fff8ec;
  background-image: url("../img/texture-cream-overlay.png");
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  margin-top: 0 !important;
  padding-top: 0 !important;
  padding-bottom: clamp(215px, 25vw, 290px);
  position: relative;
  overflow: hidden;
}
body:is(.single-post, .single-diario) main.wp-block-group > * {
  position: relative;
  z-index: 1;
}
/* ===== PRIMERA FRANJA = BANDA VERDE PROFUNDA: el wrapper superior
   (título, meta, contenido, navegación) va sobre verde. Los comentarios
   (último hijo del wrapper) se devuelven a crema más abajo. ===== */
body:is(.single-post, .single-diario) main > .wp-block-group.alignfull {
  background-color: #33684e;
  background-image:
    url("../img/texture-green-overlay.png"),
    radial-gradient(120% 120% at 50% 3%, rgba(255, 248, 236, 0.12) 0%, rgba(255, 248, 236, 0) 46%),
    radial-gradient(120% 130% at 50% 128%, rgba(0, 0, 0, 0.28) 0%, rgba(0, 0, 0, 0) 55%);
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: center, center, center;
  background-size: cover, auto, auto;
  color: #f3e8cf;
  position: relative;
  overflow: hidden;
  padding-top: clamp(1.8rem, 3.5vw, 2.8rem) !important;
  padding-bottom: 0 !important;
  --wp--style--block-gap: clamp(0.9rem, 2vw, 1.4rem);
}
body:is(.single-post, .single-diario) main > .wp-block-group.alignfull > * {
  position: relative;
  z-index: 1;
}
/* Hojas de uva doradas + mariposas en las esquinas de la franja verde. */
body:is(.single-post, .single-diario) main > .wp-block-group.alignfull::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 480px;
  background-image:
    url("../img/vine-corner-left.png"),
    url("../img/vine-corner-right.png");
  background-repeat: no-repeat, no-repeat;
  background-position: left -46px top -22px, right -46px top -18px;
  background-size: 320px auto, 330px auto;
  filter: sepia(0.55) saturate(1.4) hue-rotate(-12deg) brightness(1.22);
  opacity: 0.9;
  pointer-events: none;
  z-index: 0;
}
/* MARIPOSAS visibles del hero verde: una a media izquierda, otra a media derecha. */
body:is(.single-post, .single-diario) main > .wp-block-group.alignfull::after {
  content: "";
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  right: 0;
  height: 540px;
  background-image:
    url("../img/diario-butterfly-gold-clean.png"),
    url("../img/diario-butterfly-copper-clean.png");
  background-repeat: no-repeat, no-repeat;
  background-position: left 4% top 250px, right 5% top 210px;
  background-size: 100px auto, 92px auto;
  opacity: 0.62;
  pointer-events: none;
}
/* Diario (CPT sin comentarios): ola crema en la base de la franja verde
   para transición ondulada verde → crema ("Más entradas"). */
body:is(.single-post, .single-diario) main > .wp-block-group.alignfull:not(:has(.wp-block-comments)) {
  padding-bottom: clamp(4.4rem, 6vw, 5.4rem) !important;
  background-image:
    url("../img/hero-wave.svg"),
    url("../img/texture-green-overlay.png"),
    radial-gradient(120% 120% at 50% 3%, rgba(255, 248, 236, 0.12) 0%, rgba(255, 248, 236, 0) 46%),
    radial-gradient(120% 130% at 50% 128%, rgba(0, 0, 0, 0.28) 0%, rgba(0, 0, 0, 0) 55%);
  background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
  background-position: bottom center, center, center, center;
  background-size: 100% 48px, cover, auto, auto;
}
/* Banda verde profunda a todo ancho antes del footer (crema → verde → footer). */
body:is(.single-post, .single-diario) main.wp-block-group::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: clamp(200px, 23vw, 275px);
  background-color: #33684e;
  background-image:
    url("../img/wave-top-cream.svg"),
    url("../img/diario-butterfly-gold-clean.png"),
    url("../img/diario-butterfly-copper-clean.png"),
    url("../img/texture-green-overlay.png"),
    radial-gradient(120% 130% at 50% 0%, rgba(255, 248, 236, 0.10) 0%, rgba(255, 248, 236, 0) 55%);
  background-repeat: no-repeat, no-repeat, no-repeat, no-repeat, no-repeat;
  background-position:
    top center,
    left 8% bottom 32%,
    right 9% bottom 44%,
    center,
    center;
  background-size: 100% 58px, 104px auto, 94px auto, cover, auto;
  z-index: 0;
  pointer-events: none;
}
/* Enredaderas doradas suaves sobre la banda verde (flanqueando la franja). */
body:is(.single-post, .single-diario) main > .wp-block-group.alignwide {
  position: relative;
}
body:is(.single-post, .single-diario) main > .wp-block-group.alignwide::before,
body:is(.single-post, .single-diario) main > .wp-block-group.alignwide::after {
  content: "";
  position: absolute;
  bottom: clamp(-250px, -22vw, -165px);
  width: clamp(150px, 20vw, 215px);
  height: clamp(150px, 20vw, 215px);
  background-repeat: no-repeat;
  background-size: contain;
  filter: sepia(0.55) saturate(1.4) hue-rotate(-12deg) brightness(1.22);
  opacity: 0.5;
  pointer-events: none;
  z-index: 1;
}
body:is(.single-post, .single-diario) main > .wp-block-group.alignwide::before {
  left: -14px;
  background-image: url("../img/vine-corner-left.png");
  background-position: left bottom;
}
body:is(.single-post, .single-diario) main > .wp-block-group.alignwide::after {
  right: -14px;
  background-image: url("../img/vine-corner-right.png");
  background-position: right bottom;
}
/* --- Título Platypi CREMA + divisor (sobre la franja verde) --- */
body:is(.single-post, .single-diario) h1.wp-block-post-title {
  font-family: "Platypi", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  font-weight: 700;
  color: #f7edd6;
  text-align: center;
  font-size: clamp(1.6rem, 5vw, 3rem);
  line-height: 1.14;
  max-width: 42rem;
  margin: 0 auto 0.4rem;
  overflow-wrap: break-word;
}
body:is(.single-post, .single-diario) h1.wp-block-post-title::after {
  content: "";
  display: block;
  width: 210px;
  max-width: 60%;
  height: 20px;
  margin: 0.85rem auto 0.2rem;
  background: url("../img/hero-divider.svg") no-repeat center / contain;
}
/* Línea "Escrito por … en …": centrada, en crema (sobre verde). */
body:is(.single-post, .single-diario) .wp-block-group.has-accent-4-color {
  justify-content: center !important;
  color: #ecdcbf !important;
  margin-top: 0.3rem !important;
  margin-bottom: clamp(1.1rem, 2.5vw, 1.6rem) !important;
}
body:is(.single-post, .single-diario) .wp-block-post-author-name__link {
  color: #f3d9a8;
  font-weight: 600;
}
/* Categoría "diario" como pastilla clara sobre verde. */
body:is(.single-post, .single-diario) .wp-block-group.has-accent-4-color .wp-block-post-terms a {
  display: inline-block;
  background: rgba(255, 248, 236, 0.92);
  color: #6b3a17;
  padding: 0.12rem 0.7rem;
  border-radius: var(--mst-radius-pill);
  text-decoration: none;
  font-weight: 700;
}

/* Imagen destacada (si existe): redondeada y elegante. */
body:is(.single-post, .single-diario) .wp-block-post-featured-image {
  max-width: 760px;
  margin: 0.5rem auto 1.6rem;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.25);
}

/* --- Contenido en tarjeta papel crema (protagonista, sobre verde) --- */
body:is(.single-post, .single-diario) .entry-content.wp-block-post-content {
  max-width: 820px;
  margin-inline: auto;
  background: #fffaf1;
  border: 1px solid rgba(199, 154, 82, 0.55);
  border-radius: 26px;
  box-shadow: 0 22px 50px rgba(0, 0, 0, 0.26);
  padding: clamp(2.2rem, 4.2vw, 3.4rem) clamp(2rem, 4vw, 3.2rem);
  color: #4a3a2c;
  line-height: 1.9;
  font-size: 1.06rem;
}
body:is(.single-post, .single-diario) .entry-content.wp-block-post-content a {
  color: #a75a24;
}

/* --- Etiquetas (tags) como pastillas claras (sobre verde) --- */
body:is(.single-post, .single-diario) .wp-block-post-terms.is-style-post-terms-1 {
  display: block;
  max-width: 730px;
  margin: 1.4rem auto 0;
  text-align: center;
}
body:is(.single-post, .single-diario) .wp-block-post-terms.is-style-post-terms-1 a {
  border-color: rgba(255, 248, 236, 0.5) !important;
  color: #6b3a17 !important;
  background: rgba(255, 248, 236, 0.85);
}

/* --- Navegación anterior/siguiente: tarjeta papel (sobre verde) --- */
body:is(.single-post, .single-diario) nav.wp-block-group.alignwide {
  border-top: none !important;
  background: #fffaf1;
  border: 1px solid rgba(199, 154, 82, 0.42);
  border-radius: 16px;
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.20);
  padding: 0.9rem 1.4rem !important;
  max-width: 760px;
  margin-inline: auto !important;
}
body:is(.single-post, .single-diario) .wp-block-post-navigation-link a {
  color: #a75a24;
  font-weight: 600;
  text-decoration: none;
}
body:is(.single-post, .single-diario) .wp-block-post-navigation-link a:hover,
body:is(.single-post, .single-diario) .wp-block-post-navigation-link a:focus {
  color: #8a4718;
  text-decoration: underline;
}

/* ===== SEGUNDA SECCIÓN = COMENTARIOS EN CREMA. Banda crema full-bleed
   que tapa el verde del wrapper en esta zona (crema cálido, tarjeta
   papel para el formulario). ===== */
body:is(.single-post, .single-diario) .wp-block-comments {
  position: relative;
  z-index: 1;
  margin-top: clamp(4rem, 6vw, 5rem) !important;
  margin-bottom: 0 !important;
  margin-inline: auto !important;
  padding: clamp(3.2rem, 6vw, 5rem) 0 clamp(2.4rem, 5vw, 3.4rem);
}
body:is(.single-post, .single-diario) .wp-block-comments > * {
  position: relative;
  z-index: 1;
  max-width: min(760px, calc(100vw - 2rem));
  margin-inline: auto;
}
/* Banda CREMA full-bleed que devuelve los comentarios a crema. */
body:is(.single-post, .single-diario) .wp-block-comments::before {
  content: "";
  position: absolute;
  z-index: 0;
  left: 50%;
  margin-left: -50vw;
  width: 100vw;
  top: 0;
  bottom: -600px;
  background-color: #fff8ec;
  background-image:
    url("../img/diario-butterfly-copper-clean.png"),
    url("../img/diario-butterfly-gold-clean.png"),
    url("../img/texture-cream-overlay.png");
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position:
    right 7% top 150px,
    left 6% top 500px,
    center;
  background-size: 92px auto, 78px auto, cover;
  pointer-events: none;
}
/* OLA crema (hero-wave) sobre el verde: transición ondulada verde → crema
   (misma familia que los heros del sitio). */
body:is(.single-post, .single-diario) .wp-block-comments::after {
  content: "";
  position: absolute;
  z-index: 0;
  left: 50%;
  margin-left: -50vw;
  width: 100vw;
  top: -54px;
  height: 56px;
  background: url("../img/hero-wave.svg") no-repeat bottom center / 100% 100%;
  pointer-events: none;
}
/* "Comentarios" y contador sobre crema → terracota. */
body:is(.single-post, .single-diario) .wp-block-comments > h2.wp-block-heading,
body:is(.single-post, .single-diario) .wp-block-comments-title {
  font-family: "Platypi", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  color: #6b3a17;
  text-align: center;
}
/* "Deja una respuesta" dentro de la tarjeta crema → terracota. */
body:is(.single-post, .single-diario) .comment-reply-title {
  font-family: "Platypi", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  color: #6b3a17;
}
body:is(.single-post, .single-diario) .comment-respond.wp-block-post-comments-form {
  background: #fffaf1;
  border: 1px solid rgba(199, 154, 82, 0.5);
  border-radius: 22px;
  box-shadow: 0 12px 30px rgba(107, 58, 23, 0.09);
  padding: clamp(1.5rem, 3.4vw, 2.4rem) !important;
}
body:is(.single-post, .single-diario) .comment-form textarea,
body:is(.single-post, .single-diario) .comment-form input:not([type="submit"]):not([type="checkbox"]) {
  background: #fffdf9;
  border: 1.5px solid rgba(199, 154, 82, 0.5) !important;
  border-radius: 12px !important;
}
body:is(.single-post, .single-diario) .comment-form textarea:focus,
body:is(.single-post, .single-diario) .comment-form input:not([type="submit"]):focus {
  border-color: #a75a24 !important;
  outline: none;
}
body:is(.single-post, .single-diario) .comment-form input[type="submit"] {
  background-color: #b5652a !important;
  color: #fff8ec !important;
  border: none !important;
  border-radius: var(--mst-radius-pill) !important;
  padding: 0.8rem 1.9rem !important;
  font-weight: 600;
  cursor: pointer;
}
body:is(.single-post, .single-diario) .comment-form input[type="submit"]:hover,
body:is(.single-post, .single-diario) .comment-form input[type="submit"]:focus {
  background-color: #9a5324 !important;
}
/* ============================================================
   COMENTARIOS — LEGIBILIDAD. Solo sube el contraste de las letras
   (labels, notas, textos pequeños, enlaces) sobre la tarjeta crema.
   No cambia composición, estructura ni funcionalidad. Scope:
   single/post + single/diario · bloque de comentarios.
   ============================================================ */
/* Título "Deja una respuesta": fuerte y claro. */
body:is(.single-post, .single-diario) .comment-reply-title {
  color: #4a2c18 !important;
  font-weight: 700;
}
/* Labels de campo (Comentario, Nombre, Correo, Web): marrón oscuro. */
body:is(.single-post, .single-diario) .comment-form label {
  color: #4a2c18 !important;
  font-weight: 600;
}
/* Textos informativos secundarios: notas, aviso de obligatorios,
   consentimiento de cookies y "Conectado como…". */
body:is(.single-post, .single-diario) .comment-notes,
body:is(.single-post, .single-diario) .required-field-message,
body:is(.single-post, .single-diario) .comment-form-cookies-consent label,
body:is(.single-post, .single-diario) .logged-in-as {
  color: #6b4a2f !important;
  font-weight: 400;
}
/* Asterisco de campo obligatorio: terracota visible (no crema). */
body:is(.single-post, .single-diario) .comment-form .required {
  color: #a95724 !important;
  font-weight: 700;
}
/* Texto escrito dentro del textarea/inputs: oscuro legible +
   borde terracota suave. */
body:is(.single-post, .single-diario) .comment-form textarea,
body:is(.single-post, .single-diario) .comment-form input:not([type="submit"]):not([type="checkbox"]) {
  color: #3f2615 !important;
  border-color: rgba(176, 105, 49, 0.45) !important;
}
body:is(.single-post, .single-diario) .comment-form textarea::placeholder,
body:is(.single-post, .single-diario) .comment-form input::placeholder {
  color: rgba(63, 38, 21, 0.5);
}
/* Foco: anillo terracota suave (nunca azul). */
body:is(.single-post, .single-diario) .comment-form textarea:focus,
body:is(.single-post, .single-diario) .comment-form input:not([type="submit"]):focus {
  box-shadow: 0 0 0 3px rgba(169, 87, 36, 0.18);
}
/* Enlaces del bloque de comentarios: terracota visible, subrayado
   y hover claro. */
body:is(.single-post, .single-diario) .wp-block-comments a,
body:is(.single-post, .single-diario) .logged-in-as a {
  color: #a95724 !important;
  text-decoration: underline;
  text-underline-offset: 2px;
}
body:is(.single-post, .single-diario) .wp-block-comments a:hover,
body:is(.single-post, .single-diario) .wp-block-comments a:focus,
body:is(.single-post, .single-diario) .logged-in-as a:hover {
  color: #b6632c !important;
}

/* --- "Más entradas": título elegante + tarjetas papel en grid --- */
body:is(.single-post, .single-diario) h2.wp-block-heading.alignwide {
  font-family: "Platypi", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  color: #6b3a17;
  font-size: clamp(1.5rem, 3.2vw, 2.1rem) !important;
  font-weight: 700 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  text-align: center;
  max-width: 1040px;
  margin: clamp(1.5rem, 4vw, 2.6rem) auto 0.4rem !important;
}
body:is(.single-post, .single-diario) h2.wp-block-heading.alignwide::after {
  content: "";
  display: block;
  width: 170px;
  height: 16px;
  margin: 0.55rem auto 1.2rem;
  background: url("../img/leaf-divider.svg") no-repeat center / contain;
  opacity: 0.9;
}
body:is(.single-post, .single-diario) .wp-block-query .wp-block-post-template {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(1rem, 2.4vw, 1.5rem);
  max-width: 1040px;
  margin-inline: auto;
}
body:is(.single-post, .single-diario) .wp-block-query .wp-block-post-template > li.wp-block-post {
  background: #fffaf1;
  border: 1px solid rgba(199, 154, 82, 0.5);
  border-radius: 18px;
  box-shadow: 0 10px 26px rgba(107, 58, 23, 0.09);
  padding: clamp(1.1rem, 2.4vw, 1.5rem);
}
body:is(.single-post, .single-diario) .wp-block-query .wp-block-post-template > li.wp-block-post > .wp-block-group.alignfull {
  border-bottom: none !important;
  padding: 0 !important;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.35rem;
}
body:is(.single-post, .single-diario) .wp-block-query .wp-block-post-title.has-large-font-size a {
  font-family: "Platypi", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  color: #7a3f16;
  font-size: clamp(1.05rem, 2vw, 1.25rem) !important;
  line-height: 1.25;
}
body:is(.single-post, .single-diario) .wp-block-query .wp-block-post-date {
  color: #9a6a3a;
  font-size: 0.85rem;
  text-align: left !important;
}

/* --- Compactar la franja verde: eliminar los grandes spacing-60 del template --- */
/* Envoltorio de etiquetas (vacío en el Diario) → colapsado (sin hueco muerto). */
body:is(.single-post, .single-diario) main > .wp-block-group.alignfull > .wp-block-group.is-layout-constrained:not(.wp-block-post-content) {
  padding: 0 !important;
  margin-top: 0.5rem !important;
  margin-bottom: 0 !important;
}
/* Envoltorio exterior de la navegación → nav pegada a la tarjeta, dentro del verde. */
body:is(.single-post, .single-diario) main > .wp-block-group.alignfull > .wp-block-group.alignwide {
  margin-top: clamp(0.8rem, 2vw, 1.3rem) !important;
  margin-bottom: 0 !important;
}

/* --- Responsive --- */
@media (max-width: 780px) {
  body:is(.single-post, .single-diario) .wp-block-query .wp-block-post-template {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 700px) {
  body:is(.single-post, .single-diario) main > .wp-block-group.alignfull::before {
    background-size: 175px auto, 182px auto, 0 0, 0 0;
    opacity: 0.75;
  }
  body:is(.single-post, .single-diario) .entry-content.wp-block-post-content {
    padding: clamp(1.3rem, 5vw, 1.8rem) clamp(1.1rem, 4.5vw, 1.5rem);
  }
  body:is(.single-post, .single-diario) main > .wp-block-group.alignwide::before,
  body:is(.single-post, .single-diario) main > .wp-block-group.alignwide::after {
    display: none;
  }
  /* En móvil: menos padding lateral en la banda y campos a ancho completo. */
  body:is(.single-post, .single-diario) .wp-block-comments {
    padding-left: 0.9rem;
    padding-right: 0.9rem;
  }
  body:is(.single-post, .single-diario) .comment-form textarea,
  body:is(.single-post, .single-diario) .comment-form input:not([type="submit"]) {
    width: 100% !important;
    box-sizing: border-box !important;
    resize: vertical;
  }
}

/* ============================================================
   ENTRAR / LOGIN — misma familia visual: hero verde → ola → formulario
   en tarjeta papel sobre crema → banda verde con caja urgente → footer.
   Solo CSS · scope body.mst-page-entrar. No toca el login ni el HTML/PHP.
   ============================================================ */

/* Contiene la banda verde full-bleed (100vw) sin scroll horizontal. */
body.mst-page-entrar {
  overflow-x: clip;
}

/* --- HERO verde profundo (patrón estándar del sitio) --- */
body.mst-page-entrar .mst-page-hero {
  background-color: #33684e !important;
  background-image:
    url("../img/texture-green-overlay.png"),
    radial-gradient(120% 120% at 50% 6%, rgba(255, 248, 236, 0.12) 0%, rgba(255, 248, 236, 0) 46%),
    radial-gradient(120% 130% at 50% 128%, rgba(0, 0, 0, 0.30) 0%, rgba(0, 0, 0, 0) 55%);
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: center, center, center;
  background-size: cover, auto, auto;
  color: #f3e8cf;
  position: relative;
  overflow: hidden;
  padding-top: clamp(3rem, 6vw, 4.5rem) !important;
  padding-bottom: clamp(5rem, 9vw, 7rem) !important;
}
body.mst-page-entrar .mst-page-hero > * {
  position: relative;
  z-index: 2;
}
body.mst-page-entrar .mst-page-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    url("../img/vine-corner-left.png"),
    url("../img/vine-corner-right.png"),
    url("../img/butterfly-small.png"),
    url("../img/butterfly-small.png");
  background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
  background-position: left -46px top -30px, right -46px top -26px, left 12% bottom 26%, right 13% bottom 30%;
  background-size: 330px auto, 340px auto, 58px auto, 50px auto;
  filter: sepia(0.55) saturate(1.4) hue-rotate(-12deg) brightness(1.22);
  opacity: 0.9;
  pointer-events: none;
  z-index: 0;
}
body.mst-page-entrar .mst-page-hero::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 54px;
  background: url("../img/hero-wave.svg") no-repeat bottom center / 100% 100%;
  pointer-events: none;
  z-index: 1;
}
body.mst-page-entrar .mst-page-hero__title {
  font-family: "Platypi", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  font-weight: 700;
  color: #f7edd6;
  font-size: clamp(2.1rem, 4.8vw, 3.2rem);
  line-height: 1.12;
  margin: 0.2rem 0 0;
}
body.mst-page-entrar .mst-page-hero__title::after {
  content: "";
  display: block;
  width: 210px;
  max-width: 60%;
  height: 20px;
  margin: 0.85rem auto 0;
  background: url("../img/hero-divider.svg") no-repeat center / contain;
}
body.mst-page-entrar .mst-page-hero .mst-eyebrow {
  display: inline-block;
  padding: 0.28rem 1.05rem;
  border-radius: var(--mst-radius-pill);
  background: rgba(255, 248, 236, 0.92);
  color: #6b3a17;
  font-weight: 800;
  letter-spacing: 0.16em;
  font-size: 0.78rem;
}
body.mst-page-entrar .mst-page-hero__lead {
  color: #ecdcbf;
  font-size: clamp(1.05rem, 2.2vw, 1.25rem);
}

/* --- Sección del formulario: crema/papel cálido con textura --- */
body.mst-page-entrar .wp-block-group.has-white-background-color:has(.mst-auth) {
  background-color: #fff8ec !important;
  background-image:
    url("../img/butterfly-small.png"),
    url("../img/texture-cream-overlay.png");
  background-repeat: no-repeat, no-repeat;
  background-position: right 6% top 12%, center;
  background-size: 54px auto, cover;
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
body.mst-page-entrar .wp-block-group.has-white-background-color:has(.mst-auth)::before {
  content: "";
  position: absolute;
  left: -26px;
  bottom: -18px;
  width: 220px;
  height: 250px;
  background: url("../img/vine-corner-left.png") no-repeat left bottom / contain;
  filter: sepia(0.5) saturate(1.4) hue-rotate(-22deg) brightness(1.04);
  opacity: 0.35;
  pointer-events: none;
  z-index: -1;
}

/* --- Tarjeta de login: papel cálido, borde dorado, sprigs botánicos --- */
body.mst-page-entrar .mst-auth--login {
  position: relative;
  max-width: 470px;
  margin-inline: auto;
  background: #fffaf1;
  border: 1px solid rgba(199, 154, 82, 0.6);
  border-radius: 26px;
  box-shadow: 0 18px 44px rgba(107, 58, 23, 0.12), 0 3px 8px rgba(107, 58, 23, 0.06);
  padding: clamp(2rem, 4vw, 2.8rem) clamp(1.6rem, 3.5vw, 2.4rem);
  overflow: hidden;
}
body.mst-page-entrar .mst-auth--login::before,
body.mst-page-entrar .mst-auth--login::after {
  content: "";
  position: absolute;
  width: 104px;
  height: 104px;
  background: url("../img/vine-sprig.png") no-repeat center / contain;
  filter: sepia(0.5) saturate(1.45) hue-rotate(-20deg) brightness(1.02);
  opacity: 0.4;
  pointer-events: none;
  z-index: 0;
}
body.mst-page-entrar .mst-auth--login::before {
  top: -10px;
  left: -10px;
  background-position: left top;
}
body.mst-page-entrar .mst-auth--login::after {
  bottom: -12px;
  right: -12px;
  background-position: right bottom;
  transform: scaleX(-1);
}
body.mst-page-entrar .mst-auth--login > * {
  position: relative;
  z-index: 1;
}
/* Etiquetas legibles en marrón. */
body.mst-page-entrar .mst-auth--login label {
  color: #6b4a2c;
  font-weight: 600;
}
/* Campos: fondo crema muy claro, borde dorado, foco terracota. */
body.mst-page-entrar .mst-auth--login input.input,
body.mst-page-entrar .mst-auth--login #user_login,
body.mst-page-entrar .mst-auth--login #user_pass {
  width: 100%;
  box-sizing: border-box;
  background: #fffdf9;
  border: 2px solid rgba(199, 154, 82, 0.5);
  border-radius: 12px;
  padding: 0.8rem 1rem;
  font-size: 1.05rem;
  color: #4a3a2c;
}
body.mst-page-entrar .mst-auth--login input.input:focus,
body.mst-page-entrar .mst-auth--login #user_login:focus,
body.mst-page-entrar .mst-auth--login #user_pass:focus {
  border-color: #a75a24;
  outline: none;
}
/* Checkbox "Recuérdame" bien alineado. */
body.mst-page-entrar .mst-auth--login .login-remember label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 500;
  color: #5a4636;
}
body.mst-page-entrar .mst-auth--login #rememberme {
  width: auto;
  accent-color: #a75a24;
}
/* Botón "Entrar" terracota sólido redondeado. */
body.mst-page-entrar .mst-auth--login #wp-submit,
body.mst-page-entrar .mst-auth--login .button-primary {
  background-color: #b5652a !important;
  color: #fff8ec !important;
  border: none !important;
  border-radius: var(--mst-radius-pill) !important;
  padding: 0.85rem 2rem !important;
  font-size: 1.05rem;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 6px 16px rgba(107, 58, 23, 0.18);
  text-shadow: none;
}
body.mst-page-entrar .mst-auth--login #wp-submit:hover,
body.mst-page-entrar .mst-auth--login #wp-submit:focus {
  background-color: #9a5324 !important;
}
/* Enlaces en terracota. */
body.mst-page-entrar .mst-auth__links {
  text-align: center;
  margin-top: 1.1rem;
}
body.mst-page-entrar .mst-auth__links a {
  color: #a75a24;
  font-weight: 600;
}
body.mst-page-entrar .mst-auth__links a:hover,
body.mst-page-entrar .mst-auth__links a:focus {
  color: #8a4718;
}

/* --- Caja urgente: BANDA VERDE full-bleed (la caja vive dentro de la
   sección crema del formulario, así que la banda va detrás de la caja) --- */
body.mst-page-entrar .mst-crisis--compact {
  position: relative;
  max-width: 860px;
  width: 100%;
  margin-inline: auto;
  margin-top: clamp(3.2rem, 6vw, 4.6rem);
  margin-bottom: clamp(2.6rem, 5vw, 3.6rem);
}
/* Banda verde profunda full-bleed (queda detrás de la caja terracota). */
body.mst-page-entrar .mst-crisis--compact::before {
  content: "";
  position: absolute;
  z-index: -2;
  left: 50%;
  margin-left: -50vw;
  width: 100vw;
  top: calc(-1 * clamp(3.2rem, 6vw, 4.6rem));
  bottom: calc(-1 * clamp(6rem, 12vw, 9rem));
  background-color: #33684e;
  background-image:
    url("../img/wave-top-cream.svg"),
    url("../img/butterfly-small.png"),
    url("../img/butterfly-small.png"),
    url("../img/texture-green-overlay.png"),
    radial-gradient(120% 130% at 50% 0%, rgba(255, 248, 236, 0.10) 0%, rgba(255, 248, 236, 0) 55%);
  background-repeat: no-repeat, no-repeat, no-repeat, no-repeat, no-repeat;
  background-position: top center, left 13% top 46%, right 13% bottom 30%, center, center;
  background-size: 100% 56px, 48px auto, 42px auto, cover, auto;
  pointer-events: none;
}
/* Enredaderas doradas suaves a los lados de la banda. */
body.mst-page-entrar .mst-crisis--compact::after {
  content: "";
  position: absolute;
  z-index: -1;
  left: 50%;
  margin-left: -50vw;
  width: 100vw;
  top: calc(-1 * clamp(3.2rem, 6vw, 4.6rem));
  bottom: calc(-1 * clamp(6rem, 12vw, 9rem));
  background-image:
    url("../img/vine-corner-left.png"),
    url("../img/vine-corner-right.png");
  background-repeat: no-repeat, no-repeat;
  background-position: left -12px bottom 14%, right -12px top 20%;
  background-size: 230px auto, 220px auto;
  filter: sepia(0.5) saturate(1.4) hue-rotate(-12deg) brightness(1.2);
  opacity: 0.5;
  pointer-events: none;
}
body.mst-page-entrar .mst-crisis--compact .mst-crisis__pais {
  background: rgba(255, 248, 236, 0.9);
  color: #5c2a0f;
  font-weight: 800;
}

/* --- Responsive --- */
@media (max-width: 600px) {
  body.mst-page-entrar .mst-page-hero::before {
    background-size: 160px auto, 165px auto, 0 0, 0 0;
    opacity: 0.8;
  }
  body.mst-page-entrar .wp-block-group.has-white-background-color:has(.mst-auth)::before {
    display: none;
  }
  /* mantiene la banda verde (::before); solo oculta las vides laterales (::after). */
  body.mst-page-entrar .mst-crisis--compact::after {
    display: none;
  }
}

/* ============================================================
   CAJA URGENTE = COMPONENTE GLOBAL ÚNICO. La espiga (crisis-branch) y la
   mariposa ahora son capas de fondo GLOBALES de .mst-crisis--compact
   (idénticas en todas las páginas). Aquí se ANULAN los antiguos pseudos
   ::before/::after que las dibujaban por página, para que no se dupliquen
   y todas las cajas sean visualmente iguales. Mi espacio y Entrar NO se
   listan: ahí el ::before/::after es la banda verde full-bleed.
   ============================================================ */
body.home .mst-crisis--compact::before,
body.home .mst-crisis--compact::after,
body.mst-page-diario .mst-crisis--compact::before,
body.mst-page-diario .mst-crisis--compact::after,
body.mst-page-solicitar-ayuda .mst-crisis--compact::before,
body.mst-page-solicitar-ayuda .mst-crisis--compact::after,
body.mst-page-crear-cuenta .mst-crisis--compact::before,
body.mst-page-crear-cuenta .mst-crisis--compact::after,
body.mst-page-contacto .mst-crisis--compact::before,
body.mst-page-contacto .mst-crisis--compact::after,
body.mst-page-comunidad .mst-crisis--compact::before,
body.mst-page-comunidad .mst-crisis--compact::after,
body.mst-page-proyecto .mst-crisis--compact::before,
body.mst-page-proyecto .mst-crisis--compact::after,
body.mst-page-recursos .mst-crisis--compact::before,
body.mst-page-recursos .mst-crisis--compact::after,
body.mst-page-privacidad .mst-crisis--compact::before,
body.mst-page-privacidad .mst-crisis--compact::after,
body.mst-page-cookies .mst-crisis--compact::before,
body.mst-page-cookies .mst-crisis--compact::after,
body.mst-page-aviso-legal .mst-crisis--compact::before,
body.mst-page-aviso-legal .mst-crisis--compact::after {
  content: none !important;
}

/* ============================================================
   QUIERO ACOMPAÑAR — misma familia visual del sitio.
   Hero verde profundo (vides + mariposa + ola), cuerpo crema con la
   tarjeta papel del formulario (.mst-form base) y banda verde con la
   caja de crisis GLOBAL. Solo CSS · scope body.mst-page-quiero-acompanar.
   ============================================================ */
body.mst-page-quiero-acompanar .mst-page-hero {
  background-color: #33684e !important;
  background-image:
    url("../img/texture-green-overlay.png"),
    radial-gradient(120% 120% at 50% 6%, rgba(255, 248, 236, 0.12) 0%, rgba(255, 248, 236, 0) 46%),
    radial-gradient(120% 130% at 50% 128%, rgba(0, 0, 0, 0.30) 0%, rgba(0, 0, 0, 0) 55%);
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: center, center, center;
  background-size: cover, auto, auto;
  color: #f3e8cf;
  padding-top: clamp(3rem, 6vw, 4.5rem) !important;
  padding-bottom: clamp(5rem, 9vw, 7rem) !important;
}
body.mst-page-quiero-acompanar .mst-page-hero > * {
  position: relative;
  z-index: 2;
}
body.mst-page-quiero-acompanar .mst-page-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    url("../img/vine-corner-left.png"),
    url("../img/vine-corner-right.png"),
    url("../img/butterfly-small.png");
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: left -46px top -30px, right -46px top -26px, right 14% bottom 24%;
  background-size: 320px auto, 330px auto, 64px auto;
  filter: sepia(0.55) saturate(1.4) hue-rotate(-12deg) brightness(1.22);
  opacity: 0.9;
  pointer-events: none;
  z-index: 0;
}
body.mst-page-quiero-acompanar .mst-page-hero::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 52px;
  background: url("../img/hero-wave.svg") no-repeat bottom center / 100% 100%;
  pointer-events: none;
  z-index: 1;
}
body.mst-page-quiero-acompanar .mst-page-hero .mst-page-hero__title {
  font-family: "Platypi", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  font-weight: 700;
  color: #f7edd6;
  font-size: clamp(2.1rem, 4.8vw, 3.2rem);
  line-height: 1.12;
  margin: 0.2rem 0 0;
}
body.mst-page-quiero-acompanar .mst-page-hero .mst-page-hero__title::after {
  content: "";
  display: block;
  width: 210px;
  max-width: 60%;
  height: 20px;
  margin: 0.85rem auto 0;
  background: url("../img/hero-divider.svg") no-repeat center / contain;
}
body.mst-page-quiero-acompanar .mst-page-hero .mst-eyebrow {
  display: inline-block;
  padding: 0.28rem 1.05rem;
  border-radius: var(--mst-radius-pill);
  background: rgba(255, 248, 236, 0.92);
  color: #6b3a17;
  font-weight: 800;
  letter-spacing: 0.16em;
}
body.mst-page-quiero-acompanar .mst-page-hero .mst-page-hero__lead {
  color: #f3e8cf;
}

/* Intro y aviso del formulario: legibles y cálidos; foco terracota. */
body.mst-page-quiero-acompanar .mst-form__lead {
  margin: 0 0 1.4rem;
  color: #5c4326;
  font-size: 1.02rem;
  line-height: 1.55;
}
body.mst-page-quiero-acompanar .mst-form__note {
  margin: 1.1rem 0 1.4rem;
  padding: 0.75rem 0.95rem;
  border-left: 4px solid #c79a52;
  background: #fbf3e4;
  border-radius: 8px;
  color: #6b4a2f;
  font-size: 0.92rem;
}
body.mst-page-quiero-acompanar .mst-form input:focus,
body.mst-page-quiero-acompanar .mst-form textarea:focus {
  border-color: #a75a24;
}

/* Banda verde profunda con la caja de crisis global (como en Recursos). */
body.mst-page-quiero-acompanar .wp-block-group.has-cream-background-color:has(.mst-crisis) {
  background-color: #33684e !important;
  background-image:
    url("../img/wave-top-cream.svg"),
    url("../img/texture-green-overlay.png"),
    radial-gradient(120% 130% at 50% 0%, rgba(255, 248, 236, 0.10) 0%, rgba(255, 248, 236, 0) 55%);
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: top center, center, center;
  background-size: 100% 58px, cover, auto;
  position: relative;
  overflow: hidden;
  margin-top: -1px;
  padding-top: clamp(3.6rem, 6vw, 5rem) !important;
}
body.mst-page-quiero-acompanar .wp-block-group.has-cream-background-color:has(.mst-crisis) > * {
  position: relative;
  z-index: 1;
}
body.mst-page-quiero-acompanar .wp-block-group.has-cream-background-color:has(.mst-crisis)::before {
  content: "";
  position: absolute;
  left: -18px;
  bottom: -14px;
  width: 215px;
  height: 195px;
  background: url("../img/vine-corner-left.png") no-repeat left bottom / contain;
  filter: sepia(0.5) saturate(1.4) hue-rotate(-12deg) brightness(1.18);
  opacity: 0.55;
  pointer-events: none;
  z-index: 0;
}
body.mst-page-quiero-acompanar .wp-block-group.has-cream-background-color:has(.mst-crisis)::after {
  content: "";
  position: absolute;
  right: -18px;
  top: 22%;
  width: 200px;
  height: 195px;
  background: url("../img/vine-corner-right.png") no-repeat right top / contain;
  filter: sepia(0.5) saturate(1.4) hue-rotate(-12deg) brightness(1.18);
  opacity: 0.55;
  pointer-events: none;
  z-index: 0;
}

/* ============================================================
   RECURSO INDIVIDUAL — plantilla única single-recurso_ayuda.php.
   Misma familia visual: hero verde (vides + mariposa + ola), tarjeta
   crema/papel con los datos del recurso y banda verde con la caja de
   crisis GLOBAL. Solo CSS · scope body.single-recurso_ayuda.
   ============================================================ */
/* --- Hero verde profundo --- */
body.single-recurso_ayuda .mst-recurso-hero {
  background-color: #33684e !important;
  background-image:
    url("../img/texture-green-overlay.png"),
    radial-gradient(120% 120% at 50% 6%, rgba(255, 248, 236, 0.12) 0%, rgba(255, 248, 236, 0) 46%),
    radial-gradient(120% 130% at 50% 128%, rgba(0, 0, 0, 0.30) 0%, rgba(0, 0, 0, 0) 55%);
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: center, center, center;
  background-size: cover, auto, auto;
  position: relative;
  padding-top: clamp(3rem, 6vw, 4.5rem) !important;
  padding-bottom: clamp(5rem, 9vw, 7rem) !important;
}
body.single-recurso_ayuda .mst-recurso-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    url("../img/vine-corner-left.png"),
    url("../img/vine-corner-right.png"),
    url("../img/butterfly-small.png");
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: left -46px top -30px, right -46px top -26px, right 14% bottom 24%;
  background-size: 320px auto, 330px auto, 64px auto;
  filter: sepia(0.55) saturate(1.4) hue-rotate(-12deg) brightness(1.22);
  opacity: 0.9;
  pointer-events: none;
  z-index: 0;
}
body.single-recurso_ayuda .mst-recurso-hero::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 52px;
  background: url("../img/hero-wave.svg") no-repeat bottom center / 100% 100%;
  pointer-events: none;
  z-index: 1;
}
body.single-recurso_ayuda .mst-recurso-hero__inner {
  position: relative;
  z-index: 2;
  max-width: 760px;
  margin-inline: auto;
  text-align: center;
}
body.single-recurso_ayuda .mst-recurso-hero .mst-eyebrow {
  display: inline-block;
  padding: 0.28rem 1.05rem;
  border-radius: var(--mst-radius-pill);
  background: rgba(255, 248, 236, 0.92);
  color: #6b3a17;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
body.single-recurso_ayuda .mst-recurso-hero .mst-page-hero__title {
  font-family: "Platypi", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  font-weight: 700;
  color: #f7edd6;
  font-size: clamp(1.9rem, 4.4vw, 3rem);
  line-height: 1.14;
  margin: 0.4rem 0 0;
}
body.single-recurso_ayuda .mst-recurso-hero .mst-page-hero__title::after {
  content: "";
  display: block;
  width: 210px;
  max-width: 60%;
  height: 20px;
  margin: 0.85rem auto 0;
  background: url("../img/hero-divider.svg") no-repeat center / contain;
}
body.single-recurso_ayuda .mst-recurso-hero .mst-page-hero__lead {
  color: #f3e8cf;
  margin: 0.6rem 0 0;
}

/* --- Cuerpo crema con la tarjeta de datos --- */
body.single-recurso_ayuda .mst-recurso-body {
  padding-top: clamp(2.4rem, 5vw, 3.6rem);
  padding-bottom: clamp(2.6rem, 6vw, 4rem);
}
body.single-recurso_ayuda .mst-recurso-card {
  max-width: 820px;
  margin-inline: auto;
  background: #fffaf1;
  border: 1px solid rgba(199, 154, 82, 0.5);
  border-radius: 22px;
  box-shadow: 0 14px 34px rgba(107, 58, 23, 0.10);
  padding: clamp(1.6rem, 4vw, 2.6rem);
}
body.single-recurso_ayuda .mst-recurso-card__desc {
  color: #4a2c18;
  font-size: 1.05rem;
  line-height: 1.65;
}
body.single-recurso_ayuda .mst-recurso-card__desc p {
  margin: 0 0 0.9rem;
}
body.single-recurso_ayuda .mst-recurso-card__desc :last-child {
  margin-bottom: 0;
}
body.single-recurso_ayuda .mst-recurso-meta {
  margin: 1.5rem 0 0;
}
body.single-recurso_ayuda .mst-recurso-meta__row {
  display: grid;
  grid-template-columns: 190px 1fr;
  gap: 0.4rem 1.2rem;
  padding: 0.75rem 0;
  border-top: 1px solid rgba(199, 154, 82, 0.30);
}
body.single-recurso_ayuda .mst-recurso-meta__row:last-child {
  border-bottom: 1px solid rgba(199, 154, 82, 0.30);
}
body.single-recurso_ayuda .mst-recurso-meta dt {
  margin: 0;
  font-weight: 700;
  color: #6b3a17;
}
body.single-recurso_ayuda .mst-recurso-meta dd {
  margin: 0;
  color: #4a2c18;
}
body.single-recurso_ayuda .mst-recurso-meta a {
  color: #a95724;
  text-decoration: underline;
  text-underline-offset: 2px;
  word-break: break-word;
}
body.single-recurso_ayuda .mst-recurso-meta a:hover {
  color: #b6632c;
}
body.single-recurso_ayuda .mst-recurso-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
  margin-top: 1.7rem;
}
/* Los botones son <a>: el tema colorea los enlaces y taparía el texto.
   Fijamos aquí el color correcto de cada variante (alta especificidad). */
body.single-recurso_ayuda .mst-recurso-actions .mst-btn--primary,
body.single-recurso_ayuda .mst-recurso-actions .mst-btn--primary:hover,
body.single-recurso_ayuda .mst-recurso-actions .mst-btn--primary:focus,
body.single-recurso_ayuda .mst-recurso-actions .mst-btn--secondary,
body.single-recurso_ayuda .mst-recurso-actions .mst-btn--secondary:hover,
body.single-recurso_ayuda .mst-recurso-actions .mst-btn--secondary:focus {
  color: #fff8ec;
}
body.single-recurso_ayuda .mst-recurso-actions .mst-btn--ghost {
  color: #6b3a17;
}
body.single-recurso_ayuda .mst-recurso-actions .mst-btn--ghost:hover,
body.single-recurso_ayuda .mst-recurso-actions .mst-btn--ghost:focus {
  color: #fff8ec;
}

/* --- Banda verde con la caja de crisis global --- */
body.single-recurso_ayuda .mst-recurso-crisis {
  background-color: #33684e !important;
  background-image:
    url("../img/wave-top-cream.svg"),
    url("../img/texture-green-overlay.png"),
    radial-gradient(120% 130% at 50% 0%, rgba(255, 248, 236, 0.10) 0%, rgba(255, 248, 236, 0) 55%);
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: top center, center, center;
  background-size: 100% 58px, cover, auto;
  position: relative;
  overflow: hidden;
  margin-top: -1px;
  padding-top: clamp(3.6rem, 6vw, 5rem);
  padding-bottom: clamp(3rem, 6vw, 4.4rem);
}
body.single-recurso_ayuda .mst-recurso-crisis > * {
  position: relative;
  z-index: 1;
}
body.single-recurso_ayuda .mst-recurso-crisis::before {
  content: "";
  position: absolute;
  left: -18px;
  bottom: -14px;
  width: 215px;
  height: 195px;
  background: url("../img/vine-corner-left.png") no-repeat left bottom / contain;
  filter: sepia(0.5) saturate(1.4) hue-rotate(-12deg) brightness(1.18);
  opacity: 0.55;
  pointer-events: none;
  z-index: 0;
}
body.single-recurso_ayuda .mst-recurso-crisis::after {
  content: "";
  position: absolute;
  right: -18px;
  top: 22%;
  width: 200px;
  height: 195px;
  background: url("../img/vine-corner-right.png") no-repeat right top / contain;
  filter: sepia(0.5) saturate(1.4) hue-rotate(-12deg) brightness(1.18);
  opacity: 0.55;
  pointer-events: none;
  z-index: 0;
}

/* --- Responsive: apila la meta y ajusta el hero --- */
@media (max-width: 600px) {
  body.single-recurso_ayuda .mst-recurso-meta__row {
    grid-template-columns: 1fr;
    gap: 0.15rem;
  }
  body.single-recurso_ayuda .mst-recurso-actions .mst-btn {
    flex: 1 1 100%;
    text-align: center;
  }
}

/* ============================================================
   TIPO DE AYUDA — plantilla única de archivo taxonomy-tipo_ayuda.php.
   Misma familia visual: hero verde (vides + mariposa + ola), listado
   de recursos en tarjetas crema/papel y banda verde con la caja de
   crisis GLOBAL. Solo CSS · scope body.tax-tipo_ayuda.
   ============================================================ */
/* --- Hero verde profundo --- */
body.tax-tipo_ayuda .mst-tipo-hero {
  background-color: #33684e !important;
  background-image:
    url("../img/texture-green-overlay.png"),
    radial-gradient(120% 120% at 50% 6%, rgba(255, 248, 236, 0.12) 0%, rgba(255, 248, 236, 0) 46%),
    radial-gradient(120% 130% at 50% 128%, rgba(0, 0, 0, 0.30) 0%, rgba(0, 0, 0, 0) 55%);
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: center, center, center;
  background-size: cover, auto, auto;
  position: relative;
  padding-top: clamp(3rem, 6vw, 4.5rem) !important;
  padding-bottom: clamp(5rem, 9vw, 7rem) !important;
}
body.tax-tipo_ayuda .mst-tipo-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    url("../img/vine-corner-left.png"),
    url("../img/vine-corner-right.png"),
    url("../img/butterfly-small.png");
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: left -46px top -30px, right -46px top -26px, right 14% bottom 24%;
  background-size: 320px auto, 330px auto, 64px auto;
  filter: sepia(0.55) saturate(1.4) hue-rotate(-12deg) brightness(1.22);
  opacity: 0.9;
  pointer-events: none;
  z-index: 0;
}
body.tax-tipo_ayuda .mst-tipo-hero::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 52px;
  background: url("../img/hero-wave.svg") no-repeat bottom center / 100% 100%;
  pointer-events: none;
  z-index: 1;
}
body.tax-tipo_ayuda .mst-tipo-hero__inner {
  position: relative;
  z-index: 2;
  max-width: 760px;
  margin-inline: auto;
  text-align: center;
}
body.tax-tipo_ayuda .mst-tipo-hero .mst-eyebrow {
  display: inline-block;
  padding: 0.28rem 1.05rem;
  border-radius: var(--mst-radius-pill);
  background: rgba(255, 248, 236, 0.92);
  color: #6b3a17;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
body.tax-tipo_ayuda .mst-tipo-hero .mst-page-hero__title {
  font-family: "Platypi", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  font-weight: 700;
  color: #f7edd6;
  font-size: clamp(2rem, 4.6vw, 3rem);
  line-height: 1.14;
  margin: 0.4rem 0 0;
}
body.tax-tipo_ayuda .mst-tipo-hero .mst-page-hero__title::after {
  content: "";
  display: block;
  width: 210px;
  max-width: 60%;
  height: 20px;
  margin: 0.85rem auto 0;
  background: url("../img/hero-divider.svg") no-repeat center / contain;
}
body.tax-tipo_ayuda .mst-tipo-hero .mst-page-hero__lead {
  color: #f3e8cf;
  margin: 0.6rem 0 0;
}

/* --- Cuerpo crema: intro + grid de tarjetas --- */
body.tax-tipo_ayuda .mst-tipo-body {
  padding-top: clamp(2.4rem, 5vw, 3.6rem);
  padding-bottom: clamp(2.6rem, 6vw, 4rem);
}
body.tax-tipo_ayuda .mst-tipo-intro {
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
  color: #5c4326;
  font-size: 1.05rem;
  line-height: 1.6;
}
body.tax-tipo_ayuda .mst-tipo-grid {
  max-width: 1120px;
  margin: 1.9rem auto 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 1.4rem;
}
body.tax-tipo_ayuda .mst-tipo-card {
  display: flex;
  flex-direction: column;
  background: #fffaf1;
  border: 1px solid rgba(199, 154, 82, 0.5);
  border-radius: 20px;
  box-shadow: 0 12px 30px rgba(107, 58, 23, 0.09);
  padding: clamp(1.3rem, 3vw, 1.8rem);
}
body.tax-tipo_ayuda .mst-tipo-card__title {
  font-family: "Platypi", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  font-size: 1.25rem;
  line-height: 1.25;
  margin: 0 0 0.5rem;
}
body.tax-tipo_ayuda .mst-tipo-card__title a {
  color: #6b3a17;
  text-decoration: none;
}
body.tax-tipo_ayuda .mst-tipo-card__title a:hover,
body.tax-tipo_ayuda .mst-tipo-card__title a:focus {
  color: #a75a24;
  text-decoration: underline;
}
body.tax-tipo_ayuda .mst-tipo-card__desc {
  color: #4a2c18;
  font-size: 0.98rem;
  line-height: 1.55;
  margin: 0 0 0.9rem;
}
body.tax-tipo_ayuda .mst-tipo-card__meta {
  list-style: none;
  margin: 0 0 1.1rem;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.32rem;
  font-size: 0.9rem;
  color: #4a2c18;
}
body.tax-tipo_ayuda .mst-tipo-card__meta li {
  display: flex;
  gap: 0.5rem;
}
body.tax-tipo_ayuda .mst-tipo-card__meta span {
  font-weight: 700;
  color: #6b3a17;
  min-width: 74px;
}
body.tax-tipo_ayuda .mst-tipo-card__actions {
  margin-top: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
body.tax-tipo_ayuda .mst-tipo-card__actions .mst-btn {
  padding: 0.55rem 1.15rem;
  font-size: 0.92rem;
}
/* Botones = <a>: fijamos el color (el tema colorea los enlaces y taparía el texto). */
body.tax-tipo_ayuda .mst-btn--primary,
body.tax-tipo_ayuda .mst-btn--primary:hover,
body.tax-tipo_ayuda .mst-btn--primary:focus,
body.tax-tipo_ayuda .mst-btn--secondary,
body.tax-tipo_ayuda .mst-btn--secondary:hover,
body.tax-tipo_ayuda .mst-btn--secondary:focus {
  color: #fff8ec;
}
body.tax-tipo_ayuda .mst-btn--ghost {
  color: #6b3a17;
}
body.tax-tipo_ayuda .mst-btn--ghost:hover,
body.tax-tipo_ayuda .mst-btn--ghost:focus {
  color: #fff8ec;
}
/* Mensaje amable cuando el término no tiene recursos. */
body.tax-tipo_ayuda .mst-tipo-empty {
  max-width: 640px;
  margin: 1.9rem auto 0;
  text-align: center;
  background: #fffaf1;
  border: 1px solid rgba(199, 154, 82, 0.5);
  border-radius: 18px;
  box-shadow: 0 12px 30px rgba(107, 58, 23, 0.09);
  padding: clamp(1.4rem, 4vw, 2rem);
  color: #5c4326;
  font-size: 1.02rem;
  line-height: 1.6;
}
body.tax-tipo_ayuda .mst-tipo-back {
  text-align: center;
  margin: 2rem 0 0;
}

/* --- Banda verde con la caja de crisis global --- */
body.tax-tipo_ayuda .mst-tipo-crisis {
  background-color: #33684e !important;
  background-image:
    url("../img/wave-top-cream.svg"),
    url("../img/texture-green-overlay.png"),
    radial-gradient(120% 130% at 50% 0%, rgba(255, 248, 236, 0.10) 0%, rgba(255, 248, 236, 0) 55%);
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: top center, center, center;
  background-size: 100% 58px, cover, auto;
  position: relative;
  overflow: hidden;
  margin-top: -1px;
  padding-top: clamp(3.6rem, 6vw, 5rem);
  padding-bottom: clamp(3rem, 6vw, 4.4rem);
}
body.tax-tipo_ayuda .mst-tipo-crisis > * {
  position: relative;
  z-index: 1;
}
body.tax-tipo_ayuda .mst-tipo-crisis::before {
  content: "";
  position: absolute;
  left: -18px;
  bottom: -14px;
  width: 215px;
  height: 195px;
  background: url("../img/vine-corner-left.png") no-repeat left bottom / contain;
  filter: sepia(0.5) saturate(1.4) hue-rotate(-12deg) brightness(1.18);
  opacity: 0.55;
  pointer-events: none;
  z-index: 0;
}
body.tax-tipo_ayuda .mst-tipo-crisis::after {
  content: "";
  position: absolute;
  right: -18px;
  top: 22%;
  width: 200px;
  height: 195px;
  background: url("../img/vine-corner-right.png") no-repeat right top / contain;
  filter: sepia(0.5) saturate(1.4) hue-rotate(-12deg) brightness(1.18);
  opacity: 0.55;
  pointer-events: none;
  z-index: 0;
}

@media (max-width: 600px) {
  body.tax-tipo_ayuda .mst-tipo-grid {
    grid-template-columns: 1fr;
  }
  body.tax-tipo_ayuda .mst-tipo-card__actions .mst-btn {
    flex: 1 1 100%;
    text-align: center;
  }
}

/* ============================================================
   RECUPERAR CONTRASEÑA — misma familia visual del sitio.
   Hero verde profundo (vides + mariposa + ola), tarjeta crema/papel
   con el formulario (.mst-form base) y banda verde con la caja de
   crisis GLOBAL. Solo CSS · scope body.mst-page-recuperar-contrasena.
   ============================================================ */
body.mst-page-recuperar-contrasena .mst-page-hero {
  background-color: #33684e !important;
  background-image:
    url("../img/texture-green-overlay.png"),
    radial-gradient(120% 120% at 50% 6%, rgba(255, 248, 236, 0.12) 0%, rgba(255, 248, 236, 0) 46%),
    radial-gradient(120% 130% at 50% 128%, rgba(0, 0, 0, 0.30) 0%, rgba(0, 0, 0, 0) 55%);
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: center, center, center;
  background-size: cover, auto, auto;
  color: #f3e8cf;
  padding-top: clamp(3rem, 6vw, 4.5rem) !important;
  padding-bottom: clamp(5rem, 9vw, 7rem) !important;
}
body.mst-page-recuperar-contrasena .mst-page-hero > * {
  position: relative;
  z-index: 2;
}
body.mst-page-recuperar-contrasena .mst-page-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    url("../img/vine-corner-left.png"),
    url("../img/vine-corner-right.png"),
    url("../img/butterfly-small.png");
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: left -46px top -30px, right -46px top -26px, right 14% bottom 24%;
  background-size: 320px auto, 330px auto, 64px auto;
  filter: sepia(0.55) saturate(1.4) hue-rotate(-12deg) brightness(1.22);
  opacity: 0.9;
  pointer-events: none;
  z-index: 0;
}
body.mst-page-recuperar-contrasena .mst-page-hero::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 52px;
  background: url("../img/hero-wave.svg") no-repeat bottom center / 100% 100%;
  pointer-events: none;
  z-index: 1;
}
body.mst-page-recuperar-contrasena .mst-page-hero .mst-page-hero__title {
  font-family: "Platypi", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  font-weight: 700;
  color: #f7edd6;
  font-size: clamp(2rem, 4.6vw, 3rem);
  line-height: 1.14;
  margin: 0.4rem 0 0;
}
body.mst-page-recuperar-contrasena .mst-page-hero .mst-page-hero__title::after {
  content: "";
  display: block;
  width: 210px;
  max-width: 60%;
  height: 20px;
  margin: 0.85rem auto 0;
  background: url("../img/hero-divider.svg") no-repeat center / contain;
}
body.mst-page-recuperar-contrasena .mst-page-hero .mst-eyebrow {
  display: inline-block;
  padding: 0.28rem 1.05rem;
  border-radius: var(--mst-radius-pill);
  background: rgba(255, 248, 236, 0.92);
  color: #6b3a17;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
body.mst-page-recuperar-contrasena .mst-page-hero .mst-page-hero__lead {
  color: #f3e8cf;
  margin: 0.6rem 0 0;
}

/* Tarjeta del formulario: centrada y con aire. */
body.mst-page-recuperar-contrasena .mst-form {
  max-width: 560px;
  margin-inline: auto;
}
body.mst-page-recuperar-contrasena .mst-form__lead {
  color: #5c4326;
  margin: 0 0 1.2rem;
  line-height: 1.6;
}
body.mst-page-recuperar-contrasena .mst-espacio__title {
  font-family: "Platypi", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  color: #6b3a17;
  margin: 0 0 0.8rem;
}
body.mst-page-recuperar-contrasena .mst-form input:focus {
  border-color: #a75a24;
}
body.mst-page-recuperar-contrasena .mst-auth__links {
  margin-top: 1rem;
  text-align: center;
}
body.mst-page-recuperar-contrasena .mst-auth__links a {
  color: #a75a24;
}
body.mst-page-recuperar-contrasena .mst-auth__errors {
  background: #fbe9e0;
  border-left: 4px solid #a75a24;
  border-radius: 8px;
  padding: 0.7rem 0.95rem;
  margin: 0 0 1.1rem;
  color: #7a2f14;
}

/* Banda verde con la caja de crisis global (como en el resto). */
body.mst-page-recuperar-contrasena .wp-block-group.has-cream-background-color:has(.mst-crisis) {
  background-color: #33684e !important;
  background-image:
    url("../img/wave-top-cream.svg"),
    url("../img/texture-green-overlay.png"),
    radial-gradient(120% 130% at 50% 0%, rgba(255, 248, 236, 0.10) 0%, rgba(255, 248, 236, 0) 55%);
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: top center, center, center;
  background-size: 100% 58px, cover, auto;
  position: relative;
  overflow: hidden;
  margin-top: -1px;
  padding-top: clamp(3.6rem, 6vw, 5rem) !important;
}
body.mst-page-recuperar-contrasena .wp-block-group.has-cream-background-color:has(.mst-crisis) > * {
  position: relative;
  z-index: 1;
}
body.mst-page-recuperar-contrasena .wp-block-group.has-cream-background-color:has(.mst-crisis)::before {
  content: "";
  position: absolute;
  left: -18px;
  bottom: -14px;
  width: 215px;
  height: 195px;
  background: url("../img/vine-corner-left.png") no-repeat left bottom / contain;
  filter: sepia(0.5) saturate(1.4) hue-rotate(-12deg) brightness(1.18);
  opacity: 0.55;
  pointer-events: none;
  z-index: 0;
}
body.mst-page-recuperar-contrasena .wp-block-group.has-cream-background-color:has(.mst-crisis)::after {
  content: "";
  position: absolute;
  right: -18px;
  top: 22%;
  width: 200px;
  height: 195px;
  background: url("../img/vine-corner-right.png") no-repeat right top / contain;
  filter: sepia(0.5) saturate(1.4) hue-rotate(-12deg) brightness(1.18);
  opacity: 0.55;
  pointer-events: none;
  z-index: 0;
}

/* ============================================================
   MI ESPACIO — "Cambiar mi contraseña" en línea (disclosure), sin salir
   al panel nativo de WordPress. Tarjeta papel coherente con el sitio.
   ============================================================ */
.mst-espacio__changepass {
  margin: 0.4rem 0 1.2rem;
  background: #fffaf1;
  border: 1px solid rgba(199, 154, 82, 0.5);
  border-radius: 16px;
  box-shadow: 0 8px 22px rgba(107, 58, 23, 0.08);
  padding: 0.75rem 1.15rem;
  max-width: 560px;
}
.mst-espacio__changepass > summary {
  cursor: pointer;
  font-weight: 700;
  color: #6b3a17;
  padding: 0.35rem 0;
}
.mst-espacio__changepass[open] > summary {
  margin-bottom: 0.9rem;
  border-bottom: 1px solid rgba(199, 154, 82, 0.35);
  padding-bottom: 0.7rem;
}
.mst-espacio__changepass .mst-form {
  border: none;
  box-shadow: none;
  background: transparent;
  padding: 0;
}
.mst-espacio__changepass input:focus {
  border-color: #a75a24;
}

/* ============================================================
   MI ESPACIO — armonía de color con la paleta cálida del sitio.
   Sustituye los azules (aviso, éxito, enlaces, foco, autocompletado)
   por crema/dorado/terracota/verde otoñal. Solo scope mi-espacio.
   ============================================================ */
/* Aviso de verificación: de azul a crema con borde dorado. */
body.mst-page-mi-espacio .mst-espacio__verif {
  background: #fbf3e4;
  border: 1px solid rgba(199, 154, 82, 0.45);
  border-left: 5px solid #c79a52;
  color: #6b4a2f;
}
body.mst-page-mi-espacio .mst-espacio__verif p {
  color: #6b4a2f;
}
/* Mensajes de éxito: verde otoñal en vez de azul. */
body.mst-page-mi-espacio .mst-auth__ok {
  color: #2f6149;
}
/* Enlaces de la lista de seguridad (p. ej. 2FA): terracota. */
body.mst-page-mi-espacio .mst-espacio__lista a {
  color: #a75a24;
}
body.mst-page-mi-espacio .mst-espacio__lista a:hover,
body.mst-page-mi-espacio .mst-espacio__lista a:focus {
  color: #b6632c;
}
/* Foco de los campos: terracota (no azul), con anillo cálido. */
body.mst-page-mi-espacio .mst-form input:focus,
body.mst-page-mi-espacio .mst-form textarea:focus,
body.mst-page-mi-espacio .mst-form select:focus {
  border-color: #a75a24;
  outline: none;
  box-shadow: 0 0 0 3px rgba(169, 87, 36, 0.15);
}
/* Autocompletado del navegador: fondo crema cálido (no el azul/amarillo). */
body.mst-page-mi-espacio .mst-form input:-webkit-autofill,
body.mst-page-mi-espacio .mst-form input:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 100px #fffdf9 inset;
  box-shadow: 0 0 0 100px #fffdf9 inset;
  -webkit-text-fill-color: #3f2615;
  caret-color: #3f2615;
}
/* Foco del desplegable "Cambiar mi contraseña": contorno cálido, no azul. */
body.mst-page-mi-espacio .mst-espacio__changepass > summary:focus-visible {
  outline: 3px solid rgba(167, 90, 36, 0.55);
  outline-offset: 2px;
  border-radius: 8px;
}
/* Acciones del final: botones centrados y texto legible (son <a>, el tema
   les pisa el color). "Solicitar ayuda" en blanco crema; "Cerrar sesión" cálido. */
body.mst-page-mi-espacio .mst-espacio__acciones {
  justify-content: center;
}
body.mst-page-mi-espacio .mst-espacio__acciones .mst-btn--secondary,
body.mst-page-mi-espacio .mst-espacio__acciones .mst-btn--secondary:hover,
body.mst-page-mi-espacio .mst-espacio__acciones .mst-btn--secondary:focus {
  color: #fff8ec;
}
body.mst-page-mi-espacio .mst-espacio__acciones .mst-btn--ghost {
  color: #6b3a17;
}
body.mst-page-mi-espacio .mst-espacio__acciones .mst-btn--ghost:hover,
body.mst-page-mi-espacio .mst-espacio__acciones .mst-btn--ghost:focus {
  color: #fff8ec;
}
/* Contenido del desplegable 2FA (mismo modelo que "Cambiar mi contraseña"). */
body.mst-page-mi-espacio .mst-espacio__changepass > p {
  color: #5c4326;
  line-height: 1.6;
  margin: 0 0 1rem;
}
body.mst-page-mi-espacio .mst-espacio__changepass .mst-btn--primary,
body.mst-page-mi-espacio .mst-espacio__changepass .mst-btn--primary:hover,
body.mst-page-mi-espacio .mst-espacio__changepass .mst-btn--primary:focus {
  color: #fff8ec;
}
body.mst-page-mi-espacio .mst-espacio__soon {
  margin: 0;
  color: #8a6b45;
}

/* Botón "Ir a Mi espacio" del aviso "Ya has iniciado sesión" (/entrar/): es un
   <a> y el color de enlace del tema pisaría el texto blanco. Clase dedicada
   para forzar el blanco SOLO en ese botón (no afecta a otros). */
.mst-auth__gobtn,
.mst-auth__gobtn:hover,
.mst-auth__gobtn:focus {
  color: #fff8ec !important;
}

/* ============================================================
   MI ESPACIO — réplica visual de la referencia aprobada.
   Scope body.mst-page-mi-espacio. Reutiliza el sistema de tarjeta del
   sitio (papel #fffaf1 + borde dorado + sombra suave) y añade badges de
   icono (SVG Bootstrap recoloreados en verde vía mask), rejilla de 2
   columnas, acordeones y la colocación de botones tal como la referencia.
   El template solo se "viste": no cambian names/nonce/antibot/tipos ni
   la lógica de los formularios.
   ============================================================ */

/* Ancho de contenido más amplio: la referencia usa 2 columnas holgadas. */
body.mst-page-mi-espacio .mst-espacio {
  max-width: 62rem;
}

/* Saludo centrado con ramitas discretas a los lados (como la referencia). */
body.mst-page-mi-espacio .mst-espacio__hola {
  text-align: center;
  font-size: clamp(1.15rem, 2.1vw, 1.4rem);
  color: #8a5a2a;
  margin: 0 0 1.6rem;
}
body.mst-page-mi-espacio .mst-espacio__hola strong { color: #6b3a17; }
body.mst-page-mi-espacio .mst-espacio__hola::before,
body.mst-page-mi-espacio .mst-espacio__hola::after {
  content: "";
  display: inline-block;
  width: 3rem;
  height: 0.9rem;
  vertical-align: middle;
  background: url("../img/leaf-divider.svg") center / contain no-repeat;
  opacity: 0.8;
}
body.mst-page-mi-espacio .mst-espacio__hola::before { margin-right: 0.7rem; }
body.mst-page-mi-espacio .mst-espacio__hola::after { margin-left: 0.7rem; transform: scaleX(-1); }

/* Tarjetas de papel: el formulario "Mi perfil" y los bloques/acordeones. */
body.mst-page-mi-espacio .mst-espacio__form,
body.mst-page-mi-espacio .mst-espacio__bloque {
  margin-block: clamp(1.1rem, 2.4vw, 1.6rem);
  padding: clamp(1.4rem, 3vw, 2rem) clamp(1.3rem, 3vw, 1.9rem);
  background: #fffaf1;
  border: 1px solid rgba(199, 154, 82, 0.5);
  border-radius: 20px;
  box-shadow: 0 10px 26px rgba(107, 58, 23, 0.09), 0 2px 6px rgba(107, 58, 23, 0.05);
}

/* Badge circular de icono: verde institucional sobre círculo pálido. */
body.mst-page-mi-espacio .mst-espacio__ic {
  flex: 0 0 auto;
  display: inline-flex;
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 50%;
  background: #edf3ea;
  border: 1px solid rgba(51, 104, 78, 0.14);
  vertical-align: middle;
  position: relative;
}
body.mst-page-mi-espacio .mst-espacio__ic::before {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: 1.3rem;
  height: 1.3rem;
  background-color: #33684e;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}
body.mst-page-mi-espacio .mst-espacio__ic--mail::before { -webkit-mask-image: url("../img/bi-envelope.svg"); mask-image: url("../img/bi-envelope.svg"); }
body.mst-page-mi-espacio .mst-espacio__ic--person::before { -webkit-mask-image: url("../img/bi-person.svg"); mask-image: url("../img/bi-person.svg"); }
body.mst-page-mi-espacio .mst-espacio__ic--heart::before { -webkit-mask-image: url("../img/bi-heart.svg"); mask-image: url("../img/bi-heart.svg"); }
body.mst-page-mi-espacio .mst-espacio__ic--shield::before { -webkit-mask-image: url("../img/bi-shield.svg"); mask-image: url("../img/bi-shield.svg"); }
body.mst-page-mi-espacio .mst-espacio__ic--shieldcheck::before { -webkit-mask-image: url("../img/bi-shield-check.svg"); mask-image: url("../img/bi-shield-check.svg"); }
body.mst-page-mi-espacio .mst-espacio__ic--lock { width: 2rem; height: 2rem; }
body.mst-page-mi-espacio .mst-espacio__ic--lock::before { width: 1rem; height: 1rem; -webkit-mask-image: url("../img/bi-lock.svg"); mask-image: url("../img/bi-lock.svg"); }

/* Títulos de sección: verde institucional + Platypi (como la referencia),
   alineados con su badge. */
body.mst-page-mi-espacio .mst-espacio__title {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  font-family: "Platypi", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  font-weight: 700;
  color: #2f6149;
  font-size: clamp(1.3rem, 2.4vw, 1.55rem);
  line-height: 1.2;
  margin: 0 0 1.2rem;
}

/* --- "Mi perfil": rejilla de 2 columnas + Guardar abajo-derecha. --- */
body.mst-page-mi-espacio .mst-espacio__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem 1.6rem;
}
body.mst-page-mi-espacio .mst-espacio__grid .mst-form__group { margin-bottom: 0; }
body.mst-page-mi-espacio .mst-espacio__grid-action {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
}

/* Campos: papel suave, borde fino, radius (foco cálido ya definido arriba). */
body.mst-page-mi-espacio .mst-espacio input[type="text"],
body.mst-page-mi-espacio .mst-espacio input[type="password"],
body.mst-page-mi-espacio .mst-espacio select {
  background: #fffdf8;
  border: 1.5px solid rgba(199, 154, 82, 0.55);
  border-radius: 12px;
  padding: 0.7rem 0.9rem;
  color: #4a3a2a;
  font-size: 1rem;
  width: 100%;
}
/* Select con chevron propio del tema. */
body.mst-page-mi-espacio .mst-espacio select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding-right: 2.2rem;
  background-image: url("../img/bi-chevron-down.svg");
  background-repeat: no-repeat;
  background-position: right 0.85rem center;
  background-size: 0.8rem;
}

/* --- Caja de confirmación: icono + texto + botón, en horizontal. --- */
body.mst-page-mi-espacio .mst-espacio__verif {
  display: flex;
  align-items: center;
  gap: 1rem 1.2rem;
  flex-wrap: wrap;
}
body.mst-page-mi-espacio .mst-espacio__verif p { flex: 1 1 16rem; margin: 0; }
body.mst-page-mi-espacio .mst-espacio__verif .mst-resend { margin: 0; flex: 0 0 auto; }

/* --- Acordeones (Mis solicitudes / Seguridad). --- */
body.mst-page-mi-espacio .mst-espacio__acc-summary {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  cursor: pointer;
  list-style: none;
}
body.mst-page-mi-espacio .mst-espacio__acc-summary::-webkit-details-marker { display: none; }
body.mst-page-mi-espacio .mst-espacio__acc-head {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}
body.mst-page-mi-espacio .mst-espacio__acc-head .mst-espacio__title { margin: 0; }
body.mst-page-mi-espacio .mst-espacio__sub {
  color: #6a5030;
  font-size: 0.95rem;
  line-height: 1.45;
}
body.mst-page-mi-espacio .mst-espacio__acc-summary::after {
  content: "";
  flex: 0 0 auto;
  width: 1.1rem;
  height: 1.1rem;
  background-color: #8a5a2a;
  -webkit-mask: url("../img/bi-chevron-down.svg") center / contain no-repeat;
  mask: url("../img/bi-chevron-down.svg") center / contain no-repeat;
  transition: transform 0.2s ease;
}
body.mst-page-mi-espacio .mst-espacio__acc[open] .mst-espacio__acc-summary::after { transform: rotate(180deg); }
body.mst-page-mi-espacio .mst-espacio__acc-body { margin-top: 1.3rem; }
body.mst-page-mi-espacio .mst-espacio__acc-body > p { margin: 0; color: #5c4326; line-height: 1.7; }

/* --- Subtarjeta "Cambiar mi contraseña". --- */
body.mst-page-mi-espacio .mst-espacio__subcard {
  background: #fffdf8;
  border: 1px solid rgba(199, 154, 82, 0.4);
  border-radius: 14px;
  padding: clamp(1.1rem, 2.5vw, 1.4rem);
}
body.mst-page-mi-espacio .mst-espacio__subtitle {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  font-family: "Platypi", "Iowan Old Style", Palatino, Georgia, serif;
  font-weight: 700;
  color: #6b3a17;
  font-size: 1.05rem;
  margin: 0 0 1.1rem;
}
body.mst-page-mi-espacio .mst-espacio__pwrow {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}
body.mst-page-mi-espacio .mst-espacio__pwrow .mst-form__group { margin-bottom: 0; }
body.mst-page-mi-espacio .mst-espacio__pwactions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  margin-top: 1.3rem;
}
body.mst-page-mi-espacio .mst-espacio__2fa-link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  color: #a75a24;
  font-weight: 600;
  text-decoration: none;
}
body.mst-page-mi-espacio .mst-espacio__2fa-link::after {
  content: "";
  width: 0.9rem;
  height: 0.9rem;
  background-color: currentColor;
  -webkit-mask: url("../img/bi-chevron-right.svg") center / contain no-repeat;
  mask: url("../img/bi-chevron-right.svg") center / contain no-repeat;
}
body.mst-page-mi-espacio .mst-espacio__2fa-link--soon { color: #9c8a6a; cursor: default; }

/* --- Privacidad: icono + texto (izq) + botones (der). --- */
body.mst-page-mi-espacio .mst-espacio__priv {
  display: flex;
  align-items: center;
  gap: 1rem 1.4rem;
  flex-wrap: wrap;
}
body.mst-page-mi-espacio .mst-espacio__priv .mst-espacio__ic { align-self: flex-start; margin-top: 0.15rem; }
body.mst-page-mi-espacio .mst-espacio__priv-text { flex: 1 1 20rem; }
body.mst-page-mi-espacio .mst-espacio__priv-text .mst-espacio__title { margin: 0 0 0.35rem; }
body.mst-page-mi-espacio .mst-espacio__priv-text p { margin: 0; color: #5c4326; line-height: 1.6; }
body.mst-page-mi-espacio .mst-espacio__priv-actions {
  flex: 0 0 auto;
  display: flex;
  gap: 0.7rem;
  flex-wrap: wrap;
}
/* "Solicitar ayuda" (verde) legible: es <a>, forzar texto crema. "Cerrar
   sesión" (ghost) en marrón cálido. */
body.mst-page-mi-espacio .mst-espacio__priv-actions .mst-btn--secondary,
body.mst-page-mi-espacio .mst-espacio__priv-actions .mst-btn--secondary:hover,
body.mst-page-mi-espacio .mst-espacio__priv-actions .mst-btn--secondary:focus {
  color: #fff8ec !important;
}
body.mst-page-mi-espacio .mst-espacio__priv-actions .mst-btn--ghost { color: #6b3a17; }
body.mst-page-mi-espacio .mst-espacio__priv-actions .mst-btn--ghost:hover,
body.mst-page-mi-espacio .mst-espacio__priv-actions .mst-btn--ghost:focus { color: #fff8ec; }

/* Iconos en botones (mask, heredan color del texto del botón). */
body.mst-page-mi-espacio .mst-espacio__save,
body.mst-page-mi-espacio .mst-espacio__verif .mst-resend button,
body.mst-page-mi-espacio .mst-espacio__priv-actions .mst-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
body.mst-page-mi-espacio .mst-espacio__save::before,
body.mst-page-mi-espacio .mst-espacio__verif .mst-resend button::before,
body.mst-page-mi-espacio .mst-espacio__priv-actions .mst-btn::before {
  content: "";
  width: 1rem;
  height: 1rem;
  background-color: currentColor;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}
body.mst-page-mi-espacio .mst-espacio__save::before { -webkit-mask-image: url("../img/bi-lock.svg"); mask-image: url("../img/bi-lock.svg"); }
body.mst-page-mi-espacio .mst-espacio__verif .mst-resend button::before { -webkit-mask-image: url("../img/bi-send.svg"); mask-image: url("../img/bi-send.svg"); }
body.mst-page-mi-espacio .mst-espacio__priv-actions .mst-btn--secondary::before { -webkit-mask-image: url("../img/bi-send.svg"); mask-image: url("../img/bi-send.svg"); }
body.mst-page-mi-espacio .mst-espacio__priv-actions .mst-btn--ghost::before { -webkit-mask-image: url("../img/bi-box-arrow-right.svg"); mask-image: url("../img/bi-box-arrow-right.svg"); }

/* --- Responsive: apilar limpio en móvil/tablet estrecho. --- */
@media (max-width: 720px) {
  body.mst-page-mi-espacio .mst-espacio__grid { grid-template-columns: 1fr; }
  body.mst-page-mi-espacio .mst-espacio__grid-action { justify-content: stretch; }
  body.mst-page-mi-espacio .mst-espacio__grid-action .mst-btn { width: 100%; justify-content: center; }
  body.mst-page-mi-espacio .mst-espacio__pwrow { grid-template-columns: 1fr; }
  body.mst-page-mi-espacio .mst-espacio__pwactions { flex-direction: column; align-items: stretch; }
  body.mst-page-mi-espacio .mst-espacio__pwactions .mst-btn { width: 100%; justify-content: center; }
  body.mst-page-mi-espacio .mst-espacio__pwactions .mst-espacio__2fa-link { justify-content: center; }
  body.mst-page-mi-espacio .mst-espacio__priv { flex-direction: column; align-items: flex-start; }
  body.mst-page-mi-espacio .mst-espacio__priv-actions { width: 100%; }
  body.mst-page-mi-espacio .mst-espacio__priv-actions .mst-btn { flex: 1 1 auto; justify-content: center; }
}
