/**
 * RGPro H.O.P.E. Blocks Lite 03.9.11
 * Arquitectura de ancho completo + contenido interior centrado.
 * Los estilos solo se cargan en páginas internas; el Home queda en manos del theme.
 */
:root {
  --hope-blue: #046EB3;
  --hope-gold: #EFB61E;
  --hope-navy: #0B2F43;
  --hope-text: #102D3D;
  --hope-muted: #5D6E78;
  --hope-bg: #F3F8FC;
  --hope-border: #DDE6EC;
  --hope-white: #FFFFFF;
  --hope-container: 1180px;
  --hope-reading: 880px;
}

.hope-section,
.hope-section * {
  box-sizing: border-box;
}

/*
 * La sección rompe el contenedor angosto del theme y ocupa el viewport.
 * El contenido directo se vuelve a limitar y centrar como en el Home.
 */
.hope-section {
  color: var(--hope-text);
  display: block !important;
  width: 100vw !important;
  max-width: 100vw !important;
  min-width: 0 !important;
  position: relative !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  margin: 0 calc(50% - 50vw) !important;
  padding: clamp(40px, 4.5vw, 64px) max(20px, calc((100vw - var(--hope-container)) / 2)) !important;
  clear: both;
  overflow: hidden !important;
}

/* Contenedor interior común. */
.hope-section > *,
.hope-section > .wp-block-group__inner-container,
.hope-section > .wp-block-group__inner-container > * {
  width: 100% !important;
  max-width: var(--hope-container) !important;
  min-width: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Texto editorial más estrecho, pero alineado al mismo eje del sitio. */
.hope-section-intro > .hope-lead,
.hope-section-intro > .hope-section-title,
.hope-section-intro > .hope-kicker,
.hope-section > .hope-section-copy,
.hope-section > .hope-lead {
  max-width: var(--hope-reading) !important;
}

.hope-section-cards:not(.has-background),
.hope-metrics-band:not(.has-background),
.hope-section-alliances:not(.has-background),
.hope-section-news:not(.has-background) {
  background-color: var(--hope-bg);
}

.hope-highlight-band:not(.has-background) {
  background-color: var(--hope-blue);
}
.hope-highlight-band:not(.has-text-color) {
  color: var(--hope-white);
}

.hope-kicker,
.hope-card-label {
  color: var(--hope-blue);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .015em;
  margin: 0 0 14px;
}

.hope-kicker::after,
.hope-card-label::after {
  content: "";
  display: block;
  width: 58px;
  height: 3px;
  background: var(--hope-gold);
  margin-top: 12px;
}

.hope-section-title,
.hope-cta-title,
.hope-highlight-title {
  color: var(--hope-navy);
  font-size: clamp(32px, 3.2vw, 46px);
  line-height: 1.12;
  font-weight: 700;
  margin: 0 0 18px;
}

.hope-lead,
.hope-section-copy,
.hope-card-text,
.hope-highlight-copy,
.hope-cta-copy {
  color: var(--hope-text);
  font-size: 17px;
  line-height: 1.72;
  font-weight: 400;
  margin: 0 0 20px;
  overflow-wrap: anywhere;
}

.wp-block-columns.hope-card-grid,
.hope-card-grid,
.wp-block-columns.hope-metrics-grid,
.hope-metrics-grid,
.wp-block-columns.hope-alliance-grid,
.hope-alliance-grid,
.wp-block-columns.hope-image-text-grid,
.hope-image-text-grid {
  display: grid !important;
  width: 100% !important;
  max-width: var(--hope-container) !important;
  min-width: 0 !important;
  margin: 32px auto 0 !important;
  gap: 28px !important;
  align-items: stretch !important;
}

.wp-block-columns.hope-card-grid-2,
.hope-card-grid-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.wp-block-columns.hope-card-grid-4,
.hope-card-grid-4,
.wp-block-columns.hope-metrics-grid,
.hope-metrics-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.wp-block-columns.hope-alliance-grid,
.hope-alliance-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.wp-block-columns.hope-image-text-grid,
.hope-image-text-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 48px !important;
}

.hope-card-grid > .wp-block-column,
.hope-metrics-grid > .wp-block-column,
.hope-alliance-grid > .wp-block-column,
.hope-image-text-grid > .wp-block-column {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  flex: none !important;
  flex-basis: auto !important;
  display: flex !important;
  margin: 0 !important;
}

.hope-card {
  background-color: var(--hope-white);
  border: 1px solid var(--hope-border);
  border-top: 6px solid var(--hope-blue);
  border-radius: 12px;
  padding: 34px 34px 30px;
  min-height: 100%;
  box-shadow: 0 8px 22px rgba(10, 49, 70, .05);
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  overflow-wrap: anywhere;
}

.hope-card-title {
  color: var(--hope-navy);
  font-size: 24px;
  line-height: 1.22;
  font-weight: 700;
  margin: 0 0 18px;
}

.hope-card-list {
  color: var(--hope-text);
  font-size: 16px;
  line-height: 1.68;
  margin: 0;
  padding-left: 20px;
}

.hope-card-link a {
  color: var(--hope-blue);
  font-weight: 700;
  text-decoration: none;
}

