/**
 * WordPress / Elementor layout fixes only — do NOT override ANR design tokens.
 */

body.anr-site .site-main,
body.anr-site #content.site-main,
body.anr-site .elementor,
body.anr-site .elementor-section-wrap,
body.anr-site .elementor-widget-wrap,
body.anr-site .elementor-widget-container {
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Restore inner-page section spacing (must not be zeroed by layout reset above). */
body.anr-site .page-content {
  padding: clamp(4rem, 8vw, 6rem) 0;
  background: var(--cream);
}

body.anr-site main {
  width: 100%;
  max-width: none;
}

body.anr-site .elementor-section.elementor-section-boxed > .elementor-container {
  max-width: var(--max-w, 1280px);
}

/* Hybrid Elementor — easy-edit hero / intro blocks on inner pages */
/* Hybrid Elementor — easy-edit hero / intro blocks on inner pages.
 * Do NOT set background-image here — Elementor Style > Background must win.
 * Default image is a low-specificity fallback below. */
body.anr-site .elementor-section.anr-el-hero {
  background-color: var(--navy);
  background-size: cover;
  background-position: right center;
  background-repeat: no-repeat;
  padding: calc(var(--header-h) + 4rem) 0 4rem !important;
  position: relative;
  overflow: hidden;
}

/* Fallback only when Elementor has not set a section background.
 * Keep specificity LOW so Elementor Classic background CSS wins. */
.elementor-section.anr-el-hero:not([style*="background-image"]) {
  background-image: url("../images/page-hero-banner.jpg");
}

/* ANR Page Hero widget — full-bleed banner (no :has() needed) */
body.anr-site:not(.elementor-editor-active) .elementor-widget-anr_page_hero,
body.anr-site:not(.elementor-editor-active) .elementor-widget-anr_page_hero > .elementor-widget-container {
  display: contents;
}

body.anr-site .elementor-section.anr-el-page-hero {
  padding: 0 !important;
  background: transparent !important;
  background-image: none !important;
}

body.anr-site:not(.elementor-editor-active) .elementor-section.anr-el-page-hero > .elementor-container,
body.anr-site:not(.elementor-editor-active) .elementor-section.anr-el-page-hero > .elementor-container > .elementor-column,
body.anr-site:not(.elementor-editor-active) .elementor-section.anr-el-page-hero .elementor-widget-wrap {
  display: contents;
}

body.anr-site .page-hero[style*="background-image"],
body.anr-site .page-hero.page-hero--has-bg-img,
body.anr-site .page-hero:has(.page-hero__bg) {
  background-size: cover !important;
  background-position: right center !important;
  background-repeat: no-repeat !important;
}

body.anr-site .page-hero.page-hero--has-bg-img,
body.anr-site .page-hero:has(.page-hero__bg) {
  background-image: none !important;
}

body.anr-site .elementor-section.anr-el-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: linear-gradient(
    90deg,
    rgba(22, 58, 95, 0.92) 0%,
    rgba(22, 58, 95, 0.72) 38%,
    rgba(22, 58, 95, 0.28) 68%,
    rgba(22, 58, 95, 0.08) 100%
  );
  pointer-events: none;
}

body.anr-site .elementor-section.anr-el-hero > .elementor-container {
  position: relative;
  z-index: 1;
}

body.anr-site .elementor-section.anr-el-hero > .elementor-container,
body.anr-site .elementor-section.anr-el-intro > .elementor-container,
body.anr-site .elementor-section.anr-el-main > .elementor-container,
body.anr-site .elementor-section.anr-el-cta > .elementor-container,
body.anr-site .elementor-section.anr-el-form > .elementor-container {
  width: 100%;
  max-width: var(--max-w, 1280px);
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: clamp(1.25rem, 4vw, 2.5rem) !important;
  padding-right: clamp(1.25rem, 4vw, 2.5rem) !important;
  box-sizing: border-box;
}

body.anr-site .elementor-section.anr-el-main > .elementor-container,
body.anr-site .elementor-section.anr-el-intro > .elementor-container,
body.anr-site .elementor-section.anr-el-cta > .elementor-container,
body.anr-site .elementor-section.anr-el-form > .elementor-container {
  max-width: 720px;
}

