/* RGPro H.O.P.E. Programas Visual 01.0 */
.rgpro-programas-visual,
.rgpro-programas-work,
.rgpro-programas-feature,
.rgpro-programas-cta {
  --rgpro-hope-blue: #046EB3;
  --rgpro-hope-gold: #EFB61E;
  --rgpro-hope-dark: #102A3D;
  --rgpro-hope-body: #2F4354;
  --rgpro-hope-muted: #697987;
  --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;
}
.rgpro-programas-visual *,
.rgpro-programas-work *,
.rgpro-programas-feature *,
.rgpro-programas-cta * { box-sizing:border-box; font-family:var(--rgpro-hope-font) !important; }

.rgpro-programas-visual,
.rgpro-programas-work,
.rgpro-programas-feature,
.rgpro-programas-cta { padding:clamp(48px,6vw,82px) clamp(18px,4vw,42px) !important; }
.rgpro-programas-visual { background:var(--rgpro-hope-light); }
.rgpro-programas-work { background:var(--rgpro-hope-white); }
.rgpro-programas-feature { background:var(--rgpro-hope-light); }
.rgpro-programas-cta { background:var(--rgpro-hope-blue); text-align:center; }
.rgpro-programas-visual > .wp-block-group__inner-container,
.rgpro-programas-work > .wp-block-group__inner-container,
.rgpro-programas-feature > .wp-block-group__inner-container,
.rgpro-programas-cta > .wp-block-group__inner-container { width:min(1180px,100%) !important; margin:0 auto !important; }

.rgpro-programas-visual__kicker,
.rgpro-programas-work__kicker,
.rgpro-programas-feature__kicker,
.rgpro-programas-cta__kicker { color:var(--rgpro-hope-blue) !important; font-size:13px !important; line-height:1.35 !important; letter-spacing:.08em !important; font-weight:580 !important; margin:0 0 12px !important; }
.rgpro-programas-cta__kicker { color:var(--rgpro-hope-white) !important; opacity:.9; }
.rgpro-programas-visual__title,
.rgpro-programas-work__title,
.rgpro-programas-feature__title,
.rgpro-programas-cta__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 14px !important; }
.rgpro-programas-cta__title { color:var(--rgpro-hope-white) !important; max-width:760px; margin-left:auto !important; margin-right:auto !important; }
.rgpro-programas-visual__copy,
.rgpro-programas-work__copy,
.rgpro-programas-feature__copy,
.rgpro-programas-cta__copy { color:var(--rgpro-hope-body) !important; font-size:16px !important; line-height:1.62 !important; font-weight:400 !important; margin:0 0 30px !important; max-width:760px; }
.rgpro-programas-cta__copy { color:var(--rgpro-hope-white) !important; max-width:740px; margin-left:auto !important; margin-right:auto !important; opacity:.95; }

.rgpro-programas-card-grid { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px !important; margin:0 !important; }
.rgpro-programas-card-grid > .wp-block-column { min-width:0; margin:0 !important; }
.rgpro-programas-card { 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; }
.rgpro-programas-card:hover { transform:translateY(-2px); box-shadow:0 16px 32px rgba(16,42,61,.09); }
.rgpro-programas-card__image { display:block; width:100%; aspect-ratio:3/2; margin:0 !important; overflow:hidden; background:var(--rgpro-hope-border); }
.rgpro-programas-card__image img { display:block; width:100% !important; height:100% !important; object-fit:cover; margin:0 !important; transition:transform .35s ease; }
.rgpro-programas-card:hover .rgpro-programas-card__image img { transform:scale(1.025); }
.rgpro-programas-card__body { display:flex; flex:1; flex-direction:column; padding:21px 19px 20px; }
.rgpro-programas-card__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; }
.rgpro-programas-card__label::after { content:""; display:block; width:42px; height:3px; border-radius:999px; background:var(--rgpro-hope-gold); margin-top:10px; }
.rgpro-programas-card__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; }
.rgpro-programas-card__copy { color:var(--rgpro-hope-body) !important; font-size:15px !important; line-height:1.55 !important; margin:0 0 20px !important; }
.rgpro-programas-card__link { margin:auto 0 0 !important; font-size:15px !important; line-height:1.35 !important; font-weight:580 !important; }
.rgpro-programas-card__link a { color:var(--rgpro-hope-blue) !important; text-decoration:none !important; }
.rgpro-programas-card__link a:hover { text-decoration:underline !important; }

.rgpro-programas-work__grid,
.rgpro-programas-feature__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; }
.rgpro-programas-work__grid > .wp-block-column,
.rgpro-programas-feature__grid > .wp-block-column { width:100% !important; min-width:0 !important; margin:0 !important; }
.rgpro-programas-work__image,
.rgpro-programas-feature__image { display:block; width:100%; aspect-ratio:4/3; overflow:hidden; border-radius:18px; margin:0 !important; background:var(--rgpro-hope-border); }
.rgpro-programas-work__image img,
.rgpro-programas-feature__image img { display:block; width:100% !important; height:100% !important; object-fit:cover; margin:0 !important; }
.rgpro-programas-work__list { list-style:none; margin:0 !important; padding:0 !important; color:var(--rgpro-hope-dark) !important; font-size:16px !important; line-height:1.55 !important; font-weight:580 !important; }
.rgpro-programas-work__list li { position:relative; padding-left:20px; margin:0 0 10px !important; }
.rgpro-programas-work__list li::before { content:""; position:absolute; left:0; top:.55em; width:8px; height:8px; border-radius:50%; background:var(--rgpro-hope-gold); }
.rgpro-programas-feature__buttons { margin-top:24px !important; }
.rgpro-programas-feature__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; }

.rgpro-programas-cta__buttons { justify-content:center; gap:14px !important; margin-top:26px !important; }
.rgpro-programas-cta__primary .wp-block-button__link { background:var(--rgpro-hope-gold) !important; color:var(--rgpro-hope-dark) !important; border:1px solid var(--rgpro-hope-gold); border-radius:8px; padding:13px 20px; font-weight:580 !important; }
.rgpro-programas-cta__secondary .wp-block-button__link { background:transparent !important; color:var(--rgpro-hope-white) !important; border:1px solid rgba(255,255,255,.78); border-radius:8px; padding:13px 20px; font-weight:580 !important; }

.rgpro-programas-card__image--missing,
.rgpro-programas-work__image--missing,
.rgpro-programas-feature__image--missing { display:flex; align-items:center; justify-content:center; padding:18px; color:var(--rgpro-hope-body); background:var(--rgpro-hope-border); text-align:center; }

@media (max-width:980px) {
  .rgpro-programas-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px !important; }
}
@media (max-width:680px) {
  .rgpro-programas-visual,
  .rgpro-programas-work,
  .rgpro-programas-feature,
  .rgpro-programas-cta { padding:38px 16px !important; }
  .rgpro-programas-visual__title,
  .rgpro-programas-work__title,
  .rgpro-programas-feature__title,
  .rgpro-programas-cta__title { font-size:29px !important; }
  .rgpro-programas-card-grid,
  .rgpro-programas-work__grid,
  .rgpro-programas-feature__grid { grid-template-columns:1fr !important; gap:18px !important; }
  .rgpro-programas-card__image,
  .rgpro-programas-work__image,
  .rgpro-programas-feature__image { aspect-ratio:4/3; }
  .rgpro-programas-cta__buttons { align-items:stretch; }
  .rgpro-programas-cta__buttons .wp-block-button { width:100%; }
  .rgpro-programas-cta__buttons .wp-block-button__link { width:100%; text-align:center; }
}