.hope-card-link a:hover { text-decoration: underline; }

.hope-metrics-grid .wp-block-column {
  background-color: var(--hope-white);
  border: 1px solid var(--hope-border);
  border-radius: 12px;
  padding: 28px 24px;
  text-align: center;
  display: block !important;
}

.hope-metric-number {
  color: var(--hope-blue);
  font-size: clamp(34px, 4vw, 48px);
  line-height: 1;
  margin: 0 0 10px;
  font-weight: 700;
}

.hope-metric-label {
  color: var(--hope-text);
  font-size: 15px;
  line-height: 1.45;
  margin: 0;
}

.hope-image-placeholder {
  min-height: 340px;
  border-radius: 18px;
  background: #F3F8FC;
  border: 1px dashed rgba(4,110,179,.35);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  color: var(--hope-muted);
  text-align: center;
  width: 100%;
}

/* Correcciones de compatibilidad con themes clásicos. */
.hope-image-text-grid > .wp-block-column {
  flex-direction: column !important;
  justify-content: center !important;
  align-items: stretch !important;
}

.hope-image-text-grid .hope-buttons,
.hope-highlight-band .hope-buttons,
.hope-cta-final .hope-buttons {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  width: 100% !important;
}

.hope-image-text-grid .wp-block-button,
.hope-highlight-band .wp-block-button,
.hope-cta-final .wp-block-button {
  width: auto !important;
  min-width: 0 !important;
}

.hope-image-text-grid .wp-block-button__link,
.hope-highlight-band .wp-block-button__link,
.hope-cta-final .wp-block-button__link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  white-space: nowrap !important;
  writing-mode: horizontal-tb !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

.hope-highlight-band {
  text-align: left !important;
}

.hope-highlight-band .hope-buttons {
  justify-content: flex-start !important;
}

.hope-alliance-card p {
  margin: 0 !important;
}

.hope-highlight-band .hope-kicker,
.hope-kicker-light,
.hope-highlight-title,
.hope-highlight-copy { color: var(--hope-white); }

.hope-highlight-band .hope-kicker::after,
.hope-kicker-light::after { background: var(--hope-gold); }

.hope-alliance-card {
  min-height: 96px;
  background-color: var(--hope-white);
  border: 1px solid var(--hope-border);
  border-radius: 12px;
  padding: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-weight: 700;
  color: var(--hope-navy);
  width: 100%;
}

.hope-cta-final { text-align:center; }
.hope-cta-final:not(.has-background){background:var(--hope-bg);}

.hope-cta-copy {
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.hope-buttons { gap: 14px; justify-content: center; margin-top: 24px; }

.hope-button-primary .wp-block-button__link,
.wp-block-button.hope-button-primary .wp-block-button__link {
  border-radius:8px;
  font-weight:var(--hope-weight-medium);
  padding:14px 22px;
  border:1px solid var(--hope-blue);
}
.hope-button-primary .wp-block-button__link:not(.has-background),
.wp-block-button.hope-button-primary .wp-block-button__link:not(.has-background){background:var(--hope-blue);}
.hope-button-primary .wp-block-button__link:not(.has-text-color),
.wp-block-button.hope-button-primary .wp-block-button__link:not(.has-text-color){color:var(--hope-white);}

.hope-button-outline .wp-block-button__link,
.wp-block-button.hope-button-outline .wp-block-button__link {
  border-radius:8px;
  font-weight:var(--hope-weight-medium);
  padding:14px 22px;
  border:1px solid var(--hope-blue);
}
.hope-button-outline .wp-block-button__link:not(.has-background),
.wp-block-button.hope-button-outline .wp-block-button__link:not(.has-background){background:transparent;}
.hope-button-outline .wp-block-button__link:not(.has-text-color),
.wp-block-button.hope-button-outline .wp-block-button__link:not(.has-text-color){color:var(--hope-blue);}

.hope-button-light .wp-block-button__link,
.wp-block-button.hope-button-light .wp-block-button__link {
  border-radius:8px;
  font-weight:var(--hope-weight-medium);
  padding:14px 22px;
}
.hope-button-light .wp-block-button__link:not(.has-background),
.wp-block-button.hope-button-light .wp-block-button__link:not(.has-background){background:var(--hope-white);}
.hope-button-light .wp-block-button__link:not(.has-text-color),
.wp-block-button.hope-button-light .wp-block-button__link:not(.has-text-color){color:var(--hope-blue);}

.hope-form-shell {
  background-color: var(--hope-white);
  border: 1px solid var(--hope-border);
  border-radius: 14px;
  padding: 30px;
}


/* Ritmo vertical consistente entre patrones consecutivos. */
.hope-section + .hope-section {
  border-top: 1px solid rgba(221, 230, 236, .55);
}

.hope-section-cards .hope-card-grid + .hope-card-grid {
  margin-top: 28px !important;
}

.hope-image-text-grid .hope-section-title,
.hope-image-text-grid .hope-section-copy,
.hope-image-text-grid .hope-kicker {
  max-width: none !important;
  width: 100% !important;
}

@media (max-width: 980px) {
  .wp-block-columns.hope-card-grid-4,
  .hope-card-grid-4,
  .wp-block-columns.hope-metrics-grid,
  .hope-metrics-grid,
  .wp-block-columns.hope-alliance-grid,
  .hope-alliance-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 680px) {
  html, body { overflow-x: hidden; }

  .hope-section {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 34px 16px !important;
    overflow: hidden !important;
  }

  .wp-block-columns.hope-card-grid-2,
  .hope-card-grid-2,
  .wp-block-columns.hope-card-grid-4,
  .hope-card-grid-4,
  .wp-block-columns.hope-metrics-grid,
  .hope-metrics-grid,
  .wp-block-columns.hope-alliance-grid,
  .hope-alliance-grid,
  .wp-block-columns.hope-image-text-grid,
  .hope-image-text-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px !important;
  }

  .hope-card { padding: 25px 22px; }
  .hope-card-title { font-size: 21px; }
  .hope-lead, .hope-section-copy, .hope-card-text, .hope-highlight-copy, .hope-cta-copy {
    font-size: 16px;
    line-height: 1.65;
  }
}


