/* Inmobiliaria Valles — Internal Public Pages v2
   Shared visual language for Nosotros, Contacto, Simulador, Vender y Guías. */

:root{
  --ivp-navy:#0b315c;
  --ivp-navy-dark:#071d3c;
  --ivp-blue:#0875cf;
  --ivp-blue-soft:#eef6ff;
  --ivp-bg:#f6f9fc;
  --ivp-line:#dce7f1;
  --ivp-text:#173651;
  --ivp-muted:#60778d;
  --ivp-radius:14px;
  --ivp-shadow:0 12px 30px rgba(14,52,88,.08);
  --ivp-max:1180px;
}

body.iv-view-nosotros,
body.iv-view-contacto,
body.iv-view-simulador-hipotecario,
body.lp,
body:has(.guidesMain){
  background:var(--ivp-bg);
  color:var(--ivp-text);
}

body.iv-view-nosotros main,
body.iv-view-contacto main,
body.iv-view-simulador-hipotecario main,
body.lp main,
.guidesMain{
  background:var(--ivp-bg);
}

body.iv-view-nosotros h1,body.iv-view-nosotros h2,
body.iv-view-contacto h1,body.iv-view-contacto h2,
body.iv-view-simulador-hipotecario h1,body.iv-view-simulador-hipotecario h2,
body.lp h1,body.lp h2,
.guidesMain h1,.guidesMain h2{
  font-family:Georgia,"Times New Roman",serif;
  letter-spacing:-.025em;
}

body.iv-view-nosotros small,
body.iv-view-contacto small,
body.iv-view-simulador-hipotecario small,
body.lp .ey,
body.lp .center>small,
.guidesEy{
  font-size:10px!important;
  font-weight:900!important;
  letter-spacing:.16em!important;
  text-transform:uppercase;
  color:var(--ivp-blue)!important;
}

body.iv-view-nosotros .btn,
body.iv-view-contacto .btn,
body.iv-view-simulador-hipotecario .btn,
body.lp .lpSubmit,
body.lp .lpCta a,
.guidesMain .guideCta a{
  min-height:44px;
  border-radius:8px!important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:850!important;
}

/* ===== NOSOTROS ===== */
body.iv-view-nosotros #nosotros.aboutVisual{
  padding:0 0 52px!important;
  background:var(--ivp-bg)!important;
}
body.iv-view-nosotros #nosotros.aboutVisual>.container{
  width:100%!important;
  max-width:none!important;
  padding:0!important;
}
body.iv-view-nosotros .aboutHeroVisual{
  min-height:315px!important;
  margin:0 0 -24px!important;
  background:
    linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.90) 34%,rgba(255,255,255,.34) 58%,rgba(7,29,60,.08) 100%),
    url('https://images.unsplash.com/photo-1600607687920-4e2a09cf159d?auto=format&fit=crop&w=2200&q=90') 76% 52%/cover no-repeat!important;
}
body.iv-view-nosotros .aboutHeroVisual:after{display:none!important}
body.iv-view-nosotros .aboutHeroCopy{
  width:min(var(--ivp-max),86%)!important;
  margin:0 auto!important;
  padding:52px 0 68px!important;
}
body.iv-view-nosotros .aboutHeroCopy h2{
  max-width:690px!important;
  margin:8px 0 12px!important;
  color:var(--ivp-navy-dark)!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(38px,3.7vw,50px)!important;
  line-height:1.02!important;
  letter-spacing:-.03em!important;
}
body.iv-view-nosotros .aboutHeroCopy p{
  max-width:620px!important;
  margin:0 0 18px!important;
  color:#42627f!important;
  font-size:15px!important;
  line-height:1.55!important;
}
body.iv-view-nosotros .aboutBenefits{gap:8px!important}
body.iv-view-nosotros .aboutBenefits span{
  padding:7px 11px!important;
  border-radius:999px!important;
  border:1px solid var(--ivp-line)!important;
  background:rgba(255,255,255,.96)!important;
  color:#244a6c!important;
  font-size:11px!important;
  box-shadow:none!important;
}
body.iv-view-nosotros .missionVisionGrid,
body.iv-view-nosotros .servicesTitle,
body.iv-view-nosotros .visualServices,
body.iv-view-nosotros .servicesExperience{
  width:min(var(--ivp-max),86%)!important;
}
body.iv-view-nosotros .missionVisionGrid{
  gap:16px!important;
  margin-bottom:38px!important;
}
body.iv-view-nosotros .mvCard{
  min-height:190px!important;
  border:1px solid var(--ivp-line)!important;
  border-radius:var(--ivp-radius)!important;
  box-shadow:var(--ivp-shadow)!important;
}
body.iv-view-nosotros .mvCopy{padding:23px!important}
body.iv-view-nosotros .mvCopy h3{
  margin:6px 0 10px!important;
  color:var(--ivp-navy)!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:23px!important;
  line-height:1.08!important;
}
body.iv-view-nosotros .mvCopy p{
  color:var(--ivp-muted)!important;
  font-size:13px!important;
}
body.iv-view-nosotros .servicesTitle{margin-bottom:16px!important}
body.iv-view-nosotros .servicesTitle h2{
  margin:5px 0!important;
  color:var(--ivp-navy-dark)!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:34px!important;
}
body.iv-view-nosotros .visualServices{gap:14px!important}
body.iv-view-nosotros .servicePhotoCard{
  border:1px solid var(--ivp-line)!important;
  border-radius:var(--ivp-radius)!important;
  box-shadow:0 8px 22px rgba(14,52,88,.06)!important;
  overflow:hidden!important;
}
body.iv-view-nosotros .servicePhotoCard b{font-size:15px!important;color:var(--ivp-navy)!important}
body.iv-view-nosotros .servicePhotoCard p{font-size:12px!important;line-height:1.5!important;color:var(--ivp-muted)!important}
body.iv-view-nosotros .servicesExperience{
  margin-top:20px!important;
  padding:18px 22px!important;
  border:1px solid var(--ivp-line)!important;
  border-radius:var(--ivp-radius)!important;
  background:#fff!important;
  box-shadow:none!important;
}

