/* RGPro H.O.P.E. Home Visual 01.1
   Scoped styles for the editable sections created by the plugin. */

.hope-section-programs--media,
.hope-home-story,
.hope-home-impact,
.hope-home-gallery {
  --rgpro-hope-blue: #046EB3;
  --rgpro-hope-gold: #EFB61E;
  --rgpro-hope-dark: #102A3D;
  --rgpro-hope-body: #2F4354;
  --rgpro-hope-light: #F3F8FC;
  --rgpro-hope-white: #FFFFFF;
  --rgpro-hope-border: #DDE6EC;
  --rgpro-hope-font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-family: var(--rgpro-hope-font) !important;
}

.hope-section-programs--media *,
.hope-home-story *,
.hope-home-impact *,
.hope-home-gallery * {
  box-sizing: border-box;
  font-family: var(--rgpro-hope-font) !important;
}

/* Program cards ---------------------------------------------------------- */
.hope-section-programs--media {
  background: var(--rgpro-hope-light);
  padding: clamp(44px, 6vw, 72px) clamp(18px, 4vw, 42px) !important;
}
.hope-section-programs--media > .wp-block-group__inner-container {
  width: min(1180px, 100%) !important;
  margin: 0 auto !important;
}
.hope-section-programs--media .hope-kicker,
.hope-home-story__kicker,
.hope-home-impact__kicker,
.hope-home-gallery__kicker {
  color: var(--rgpro-hope-blue) !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase;
  font-weight: 580 !important;
  margin: 0 0 12px !important;
}
.hope-section-programs--media .hope-section-title,
.hope-home-story__title,
.hope-home-impact__title,
.hope-home-gallery__title {
  color: var(--rgpro-hope-dark) !important;
  font-size: clamp(29px, 3vw, 42px) !important;
  line-height: 1.12 !important;
  font-weight: 620 !important;
  margin: 0 0 12px !important;
}
.hope-section-programs--media .hope-section-copy,
.hope-home-story__copy,
.hope-home-impact__copy,
.hope-home-gallery__copy {
  color: var(--rgpro-hope-body) !important;
  font-size: 16px !important;
  line-height: 1.62 !important;
  font-weight: 400 !important;
  margin: 0 0 28px !important;
  max-width: 760px;
}
.hope-section-programs--media .hope-program-card-media-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px !important;
  margin: 0 !important;
}
.hope-section-programs--media .hope-program-card-media-grid > .wp-block-column {
  min-width: 0;
  margin: 0 !important;
}
.hope-program-card-media {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  background: var(--rgpro-hope-white);
  border: 1px solid var(--rgpro-hope-border);
  border-radius: 16px;
  box-shadow: 0 10px 26px rgba(16, 42, 61, .055);
  transition: transform .2s ease, box-shadow .2s ease;
}
.hope-program-card-media:hover { transform: translateY(-2px); box-shadow: 0 16px 32px rgba(16, 42, 61, .09); }
.hope-program-card-media__image { display:block; width:100%; aspect-ratio:3/2; margin:0 !important; overflow:hidden; background:#DDE6EC; }
.hope-program-card-media__image img { display:block; width:100% !important; height:100% !important; object-fit:cover; margin:0 !important; transition:transform .35s ease; }
.hope-program-card-media:hover .hope-program-card-media__image img { transform:scale(1.025); }
.hope-program-card-media__image--missing,
.hope-home-story__image--missing,
.hope-home-impact__image--missing,
.hope-home-gallery__image--missing { display:flex; align-items:center; justify-content:center; padding:18px; color:var(--rgpro-hope-body); background:#DDE6EC; text-align:center; }
.hope-program-card-media__body { display:flex; flex:1; flex-direction:column; padding:21px 19px 20px; }
.hope-program-card-media__label { color:var(--rgpro-hope-body) !important; font-size:13px !important; line-height:1.35 !important; font-weight:580 !important; margin:0 0 10px !important; }
.hope-program-card-media__label::after { content:""; display:block; width:42px; height:3px; border-radius:999px; background:var(--rgpro-hope-gold); margin-top:10px; }
.hope-program-card-media__title { color:var(--rgpro-hope-dark) !important; font-size:clamp(20px,1.7vw,24px) !important; line-height:1.2 !important; font-weight:620 !important; margin:0 0 11px !important; }
.hope-program-card-media__text { color:var(--rgpro-hope-body) !important; font-size:15px !important; line-height:1.55 !important; font-weight:400 !important; margin:0 0 20px !important; }
.hope-program-card-media__link { margin:auto 0 0 !important; font-size:15px !important; line-height:1.35 !important; font-weight:580 !important; }
.hope-program-card-media__link a { color:var(--rgpro-hope-blue) !important; text-decoration:none !important; }
.hope-program-card-media__link a:hover { text-decoration:underline !important; }

/* Human story ------------------------------------------------------------ */
.hope-home-story,
.hope-home-impact,
.hope-home-gallery {
  padding: clamp(48px, 6vw, 82px) clamp(18px, 4vw, 42px) !important;
}
.hope-home-story { background:var(--rgpro-hope-white); }
.hope-home-impact { background:var(--rgpro-hope-light); }
.hope-home-gallery { background:var(--rgpro-hope-white); }
.hope-home-story > .wp-block-group__inner-container,
.hope-home-impact > .wp-block-group__inner-container,
.hope-home-gallery > .wp-block-group__inner-container { width:min(1180px,100%) !important; margin:0 auto !important; }
.hope-home-story__grid,
.hope-home-impact__grid { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(28px,5vw,68px) !important; margin:0 !important; align-items:center !important; }
.hope-home-story__grid > .wp-block-column,
.hope-home-impact__grid > .wp-block-column { width:100% !important; min-width:0 !important; max-width:none !important; margin:0 !important; }
.hope-home-story__image,
.hope-home-impact__image { display:block; margin:0 !important; width:100%; aspect-ratio:4/3; overflow:hidden; border-radius:18px; background:#DDE6EC; }
.hope-home-story__image img,
.hope-home-impact__image img { display:block; width:100% !important; height:100% !important; object-fit:cover; margin:0 !important; }
.hope-home-story__buttons,
.hope-home-impact__buttons { margin-top:24px !important; }
.hope-home-story__button .wp-block-button__link,
.hope-home-impact__button .wp-block-button__link { background:var(--rgpro-hope-blue) !important; color:var(--rgpro-hope-white) !important; border:1px solid var(--rgpro-hope-blue); border-radius:8px; padding:13px 20px; font-weight:580 !important; }
.hope-home-impact__list { list-style:none; margin:0 0 24px !important; padding:0 !important; color:var(--rgpro-hope-dark) !important; font-size:16px !important; line-height:1.55 !important; font-weight:580 !important; }
.hope-home-impact__list li { position:relative; padding-left:20px; margin:0 0 10px !important; }
.hope-home-impact__list li::before { content:""; position:absolute; left:0; top:.55em; width:8px; height:8px; border-radius:50%; background:var(--rgpro-hope-gold); }

/* Community gallery ------------------------------------------------------ */
.hope-home-gallery__grid { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px !important; margin:30px 0 0 !important; }
.hope-home-gallery__grid > .wp-block-column { width:100% !important; min-width:0 !important; margin:0 !important; }
.hope-home-gallery__image { display:block; width:100%; aspect-ratio:5/4; overflow:hidden; border-radius:16px; margin:0 !important; background:#DDE6EC; }
.hope-home-gallery__image img { display:block; width:100% !important; height:100% !important; object-fit:cover; margin:0 !important; }

@media (max-width: 980px) {
  .hope-section-programs--media .hope-program-card-media-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px !important; }
}
@media (max-width: 680px) {
  .hope-section-programs--media,
  .hope-home-story,
  .hope-home-impact,
  .hope-home-gallery { padding:38px 16px !important; }
  .hope-section-programs--media .hope-section-title,
  .hope-home-story__title,
  .hope-home-impact__title,
  .hope-home-gallery__title { font-size:29px !important; }
  .hope-section-programs--media .hope-program-card-media-grid,
  .hope-home-story__grid,
  .hope-home-impact__grid,
  .hope-home-gallery__grid { grid-template-columns:1fr !important; gap:18px !important; }
  .hope-program-card-media__image { aspect-ratio:4/3; }
  .hope-home-story__image,
  .hope-home-impact__image { aspect-ratio:4/3; }
  .hope-home-gallery__image { aspect-ratio:4/3; }
}