body.anr-site .elementor-section.anr-el-hero .elementor-widget-wrap,
body.anr-site .elementor-section.anr-el-main .elementor-widget-wrap,
body.anr-site .elementor-section.anr-el-intro .elementor-widget-wrap,
body.anr-site .elementor-section.anr-el-cta .elementor-widget-wrap,
body.anr-site .elementor-section.anr-el-form .elementor-widget-wrap {
  max-width: 100%;
}

body.anr-site .elementor-section.anr-el-hero .elementor-heading-title,
body.anr-site .elementor-section.anr-el-cta .elementor-heading-title {
  overflow-wrap: break-word;
}

body.anr-site .elementor-section.anr-el-hero::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold-dim), transparent);
}

body.anr-site .elementor-section.anr-el-hero .elementor-heading-title {
  font-family: var(--font-display);
  font-size: clamp(2.5rem, 5vw, 4rem);
  font-weight: 500;
  color: var(--white);
  margin-bottom: 1rem;
  letter-spacing: -0.02em;
}

body.anr-site .elementor-section.anr-el-hero .anr-el-hero__subtitle {
  font-size: 1.05rem;
  font-weight: 300;
  color: rgba(255, 255, 255, 0.55);
  max-width: 52ch;
  line-height: 1.75;
  margin: 0;
}

body.anr-site .elementor-section.anr-el-hero .anr-el-hero__subtitle .page-hero__tagline,
body.anr-site .elementor-section.anr-el-hero .anr-el-hero__subtitle .page-hero__line {
  display: block;
}