/* ===== CONTACTO ===== */
body.iv-view-contacto #contacto.contactFinal{
  padding:52px 0 60px!important;
  background:var(--ivp-bg)!important;
  border-top:0!important;
}
body.iv-view-contacto .contactFinalBox{
  width:min(var(--ivp-max),86%)!important;
  grid-template-columns:minmax(0,1.05fr) minmax(350px,.75fr)!important;
  gap:40px!important;
}
body.iv-view-contacto .contactFinalCopy small{margin-bottom:9px!important}
body.iv-view-contacto .contactFinalCopy h2{
  max-width:620px!important;
  margin:0 0 14px!important;
  color:var(--ivp-navy-dark)!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(38px,3.7vw,48px)!important;
  line-height:1.03!important;
}
body.iv-view-contacto .contactFinalCopy p{
  max-width:610px!important;
  margin:0 0 20px!important;
  color:var(--ivp-muted)!important;
  font-size:15px!important;
  line-height:1.6!important;
}
body.iv-view-contacto .contactTrust{gap:10px 18px!important;font-size:12px!important}
body.iv-view-contacto .contactTrust b{width:21px!important;height:21px!important}
body.iv-view-contacto .contactFinalCard{
  padding:24px!important;
  border:1px solid var(--ivp-line)!important;
  border-radius:var(--ivp-radius)!important;
  box-shadow:var(--ivp-shadow)!important;
}
body.iv-view-contacto .contactFinalCard h3{
  margin:0 0 6px!important;
  color:var(--ivp-navy-dark)!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:25px!important;
}
body.iv-view-contacto .contactFinalCard>p{font-size:13px!important;margin-bottom:16px!important}
body.iv-view-contacto .contactWa,
body.iv-view-contacto .socialContact{
  border-radius:9px!important;
  padding:11px 13px!important;
}
body.iv-view-contacto .contactSocialGrid{gap:8px!important}

/* ===== SIMULADOR ===== */
body.iv-view-simulador-hipotecario #simulador-hipotecario{
  padding:34px 0 60px!important;
  background:var(--ivp-bg)!important;
}
body.iv-view-simulador-hipotecario .mortgageShowcase{
  width:min(var(--ivp-max),86%)!important;
  min-height:360px!important;
  margin:0 auto!important;
  grid-template-columns:1fr 1fr!important;
  overflow:hidden!important;
  border:1px solid var(--ivp-line)!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:var(--ivp-shadow)!important;
}
body.iv-view-simulador-hipotecario .mortgageShowcaseCopy{
  padding:38px 34px!important;
  background:#fff!important;
}
body.iv-view-simulador-hipotecario .mortgageShowcaseCopy>span{
  font-size:10px!important;
  letter-spacing:.16em!important;
}
body.iv-view-simulador-hipotecario .mortgageShowcaseCopy h2{
  margin:8px 0 14px!important;
  color:var(--ivp-navy-dark)!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:48px!important;
  line-height:1!important;
}
body.iv-view-simulador-hipotecario .mortgageShowcaseCopy>p{
  max-width:510px!important;
  color:var(--ivp-muted)!important;
  font-size:14.5px!important;
  line-height:1.55!important;
}
body.iv-view-simulador-hipotecario .mortgageBenefits{
  max-width:520px!important;
  gap:14px 20px!important;
  margin-top:18px!important;
}
body.iv-view-simulador-hipotecario .mortgageBenefits b{
  color:#294a67!important;
  font-size:12.5px!important;
}
body.iv-view-simulador-hipotecario .mbIcon{
  width:42px!important;height:42px!important;min-width:42px!important;
  background:var(--ivp-blue-soft)!important;
}
body.iv-view-simulador-hipotecario .mbIcon svg{width:22px!important;height:22px!important}
body.iv-view-simulador-hipotecario .mortgageShowcasePhoto:after{
  background:linear-gradient(90deg,rgba(255,255,255,.40),rgba(255,255,255,0) 35%)!important;
}
body.iv-view-simulador-hipotecario #simulador-hipotecario>div[data-mortgage-simulator]{
  width:min(var(--ivp-max),86%)!important;
  margin:22px auto 0!important;
}

