/* IpoTeco 3.8.1: visual fidelity for the Credit Ipotecar Elementor page only.
 * The homepage, existing Lora typography and other pages are deliberately untouched.
 * All content and bank/calculator controls remain Elementor editable. */

/* Local page-level opt-out of the persistent Lora plugin (whose declaration uses !important).
 * This selector has an extra class over html body * from the MU-plugin; no icon fonts
 * are replaced, and pages without .ipxm-page-root continue to use Lora. */
html body .ipxm-page-root .ipxm,
html body .ipxm-page-root .ipxm *:not(svg):not(svg *):not(i):not([class^="fa-"]):not([class*=" fa-"]):not([class^="eicon-"]):not([class*=" eicon-"]):not([class^="dashicons"]):not([data-icon]) {
  font-family:"Inter","Arial",sans-serif!important;
}
html body .ipxm-page-root .ipxm :is(h1,h2,h3),
html body .ipxm-page-root .ipxm :is(.ipxm-label) {
  font-family:"Inter Display","Inter","Arial",sans-serif!important;
}

/* Keep all eight independent sections full-width even if a WordPress/Elementor
 * container has an inherited boxed max-width. The centered translation is key:
 * plain width:100% inside the container is what caused enormous desktop margins. */
.ipxm-page-root {width:100%!important;max-width:none!important;gap:0!important;overflow:visible!important}
.ipxm-page-root > .elementor-element {min-width:0;max-width:none!important}
.ipxm-page-root > .elementor-widget-ipx_header,
.ipxm-page-root > .elementor-widget-ipx_footer,
.ipxm-page-root > .elementor-widget-ipxm_hero,
.ipxm-page-root > .elementor-widget-ipxm_benefits,
.ipxm-page-root > .elementor-widget-ipxm_steps,
.ipxm-page-root > .elementor-widget-ipxm_transparency,
.ipxm-page-root > .elementor-widget-ipxm_offers,
.ipxm-page-root > .elementor-widget-ipxm_documents,
.ipxm-page-root > .elementor-widget-ipxm_faq,
.ipxm-page-root > .elementor-widget-ipxm_cta {
  width:100vw!important;
  max-width:100vw!important;
  position:relative;
  left:50%;
  transform:translateX(-50%);
  margin-inline:0!important;
  flex-shrink:0;
}
.ipxm-page-root .ipxm{line-height:1.4}
.ipxm-page-root .ipxm h1,.ipxm-page-root .ipxm h2,.ipxm-page-root .ipxm h3{letter-spacing:-.045em}
.ipxm-page-root .ipxm h2{font-weight:800}
.ipxm-page-root .ipxm-label{font-weight:800;letter-spacing:.035em}

/* The reference hero has a strong headline, continuous photography and a live
 * floating calculator. The desktop image is now photo-only, with no baked UI. */