/* =========================================================
 * 03.9.10 — Compatibilidad real con cards institucionales antiguas
 * Las versiones iniciales insertaron dos filas .hope-card-grid-2.
 * Gutenberg puede envolverlas en .wp-block-group__inner-container,
 * por lo que no se puede depender de que sean hijas directas.
 * ======================================================= */

/* Nuevo patrón 4 columnas. */
.hope-section-institutional-cards .hope-institutional-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

/* Contenedor detectado por JavaScript para inserciones antiguas. */
.hope-section-institutional-cards-runtime .hope-institutional-grid-host {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: var(--hope-container) !important;
  margin: 0 auto !important;
}

.hope-section-institutional-cards-runtime .hope-card-grid-2 {
  display: contents !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
}

.hope-section-institutional-cards-runtime .hope-card-grid-2 > .wp-block-column {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  display: flex !important;
  margin: 0 !important;
}

/* Fallback CSS para navegadores modernos, incluso antes de ejecutar JS. */
.hope-section-cards:has(.hope-card-grid-2) > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
  align-items: stretch !important;
}

.hope-section-cards:has(.hope-card-grid-2) > .wp-block-group__inner-container > .hope-card-grid-2,
.hope-section-cards:has(.hope-card-grid-2) > .hope-card-grid-2 {
  display: contents !important;
}

.hope-section-institutional-cards .hope-card,
.hope-section-institutional-cards-runtime .hope-card,
.hope-section-cards:has(.hope-card-grid-2) .hope-card {
  padding: 20px 18px 22px !important;
  border-top-width: 5px !important;
  border-radius: 10px !important;
  box-shadow: 0 6px 18px rgba(10,49,70,.045) !important;
}

.hope-section-institutional-cards .hope-card-label,
.hope-section-institutional-cards-runtime .hope-card-label,
.hope-section-cards:has(.hope-card-grid-2) .hope-card-label {
  font-size: 12px !important;
  margin-bottom: 9px !important;
}

.hope-section-institutional-cards .hope-card-label::after,
.hope-section-institutional-cards-runtime .hope-card-label::after,
.hope-section-cards:has(.hope-card-grid-2) .hope-card-label::after {
  width: 40px !important;
  height: 2px !important;
  margin-top: 7px !important;
}

.hope-section-institutional-cards .hope-card-title,
.hope-section-institutional-cards-runtime .hope-card-title,
.hope-section-cards:has(.hope-card-grid-2) .hope-card-title {
  font-size: 19px !important;
  line-height: 1.2 !important;
  margin-bottom: 10px !important;
}

.hope-section-institutional-cards .hope-card-text,
.hope-section-institutional-cards .hope-card-list,
.hope-section-institutional-cards-runtime .hope-card-text,
.hope-section-institutional-cards-runtime .hope-card-list,
.hope-section-cards:has(.hope-card-grid-2) .hope-card-text,
.hope-section-cards:has(.hope-card-grid-2) .hope-card-list {
  font-size: 13.5px !important;
  line-height: 1.52 !important;
}

.hope-section-institutional-cards .hope-card-list,
.hope-section-institutional-cards-runtime .hope-card-list,
.hope-section-cards:has(.hope-card-grid-2) .hope-card-list {
  padding-left: 17px !important;
}

/* Imágenes añadidas manualmente dentro de las cards. */
.hope-section-institutional-cards .hope-card .wp-block-image,
.hope-section-institutional-cards-runtime .hope-card .wp-block-image,
.hope-section-cards:has(.hope-card-grid-2) .hope-card .wp-block-image {
  margin: 10px 0 12px !important;
  width: 100% !important;
}

.hope-section-institutional-cards .hope-card .wp-block-image img,
.hope-section-institutional-cards-runtime .hope-card .wp-block-image img,
.hope-section-cards:has(.hope-card-grid-2) .hope-card .wp-block-image img,
.hope-section-institutional-cards .hope-card > img,
.hope-section-institutional-cards-runtime .hope-card > img,
.hope-section-cards:has(.hope-card-grid-2) .hope-card > img {
  display: block !important;
  width: 100% !important;
  height: 140px !important;
  aspect-ratio: 16 / 10 !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 7px !important;
}