body.anr-site .elementor-section.anr-el-hero .anr-el-hero__subtitle .page-hero__tagline {
  font-family: var(--font-display);
  font-size: 1.35rem;
  font-style: italic;
  font-weight: 500;
  color: var(--gold-light, #e2c878) !important;
  letter-spacing: 0.01em;
  margin-bottom: 0.4rem;
}

/* Contact page font bump */
body.anr-site.page-id-10409 .elementor-section.anr-el-hero .anr-el-hero__subtitle,
body.anr-site.page-id-10409 .section-subtitle,
body.anr-site.page-id-10409 .prose p,
body.anr-site.page-id-10409 .form-group input,
body.anr-site.page-id-10409 .form-group textarea,
body.anr-site.page-id-10409 .contact__form-wrapper .wpcf7-form-control:not(.wpcf7-submit),
body.anr-site.elementor-page-10409 .elementor-section.anr-el-hero .anr-el-hero__subtitle,
body.anr-site.elementor-page-10409 .section-subtitle,
body.anr-site.elementor-page-10409 .prose p,
body.anr-site.elementor-page-10409 .form-group input,
body.anr-site.elementor-page-10409 .form-group textarea,
body.anr-site.elementor-page-10409 .contact__form-wrapper .wpcf7-form-control:not(.wpcf7-submit) {
  font-size: 18px !important;
}

body.anr-site .elementor-section.anr-el-intro {
  background: var(--cream);
  padding: clamp(4rem, 8vw, 6rem) 0 !important;
}

body.anr-site .elementor-section.anr-el-intro .elementor-widget-wrap {
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
}

body.anr-site .elementor-section.anr-el-intro .prose p {
  color: var(--muted);
  line-height: 1.85;
}

body.anr-site.anr-elementor-page .elementor-section-wrap > .elementor-section {
  margin-left: auto;
  margin-right: auto;
}

/* Editable Elementor blocks — preserve ANR section styling */
body.anr-site .elementor-section.anr-el-editable {
  padding: 0 !important;
}

body.anr-site .elementor-section.anr-el-editable > .elementor-container {
  max-width: none;
  padding: 0;
}

body.anr-site .elementor-section.anr-el-editable .elementor-widget-html {
  width: 100%;
}

/*
 * Flatten Elementor wrappers around native ANR widgets on the live site.
 * Use block layout (not display:contents) so sections/images render reliably.
 */
body.anr-site:not(.elementor-editor-active) .elementor-section.anr-el-native > .elementor-container,
body.anr-site:not(.elementor-editor-active) .elementor-section.anr-el-native > .elementor-container > .elementor-column,
body.anr-site:not(.elementor-editor-active) .elementor-section.anr-el-native .elementor-widget-wrap,
body.anr-site:not(.elementor-editor-active) .elementor-section.anr-el-native [class*="elementor-widget-anr_"],
body.anr-site:not(.elementor-editor-active) .elementor-section.anr-el-native [class*="elementor-widget-anr_"] > .elementor-widget-container {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

body.anr-site .elementor-section.anr-el-native {
  padding: 0 !important;
  display: block !important;
  width: 100% !important;
  overflow: visible !important;
}

body.anr-site .elementor-section.anr-el-native > .elementor-container {
  max-width: none;
  padding: 0;
}

body.anr-site [class*="elementor-widget-anr_"] {
  width: 100%;
}

/*
 * Flatten Elementor wrappers around shortcode output on the live site.
 */
body.anr-site:not(.elementor-editor-active) .elementor-section.anr-el-shortcode > .elementor-container,
body.anr-site:not(.elementor-editor-active) .elementor-section.anr-el-shortcode > .elementor-container > .elementor-column,
body.anr-site:not(.elementor-editor-active) .elementor-section.anr-el-shortcode .elementor-widget-wrap,
body.anr-site:not(.elementor-editor-active) .elementor-section.anr-el-shortcode .elementor-widget-shortcode,
body.anr-site:not(.elementor-editor-active) .elementor-section.anr-el-shortcode .elementor-widget-shortcode > .elementor-widget-container,
body.anr-site:not(.elementor-editor-active) .elementor-section.anr-el-shortcode .elementor-widget-anr_section,
body.anr-site:not(.elementor-editor-active) .elementor-section.anr-el-shortcode .elementor-widget-anr_section > .elementor-widget-container,
body.anr-site:not(.elementor-editor-active) .elementor-section.anr-el-shortcode .elementor-widget-anr_page_block,
body.anr-site:not(.elementor-editor-active) .elementor-section.anr-el-shortcode .elementor-widget-anr_page_block > .elementor-widget-container {
  display: contents;
}

body.anr-site .elementor-widget-anr_section,
body.anr-site .elementor-widget-anr_page_block {
  width: 100%;
}

body.anr-site .elementor-section.anr-el-shortcode {
  padding: 0 !important;
}

body.anr-site .elementor-section.anr-el-shortcode > .elementor-container {
  max-width: none;
  padding: 0;
}

body.anr-site .elementor-widget-shortcode {
  width: 100%;
}

/*
 * Flatten Elementor wrappers on the live site so ANR section CSS
 * (hero grid, about__shell, capabilities__bento, etc.) matches static HTML.
 */
body.anr-site:not(.elementor-editor-active) .elementor-section.anr-el-editable > .elementor-container,
body.anr-site:not(.elementor-editor-active) .elementor-section.anr-el-editable > .elementor-container > .elementor-column,
body.anr-site:not(.elementor-editor-active) .elementor-section.anr-el-editable .elementor-widget-wrap,
body.anr-site:not(.elementor-editor-active) .elementor-section.anr-el-editable .elementor-widget-html,
body.anr-site:not(.elementor-editor-active) .elementor-section.anr-el-editable .elementor-widget-html > .elementor-widget-container {
  display: contents;
}

body.anr-site .elementor-section.anr-el-editable.hero {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

body.anr-site .elementor-section.anr-el-editable.about,
body.anr-site .elementor-section.anr-el-editable.capabilities,
body.anr-site .elementor-section.anr-el-editable.pillars,
body.anr-site .elementor-section.anr-el-editable.areas,
body.anr-site .elementor-section.anr-el-editable.contact,
body.anr-site .elementor-section.anr-el-editable.portfolio,
body.anr-site .elementor-section.anr-el-editable.metrics {
  width: 100%;
}

body.anr-site .elementor-section.anr-el-main {
  background: var(--cream);
  padding: clamp(4rem, 8vw, 6rem) 0 !important;
}

body.anr-site .elementor-section.anr-el-main .prose,
body.anr-site .elementor-section.anr-el-main .process-steps,
body.anr-site .elementor-section.anr-el-main .feature-grid,
body.anr-site .elementor-section.anr-el-main .rebate-highlight,
body.anr-site .elementor-section.anr-el-main .valuation-box,
body.anr-site .elementor-section.anr-el-main .elementor-widget-html {
  max-width: 100%;
}

body.anr-site .elementor-section.anr-el-main .prose {
  max-width: 720px;
  margin: 0 auto;
}

body.anr-site .elementor-section.anr-el-cta {
  background: var(--cream) !important;
  padding: clamp(3rem, 6vw, 5rem) 0 !important;
  text-align: center;
}

body.anr-site .elementor-section.anr-el-cta > .elementor-container {
  max-width: min(920px, calc(100% - 2.5rem)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: clamp(2.5rem, 5vw, 3.75rem) clamp(1.5rem, 4vw, 3rem) !important;
  background: var(--navy);
  border-radius: 24px;
  box-shadow: 0 20px 48px rgba(22, 58, 95, 0.16);
}

body.anr-site .elementor-section.anr-el-cta .elementor-heading-title {
  font-family: var(--font-display);
  font-size: clamp(1.75rem, 3.5vw, 2.75rem);
  color: var(--white);
  margin-bottom: 1rem;
}

body.anr-site .elementor-section.anr-el-cta .cta-banner__text {
  color: rgba(255, 255, 255, 0.72);
  max-width: 48ch;
  margin: 0 auto 2rem;
  line-height: 1.7;
}

body.anr-site .elementor-section.anr-el-cta .elementor-button {
  background: var(--gold);
  color: var(--navy);
  border-radius: 0;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.72rem;
  padding: 1rem 2rem;
}

body.anr-site .elementor-section.anr-el-form {
  background: var(--white);
  padding: clamp(5rem, 10vw, 8rem) 0 !important;
}

body.anr-site .elementor-section.anr-el-form .section-subtitle {
  text-align: center;
  color: var(--muted);
  margin-bottom: 2rem;
}

/* Contact form inputs — Elementor resets can strip underline-only borders. */
body.anr-site .contact__form .form-group input,
body.anr-site .contact__form .form-group textarea,
body.anr-site .contact__box .form-group input,
body.anr-site .contact__box .form-group textarea,
body.anr-site .elementor-section.anr-el-form .form-group input,
body.anr-site .elementor-section.anr-el-form .form-group textarea,
body.anr-site .contact .wpcf7-form-control:not(.wpcf7-submit),
body.anr-site .elementor-widget-anr_contact_form .form-group input,
body.anr-site .elementor-widget-anr_contact_form .form-group textarea {
  display: block !important;
  width: 100% !important;
  min-height: 48px;
  padding: 0.85rem 1rem !important;
  border: 1px solid rgba(22, 58, 95, 0.24) !important;
  border-radius: 4px;
  background: #fff !important;
  color: var(--text) !important;
  box-shadow: none;
}

body.anr-site .contact__form .form-group input:focus,
body.anr-site .contact__form .form-group textarea:focus,
body.anr-site .contact__box .form-group input:focus,
body.anr-site .contact__box .form-group textarea:focus,
body.anr-site .elementor-section.anr-el-form .form-group input:focus,
body.anr-site .elementor-section.anr-el-form .form-group textarea:focus,
body.anr-site .contact .wpcf7-form-control:focus {
  outline: none;
  border-color: var(--gold) !important;
  box-shadow: 0 0 0 3px rgba(201, 168, 76, 0.18);
}

body.anr-site .elementor-section.anr-el-form .elementor-heading-title {
  font-family: var(--font-display);
  text-align: center;
  color: var(--navy);
}

body.anr-site .elementor-section.anr-el-metrics .elementor-heading-title {
  font-family: var(--font-display);
  font-size: clamp(2rem, 4vw, 3rem);
  color: var(--gold);
  text-align: center;
}

body.anr-site .elementor-section.anr-el-metrics .metrics__label {
  text-align: center;
  color: var(--muted);
  font-size: 0.75rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

body.anr-site .elementor-section.anr-el-about > .elementor-container {
  max-width: var(--max-w, 1280px);
}

body.anr-site .elementor-section.anr-el-about .section-eyebrow,
body.anr-site .elementor-section.anr-el-pillars .section-eyebrow {
  font-size: 0.72rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--gold);
}

body.anr-site .elementor-section.anr-el-about .elementor-heading-title,
body.anr-site .elementor-section.anr-el-pillars .elementor-heading-title {
  font-family: var(--font-display);
  color: var(--navy);
}

body.anr-site .elementor-section.anr-el-pillars .section-subtitle {
  color: var(--muted);
  margin-bottom: 2rem;
}

body.anr-site .elementor-section.anr-el-hero-native .elementor-button {
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.35);
  color: var(--white);
  border-radius: 0;
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 0.9rem 1.5rem;
}

body.anr-site .elementor-section.anr-el-hero-native .elementor-button:first-of-type {
  background: var(--gold);
  border-color: var(--gold);
  color: var(--navy);
}

body.anr-site .elementor-section.anr-el-capabilities .elementor-heading-title,
body.anr-site .elementor-section.anr-el-areas .elementor-heading-title,
body.anr-site .elementor-section.anr-el-portfolio .elementor-heading-title {
  font-family: var(--font-display);
  color: var(--white);
}

body.anr-site .elementor-section.anr-el-capabilities,
body.anr-site .elementor-section.anr-el-capabilities-row,
body.anr-site .elementor-section.anr-el-areas {
  background: var(--navy);
}

body.anr-site .capabilities__ribbon {
  border-color: rgba(201, 168, 76, 0.35) !important;
  background: rgba(201, 168, 76, 0.06) !important;
}

body.anr-site .capabilities__ribbon span {
  color: var(--gold-light, #e2c878) !important;
  border-bottom-color: rgba(201, 168, 76, 0.28) !important;
}

body.anr-site .capabilities__ribbon span:hover {
  color: var(--gold, #c9a84c) !important;
  background: rgba(201, 168, 76, 0.14) !important;
}

body.anr-site .elementor-section.anr-el-capabilities-row > .elementor-container {
  max-width: var(--max-w, 1280px);
}

body.anr-site .elementor-section.anr-el-contact > .elementor-container {
  max-width: var(--max-w, 1280px);
}

/*
 * User-added Elementor v4 flex containers (e.g. "Key Benefits" on Buyer Rebates).
 * They render edge-to-edge by default; center them on the main content column.
 */
body.anr-site .elementor > .e-con.e-atomic-element {
  max-width: 720px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding: 2.25rem clamp(1.5rem, 4vw, 2.5rem);
  background: var(--white, #fff);
  border: var(--hairline, 1px solid rgba(201, 168, 76, 0.28));
  margin-top: 2rem;
  margin-bottom: 2rem;
}

body.anr-site .elementor > .e-con.e-atomic-element .e-heading-base {
  font-family: var(--font-display);
  font-size: 1.45rem;
  font-weight: 500;
  color: var(--navy, #0b1f3a);
  text-align: center;
  margin-bottom: 1.25rem;
}

body.anr-site .elementor > .e-con.e-atomic-element .elementor-icon-list-items {
  margin: 0 auto;
  max-width: 56ch;
}

body.anr-site .elementor > .e-con.e-atomic-element .elementor-icon-list-item {
  padding: 0.4rem 0;
  color: var(--muted, #5b6472);
  line-height: 1.7;
}

body.anr-site .elementor > .e-con.e-atomic-element .elementor-icon-list-icon {
  color: var(--gold, #c9a84c);
}

/* About proof labels — Inter so <1% digits stay readable (not serif "i") */
body.anr-site .about__proof strong,
body.anr-site .about__proof strong .about__proof-num {
  font-family: var(--font-body) !important;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  font-style: normal;
  color: var(--gold-light, #e2c878) !important;
  white-space: nowrap;
}

body.anr-site .about__proof strong .about__proof-num {
  display: inline !important;
  font-weight: 700;
  color: inherit !important;
}

/*
 * Mortgage calculator — full width inside Elementor, reset kit styles.
 */
body.anr-site .elementor-widget-anr_mortgage_calculator,
body.anr-site .elementor-widget-anr_mortgage_calculator > .elementor-widget-container {
  width: 100vw !important;
  max-width: 100vw !important;
}

body.anr-site .elementor-widget-anr_mortgage_calculator {
  margin-left: calc(50% - 50vw) !important;
}

body.anr-site .e-con:has(> .elementor-widget-anr_mortgage_calculator) {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.anr-site .anr-mortgage-calc .anr-mortgage-calc__container {
  padding-left: clamp(1.25rem, 4vw, 2.5rem) !important;
  padding-right: clamp(1.25rem, 4vw, 2.5rem) !important;
}

body.anr-site .anr-mortgage-calc .anr-mortgage-calc__title {
  background: transparent !important;
  box-shadow: none !important;
}

body.anr-site .anr-mortgage-calc label {
  margin: 0;
}

body.anr-site .anr-mortgage-calc input[type="number"] {
  appearance: auto;
  -webkit-appearance: auto;
}

/*
 * Mobile polish — GPU layer for background images.
 */
@media (max-width: 768px) {
  body.anr-site .cap-card__visual,
  body.anr-site .about__photo {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}