/* ===== VENDER ===== */
body.lp .lpWrap{
  width:min(var(--ivp-max),86%)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body.lp .lpHero{
  padding:50px 0!important;
  background:
    linear-gradient(90deg,rgba(255,255,255,.98),rgba(255,255,255,.93) 45%,rgba(255,255,255,.34)),
    linear-gradient(135deg,#eef6ff,#fff)!important;
}
body.lp .lpGrid{
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.78fr)!important;
  gap:40px!important;
}
body.lp h1{
  max-width:670px!important;
  margin:9px 0 16px!important;
  color:var(--ivp-navy-dark)!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(40px,4vw,52px)!important;
  line-height:1.02!important;
}
body.lp .lead{
  max-width:630px!important;
  color:var(--ivp-muted)!important;
  font-size:16px!important;
  line-height:1.58!important;
}
body.lp .ticks{gap:10px!important;margin:20px 0!important}
body.lp .ticks span{font-size:13px!important;color:#294a67!important}
body.lp .lpForm{
  padding:24px!important;
  border:1px solid var(--ivp-line)!important;
  border-radius:var(--ivp-radius)!important;
  box-shadow:var(--ivp-shadow)!important;
}
body.lp .lpForm h2{
  margin:5px 0 7px!important;
  color:var(--ivp-navy-dark)!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:26px!important;
}
body.lp .lpForm>p{font-size:13px!important}
body.lp .fgrid{gap:11px!important}
body.lp .fgrid input,body.lp .fgrid select,body.lp .fgrid textarea{
  padding:11px 12px!important;
  border-radius:8px!important;
  border-color:#ccdbea!important;
}
body.lp .lpSubmit{padding:0 18px!important;background:var(--ivp-blue)!important}
body.lp .lpBand{padding:18px 0!important;background:var(--ivp-navy)!important}
body.lp .lpBandGrid{gap:18px!important}
body.lp .lpBandGrid strong{font-size:13px!important}
body.lp .lpBandGrid small{font-size:11px!important}
body.lp .lpSection{padding:52px 0!important}
body.lp .center{max-width:700px!important;margin-bottom:28px!important}
body.lp .center h2,body.lp .why h2{
  margin:6px 0 10px!important;
  color:var(--ivp-navy-dark)!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:34px!important;
  line-height:1.05!important;
}
body.lp .center p,body.lp .why p{font-size:14px!important;color:var(--ivp-muted)!important}
body.lp .steps{gap:14px!important}
body.lp .step,
body.lp .whyCard{
  border:1px solid var(--ivp-line)!important;
  border-radius:var(--ivp-radius)!important;
  box-shadow:none!important;
}
body.lp .step{padding:20px!important}
body.lp .step h3{margin:13px 0 6px!important;font-size:16px!important;color:var(--ivp-navy)!important}
body.lp .step p{font-size:12.5px!important}
body.lp .why{background:#f0f5fa!important}
body.lp .whyGrid{gap:34px!important}
body.lp .whyCard{padding:16px!important}
body.lp .lpCta{padding:46px 0!important;background:linear-gradient(135deg,#0753a6,var(--ivp-navy-dark))!important}
body.lp .lpCta h2{
  margin:0 0 9px!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:34px!important;
}
body.lp .lpCta p{font-size:14px!important}
body.lp .isrCalc{padding:52px 0!important;background:var(--ivp-bg)!important}
body.lp .isrCard,
body.lp .isrApprovedForm,
body.lp .isrApprovedResult{
  border-radius:var(--ivp-radius)!important;
  border-color:var(--ivp-line)!important;
  box-shadow:var(--ivp-shadow)!important;
}

/* ===== GUÍAS ===== */
.guidesMain{min-height:calc(100vh - 180px)!important}
.guidesMain .guidesWrap{width:min(var(--ivp-max),86%)!important}
.guidesMain .guidesHero{
  min-height:300px!important;
  padding:46px 0!important;
  display:flex!important;
  align-items:center!important;
  border-bottom:1px solid var(--ivp-line)!important;
  background-image:
    linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.91) 39%,rgba(255,255,255,.22) 68%),
    url('https://images.unsplash.com/photo-1560518883-ce09059eeffa?auto=format&fit=crop&w=1800&q=88')!important;
  background-size:cover!important;
  background-position:center!important;
}
.guidesMain .guidesHero h1{
  max-width:650px!important;
  margin:8px 0 12px!important;
  color:var(--ivp-navy-dark)!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(40px,4vw,50px)!important;
  line-height:1.02!important;
}
.guidesMain .guidesHero p{
  max-width:590px!important;
  margin:0!important;
  color:var(--ivp-muted)!important;
  font-size:15px!important;
  line-height:1.58!important;
}
.guidesMain .guidesContent{padding:40px 0 56px!important}
.guidesMain .guidesGrid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
}
.guidesMain .guideCard{
  padding:0!important;
  overflow:hidden!important;
  border:1px solid var(--ivp-line)!important;
  border-radius:var(--ivp-radius)!important;
  background:#fff!important;
  box-shadow:0 8px 22px rgba(14,52,88,.06)!important;
  transition:transform .18s ease,box-shadow .18s ease!important;
}
.guidesMain .guideCard:hover{
  transform:translateY(-3px)!important;
  box-shadow:0 14px 30px rgba(14,52,88,.10)!important;
}
.guidesMain .guideImage{height:145px!important}
.guidesMain .guideCopy{padding:18px!important}
.guidesMain .guideCard b{
  margin-bottom:7px!important;
  color:var(--ivp-navy)!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:19px!important;
  line-height:1.12!important;
}
.guidesMain .guideCard span{
  color:var(--ivp-muted)!important;
  font-size:12.5px!important;
  line-height:1.5!important;
}
.guidesMain .guideCta{
  margin-top:26px!important;
  padding:26px!important;
  border-radius:var(--ivp-radius)!important;
  background:var(--ivp-navy)!important;
}
.guidesMain .guideCta h2{
  margin:0 0 8px!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:30px!important;
}
.guidesMain .guideCta p{font-size:13px!important}
.guidesMain .guideCta a{padding:0 17px!important}

/* ===== Responsive ===== */
@media(max-width:980px){
  body.iv-view-nosotros .missionVisionGrid{grid-template-columns:1fr!important}
  body.iv-view-nosotros .visualServices{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.iv-view-contacto .contactFinalBox{grid-template-columns:1fr!important}
  body.iv-view-simulador-hipotecario .mortgageShowcase{grid-template-columns:1fr!important}
  body.iv-view-simulador-hipotecario .mortgageShowcasePhoto{min-height:250px!important}
  body.lp .lpGrid,body.lp .whyGrid{grid-template-columns:1fr!important}
  body.lp .steps{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .guidesMain .guidesGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:640px){
  body.iv-view-nosotros .aboutHeroCopy,
  body.iv-view-nosotros .missionVisionGrid,
  body.iv-view-nosotros .servicesTitle,
  body.iv-view-nosotros .visualServices,
  body.iv-view-nosotros .servicesExperience,
  body.iv-view-contacto .contactFinalBox,
  body.iv-view-simulador-hipotecario .mortgageShowcase,
  body.iv-view-simulador-hipotecario #simulador-hipotecario>div[data-mortgage-simulator],
  body.lp .lpWrap,
  .guidesMain .guidesWrap{
    width:92%!important;
  }
  body.iv-view-nosotros .aboutHeroCopy h2,
  body.iv-view-contacto .contactFinalCopy h2,
  body.iv-view-simulador-hipotecario .mortgageShowcaseCopy h2,
  body.lp h1,
  .guidesMain .guidesHero h1{
    font-size:36px!important;
  }
  body.iv-view-nosotros .visualServices,
  body.lp .steps,
  body.lp .whyCards,
  .guidesMain .guidesGrid{grid-template-columns:1fr!important}
  body.iv-view-simulador-hipotecario .mortgageShowcaseCopy{padding:28px 22px!important}
  body.lp .lpHero{padding:38px 0!important}
  .guidesMain .guidesHero{min-height:260px!important;padding:36px 0!important}
}