.ipxm-page-root .ipxm-hero{height:351px;min-height:351px;background:#f7fcfa}
.ipxm-page-root .ipxm-hero-media{inset:0 0 0 33%}
.ipxm-page-root .ipxm-hero-photo{object-position:50% 51%}
.ipxm-page-root .ipxm-hero-gradient{
  background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.99) 24%,rgba(255,255,255,.91) 33%,rgba(255,255,255,.61) 42%,rgba(255,255,255,.06) 53%,transparent 68%);
}
/* Remove the artificial white bar used to hide the old image's baked-in form. */
.ipxm-page-root .ipxm-original-screenshot-photo::after{display:none!important}
.ipxm-page-root .ipxm-hero-copy{top:25px;left:8%;width:445px;max-width:44%}
.ipxm-page-root .ipxm-hero-title{
  font-size:46px!important;line-height:1.045!important;letter-spacing:-.058em!important;
  margin-top:13px!important;margin-bottom:12px!important;font-weight:850!important;
}
.ipxm-page-root .ipxm-hero-title .ipxm-light{font-weight:440}
.ipxm-page-root .ipxm-hero-title strong{font-weight:850}
.ipxm-page-root .ipxm-hero-description{font-size:13.9px;line-height:1.38;max-width:356px;color:#4b6080}
.ipxm-page-root .ipxm-hero-actions{margin-top:18px;gap:10px}
.ipxm-page-root .ipxm-hero-actions .ipxm-btn{min-height:38px;font-size:11px}
.ipxm-page-root .ipxm-trust{margin-top:15px;gap:14px}
.ipxm-page-root .ipxm-trust>span{font-size:9px}
.ipxm-page-root .ipxm-hero-handnote{bottom:24px;right:2.2%;font-size:16px;color:#fff;text-shadow:0 2px 5px #1b3f29}
.ipxm-page-root .ipxm-calculator{right:14.9%;top:15px;width:275px;padding:13px 15px 11px;box-shadow:0 14px 35px rgba(20,53,59,.14)}
.ipxm-page-root .ipxm-calculator h2{font-size:18px}
.ipxm-page-root .ipxm-calculation strong{font-size:22px}
.ipxm-page-root .ipxm-calculation span{font-size:9px}
.ipxm-page-root .ipxm-calc-cta{font-size:9.5px}

/* Horizontal sections match the image's reference rhythm at 1122px. */
.ipxm-page-root .ipxm-benefits{min-height:72px}
.ipxm-page-root .ipxm-benefits-grid{padding-top:12px;padding-bottom:12px}
.ipxm-page-root .ipxm-benefit h3{font-size:10px}
.ipxm-page-root .ipxm-benefit p{font-size:9px}
.ipxm-page-root .ipxm-steps{min-height:196px;padding-top:14px;padding-bottom:12px}
.ipxm-page-root .ipxm-steps-head h2{font-size:27px}
.ipxm-page-root .ipxm-step h3{font-size:11px;font-weight:750}
.ipxm-page-root .ipxm-step p{font-size:10px}
.ipxm-page-root .ipxm-steps-grid{margin-top:5px}
.ipxm-page-root .ipxm-script-note{right:4.5%;top:26px}
.ipxm-page-root .ipxm-transparency{min-height:167px}
.ipxm-page-root .ipxm-transparency-photo{min-height:167px}
.ipxm-page-root .ipxm-transparency-content{padding-top:17px}
.ipxm-page-root .ipxm-transparency-content h2{font-size:24px}
.ipxm-page-root .ipxm-transparency-cards{padding-top:14px;padding-bottom:14px}
.ipxm-page-root .ipxm-transparent-card h3{font-size:10.6px}
.ipxm-page-root .ipxm-offers{min-height:0;padding-top:10px;padding-bottom:6px}
.ipxm-page-root .ipxm-offers-intro h2{font-size:22px}
.ipxm-page-root .ipxm-offers-box{padding-top:20px}
.ipxm-page-root .ipxm-offer{padding:9px 9px 8px}
.ipxm-page-root .ipxm-offer-values{margin-top:7px}
.ipxm-page-root .ipxm-offer-values strong{font-size:11px}
.ipxm-page-root .ipxm-checkline{line-height:1.2;margin-top:3px}
.ipxm-page-root .ipxm-legal{margin-top:5px}
.ipxm-page-root .ipxm-documents{padding-top:7px;padding-bottom:7px}
.ipxm-page-root .ipxm-faq{padding-top:7px;padding-bottom:9px}
.ipxm-page-root .ipxm-faq h2{font-size:22px}
.ipxm-page-root .ipxm-faq-items{gap:3px}
.ipxm-page-root .ipxm-faq-item summary{min-height:20px;padding-top:2px;padding-bottom:2px}
.ipxm-page-root .ipxm-cta-inner{min-height:63px}

@media(min-width:1400px){
 .ipxm-page-root .ipxm-hero{height:480px;min-height:480px}
 .ipxm-page-root .ipxm-hero-media{inset:0 0 0 30%}
 .ipxm-page-root .ipxm-hero-copy{top:64px;left:60px;max-width:500px;width:500px}
 .ipxm-page-root .ipxm-hero-title{font-size:53px!important;letter-spacing:-.055em!important}
 .ipxm-page-root .ipxm-hero-description{font-size:17px;max-width:460px}
 .ipxm-page-root .ipxm-hero-actions .ipxm-btn{min-height:49px;font-size:12px}
 .ipxm-page-root .ipxm-calculator{top:34px;right:max(calc((100vw - 1400px)/2),11%);width:345px;padding:21px}
 .ipxm-page-root .ipxm-calculator h2{font-size:22px}
 .ipxm-page-root .ipxm-hero-actions{margin-top:19px}
 .ipxm-page-root .ipxm-trust>span{font-size:11px}
 .ipxm-page-root .ipxm-benefits-grid{padding-top:17px;padding-bottom:17px}
 .ipxm-page-root .ipxm-steps{min-height:0;padding:27px 0 27px}
 .ipxm-page-root .ipxm-step h3{font-size:13px}
 .ipxm-page-root .ipxm-step p{font-size:11px}
 .ipxm-page-root .ipxm-transparency-photo{min-height:200px}
 .ipxm-page-root .ipxm-transparency-content{padding-top:25px}
 .ipxm-page-root .ipxm-transparency-cards{padding-top:22px;padding-bottom:22px}
 .ipxm-page-root .ipxm-offers{padding-top:23px;padding-bottom:12px}
 .ipxm-page-root .ipxm-offer{padding:14px 12px 13px}
 .ipxm-page-root .ipxm-offer-values strong{font-size:14px}
 .ipxm-page-root .ipxm-documents{padding-top:19px;padding-bottom:18px}
 .ipxm-page-root .ipxm-faq{padding-top:17px;padding-bottom:17px}
 .ipxm-page-root .ipxm-faq-item summary{min-height:29px;font-size:11px}
}

/* Tablet/phone: keep the original natural-flow responsive layout and avoid
 * forcing desktop widths or positions on compact viewports. */
@media(max-width:850px){
 .ipxm-page-root .ipxm-hero{height:auto;min-height:0}
 .ipxm-page-root .ipxm-hero-media{inset:0 0 auto 0}
 .ipxm-page-root .ipxm-hero-gradient{background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.96) 82%,#fff)}
 .ipxm-page-root .ipxm-hero-copy{top:auto;left:auto;width:100%;max-width:none}
 .ipxm-page-root .ipxm-hero-title{font-size:clamp(30px,5.7vw,41px)!important}
 .ipxm-page-root .ipxm-hero-description{max-width:630px;font-size:14px}
 .ipxm-page-root .ipxm-calculator{width:calc(100% - 60px);top:auto;right:auto}
 .ipxm-page-root .ipxm-steps{min-height:0}
 .ipxm-page-root .ipxm-steps-grid{margin-top:12px}
}
@media(max-width:620px){
 .ipxm-page-root .ipxm-hero-title{font-size:clamp(28px,8.1vw,37px)!important}
 .ipxm-page-root .ipxm-hero-copy{padding-left:17px;padding-right:17px}
 .ipxm-page-root .ipxm-hero-description{font-size:13.5px}
 .ipxm-page-root .ipxm-benefits-grid{gap:16px}
 .ipxm-page-root .ipxm-steps{padding-top:19px;padding-bottom:19px}
 .ipxm-page-root .ipxm-transparency-content{padding-top:19px}
 .ipxm-page-root .ipxm-offers-box{padding-top:24px}
 .ipxm-page-root .ipxm-faq-item summary{min-height:40px;padding-top:8px;padding-bottom:8px}
}

/* Final 1122px reference alignment: reduce accidental text wrapping in the
 * four-step timeline and bring compact accordions to the reference cadence. */
@media(min-width:851px) and (max-width:1399px){
 .ipxm-page-root .ipxm-steps-head .ipxm-label{padding-top:3px;padding-bottom:3px}
 .ipxm-page-root .ipxm-steps-head h2{margin-top:6px}
 .ipxm-page-root .ipxm-steps-grid{gap:12px;margin-top:3px}
 .ipxm-page-root .ipxm-steps{padding-top:12px;padding-bottom:11px}
 .ipxm-page-root .ipxm-transparency-content .ipxm-muted{font-size:10.4px;line-height:1.38}
 .ipxm-page-root .ipxm-offers{padding-top:6px;padding-bottom:3px}
 .ipxm-page-root .ipxm-documents{padding-top:6px;padding-bottom:5px}
 .ipxm-page-root .ipxm-faq{padding-top:5px;padding-bottom:6px}
 .ipxm-page-root .ipxm-faq-items{gap:2px}
 .ipxm-page-root .ipxm-faq-item summary{min-height:18px;padding-top:1px;padding-bottom:1px}
}

@media(min-width:851px) and (max-width:1399px){
 .ipxm-page-root .ipxm-steps{padding-bottom:6px}
 .ipxm-page-root .ipxm-offers{padding-top:4px;padding-bottom:1px}
 .ipxm-page-root .ipxm-documents{padding-top:4px;padding-bottom:4px}
 .ipxm-page-root .ipxm-faq .ipxm-label{padding-top:3px;padding-bottom:3px}
 .ipxm-page-root .ipxm-faq h2{margin-top:5px}
 .ipxm-page-root .ipxm-faq .ipxm-muted{font-size:9.9px;line-height:1.45}
 .ipxm-page-root .ipxm-faq-intro>a{margin-top:4px}
 .ipxm-page-root .ipxm-faq-item summary{min-height:17px}
}

/* Beat the site-wide Lora guard only inside the eight mortgage widgets. */
html body .ipxm-page-root .ipxm *:not(svg):not(svg *):not(i):not([class~="fa"]):not([class~="fas"]):not([class~="far"]):not([class~="fab"]):not([class~="fal"]):not([class^="fa-"]):not([class*=" fa-"]):not([class^="eicon-"]):not([class*=" eicon-"]):not([class^="dashicons"]):not([class*=" dashicons"]):not([data-icon]) {
  font-family:"Inter","Arial",sans-serif!important;
}
html body .ipxm-page-root .ipxm :is(h1,h2,h3):not(svg):not(svg *) {
  font-family:"Inter Display","Inter","Arial",sans-serif!important;
}

/* The legacy Elementor chrome rule has greater specificity than generic
 * mortgage widgets and otherwise re-boxes the header and footer on desktop. */
html body .elementor .ipx-page-root.ipxm-page-root > .elementor-widget-ipx_header,
html body .elementor .ipx-page-root.ipxm-page-root > .elementor-widget-ipx_footer {
  width:100vw!important;
  max-width:100vw!important;
  min-width:0!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  margin:0!important;
}
