/* RGPro H.O.P.E. Contacto Visual 01.2 */
.rgpro-contacto-visual{
  --rgpro-blue:#046EB3;
  --rgpro-gold:#EFB61E;
  --rgpro-dark:#102A3D;
  --rgpro-body:#2F4354;
  --rgpro-muted:#697987;
  --rgpro-light:#F3F8FC;
  --rgpro-white:#FFFFFF;
  --rgpro-border:#DDE6EC;
  --rgpro-font:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-family:var(--rgpro-font) !important;
}
.rgpro-contacto-visual *,
.rgpro-contacto-visual .wp-block-button__link{
  box-sizing:border-box;
  font-family:var(--rgpro-font) !important;
}
.rgpro-contacto-intro,
.rgpro-contacto-main{
  padding:clamp(42px,5.5vw,72px) clamp(18px,4vw,42px) !important;
}
.rgpro-contacto-intro{background:var(--rgpro-white);padding-bottom:clamp(22px,3vw,36px) !important;}
.rgpro-contacto-main{background:var(--rgpro-light);padding-top:clamp(26px,3.5vw,44px) !important;}
.rgpro-contacto-intro>.wp-block-group__inner-container,
.rgpro-contacto-main>.wp-block-group__inner-container{
  width:min(1180px,100%) !important;
  margin:0 auto !important;
}
.rgpro-contacto-intro__inner{max-width:760px !important;}
.rgpro-contacto-visual__kicker{
  color:var(--rgpro-blue) !important;
  font-size:12px !important;
  line-height:1.4 !important;
  letter-spacing:.08em !important;
  font-weight:580 !important;
  margin:0 0 10px !important;
}
.rgpro-contacto-visual__title{
  color:var(--rgpro-dark) !important;
  font-size:clamp(30px,3vw,42px) !important;
  line-height:1.12 !important;
  font-weight:620 !important;
  margin:0 0 14px !important;
}
.rgpro-contacto-visual__copy{
  color:var(--rgpro-body) !important;
  font-size:16px !important;
  line-height:1.62 !important;
  font-weight:400 !important;
  max-width:720px !important;
  margin:0 !important;
}
.rgpro-contacto-main__grid{
  display:grid !important;
  grid-template-columns:minmax(0,1.18fr) minmax(300px,.82fr);
  gap:clamp(24px,4vw,54px) !important;
  align-items:start !important;
  margin:0 !important;
}
.rgpro-contacto-main__grid>.wp-block-column{
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
}
.rgpro-contacto-form-shell{
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
.rgpro-contacto-form-shell form{
  max-width:none !important;
  margin:0 !important;
}
.rgpro-contacto-form-shell input:not([type="checkbox"]),
.rgpro-contacto-form-shell select,
.rgpro-contacto-form-shell textarea{
  box-sizing:border-box !important;
  max-width:100% !important;
}
.rgpro-contacto-form-shell textarea{min-height:150px !important;}

/* Card institucional clara, basada en el lenguaje visual de la card del Home. */
.rgpro-contacto-card{
  height:100%;
  padding:clamp(24px,3vw,32px) !important;
  background:var(--rgpro-white) !important;
  border:1px solid var(--rgpro-border) !important;
  border-top:4px solid var(--rgpro-blue) !important;
  border-radius:16px !important;
  box-shadow:0 12px 30px rgba(16,42,61,.055) !important;
}
.rgpro-contacto-card .wp-block-site-logo{margin:0 0 14px !important;}
.rgpro-contacto-card .wp-block-site-logo img{
  display:block !important;
  width:64px !important;
  height:auto !important;
  border-radius:11px !important;
}
.rgpro-contacto-card__title{
  color:var(--rgpro-dark) !important;
  font-size:25px !important;
  line-height:1.18 !important;
  font-weight:620 !important;
  margin:0 0 5px !important;
}
.rgpro-contacto-card__tagline{
  color:var(--rgpro-muted) !important;
  font-size:14px !important;
  line-height:1.5 !important;
  font-weight:400 !important;
  margin:0 0 18px !important;
}
.rgpro-contacto-card__row{
  padding:13px 0 !important;
  border-top:1px solid var(--rgpro-border) !important;
}
.rgpro-contacto-card__row p{
  color:var(--rgpro-body) !important;
  font-size:15px !important;
  line-height:1.58 !important;
  font-weight:400 !important;
  margin:0 !important;
}
.rgpro-contacto-card__row strong{
  color:var(--rgpro-dark) !important;
  font-weight:580 !important;
}
.rgpro-contacto-card__row a{
  color:var(--rgpro-blue) !important;
  text-decoration:none !important;
  overflow-wrap:anywhere !important;
}
.rgpro-contacto-card__row a:hover{text-decoration:underline !important;}
.rgpro-contacto-card__social-label{
  color:var(--rgpro-dark) !important;
  font-size:12px !important;
  line-height:1.4 !important;
  letter-spacing:.08em !important;
  font-weight:580 !important;
  margin:20px 0 10px !important;
}
.rgpro-contacto-card__socials{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px !important;
  margin:0 !important;
}
.rgpro-contacto-card__socials .wp-block-button{width:100% !important;margin:0 !important;}
.rgpro-contacto-card__social-button .wp-block-button__link{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-height:39px !important;
  background:transparent !important;
  color:var(--rgpro-blue) !important;
  border:1px solid rgba(4,110,179,.38) !important;
  border-radius:7px !important;
  padding:8px 10px !important;
  font-size:13px !important;
  line-height:1.15 !important;
  font-weight:580 !important;
  text-decoration:none !important;
}
.rgpro-contacto-card__social-button .wp-block-button__link:hover{
  background:var(--rgpro-blue) !important;
  color:var(--rgpro-white) !important;
  -webkit-text-fill-color:var(--rgpro-white) !important;
  border-color:var(--rgpro-blue) !important;
}

/* Theme Only aplica texto blanco a todo .wp-block-button__link con !important.
   Esta regla debe tener más especificidad para que las redes se lean sobre fondo claro. */
.rgpro-hope-theme-only .rgpro-contacto-visual .rgpro-contacto-card .rgpro-contacto-card__social-button .wp-block-button__link,
.rgpro-contacto-visual .rgpro-contacto-card .rgpro-contacto-card__social-button .wp-block-button__link{
  background:#FFFFFF !important;
  color:#046EB3 !important;
  -webkit-text-fill-color:#046EB3 !important;
  border:1px solid rgba(4,110,179,.42) !important;
  margin:0 !important;
  opacity:1 !important;
  text-shadow:none !important;
}
.rgpro-hope-theme-only .rgpro-contacto-visual .rgpro-contacto-card .rgpro-contacto-card__social-button .wp-block-button__link:hover,
.rgpro-contacto-visual .rgpro-contacto-card .rgpro-contacto-card__social-button .wp-block-button__link:hover{
  background:#046EB3 !important;
  color:#FFFFFF !important;
  -webkit-text-fill-color:#FFFFFF !important;
  border-color:#046EB3 !important;
}

@media (max-width:780px){
  .rgpro-contacto-intro,
  .rgpro-contacto-main{padding:36px 16px !important;}
  .rgpro-contacto-intro{padding-bottom:22px !important;}
  .rgpro-contacto-main{padding-top:22px !important;}
  .rgpro-contacto-main__grid{grid-template-columns:1fr !important;gap:22px !important;}
  .rgpro-contacto-visual__title{font-size:29px !important;}
  .rgpro-contacto-card{padding:24px 20px !important;}
  .rgpro-contacto-card__social-button .wp-block-button__link{font-size:13px !important;padding:8px !important;}
}
