/* CERCA — presentation classes. Native Elementor content and kit tokens remain editable. */


/* ===== Layout and sizing ===== */

/* cerca-width-1280 */
.elementor .elementor-element.cerca-width-1280 {
  max-width:1280px}

/* cerca-fit-start */
.elementor .elementor-element.cerca-fit-start {
  width:fit-content;
  align-self:flex-start}

/* cerca-width-896 */
.elementor .elementor-element.cerca-width-896 {
  max-width:896px}

/* cerca-width-672 */
.elementor .elementor-element.cerca-width-672 {
  max-width:672px}

/* cerca-width-768 */
.elementor .elementor-element.cerca-width-768 {
  max-width:768px}

/* cerca-width-1024 */
.elementor .elementor-element.cerca-width-1024 {
  max-width:1024px}

/* cerca-width-1320 */
.elementor .elementor-element.cerca-width-1320 {
  max-width:1320px}

/* cerca-sticky-panel */
.elementor .elementor-element.cerca-sticky-panel {
  position:sticky;
  top:0}
@media(max-width:1023px) {
  .elementor .elementor-element.cerca-sticky-panel {
  }
}
@media(max-width:767px) {
  .elementor .elementor-element.cerca-sticky-panel {
  }
}

/* cerca-width-384 */
.elementor .elementor-element.cerca-width-384 {
  max-width:384px}

/* cerca-height-48 */
.elementor .elementor-element.cerca-height-48 {
  height:48.0px}

/* cerca-clip */
.elementor .elementor-element.cerca-clip {
  overflow:hidden}

/* cerca-height-44 */
.elementor .elementor-element.cerca-height-44 {
  height:44.0px}

/* cerca-width-576 */
.elementor .elementor-element.cerca-width-576 {
  max-width:576px}

/* cerca-width-448 */
.elementor .elementor-element.cerca-width-448 {
  max-width:448px}

/* cerca-foreground */
.elementor .elementor-element.cerca-foreground {
  position:relative;
  z-index:2}

/* cerca-width-1440 */
.elementor .elementor-element.cerca-width-1440 {
  max-width:1440px}

/* cerca-full-height-layer */
.elementor .elementor-element.cerca-full-height-layer {
  height:100%}
.elementor .elementor-element.cerca-full-height-layer {
  position:relative;
  z-index:2}

/* cerca-width-512 */
.elementor .elementor-element.cerca-width-512 {
  max-width:512px}

/* cerca-image-height-256 */
.elementor .elementor-element.cerca-image-height-256 {
  height:256.0px}

/* cerca-hero-wide-clip */
.elementor .elementor-element.cerca-hero-wide-clip {
  max-width:1440px;
  overflow:hidden}
.elementor .elementor-element.cerca-hero-wide-clip {
  position:relative;
  z-index:2}

/* cerca-height-64 */
.elementor .elementor-element.cerca-height-64 {
  height:64.0px}

/* cerca-height-12 */
.elementor .elementor-element.cerca-height-12 {
  height:12.0px}

/* cerca-height-36 */
.elementor .elementor-element.cerca-height-36 {
  height:36.0px}

/* cerca-width-220 */
.elementor .elementor-element.cerca-width-220 {
  max-width:220px}

/* cerca-clip-width */
.elementor .elementor-element.cerca-clip-width {
  overflow:hidden;
  max-width:100%}

/* cerca-stretch-horizontal */
.elementor .elementor-element.cerca-stretch-horizontal {
  left:0;
  right:0}

/* cerca-width-1320-clip */
.elementor .elementor-element.cerca-width-1320-clip {
  max-width:1320px;
  overflow:hidden}

/* cerca-grid-span */
.elementor .elementor-element.cerca-grid-span {
  grid-column:1/-1}

/* cerca-width-1100 */
.elementor .elementor-element.cerca-width-1100 {
  max-width:1100px}

/* cerca-width-780 */
.elementor .elementor-element.cerca-width-780 {
  max-width:780px}

/* cerca-width-980 */
.elementor .elementor-element.cerca-width-980 {
  max-width:980px}

/* cerca-no-shrink */
.elementor .elementor-element.cerca-no-shrink {
  flex-shrink:0}

/* ===== Header and footer ===== */

/* cerca-header-sticky */
.elementor .elementor-element.cerca-header-sticky {
  position:sticky;
  top:0;
  z-index:100;
  border-bottom:1px solid #1717170d}

/* cerca-header-inner */
.elementor .elementor-element.cerca-header-inner {
  max-width:1440px;
  margin:auto}

/* cerca-footer-actions */
@media(min-width:1024px) {
  .elementor .elementor-element.cerca-footer-actions {
  width:auto;
  flex-shrink:0}
}

/* cerca-footer-logo */
.elementor .elementor-element.cerca-footer-logo img {
  filter:grayscale(1) invert(1)}

/* cerca-brand-badge */
.elementor .elementor-element.cerca-brand-badge {
  width:fit-content;
  align-self:flex-start}
.elementor .elementor-element.cerca-brand-badge {
  display:inline-flex;
  align-items:center;
  gap:8px}
.elementor .elementor-element.cerca-brand-badge:before {
  content:"";
  display:inline-block;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--e-global-color-accent);
  flex-shrink:0}

/* cerca-footer-links */
.elementor .elementor-element.cerca-footer-links .cerca-footer-list {
  list-style:none;
  margin:0;
  padding:0}
.elementor .elementor-element.cerca-footer-links li {
  margin:0 0 12px;
  padding:0;
  line-height:1.45}
.elementor .elementor-element.cerca-footer-links a {
  color:#ffffffa6;
  text-decoration:none}
.elementor .elementor-element.cerca-footer-links a:hover,.elementor .elementor-element.cerca-footer-links a:focus-visible {
  color:var(--e-global-color-accent)}
.elementor .elementor-element.cerca-footer-links .is-featured a {
  color:var(--e-global-color-white);
  font-weight:600}