@media (max-width: 1080px) {
  .hope-section-institutional-cards .hope-institutional-grid,
  .hope-section-institutional-cards-runtime .hope-institutional-grid-host,
  .hope-section-cards:has(.hope-card-grid-2) > .wp-block-group__inner-container {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 680px) {
  .hope-section-institutional-cards .hope-institutional-grid,
  .hope-section-institutional-cards-runtime .hope-institutional-grid-host,
  .hope-section-cards:has(.hope-card-grid-2) > .wp-block-group__inner-container {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
  }

  .hope-section-institutional-cards .hope-card,
  .hope-section-institutional-cards-runtime .hope-card,
  .hope-section-cards:has(.hope-card-grid-2) .hope-card {
    padding: 21px 18px !important;
  }

  .hope-section-institutional-cards .hope-card .wp-block-image img,
  .hope-section-institutional-cards-runtime .hope-card .wp-block-image img,
  .hope-section-cards:has(.hope-card-grid-2) .hope-card .wp-block-image img,
  .hope-section-institutional-cards .hope-card > img,
  .hope-section-institutional-cards-runtime .hope-card > img,
  .hope-section-cards:has(.hope-card-grid-2) .hope-card > img {
    height: auto !important;
    max-height: 220px !important;
  }
}


/* -------------------------------------------------------------------------
 * 03.9.11 — Tipografía sobria + prioridad de Gutenberg
 * -------------------------------------------------------------------------
 * Estos valores corrigen el aspecto demasiado bold heredado de versiones
 * anteriores. No usan !important para que los ajustes elegidos en Gutenberg
 * (color, fondo y apariencia tipográfica) puedan prevalecer por página.
 */
.hope-section .hope-kicker,
.hope-section .hope-card-label {
  font-weight: 600;
}

.hope-section .hope-section-title,
.hope-section .hope-cta-title,
.hope-section .hope-highlight-title,
.hope-section .hope-card-title {
  font-weight: 600;
}

.hope-section .hope-card-link a,
.hope-section .hope-alliance-card,
.hope-section .wp-block-button__link {
  font-weight: 600;
}

.hope-section .hope-lead,
.hope-section .hope-section-copy,
.hope-section .hope-card-text,
.hope-section .hope-card-list,
.hope-section .hope-highlight-copy,
.hope-section .hope-cta-copy,
.hope-section .hope-metric-label {
  font-weight: 400;
}

/* Los números de impacto conservan contraste visual sin usar Extra Black. */
.hope-section .hope-metric-number {
  font-weight: 700;
}

/* Valores por defecto que no bloquean colores/fondos configurados en Gutenberg. */
.hope-cta-final:not(.has-background) {
  background-color: var(--hope-bg);
}

.hope-highlight-band:not(.has-background) {
  background-color: var(--hope-blue);
}

.hope-highlight-band:not(.has-text-color) {
  color: var(--hope-white);
}

.hope-section .wp-block-button__link {
  letter-spacing: 0;
}


/* Theme Only 03.8.12 — Patrones Gutenberg nativos para Home editable. */
.hope-front-content{
  padding:0 !important;
}
.hope-front-content > :not(.alignfull):not(.alignwide){
  width:min(1180px,calc(100% - 40px));
  margin-left:auto;
  margin-right:auto;
}
.hope-front-content > .alignwide{
  width:min(1180px,calc(100% - 40px));
  max-width:none;
  margin-left:auto;
  margin-right:auto;
}
.hope-front-content > .alignfull{
  width:100%;
  max-width:none;
  margin-left:0;
  margin-right:0;
}

.hope-home-builder-hero{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:clamp(72px,8vw,118px) max(20px,calc((100vw - 1180px)/2)) !important;
  background:var(--hope-soft);
  color:var(--hope-text-dark);
}
.hope-home-builder-hero__grid{
  display:grid !important;
  grid-template-columns:minmax(0,1.45fr) minmax(320px,.72fr) !important;
  gap:clamp(40px,6vw,76px) !important;
  align-items:center !important;
  margin:0 !important;
}
.hope-home-builder-hero__grid > .wp-block-column{
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
}
.hope-home-builder-hero__title{
  font-family:var(--hope-font);
  font-size:clamp(38px,5vw,56px) !important;
  line-height:1.04 !important;
  font-weight:var(--hope-weight-heading) !important;
  letter-spacing:-.018em;
  margin:18px 0 18px !important;
}
.hope-home-builder-hero__copy{
  color:var(--hope-text-body) !important;
  font-size:18px !important;
  line-height:32px !important;
  font-weight:var(--hope-weight-regular) !important;
  max-width:720px;
}
.hope-buttons-left{justify-content:flex-start !important}
.hope-home-builder-card{
  width:100%;
  max-width:390px;
  margin-left:auto;
}
.hope-institution-card__site-logo .custom-logo-link,
.hope-institution-card__site-logo{
  display:block;
}
.hope-institution-card__site-logo img,
.hope-institution-card__site-logo .custom-logo{
  width:96px !important;
  height:96px !important;
  max-width:96px !important;
  object-fit:contain;
  border-radius:10px;
}
.hope-home-builder-card__rows{
  border-top:1px solid var(--hope-border);
}
.hope-home-builder-card__rows > p{
  display:grid;
  grid-template-columns:110px 1fr;
  gap:16px;
  align-items:start;
  margin:0 !important;
  padding:13px 0;
  border-bottom:1px solid var(--hope-border);
  font-size:14px !important;
  line-height:1.45 !important;
}
.hope-home-builder-card__rows strong{
  color:var(--hope-text-dark);
  font-weight:var(--hope-weight-medium);
}
.hope-home-builder-card__rows span{
  color:var(--hope-text-muted);
  text-align:right;
}
.hope-presence-grid{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:48px !important;
  align-items:center !important;
}
.hope-presence-grid > .wp-block-column{
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
}

/* Tipografía de patrones: 400 / 580 / 620. */
.hope-kicker,
.hope-card-label,
.hope-card-link a,
.hope-alliance-card,
.hope-button-primary .wp-block-button__link,
.hope-button-outline .wp-block-button__link,
.hope-button-light .wp-block-button__link{
  font-weight:var(--hope-weight-medium) !important;
}
.hope-section-title,
.hope-cta-title,
.hope-highlight-title{
  font-weight:var(--hope-weight-heading) !important;
  color:var(--hope-text-dark);
}
.hope-card-title{
  font-weight:var(--hope-weight-medium) !important;
}
.hope-lead,
.hope-section-copy,
.hope-card-text,
.hope-highlight-copy,
.hope-cta-copy,
.hope-metric-label{
  font-weight:var(--hope-weight-regular) !important;
}
.hope-metric-number{
  font-weight:620 !important;
}


@media(max-width:980px){
  .hope-home-builder-hero__grid,
  .hope-presence-grid{
    grid-template-columns:1fr !important;
  }
  .hope-home-builder-card{
    max-width:560px;
    margin-left:0;
  }
}

@media(max-width:600px){
  .hope-home-builder-hero{
    padding:48px 14px !important;
  }
  .hope-home-builder-hero__grid{
    gap:30px !important;
  }
  .hope-home-builder-hero__title{
    font-size:clamp(38px,10vw,42px) !important;
    line-height:1.06 !important;
  }
  .hope-home-builder-hero__copy{
    font-size:17px !important;
    line-height:29px !important;
  }
  .hope-home-builder-card{
    max-width:none;
  }
  .hope-home-builder-card__rows > p{
    grid-template-columns:92px minmax(0,1fr);
    gap:10px;
    font-size:13px !important;
  }
  .hope-home-builder-card__rows span{
    overflow-wrap:anywhere;
  }
  .hope-front-content > :not(.alignfull):not(.alignwide),
  .hope-front-content > .alignwide{
    width:calc(100% - 28px);
  }
}

.hope-home-builder-hero__title:not(.has-text-color){color:var(--hope-text-dark);}
.hope-home-builder-hero__copy:not(.has-text-color){color:var(--hope-text-body);}

/* Paleta de color disponible en el front y en el editor. */
.has-hope-blue-color{color:#046EB3 !important}
.has-hope-dark-color{color:#0B2F43 !important}
.has-hope-gold-color{color:#EFB61E !important}
.has-hope-soft-color{color:#F3F8FC !important}
.has-white-color{color:#FFFFFF !important}
.has-hope-blue-background-color{background-color:#046EB3 !important}
.has-hope-dark-background-color{background-color:#0B2F43 !important}
.has-hope-gold-background-color{background-color:#EFB61E !important}
.has-hope-soft-background-color{background-color:#F3F8FC !important}
.has-white-background-color{background-color:#FFFFFF !important}

/* -------------------------------------------------------------------------
 * Theme Only 03.8.13 — Home editable ajustada a la referencia en línea
 * -------------------------------------------------------------------------
 * Corrige colores y composición de los patrones nativos del Home para que
 * coincidan con la línea comercial aprobada: métrica azul, CTA azul, botones
 * dorados, texto blanco en franjas institucionales y tarjeta legible.
 */
.hope-front-content{
  background:#fff;
}

.hope-home-builder-hero{
  background:#F3F8FC !important;
  padding:clamp(82px,8vw,124px) max(20px,calc((100vw - 1180px)/2)) !important;
}
.hope-home-builder-hero__title:not(.has-text-color){
  color:#102A3D !important;
}
.hope-home-builder-hero__copy:not(.has-text-color){
  color:#2F4354 !important;
}
.hope-home-builder-hero .hope-kicker{
  color:#046EB3 !important;
}
.hope-home-builder-hero .hope-kicker:before,
.hope-home-builder-hero .hope-kicker::before,
.hope-home-builder-hero .hope-kicker::after{
  background:#EFB61E !important;
}
.hope-home-builder-hero .wp-block-button.hope-button-primary .wp-block-button__link{
  background:#046EB3 !important;
  color:#fff !important;
  border-color:#046EB3 !important;
}
.hope-home-builder-hero .wp-block-button.hope-button-outline .wp-block-button__link{
  background:#fff !important;
  color:#046EB3 !important;
  border-color:#BBD7E8 !important;
}

/* Tarjeta institucional del Hero: evita textos pegados tipo Base legalEcuador. */
.hope-home-builder-card{
  border-left:5px solid #046EB3;
  box-shadow:0 24px 58px rgba(11,47,67,.11) !important;
}
.hope-home-builder-card__rows,
.hope-home-builder-card__rows > .wp-block-group__inner-container{
  width:100% !important;
  border-top:1px solid #DDE6EC;
}
.hope-home-builder-card__rows p,
.hope-home-builder-card__rows > p,
.hope-home-builder-card__rows .wp-block-paragraph{
  display:grid !important;
  grid-template-columns:112px minmax(0,1fr) !important;
  gap:18px !important;
  align-items:start !important;
  margin:0 !important;
  padding:13px 0 !important;
  border-bottom:1px solid #DDE6EC !important;
  color:#697987 !important;
}
.hope-home-builder-card__rows strong{
  display:block !important;
  color:#102A3D !important;
  font-weight:580 !important;
  white-space:nowrap !important;
}
.hope-home-builder-card__rows span{
  display:block !important;
  color:#697987 !important;
  text-align:right !important;
}

/* Métricas como banda azul de la página real. */
.hope-metrics-band,
.hope-metrics-band-blue{
  background:#046EB3 !important;
  color:#fff !important;
  padding-top:clamp(56px,5vw,82px) !important;
  padding-bottom:clamp(50px,4.8vw,76px) !important;
}
.hope-metrics-title{
  color:#fff !important;
  font-size:clamp(28px,3vw,38px) !important;
  line-height:1.18 !important;
  font-weight:620 !important;
  max-width:940px !important;
  margin:0 auto 34px !important;
}
.hope-metrics-band .hope-metrics-grid{
  max-width:980px !important;
  margin:0 auto !important;
  gap:0 !important;
  border-top:1px solid rgba(255,255,255,.22) !important;
  border-bottom:1px solid rgba(255,255,255,.22) !important;
}
.hope-metrics-band .hope-metrics-grid > .wp-block-column{
  background:transparent !important;
  border:0 !important;
  border-right:1px solid rgba(255,255,255,.22) !important;
  border-radius:0 !important;
  box-shadow:none !important;
  padding:28px 34px !important;
  text-align:left !important;
}
.hope-metrics-band .hope-metrics-grid > .wp-block-column:last-child{
  border-right:0 !important;
}
.hope-metrics-band .hope-metric-number{
  color:#EFB61E !important;
  font-size:clamp(28px,3vw,36px) !important;
  font-weight:620 !important;
  margin:0 0 5px !important;
}
.hope-metrics-band .hope-metric-label{
  color:#fff !important;
  opacity:.98;
  font-size:13px !important;
  line-height:1.4 !important;
}

/* Intro en dos columnas como referencia. */
.hope-section-intro-split{
  background:#fff !important;
}
.hope-intro-grid,
.hope-news-heading-grid,
.hope-highlight-grid,
.hope-cta-grid{
  display:grid !important;
  width:100% !important;
  max-width:1180px !important;
  margin:0 auto !important;
  gap:clamp(34px,6vw,74px) !important;
  align-items:center !important;
}
.hope-intro-grid{
  grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr) !important;
}
.hope-news-heading-grid,
.hope-highlight-grid,
.hope-cta-grid{
  grid-template-columns:minmax(0,1fr) minmax(240px,.34fr) !important;
}
.hope-intro-grid > .wp-block-column,
.hope-news-heading-grid > .wp-block-column,
.hope-highlight-grid > .wp-block-column,
.hope-cta-grid > .wp-block-column{
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
}
.hope-inline-link{
  margin-top:10px !important;
}

/* Programas: cards compactas y fondo claro. */
.hope-section-programs{
  background:#F3F8FC !important;
}
.hope-section-programs .hope-card{
  min-height:260px;
  padding:30px 28px 28px !important;
}
.hope-section-programs .hope-card-title{
  font-size:20px !important;
  line-height:1.22 !important;
}
.hope-section-programs .hope-card-text{
  font-size:15px !important;
  line-height:1.62 !important;
}

/* Franja I’m a Champion 1KM como banda azul real. */
.hope-highlight-band,
.hope-highlight-blue,
.hope-cta-final-blue{
  background:#046EB3 !important;
  color:#fff !important;
}
.hope-highlight-band .hope-kicker,
.hope-highlight-band .hope-kicker-light,
.hope-highlight-band .hope-highlight-title,
.hope-highlight-band .hope-highlight-copy,
.hope-highlight-band .hope-gold-text,
.hope-cta-final-blue .hope-kicker,
.hope-cta-final-blue .hope-kicker-light,
.hope-cta-final-blue .hope-cta-title,
.hope-cta-final-blue .hope-cta-copy{
  color:#fff !important;
}
.hope-highlight-band .hope-gold-text,
.hope-highlight-band .hope-gold-text strong{
  color:#EFB61E !important;
}
.hope-highlight-band .hope-highlight-title{
  font-size:clamp(28px,3.1vw,40px) !important;
}
.hope-highlight-band .hope-buttons-right,
.hope-cta-final-blue .hope-buttons-right{
  justify-content:flex-end !important;
}
.hope-button-gold .wp-block-button__link,
.wp-block-button.hope-button-gold .wp-block-button__link{
  background:#EFB61E !important;
  border-color:#EFB61E !important;
  color:#08293A !important;
  border-radius:8px !important;
  font-weight:580 !important;
  padding:14px 22px !important;
}
.hope-button-outline-light .wp-block-button__link,
.wp-block-button.hope-button-outline-light .wp-block-button__link{
  background:transparent !important;
  border-color:rgba(255,255,255,.86) !important;
  color:#fff !important;
  border-radius:8px !important;
  font-weight:580 !important;
  padding:14px 22px !important;
}

/* Alianzas: 6 items en dos filas. */
.hope-section-alliances{
  background:#fff !important;
}
.hope-section-alliances .hope-alliance-grid{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:16px !important;
}
.hope-section-alliances .hope-alliance-card{
  min-height:64px !important;
  justify-content:flex-start !important;
  text-align:left !important;
  border-left:4px solid #EFB61E !important;
  padding:17px 22px !important;
  font-size:14px !important;
}

/* Presencia internacional. */
.hope-section-presence{
  background:#F3F8FC !important;
}
.hope-presence-card{
  box-shadow:none !important;
}

/* Noticias: tarjeta institucional compacta y enlace a la derecha. */
.hope-section-news{
  background:#fff !important;
}
.hope-news-heading-grid{
  align-items:end !important;
}
.hope-news-link{
  text-align:right !important;
}
.hope-news-card{
  max-width:520px !important;
  margin:20px 0 0 !important;
  background:#fff !important;
  border:1px solid #DDE6EC !important;
  border-radius:10px !important;
  padding:30px !important;
  box-shadow:none !important;
}
.hope-news-date{
  color:#697987 !important;
  font-size:13px !important;
  margin:0 0 6px !important;
}

/* CTA final azul como referencia. */
.hope-cta-final-blue{
  text-align:left !important;
}
.hope-cta-final-blue .hope-cta-copy{
  max-width:760px !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
.hope-cta-final-blue .hope-cta-title{
  font-size:clamp(30px,3.4vw,44px) !important;
}

@media(max-width:980px){
  .hope-intro-grid,
  .hope-news-heading-grid,
  .hope-highlight-grid,
  .hope-cta-grid{
    grid-template-columns:1fr !important;
    gap:26px !important;
  }
  .hope-highlight-band .hope-buttons-right,
  .hope-cta-final-blue .hope-buttons-right{
    justify-content:flex-start !important;
  }
}

@media(max-width:720px){
  .hope-metrics-band .hope-metrics-grid,
  .hope-section-programs .hope-card-grid,
  .hope-section-alliances .hope-alliance-grid{
    grid-template-columns:1fr !important;
  }
  .hope-metrics-band .hope-metrics-grid > .wp-block-column{
    border-right:0 !important;
    border-bottom:1px solid rgba(255,255,255,.22) !important;
    text-align:left !important;
  }
  .hope-metrics-band .hope-metrics-grid > .wp-block-column:last-child{
    border-bottom:0 !important;
  }
  .hope-home-builder-card__rows p,
  .hope-home-builder-card__rows > p{
    grid-template-columns:88px minmax(0,1fr) !important;
    gap:12px !important;
    font-size:12px !important;
  }
  .hope-home-builder-card__rows span{
    overflow-wrap:anywhere;
  }
  .hope-news-link{
    text-align:left !important;
  }
  .hope-section .wp-block-button,
  .hope-section .wp-block-button__link{
    width:100% !important;
  }
  .hope-buttons,
  .hope-buttons-left,
  .hope-buttons-right{
    display:grid !important;
    grid-template-columns:1fr !important;
    width:100% !important;
  }
}

/* Theme 03.8.14: refuerzo para tarjeta institucional insertada como patrón. */
.hope-home-builder-card__rows p,
.hope-home-builder-card__rows .wp-block-paragraph{
  display:grid!important;
  grid-template-columns:116px minmax(0,1fr)!important;
  gap:18px!important;
  align-items:start!important;
  margin:0!important;
  padding:13px 0!important;
  border-bottom:1px solid #DDE6EC!important;
}
.hope-home-builder-card__rows strong{
  display:block!important;
  color:#102A3D!important;
  font-size:14px!important;
  line-height:1.45!important;
  font-weight:580!important;
  white-space:normal!important;
}
.hope-home-builder-card__rows span{
  display:block!important;
  color:#697987!important;
  font-size:14px!important;
  line-height:1.45!important;
  text-align:right!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}
@media(max-width:600px){
  .hope-home-builder-card__rows p,
  .hope-home-builder-card__rows .wp-block-paragraph{
    grid-template-columns:92px minmax(0,1fr)!important;
    gap:12px!important;
  }
  .hope-home-builder-card__rows strong,
  .hope-home-builder-card__rows span{font-size:13px!important}
}


/* =========================================================
   Theme Only 03.8.23 — Card institucional y media cards
   ========================================================= */
/* Enfoque tiene un valor más largo: se presenta en dos líneas, sin apretar la card. */
.hope-home-builder-card__rows p:last-child,
.hope-home-builder-card__rows > p:last-child,
.hope-home-builder-card__rows .wp-block-paragraph:last-child{
  display:block!important;
  grid-template-columns:none!important;
  gap:0!important;
}
.hope-home-builder-card__rows p:last-child strong,
.hope-home-builder-card__rows > p:last-child strong,
.hope-home-builder-card__rows .wp-block-paragraph:last-child strong{
  display:block!important;
  margin:0 0 4px!important;
}
.hope-home-builder-card__rows p:last-child span,
.hope-home-builder-card__rows > p:last-child span,
.hope-home-builder-card__rows .wp-block-paragraph:last-child span{
  display:block!important;
  max-width:100%!important;
  text-align:left!important;
}

/* Base reutilizable: imagen editorial a sangre, padding solo para el contenido. */
.hope-card.hope-card--media{
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  padding:0!important;
}
.hope-card.hope-card--media > .wp-block-image,
.hope-card.hope-card--media > figure.wp-block-image,
.hope-card.hope-card--media > .wp-block-cover{
  width:100%!important;
  margin:0!important;
  flex:0 0 auto!important;
  border-radius:0!important;
}
.hope-card.hope-card--media > .wp-block-image img,
.hope-card.hope-card--media > figure.wp-block-image img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:16 / 10!important;
  object-fit:cover!important;
  border-radius:0!important;
}
.hope-card.hope-card--media > .wp-block-cover{
  min-height:0!important;
  aspect-ratio:16 / 10!important;
  padding:0!important;
}
.hope-card.hope-card--media > .wp-block-cover .wp-block-cover__image-background,
.hope-card.hope-card--media > .wp-block-cover .wp-block-cover__background{
  border-radius:0!important;
}
.hope-card.hope-card--media .hope-card__content,
.hope-card.hope-card--media > .wp-block-group:not(.wp-block-cover){
  width:100%!important;
  padding:24px 24px 26px!important;
}
.hope-card.hope-card--media .hope-card__content > :first-child,
.hope-card.hope-card--media > .wp-block-group:not(.wp-block-cover) > :first-child{
  margin-top:0!important;
}
.hope-card.hope-card--media .hope-card__content > :last-child,
.hope-card.hope-card--media > .wp-block-group:not(.wp-block-cover) > :last-child{
  margin-bottom:0!important;
}

/* El bloque imagen + texto recibe fotos amplias y sin marco interior. */
.hope-image-text .wp-block-image,
.hope-image-text figure.wp-block-image{
  width:100%!important;
  margin:0!important;
}
.hope-image-text .wp-block-image img,
.hope-image-text figure.wp-block-image img{
  display:block!important;
  width:100%!important;
  aspect-ratio:4 / 3!important;
  object-fit:cover!important;
  border-radius:14px!important;
}

@media(max-width:720px){
  .hope-card.hope-card--media > .wp-block-image img,
  .hope-card.hope-card--media > figure.wp-block-image img,
  .hope-card.hope-card--media > .wp-block-cover{
    aspect-ratio:4 / 3!important;
  }
  .hope-card.hope-card--media .hope-card__content,
  .hope-card.hope-card--media > .wp-block-group:not(.wp-block-cover){
    padding:22px 22px 24px!important;
  }
}

/* =========================================================
   Theme Only 03.8.26 — Mobile Home Hero Composition Fix
   Source of truth: the editable Gutenberg Home pattern.
   This final mobile rule lives in patterns.css because it is loaded
   after theme.css and therefore wins over prior 03.8.12–03.8.25 rules.
   ========================================================= */
@media (max-width:600px){
  .hope-front-content .hope-home-builder-hero{
    padding:42px 20px 36px!important;
  }
  .hope-front-content .hope-home-builder-hero__grid{
    gap:24px!important;
  }
  .hope-front-content .hope-home-builder-hero .hope-home-builder-hero__title{
    font-size:30px!important;
    line-height:1.08!important;
    letter-spacing:-.026em!important;
    margin:14px 0 16px!important;
    max-width:100%!important;
  }
  .hope-front-content .hope-home-builder-hero .hope-home-builder-hero__copy{
    font-size:16px!important;
    line-height:1.58!important;
    margin:0!important;
    max-width:100%!important;
  }
  .hope-front-content .hope-home-builder-hero .hope-kicker{
    gap:8px!important;
    min-height:16px!important;
  }
  .hope-front-content .hope-home-builder-hero .hope-kicker::before{
    width:28px!important;
    min-width:28px!important;
  }
  .hope-front-content .hope-home-builder-hero .hope-kicker::after{
    content:"H.O.P.E. FOUNDATION"!important;
    background:none!important;
    color:#fff!important;
    font-size:10px!important;
    line-height:1.2!important;
    font-weight:580!important;
    letter-spacing:.09em!important;
    white-space:nowrap!important;
  }
}