.elementor .elementor-element.cerca-footer-links span,.elementor .elementor-element.cerca-footer-links summary {
  color:#ffffff73}
.elementor .elementor-element.cerca-footer-links summary {
  cursor:pointer;
  list-style:none;
  margin-top:12px}
.elementor .elementor-element.cerca-footer-links details>ul {
  padding-top:16px}
.elementor .elementor-element.cerca-footer-links a:focus-visible,.elementor .elementor-element.cerca-footer-links summary:focus-visible {
  outline:2px solid var(--e-global-color-accent);
  outline-offset:4px}
.elementor .elementor-element.cerca-footer-links {
  font-family:var(--e-global-typography-text-font-family);
  font-size:14px}

/* cerca-footer-button */
.elementor .elementor-element.cerca-footer-button .elementor-button {
  font-weight:400;
  text-align:left}
.elementor .elementor-element.cerca-footer-button a:hover {
  color:var(--e-global-color-accent)}

/* Header at intermediate desktop widths */

@media(min-width:1024px) and (max-width:1199px){body.cerca-site .elementor-location-header .elementor-nav-menu--main .elementor-item{padding-left:5px;padding-right:5px;font-size:13px}}
@media(min-width:1024px) and (max-width:1199px){body.cerca-site .elementor-location-header .elementor-widget-image{max-width:150px}}
@media(min-width:1024px) and (max-width:1199px){body.cerca-site .elementor-location-header > .e-con > .e-con{padding-left:24px!important;padding-right:24px!important}body.cerca-site .elementor-location-header .elementor-widget-image{max-width:150px!important}body.cerca-site .elementor-location-header .elementor-nav-menu--main .elementor-item{padding-left:5px!important;padding-right:5px!important;font-size:13px!important}}

/* ===== Mortgage editorial and conversion ===== */

/* cerca-mortgage-orbit */
.elementor .elementor-element.cerca-mortgage-orbit {
  height:224.0px}
.elementor .elementor-element.cerca-mortgage-orbit {
  right:-12%;
  top:-8%}
.elementor .elementor-element.cerca-mortgage-orbit {
  right:-12%;
  top:-8%}
@media(max-width:1023px) {
  .elementor .elementor-element.cerca-mortgage-orbit {
  right:-12%;
  top:-8%}
}
@media(max-width:767px) {
  .elementor .elementor-element.cerca-mortgage-orbit {
  right:-12%;
  top:-8%}
}

/* cerca-mortgage-image-note */
.elementor .elementor-element.cerca-mortgage-image-note {
  bottom:32.0px;
  left:32.0px;
  right:32.0px}
.elementor .elementor-element.cerca-mortgage-image-note {
  box-shadow:0 20px 40px #1717170d}
.elementor .elementor-element.cerca-mortgage-image-note {
  width:auto;
  bottom:32.0px;
  left:32.0px;
  right:32.0px}
@media(max-width:1023px) {
  .elementor .elementor-element.cerca-mortgage-image-note {
  width:auto;
  bottom:32.0px;
  left:32.0px;
  right:32.0px}
}
@media(max-width:767px) {
  .elementor .elementor-element.cerca-mortgage-image-note {
  width:auto;
  bottom:32.0px;
  left:32.0px;
  right:32.0px}
}

/* cerca-mortgage-guide */
.elementor .elementor-element.cerca-mortgage-guide {
  max-width:1200px;
  margin-left:auto;
  margin-right:auto}

/* cerca-editorial-links */
.elementor .elementor-element.cerca-editorial-links a {
  color:var(--e-global-color-primary);
  text-decoration:underline;
  text-decoration-color:var(--e-global-color-accent);
  text-underline-offset:3px}

/* cerca-mortgage-faq */
.elementor .elementor-element.cerca-mortgage-faq .elementor-accordion-item {
  background:#fff;
  border:0;
  border-radius:22px;
  overflow:hidden;
  margin-bottom:12px}
.elementor .elementor-element.cerca-mortgage-faq .elementor-tab-content {
  border-top:0}
.elementor .elementor-element.cerca-mortgage-faq .elementor-tab-content p:last-child {
  margin-bottom:0}

/* cerca-source-links */
.elementor .elementor-element.cerca-source-links a {
  color:inherit;
  text-decoration:underline;
  text-underline-offset:3px}

/* cerca-mortgage-cta */
.elementor .elementor-element.cerca-mortgage-cta {
  max-width:1200px;
  width:calc(100% - 48px);
  margin:0 auto 64px}
@media(max-width:767px) {
  .elementor .elementor-element.cerca-mortgage-cta {
  width:calc(100% - 40px);
  margin-bottom:40px}
}

/* cerca-cta-heading */
.elementor .elementor-element.cerca-cta-heading {
  max-width:820px}

/* cerca-cta-copy */
.elementor .elementor-element.cerca-cta-copy {
  max-width:680px}

/* ===== Forms ===== */

/* cerca-contact-form */
.elementor .elementor-element.cerca-contact-form .elementor-field:not([type=checkbox]) {
  padding:16px 20px;
  min-height:56px}
.elementor .elementor-element.cerca-contact-form textarea.elementor-field {
  min-height:170px}
.elementor .elementor-element.cerca-contact-form .elementor-field-label {
  font-size:14px;
  font-weight:600}
.elementor .elementor-element.cerca-contact-form .elementor-field-type-acceptance {
  font-size:12px;
  line-height:1.65}
.elementor .elementor-element.cerca-contact-form .elementor-field-subgroup {
  background:var(--e-global-color-stone);
  padding:16px;
  border-radius:16px}
.elementor .elementor-element.cerca-contact-form .elementor-button {
  padding:20px 28px}
.elementor .elementor-element.cerca-contact-form fieldset {
  border:0;
  padding:0;
  margin:0;
  min-width:0}
.elementor .elementor-element.cerca-contact-form .cerca-contact-notice {
  margin:0 0 24px;
  padding:16px;
  background:var(--e-global-color-secondary);
  border-radius:16px;
  font-size:14px;
  line-height:1.6}

/* cerca-lead-form */
.elementor .elementor-element.cerca-lead-form .elementor-field-group {
  padding:16px 20px;
  background:var(--e-global-color-secondary);
  border-radius:22px}
.elementor .elementor-element.cerca-lead-form .elementor-field-label {
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.13em}
.elementor .elementor-element.cerca-lead-form .elementor-field {
  padding:0!important;
  font-size:18px;
  font-weight:700}
.elementor .elementor-element.cerca-lead-form .elementor-field-type-submit {
  background:var(--e-global-color-accent)}
.elementor .elementor-element.cerca-lead-form .elementor-button {
  min-height:72px}

/* ===== Territorial templates ===== */

/* cerca-coverage-clean */
.elementor .elementor-element.cerca-coverage-clean .cerca-coverage small {
  display:none;
  }

/* cerca-breadcrumbs */
.elementor .elementor-element.cerca-breadcrumbs {
  color:#17171773;
  font-weight:600}

/* cerca-local-h1 */
.elementor .elementor-element.cerca-local-h1 {
  max-width:800px}
 .elementor .elementor-element.cerca-local-h1 .elementor-heading-title {
  overflow-wrap:normal;
  font-size:54px;
  line-height:1.06}
@media(max-width:1024px) {
  .elementor .elementor-element.cerca-local-h1 .elementor-heading-title {
  font-size:44px}
}
@media(max-width:767px) {
  .elementor .elementor-element.cerca-local-h1 .elementor-heading-title {
  font-size:34px}
}

/* cerca-local-image-label */
.elementor .elementor-element.cerca-local-image-label {
  max-width:250px}
.elementor .elementor-element.cerca-local-image-label {
  left:24.0px;
  top:24.0px;
  width:fit-content;
  max-width:min(250px,calc(100% - 48px))}

/* cerca-local-sticky */
.elementor .elementor-element.cerca-local-sticky {
  position:sticky;
  top:0}
@media(max-width:1023px) {
  .elementor .elementor-element.cerca-local-sticky {
  }
}
@media(max-width:767px) {
  .elementor .elementor-element.cerca-local-sticky {
  }
}
@media(min-width:1024px) {
  .elementor .elementor-element.cerca-local-sticky {
  position:sticky;
  top:112px;
  align-self:start}
}

/* cerca-local-faq */
.elementor .elementor-element.cerca-local-faq .cerca-faq {
  background:var(--e-global-color-white);
  padding:24px;
  border:0;
  border-radius:24px;
  margin-bottom:12px}
.elementor .elementor-element.cerca-local-faq .cerca-faq summary {
  font-size:16px;
  font-weight:700}
.elementor .elementor-element.cerca-local-faq .cerca-faq div {
  color:#1717178c}

/* cerca-province-image-label */
.elementor .elementor-element.cerca-province-image-label {
  left:24.0px;
  top:24.0px;
  width:fit-content;
  max-width:calc(100% - 48px)}

/* cerca-province-tags */
.elementor .elementor-element.cerca-province-tags .cerca-links>span {
  padding:12px 18px;
  border:1px solid #17171726;
  border-radius:100px;
  font-size:14px}

/* cerca-province-faq */
.elementor .elementor-element.cerca-province-faq .cerca-faq {
  background:var(--e-global-color-secondary);
  padding:24px;
  border:0;
  border-radius:24px;
  margin-bottom:12px}
.elementor .elementor-element.cerca-province-faq .cerca-faq summary {
  font-size:16px;
  font-weight:700}
.elementor .elementor-element.cerca-province-faq .cerca-faq div {
  color:#1717178c}

/* ===== Imagery and shared components ===== */

/* cerca-hero-layer */
.elementor .elementor-element.cerca-hero-layer {
  overflow:hidden}
.elementor .elementor-element.cerca-hero-layer {
  position:relative;
  z-index:2}

/* cerca-centered-1320 */
.elementor .elementor-element.cerca-centered-1320 {
  max-width:1320px;
  margin:auto}

/* cerca-fill-positioned */
.elementor .elementor-element.cerca-fill-positioned {
  height:100%;
  left:0;
  right:0;
  top:0;
  bottom:0}

/* cerca-decorative-overlay */
.elementor .elementor-element.cerca-decorative-overlay {
  position:absolute;
  inset:0;
  min-height:0;
  height:100%;
  pointer-events:none}

/* cerca-contact-image-note */
.elementor .elementor-element.cerca-contact-image-note {
  left:auto;
  right:20px;
  bottom:20px;
  width:calc(100% - 40px);
  max-width:384px}
@media(max-width:767px) {
  .elementor .elementor-element.cerca-contact-image-note {
  left:20px;
  right:20px;
  max-width:none;
  width:auto}
}
.elementor .elementor-element.cerca-contact-image-note {
  box-shadow:0 20px 40px #1717170d}

/* cerca-soft-shadow */
.elementor .elementor-element.cerca-soft-shadow {
  box-shadow:0 20px 40px #1717170d}

/* cerca-contact-faq */
.elementor .elementor-element.cerca-contact-faq .elementor-accordion-item {
  border:0;
  border-radius:24px;
  overflow:hidden;
  margin-bottom:16px;
  background:var(--e-global-color-white)}
.elementor .elementor-element.cerca-contact-faq .elementor-accordion-title {
  font-family:var(--e-global-typography-text-font-family);
  font-size:16px;
  line-height:1.5;
  font-weight:700;
  color:var(--e-global-color-primary)}
.elementor .elementor-element.cerca-contact-faq .elementor-tab-content {
  font-size:14px;
  line-height:1.7;
  color:#17171780}
.elementor .elementor-element.cerca-contact-faq .elementor-tab-content p {
  margin:0}

/* cerca-decorative-texture */
.elementor .elementor-element.cerca-decorative-texture {
  pointer-events:none;
  inset:0;
  position:absolute;
  width:100%;
  height:100%;
  opacity:.06}

/* cerca-hero-inner */
.elementor .elementor-element.cerca-hero-inner {
  max-width:1440px}
.elementor .elementor-element.cerca-hero-inner {
  position:relative;
  z-index:2}

/* cerca-home-image-frame */
.elementor .elementor-element.cerca-home-image-frame {
  height:84%;
  overflow:hidden;
  left:0;
  right:0}
@media(max-width:1023px) {
  .elementor .elementor-element.cerca-home-image-frame {
  height:84%;
  overflow:hidden}
}
@media(max-width:767px) {
  .elementor .elementor-element.cerca-home-image-frame {
  height:84%;
  overflow:hidden}
}
.elementor .elementor-element.cerca-home-image-frame {
  top:0.0px}
.elementor .elementor-element.cerca-home-image-frame {
  width:auto;
  left:64.0px;
  right:0.0px;
  top:0.0px}
@media(max-width:1023px) {
  .elementor .elementor-element.cerca-home-image-frame {
  width:auto;
  left:64.0px;
  right:64.0px;
  top:0.0px}
}
@media(max-width:767px) {
  .elementor .elementor-element.cerca-home-image-frame {
  width:auto;
  left:32.0px;
  right:32.0px;
  top:0.0px}
}

/* cerca-full-height */
.elementor .elementor-element.cerca-full-height {
  height:100%}

/* cerca-home-image-note */
.elementor .elementor-element.cerca-home-image-note {
  max-width:260px}
.elementor .elementor-element.cerca-home-image-note {
  bottom:12.0px;
  left:0.0px}
.elementor .elementor-element.cerca-home-image-note {
  box-shadow:0 20px 40px #1717170d}
.elementor .elementor-element.cerca-home-image-note {
  bottom:12.0px;
  left:-24.0px}
@media(max-width:1023px) {
  .elementor .elementor-element.cerca-home-image-note {
  bottom:12.0px;
  left:0.0px}
}
@media(max-width:767px) {
  .elementor .elementor-element.cerca-home-image-note {
  bottom:12.0px;
  left:0.0px}
}

/* cerca-muted-art */
.elementor .elementor-element.cerca-muted-art {
  opacity:0.55}

/* cerca-feature-link */
.elementor .elementor-element.cerca-feature-link {
  overflow:hidden}
.elementor .elementor-element.cerca-feature-link {
  text-decoration:none;
  color:inherit}
.elementor .elementor-element.cerca-feature-link:focus-visible {
  outline:3px solid var(--e-global-color-accent);
  outline-offset:4px}
.elementor .elementor-element.cerca-feature-link {
  position:relative;
  z-index:2}

/* cerca-muted-overlay */
.elementor .elementor-element.cerca-muted-overlay {
  left:0;
  right:0;
  top:0;
  bottom:0}
.elementor .elementor-element.cerca-muted-overlay {
  opacity:0.35}

/* cerca-card-link */
.elementor .elementor-element.cerca-card-link {
  text-decoration:none;
  color:inherit}
.elementor .elementor-element.cerca-card-link:focus-visible {
  outline:3px solid var(--e-global-color-accent);
  outline-offset:4px}

/* cerca-advisor-avatar */
.elementor .elementor-element.cerca-advisor-avatar {
  width:64px;
  height:64px;
  flex-shrink:0}
.elementor .elementor-element.cerca-advisor-avatar img {
  width:64px;
  height:64px;
  object-fit:cover;
  border-radius:50%;
  border:4px solid var(--e-global-color-accent)}

/* cerca-shadow-link */
.elementor .elementor-element.cerca-shadow-link {
  box-shadow:0 20px 40px #1717170d}
.elementor .elementor-element.cerca-shadow-link {
  text-decoration:none;
  color:inherit}
.elementor .elementor-element.cerca-shadow-link:focus-visible {
  outline:3px solid var(--e-global-color-accent);
  outline-offset:4px}

/* cerca-image-strip */
.elementor .elementor-element.cerca-image-strip {
  height:160.0px;
  overflow:hidden}

/* cerca-image-note-28 */
.elementor .elementor-element.cerca-image-note-28 {
  bottom:28.0px;
  left:28.0px;
  right:28.0px}
.elementor .elementor-element.cerca-image-note-28 {
  width:auto;
  bottom:28.0px;
  left:28.0px;
  right:28.0px}
@media(max-width:1023px) {
  .elementor .elementor-element.cerca-image-note-28 {
  width:auto;
  bottom:28.0px;
  left:28.0px;
  right:28.0px}
}
@media(max-width:767px) {
  .elementor .elementor-element.cerca-image-note-28 {
  width:auto;
  bottom:28.0px;
  left:28.0px;
  right:28.0px}
}

/* cerca-orbit-large */
.elementor .elementor-element.cerca-orbit-large {
  height:288.0px}
.elementor .elementor-element.cerca-orbit-large {
  right:-80.0px;
  top:-80.0px}
@media(max-width:1023px) {
  .elementor .elementor-element.cerca-orbit-large {
  right:-80.0px;
  top:-80.0px}
}
@media(max-width:767px) {
  .elementor .elementor-element.cerca-orbit-large {
  right:-80.0px;
  top:-80.0px}
}

/* cerca-icon-44 */
.elementor .elementor-element.cerca-icon-44 {
  height:44.0px}
.elementor .elementor-element.cerca-icon-44 {
  display:flex;
  align-items:center;
  justify-content:center}

/* cerca-image-overlay */
.elementor .elementor-element.cerca-image-overlay {
  inset:0;
  pointer-events:none}
.elementor .elementor-element.cerca-image-overlay img {
  width:100%;
  height:100%}

/* cerca-icon-48 */
.elementor .elementor-element.cerca-icon-48 {
  height:48.0px}
.elementor .elementor-element.cerca-icon-48 {
  display:flex;
  align-items:center;
  justify-content:center}

/* cerca-image-note-24 */
.elementor .elementor-element.cerca-image-note-24 {
  bottom:24.0px;
  left:24.0px;
  right:24.0px;
  width:auto}

/* cerca-icon-fixed-44 */
.elementor .elementor-element.cerca-icon-fixed-44 {
  width:44px;
  min-width:44px;
  height:44px;
  aspect-ratio:1;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden}
.elementor .elementor-element.cerca-icon-fixed-44 {
  flex-shrink:0}
.elementor .elementor-element.cerca-icon-fixed-44 > .elementor-widget-container {
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  line-height:1;
  text-align:center}
.elementor .elementor-element.cerca-icon-fixed-44 :is(p,span) {
  margin:0;
  line-height:1}

/* Source links inside locality editorial content. */
.single-localidad .elementor-widget-text-editor a[href^="http"] {
  color:inherit;
  font-weight:700;
  text-decoration-line:underline;
  text-decoration-thickness:1.5px;
  text-underline-offset:3px}
.single-localidad .elementor-widget-text-editor a[href^="http"]:hover {
  text-decoration-thickness:2px}

/* ===== Shared native Elementor mortgage form ===== */
.elementor .elementor-element.cerca-mortgage-form-panel {
  scroll-margin-top: 130px;
  min-width: 0;
}
.elementor .elementor-element.cerca-mortgage-form {
  background: var(--e-global-color-white, #fff);
  border-radius: 32px;
  padding: 32px;
  box-shadow: 0 18px 48px #17171708;
}
.cerca-mortgage-form .elementor-field-type-html p { margin: 0; color: #65665e; font-size: 15px; line-height: 1.6; }
.cerca-mortgage-form .elementor-field-type-html h2 { margin: 8px 0 12px; font-family: var(--e-global-typography-primary-font-family, Manrope); font-size: 28px; line-height: 1.2; letter-spacing: -.03em; color: var(--e-global-color-primary); }
.cerca-mortgage-form .elementor-field-type-html .cerca-form-eyebrow { font-size: 11px; letter-spacing: .14em; font-weight: 700; }
.cerca-mortgage-form .elementor-field-group .elementor-field-label { font-size: 13px; font-weight: 600; }
.cerca-mortgage-form :is(input, select, textarea).elementor-field:not([type=checkbox]) { min-height: 48px; padding: 12px 14px; font-size: 16px; }
.cerca-mortgage-form .elementor-field-type-acceptance { font-size: 12px; line-height: 1.6; }
.cerca-mortgage-form .elementor-field-type-acceptance input { accent-color: #171717; }
.cerca-mortgage-form a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.cerca-mortgage-form .elementor-field-type-html .cerca-form-privacy { font-size: 11px; line-height: 1.6; }
.cerca-mortgage-form .elementor-button { min-height: 54px; padding: 16px 24px; }
.cerca-mortgage-form :is(input,button,a):focus-visible { outline: 2px solid #171717; outline-offset: 3px; }
@media(max-width:767px) {
  .elementor .elementor-element.cerca-mortgage-form { padding: 24px; border-radius: 28px; }
  .cerca-mortgage-form .elementor-field-type-html h2 { font-size: 26px; }
  .elementor .elementor-element.cerca-mortgage-form-panel { scroll-margin-top: 96px; }
}

/* ===== Locality alignment: one content boundary across all sections ===== */
.elementor .elementor-element.cerca-local-shell {
  width: 100%;
  max-width: 1320px;
  margin-inline: auto;
  min-width: 0;
}
.elementor .elementor-element.cerca-local-columns > .e-con { min-width: 0; }
/* Match the shared footer to the same boundaries on territorial singles only. */
.single-localidad .elementor-location-footer .elementor-element.cerca-width-1320 {
  width: calc(100% - 96px);
  max-width: 1320px;
  margin-inline: auto;
  padding-inline: 0;
}
@media(max-width:1023px) {
  .single-localidad .elementor-location-footer .elementor-element.cerca-width-1320 { width: calc(100% - 64px); }
}
@media(max-width:767px) {
  .single-localidad .elementor-location-footer .elementor-element.cerca-width-1320 { width: calc(100% - 40px); }
}

/* ===== Home and mortgage pages: shared content boundaries ===== */
.elementor .elementor-element.cerca-page-shell {
  width: 100%;
  max-width: 1320px;
  margin-inline: auto;
  min-width: 0;
}
.elementor .elementor-element.cerca-page-boundary {
  width: calc(100% - 96px);
  max-width: 1320px;
  margin-inline: auto;
}
.cerca-aligned-page .elementor-location-footer .elementor-element.cerca-width-1320 {
  width: calc(100% - 96px);
  max-width: 1320px;
  margin-inline: auto;
  padding-inline: 0;
}
@media(max-width:1023px) {
  .elementor .elementor-element.cerca-page-boundary,
  .cerca-aligned-page .elementor-location-footer .elementor-element.cerca-width-1320 { width: calc(100% - 64px); }
}
@media(max-width:767px) {
  .elementor .elementor-element.cerca-page-boundary,
  .cerca-aligned-page .elementor-location-footer .elementor-element.cerca-width-1320 { width: calc(100% - 40px); }
}
/* Long editorial headings must fit their column at narrow desktop and mobile widths. */
@media(min-width:1024px) and (max-width:1200px) {
  .home .elementor .elementor-element.cerca-hero-title h1.elementor-heading-title { font-size: clamp(36px, 4vw, 48px); }
  .home .elementor .elementor-element.cerca-hero-title h2.elementor-heading-title { font-size: 32px; }
}
@media(max-width:767px) {
  .home .elementor .elementor-element.cerca-hero-title h1.elementor-heading-title { font-size: clamp(28px, 8.5vw, 48px); line-height: 1.05; }
}

/* ===== Home enquiry form: labels outside controls, generous spacing ===== */
.elementor .elementor-element.cerca-home-form {
  padding: 40px;
  border-radius: 32px;
  background: var(--e-global-color-white, #fff);
  box-shadow: 0 16px 48px #17171706;
}
.elementor .elementor-element.cerca-home-form form.elementor-form .elementor-field-label {
  font-size: 14px;
  line-height: 1.5;
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0;
  padding-bottom: 10px;
}
.elementor .elementor-element.cerca-home-form form.elementor-form .elementor-field:not([type=checkbox]) {
  min-height: 54px;
  padding: 14px 16px;
  border: 1px solid #17171720;
  border-radius: 14px;
  background: var(--e-global-color-secondary, #f4f2eb);
  color: var(--e-global-color-primary, #171717);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  box-shadow: none;
}
.elementor .elementor-element.cerca-home-form form.elementor-form textarea.elementor-field { min-height: 120px; resize: vertical; }
.cerca-home-form .elementor-field::placeholder { color: #74756d; opacity: 1; }
.cerca-home-form .elementor-field-type-acceptance { font-size: 13px; line-height: 1.65; }
.cerca-home-form .elementor-field-type-acceptance input { accent-color: #171717; }
.cerca-home-form a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.elementor .elementor-element.cerca-home-form form.elementor-form .elementor-button {
  min-height: 56px;
  padding: 16px 32px;
  width: auto;
  flex: 0 0 auto;
  border-radius: 100px;
  font-size: 16px;
  font-weight: 700;
  box-shadow: none;
}
.cerca-home-form .elementor-field-type-submit { justify-content: flex-start; }
.cerca-home-form :is(input,select,textarea,button,a):focus-visible { outline: 2px solid #171717; outline-offset: 3px; }
@media(max-width:1023px) {
  .elementor .elementor-element.cerca-home-form { padding: 32px; }
}
@media(max-width:767px) {
  .elementor .elementor-element.cerca-home-form { padding: 24px; border-radius: 28px; }
  .elementor .elementor-element.cerca-home-form form.elementor-form .elementor-button { width: 100%; }
}

/* Home header's visible content shares the main section boundaries. */
:is(.home,.cerca-contact-aligned) .elementor-location-header .elementor-element.cerca-header-inner {
  width: calc(100% - 96px);
  max-width: 1320px;
  padding-inline: 0;
  margin-inline: auto;
}
@media(max-width:1023px) {
  :is(.home,.cerca-contact-aligned) .elementor-location-header .elementor-element.cerca-header-inner { width: calc(100% - 64px); }
}
@media(max-width:767px) {
  :is(.home,.cerca-contact-aligned) .elementor-location-header .elementor-element.cerca-header-inner { width: calc(100% - 40px); }
}

/* Home territorial selector and province-aware examples. */
.cerca-home-location-selector { display: grid; gap: 24px; }
.cerca-province-tabs { display: flex; flex-wrap: wrap; gap: 10px; padding-bottom: 18px; border-bottom: 1px solid rgba(255,255,255,.12); }
.cerca-province-tabs button { min-height: 42px; padding: 10px 20px; border: 1px solid rgba(255,255,255,.24); border-radius: 100px; background: transparent; color: rgba(255,255,255,.68); font: 800 13px/1.2 "DM Sans",sans-serif; cursor: pointer; transition: background .2s ease,color .2s ease,border-color .2s ease; }
.cerca-province-tabs button:is(:hover,[aria-selected="true"]) { border-color: var(--e-global-color-accent,#D8FF5F); background: var(--e-global-color-accent,#D8FF5F); color: #171717; }
.cerca-location-list { display: flex; flex-wrap: wrap; gap: 10px; }
.cerca-location-list a { display: inline-flex; align-items: center; gap: 12px; min-height: 50px; padding: 12px 18px; border: 1px solid rgba(255,255,255,.16); border-radius: 100px; background: #fff; color: #171717; font-weight: 800; text-decoration: none; transition: transform .2s ease,background .2s ease,border-color .2s ease; }
.cerca-location-list a:first-child { border-color: var(--e-global-color-accent,#D8FF5F); background: var(--e-global-color-accent,#D8FF5F); }
.cerca-location-list a:hover { transform: translateY(-2px); border-color: var(--e-global-color-accent,#D8FF5F); background: var(--e-global-color-accent,#D8FF5F); }
.cerca-location-list b { font-size: 16px; font-weight: 600; }
.cerca-location-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.cerca-location-actions a,.cerca-location-fallback a { display: inline-flex; justify-content: center; align-items: center; min-height: 48px; padding: 12px 22px; border-radius: 100px; font-weight: 800; text-decoration: none; }
.cerca-location-primary { background: var(--e-global-color-accent,#D8FF5F); color: #171717; }
.cerca-location-primary[aria-disabled="true"] { opacity: .45; cursor: default; pointer-events: none; }
.cerca-location-hub { color: #fff; border: 1px solid rgba(255,255,255,.28); }
.cerca-location-fallback { display: grid; grid-template-columns: 1fr auto; gap: 6px 20px; align-items: center; margin-top: 8px; padding: 22px; border-radius: 22px; background: rgba(216,255,95,.1); border: 1px solid rgba(216,255,95,.28); color: #fff; }
.cerca-location-fallback strong { font-size: 19px; }
.cerca-location-fallback span { color: rgba(255,255,255,.66); line-height: 1.5; }
.cerca-location-fallback a { grid-column: 2; grid-row: 1 / span 2; background: #fff; color: #171717; white-space: nowrap; }
.cerca-home-showcase { display: grid; grid-template-columns: .75fr 1.25fr; gap: 48px; align-items: start; }
.cerca-showcase-copy span { display: block; margin-bottom: 18px; color: rgba(255,255,255,.45); font: 800 12px/1.2 "DM Sans",sans-serif; letter-spacing: .16em; text-transform: uppercase; }
.cerca-showcase-copy h2 { margin: 0; color: #fff; font: 800 clamp(32px,3.2vw,48px)/1.05 "Manrope",sans-serif; letter-spacing: -.045em; }
.cerca-showcase-copy p { margin: 22px 0 0; color: rgba(255,255,255,.58); font-size: 17px; line-height: 1.65; }
.cerca-showcase-cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.cerca-showcase-cards a { display: flex; flex-direction: column; min-width: 0; min-height: 270px; padding: 26px; border: 1px solid rgba(255,255,255,.12); border-radius: 28px; background: rgba(255,255,255,.07); color: #fff; text-decoration: none; transition: transform .2s ease,border-color .2s ease; }
.cerca-showcase-cards a:nth-child(2) { background: var(--e-global-color-accent,#D8FF5F); color: #171717; }
.cerca-showcase-cards a:hover { transform: translateY(-3px); border-color: rgba(216,255,95,.6); }
.cerca-showcase-cards small { opacity: .5; font: 800 11px/1.2 "DM Sans",sans-serif; letter-spacing: .14em; text-transform: uppercase; }
.cerca-showcase-cards strong { margin-top: 24px; font: 800 21px/1.18 "Manrope",sans-serif; letter-spacing: -.03em; }
.cerca-showcase-cards span { margin-top: 18px; opacity: .58; font-size: 14px; line-height: 1.55; }
.cerca-source-note { margin-top: 22px; padding-top: 16px; border-top: 1px solid rgba(23,23,23,.12); font-size: 13px; line-height: 1.5; opacity: .7; }
.cerca-source-note a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
@media(max-width:1023px) {
 .cerca-home-showcase { grid-template-columns: 1fr; }
}
@media(max-width:767px) {
 .cerca-showcase-cards { grid-template-columns: 1fr; }
 .cerca-province-tabs button { flex: 1 1 auto; }
 .cerca-location-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
 .cerca-location-list a { justify-content: space-between; min-width: 0; }
 .cerca-location-fallback { grid-template-columns: 1fr; }
 .cerca-location-fallback a { grid-column: 1; grid-row: auto; margin-top: 10px; }
 .cerca-location-actions a { width: 100%; }
 .cerca-showcase-cards a { min-height: 220px; }
}
@media(max-width:420px) {
 .cerca-location-list { grid-template-columns: 1fr; }
}

/* Provincial coverage: invitation for visitors outside the listed municipalities. */
.elementor .elementor-element.cerca-unlisted-contact {
  background: var(--e-global-color-accent, #D8FF5F);
  color: #171717;
  padding: 28px;
  margin-top: 28px;
  border-radius: 24px;
  gap: 16px;
  width: 100%;
  max-width: 512px;
}
.elementor .cerca-unlisted-contact .elementor-heading-title {
  color: #171717;
  font-size: 26px;
  line-height: 1.15;
  font-weight: 700;
}
.elementor .cerca-unlisted-contact .elementor-widget-text-editor {
  color: #171717;
  font-size: 16px;
  line-height: 1.5;
}
.cerca-unlisted-contact p { margin: 0; }
.elementor .cerca-unlisted-contact-button .elementor-button {
  background: #171717;
  color: #fff;
  padding: 16px 24px;
  border-radius: 100px;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.3;
}
.elementor .cerca-unlisted-contact-button .elementor-button:hover { background: #333; }
.cerca-unlisted-contact-button a:focus-visible { outline: 2px solid #171717; outline-offset: 4px; }
@media(max-width:767px) {
  .elementor .elementor-element.cerca-unlisted-contact { padding: 24px; }
  .elementor .cerca-unlisted-contact .elementor-heading-title { font-size: 24px; }
}

/* Barcelona provincial hub: CERCA presentation on native Elementor containers. */
.elementor .elementor-element.cerca-bcn-section {
  padding: 76px 48px;
  background: var(--e-global-color-secondary,#F4F2EB);
}
.elementor .elementor-element.cerca-bcn-section:nth-child(2n) { background: #fff; }
.elementor .elementor-element.cerca-bcn-inner { width: 100%; max-width: 1320px; margin-inline: auto; gap: 28px; }
.elementor .elementor-element.cerca-bcn-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; align-items: stretch; }
.elementor .elementor-element.cerca-bcn-grid > .e-con:first-child {
  min-width: 0;
  padding: clamp(36px,4vw,64px);
  border-radius: 36px;
  background: var(--e-global-color-primary,#171717);
  color: #fff;
  justify-content: space-between;
  gap: 24px;
}
.cerca-bcn-grid > .e-con:first-child :is(.elementor-heading-title,.elementor-widget-text-editor) { color: #fff; }
.cerca-bcn-grid > .e-con:first-child .elementor-widget-text-editor { color: rgba(255,255,255,.72); }
.cerca-bcn-grid > .e-con:first-child .elementor-widget-text-editor:first-child {
  width: fit-content;
  padding: 9px 16px;
  border-radius: 100px;
  background: rgba(255,255,255,.14);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.cerca-bcn-grid > .e-con:first-child .elementor-button { background: var(--e-global-color-accent,#D8FF5F); color: #171717; }
.elementor .elementor-element.cerca-bcn-modalities { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.elementor .elementor-element.cerca-bcn-card {
  min-width: 0;
  min-height: 250px;
  padding: 30px;
  background: #fff;
  border: 1px solid rgba(23,23,23,.09);
  border-radius: 28px;
  gap: 16px;
  box-shadow: 0 16px 40px rgba(23,23,23,.035);
}
.cerca-bcn-modalities > .cerca-bcn-card:nth-child(3n+2) { background: #eef4e9; }
.cerca-bcn-modalities > .cerca-bcn-card:nth-child(3n+3) { background: var(--e-global-color-accent,#D8FF5F); }
.cerca-bcn-section h1.elementor-heading-title { font-size: clamp(36px,4vw,60px); line-height: 1.06; letter-spacing: -.045em; }
.cerca-bcn-section h2.elementor-heading-title { font-size: clamp(28px,3vw,42px); line-height: 1.12; letter-spacing: -.035em; }
.cerca-bcn-section h3.elementor-heading-title { font-size: clamp(22px,2vw,27px); line-height: 1.2; letter-spacing: -.025em; }
.cerca-bcn-section .elementor-widget-text-editor { font-size: 17px; line-height: 1.65; }
.cerca-bcn-section .elementor-widget-text-editor :is(p,li) { line-height: inherit; }
.cerca-bcn-section .elementor-button {
  min-height: 50px;
  padding: 13px 24px;
  border-radius: 100px;
  background: var(--e-global-color-primary,#171717);
  color: #fff;
  font-weight: 800;
}
.cerca-bcn-section .elementor-button:hover { background: #333; color: #fff; }
.cerca-bcn-section .elementor-widget-text-editor a { color: inherit; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.cerca-bcn-section .cerca-breadcrumbs { margin-bottom: 28px; color: #777; }
.cerca-bcn-section .cerca-unlisted-contact { max-width: none; margin-top: 12px; }
.cerca-bcn-section .cerca-faq { border-radius: 18px; background: #fff; border: 1px solid rgba(23,23,23,.08); }
@media(max-width:1023px) {
 .elementor .elementor-element.cerca-bcn-section { padding: 48px 32px; }
 .elementor .elementor-element.cerca-bcn-modalities { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:767px) {
 .elementor .elementor-element.cerca-bcn-section { padding: 36px 20px; }
 .elementor .elementor-element.cerca-bcn-grid,.elementor .elementor-element.cerca-bcn-modalities { grid-template-columns: minmax(0,1fr); }
 .elementor .elementor-element.cerca-bcn-grid > .e-con:first-child { padding: 32px 26px; border-radius: 28px; }
 .elementor .elementor-element.cerca-bcn-card { min-height: 0; padding: 26px; }
}

/* Provincial editorial composition: photos, decision cards and numbered steps. */
.elementor .cerca-bcn-section .e-con { --container-default-padding: 0; }
.elementor .elementor-element.cerca-bcn-hero-section { padding-top: 40px; padding-bottom: 64px; }
.elementor .elementor-element.cerca-bcn-inner,
.elementor .elementor-element.cerca-bcn-hero-grid,
.elementor .elementor-element.cerca-bcn-modalities { padding: 0; }
.cerca-bcn-hero-section .cerca-breadcrumbs { margin-bottom: 0; }
.elementor .elementor-element.cerca-bcn-hero-grid > .e-con:first-child { padding: 44px; gap: 24px; justify-content: flex-start; }
.cerca-bcn-hero-grid h1.elementor-heading-title { font-size: clamp(36px,4vw,58px); }
.cerca-bcn-hero-grid .elementor-widget-button { margin-top: auto; padding-top: 12px; }
.elementor .elementor-element.cerca-bcn-visual { position: relative; min-height: 540px; overflow: hidden; border-radius: 36px; padding: 24px; }
.elementor .elementor-element.cerca-bcn-photo { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; }
.cerca-bcn-photo :is(.elementor-widget-container,a),.cerca-bcn-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.elementor .elementor-element.cerca-bcn-coverage-badge { position: relative; align-self: flex-start; width: fit-content; padding: 22px 26px; border-radius: 24px; background: #fff; gap: 8px; }
.cerca-bcn-section .cerca-bcn-eyebrow { font-size: 11px; font-weight: 700; line-height: 1.4; letter-spacing: .16em; text-transform: uppercase; opacity: .55; }
.cerca-bcn-section .cerca-bcn-coverage-count { font: 800 30px/1.1 "Manrope",sans-serif; letter-spacing: -.04em; }
.elementor .elementor-element.cerca-bcn-photo-note { position: relative; margin-top: auto; padding: 24px; gap: 10px; border-radius: 24px; background: var(--e-global-color-accent,#D8FF5F); }
.cerca-bcn-photo-note :is(h2,h3).elementor-heading-title { font-size: 24px; line-height: 1.2; }
.cerca-bcn-photo-note .elementor-widget-text-editor:last-child { font-size: 14px; }
.elementor .elementor-element.cerca-bcn-editorial-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.1fr); gap: 48px; align-items: start; }
.elementor .elementor-element.cerca-bcn-editorial-copy { gap: 22px; }
.elementor .elementor-element.cerca-bcn-decision-stack { gap: 16px; }
.elementor .elementor-element.cerca-bcn-decision-card { padding: 28px; border-radius: 26px; background: var(--e-global-color-secondary,#F4F2EB); gap: 12px; }
.elementor .elementor-element.cerca-bcn-decision-card:first-child { background: var(--e-global-color-accent,#D8FF5F); }
.elementor .elementor-element.cerca-bcn-decision-card:last-child { background: #e0e8da; }
.elementor .elementor-element.cerca-bcn-process-card { padding: 36px; border-radius: 30px; background: #fff; gap: 18px; }
.elementor .elementor-element.cerca-bcn-steps { gap: 24px; margin-top: 16px; }
.elementor .elementor-element.cerca-bcn-step-row { display: grid; grid-template-columns: 44px minmax(0,1fr); align-items: start; gap: 16px; }
.cerca-bcn-step-number { background: #171717; color: #fff; border-radius: 50%; font-weight: 800; }
.cerca-bcn-step-row:nth-child(2) .cerca-bcn-step-number { background: var(--e-global-color-accent,#D8FF5F); color: #171717; }
.cerca-bcn-step-row:nth-child(3) .cerca-bcn-step-number { background: #e0e8da; color: #171717; }
.elementor .elementor-element.cerca-bcn-step-copy { gap: 6px; }
.cerca-bcn-step-copy h3.elementor-heading-title { font-size: 18px; line-height: 1.3; }
.cerca-bcn-step-copy .elementor-widget-text-editor { font-size: 15px; color: #6c6c65; }
.elementor .elementor-element.cerca-bcn-advisor { align-self: stretch; min-height: 460px; }
.elementor .elementor-element.cerca-bcn-comparison-card { padding: 36px; gap: 18px; border-radius: 30px; background: #171717; color: #fff; }
.cerca-bcn-comparison-card .elementor-heading-title { color: #fff; }
.elementor .elementor-element.cerca-bcn-comparison-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.cerca-bcn-section .cerca-bcn-comparison-item { padding: 14px 16px; border: 1px solid #ffffff30; border-radius: 14px; font-weight: 700; font-size: 15px; }
.cerca-bcn-comparison-item:last-child { grid-column: 1 / -1; background: var(--e-global-color-accent,#D8FF5F); color: #171717; }
.elementor .elementor-element.cerca-bcn-faq-inner { max-width: 980px; }
.cerca-bcn-section[id],.cerca-bcn-section [id="estudio"] { scroll-margin-top: 120px; }
@media(max-width:1023px) {
 .elementor .elementor-element.cerca-bcn-editorial-grid { grid-template-columns: minmax(0,1fr); gap: 28px; }
 .elementor .elementor-element.cerca-bcn-hero-grid { grid-template-columns: minmax(0,1fr); }
 .elementor .elementor-element.cerca-bcn-visual { min-height: 440px; }
}
@media(max-width:767px) {
 .elementor .elementor-element.cerca-bcn-hero-grid > .e-con:first-child { padding: 28px; }
 .elementor .elementor-element.cerca-bcn-visual { min-height: 400px; padding: 18px; border-radius: 28px; }
 .elementor .elementor-element.cerca-bcn-process-card,
 .elementor .elementor-element.cerca-bcn-comparison-card { padding: 26px; }
 .elementor .elementor-element.cerca-bcn-photo-note { padding: 20px; }
 .cerca-bcn-photo-note :is(h2,h3).elementor-heading-title { font-size: 21px; }
 .cerca-bcn-section .cerca-bcn-comparison-item { padding: 12px; font-size: 14px; }
}

/* One native multi-step form, shared by all capture locations. */
.elementor .elementor-element.cerca-unified-form { width:100%; max-width:760px; margin-inline:auto; --e-form-steps-indicator-active-primary-color:#171717; --e-form-steps-indicator-active-secondary-color:#fff; --e-form-steps-indicator-completed-primary-color:#D8FF5F; --e-form-steps-indicator-completed-secondary-color:#171717; --e-form-steps-indicator-inactive-primary-color:#e0e8da; --e-form-steps-indicator-inactive-secondary-color:#171717; --e-form-steps-indicator-padding:0; }
.cerca-unified-form .e-form__indicators { margin-bottom:28px; }
.cerca-unified-form .e-form__indicators__indicator__label { font-size:12px; line-height:1.25; font-weight:700; }
.cerca-unified-form .e-form__indicators__indicator__number { width:32px; height:32px; min-width:32px; padding:0; font-size:14px; }
.cerca-unified-form .e-form__buttons { gap:12px; }
.cerca-unified-form .elementor-button { font-size:15px; border-radius:100px; }
.cerca-unified-form .e-form__buttons__wrapper__button-previous { background:#F4F2EB; color:#171717; }
.cerca-unified-form .elementor-field-group { min-width:0; }
.cerca-unified-form select { text-overflow:ellipsis; }
.cerca-unified-form :is(input,select,button):focus-visible { outline:2px solid #171717; outline-offset:3px; }
.cerca-unified-form button:disabled { opacity:.5; cursor:not-allowed; }
.cerca-api-pending { font-size:12px; line-height:1.5; padding:14px 18px; background:#F4F2EB; border-left:3px solid #171717; color:#555; border-radius:12px; margin-bottom:20px; }
@media(max-width:767px){ .cerca-unified-form .e-form__indicators__indicator__label { font-size:10px; } .cerca-unified-form .e-form__indicators { gap:4px; } }
.elementor .elementor-element.cerca-unified-form .e-form__buttons__wrapper__button-previous,
.elementor .elementor-element.cerca-unified-form .e-form__buttons__wrapper__button-previous span { background:#F4F2EB; color:#171717; }
.elementor .cerca-unified-form .e-form__indicators__indicator--state-active .e-form__indicators__indicator__number { background:#171717; color:#fff; border-color:#171717; }
.elementor .cerca-unified-form .e-form__indicators__indicator--state-inactive .e-form__indicators__indicator__number { background:#e0e8da; color:#171717; border-color:#e0e8da; }
.elementor .cerca-unified-form .e-form__indicators__indicator--state-completed .e-form__indicators__indicator__number { background:#D8FF5F; color:#171717; border-color:#D8FF5F; }

/* Align labels with actual controls; the select wrapper must never act as an input. */
.elementor .elementor-element.cerca-unified-form .elementor-field-group:not(.elementor-field-type-step) { align-content:flex-start; }
.elementor .elementor-element.cerca-unified-form .elementor-field-label { display:block; width:100%; padding:0 0 8px; margin:0; line-height:1.4; }
.elementor .elementor-element.cerca-unified-form .elementor-select-wrapper { padding:0; margin:0; min-height:0; background:transparent; border:0; border-radius:0; box-shadow:none; }
.elementor .elementor-element.cerca-unified-form :is(input,select).elementor-field-textual:not([type=checkbox]):not([type=hidden]) { box-sizing:border-box; width:100%; height:50px; min-height:50px; padding:12px 14px; margin:0; line-height:24px; border-radius:14px; }
.elementor .elementor-element.cerca-unified-form select.elementor-field-textual { padding-right:42px; }
.elementor .elementor-element.cerca-unified-form .elementor-select-wrapper .select-caret-down-wrapper { right:16px; height:100%; top:0; transform:none; display:flex; align-items:center; pointer-events:none; }

/* Native heading introducing the shared form on mortgage and locality landings. */
.elementor .elementor-element.cerca-form-invitation { width:100%; max-width:760px; margin:0 auto 4px; }
.elementor .cerca-form-invitation .elementor-heading-title { font-size:clamp(28px,2.6vw,36px); line-height:1.15; letter-spacing:-.035em; color:var(--e-global-color-primary,#171717); }

/* Landing introduction and shared form form one white card. */
.elementor .elementor-element.cerca-form-card {
  width:100%; max-width:760px; margin-inline:auto; padding:32px;
  background:var(--e-global-color-white,#fff); border-radius:32px;
  box-shadow:0 18px 48px #17171708; gap:24px;
}
.elementor .elementor-element.cerca-form-card .elementor-element.cerca-unified-form {
  padding:0; margin:0; background:transparent; border-radius:0; box-shadow:none;
}
.elementor .cerca-form-card .cerca-form-invitation { margin:0; }
.elementor .cerca-form-card .cerca-form-invitation .elementor-heading-title { font-size:30px; line-height:1.2; }
@media(max-width:767px) {
  .elementor .elementor-element.cerca-form-card { padding:24px; border-radius:28px; gap:22px; }
  .elementor .cerca-form-card .cerca-form-invitation .elementor-heading-title { font-size:26px; }
}

/* Editorial high-financing emphasis, using existing local content slots. */
.cerca-high-financing { margin-top:28px; padding:26px; border-radius:24px; background:var(--e-global-color-accent,#D8FF5F); color:#171717; }
.elementor .cerca-high-financing h2 { font-size:clamp(23px,2.2vw,30px); line-height:1.18; letter-spacing:-.025em; margin:0 0 18px; color:#171717; }
.cerca-high-financing p { font-size:16px; line-height:1.6; margin:0 0 16px; }
.cerca-high-financing p:last-child { margin:0; }
.cerca-high-financing a { font-weight:700; color:inherit; text-decoration:underline; text-underline-offset:3px; }
.cerca-high-financing .cerca-high-financing-links { font-size:14px; }
.elementor .elementor-element.cerca-home-high-financing { width:calc(100% - 96px); max-width:1320px; margin:40px auto; padding:40px; border-radius:32px; background:var(--e-global-color-accent,#D8FF5F); gap:20px; }
.cerca-home-high-financing h2 { font-size:clamp(28px,3vw,40px); line-height:1.15; }
.cerca-home-high-financing .elementor-button { background:#171717; color:#fff; border-radius:100px; padding:16px 24px; }
@media(max-width:767px){.elementor .elementor-element.cerca-home-high-financing {width:calc(100% - 40px);padding:26px;margin-block:28px;} .cerca-high-financing {padding:22px;}}
.elementor .elementor-element.cerca-hub-high-priority { outline:2px solid var(--e-global-color-accent,#D8FF5F); outline-offset:3px; }
