/* Calculator pages: editorial layout, readable forms, and mobile-first spacing. */
body.calculator-shell {
  background: #f3f0e9 !important;
  color: #17221f !important;
}

body.calculator-shell .editorial-page-hero {
  padding: 0 !important;
  background: #123f38 !important;
}

body.calculator-shell .rr-hero-shell,
body.calculator-shell .rr-hero-frame {
  width: 100% !important;
  max-width: none !important;
  min-height: 500px !important;
  margin: 0 !important;
  box-shadow: none !important;
}

body.calculator-shell .editorial-page-hero-bg {
  filter: saturate(0.95) contrast(1.06) brightness(0.68) !important;
}

body.calculator-shell .editorial-page-hero-overlay {
  background: linear-gradient(90deg, rgba(10,34,30,0.96) 0%, rgba(10,34,30,0.8) 42%, rgba(10,34,30,0.2) 78%, rgba(10,34,30,0.05) 100%) !important;
}

body.calculator-shell .editorial-page-hero-inner {
  width: min(100%, 1280px) !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: clamp(72px, 10vw, 132px) clamp(24px, 6vw, 76px) !important;
}

body.calculator-shell .editorial-hero-eyebrow {
  color: #d9b49a !important;
  font: 700 0.78rem/1.2 "DM Sans", Inter, sans-serif !important;
  letter-spacing: 0.18em !important;
}

body.calculator-shell .editorial-hero-title {
  max-width: 9ch !important;
  color: #fffdf8 !important;
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(4.7rem, 8vw, 8rem) !important;
  font-weight: 500 !important;
  line-height: 0.88 !important;
  letter-spacing: -0.055em !important;
  text-shadow: none !important;
}

body.calculator-shell .editorial-hero-subtitle {
  max-width: 620px !important;
  color: #f1eee7 !important;
  font-size: clamp(1.08rem, 1.5vw, 1.28rem) !important;
  line-height: 1.65 !important;
}

body.calculator-shell .calculator-page {
  width: min(100% - 48px, 1320px) !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: clamp(64px, 9vw, 120px) 0 !important;
  background: transparent !important;
}

body.calculator-shell .calculator-lock-card,
body.calculator-shell .calculator-form,
body.calculator-shell #salary-calculator,
body.calculator-shell #moving-calculator,
body.calculator-shell .calculator-results {
  border: 1px solid rgba(23,34,31,0.16) !important;
  border-radius: 0 !important;
  background: #fffdf9 !important;
  color: #17221f !important;
  box-shadow: none !important;
}

body.calculator-shell .calculator-lock-card {
  max-width: 820px !important;
  margin: 0 auto !important;
  padding: clamp(36px, 6vw, 72px) !important;
  text-align: left !important;
}

body.calculator-shell .calculator-lock-icon {
  display: none !important;
}

body.calculator-shell :is(.calculator-lock-card, .calculator-form, #salary-calculator, #moving-calculator) h2 {
  margin: 0 0 18px !important;
  color: #123f38 !important;
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(2.6rem, 4.5vw, 4.8rem) !important;
  font-weight: 500 !important;
  line-height: 0.94 !important;
  letter-spacing: -0.045em !important;
}

body.calculator-shell .calculator-lock-copy,
body.calculator-shell .muted,
body.calculator-shell .calc-hint,
body.calculator-shell .calculator-secondary-link,
body.calculator-shell .calculator-footer-disclaimer {
  color: #58635f !important;
  line-height: 1.65 !important;
}

body.calculator-shell .calculator-app {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 36px !important;
  align-items: start !important;
}

body.calculator-shell .calculator-app[hidden] {
  display: none !important;
}

body.calculator-shell .calculator-form,
body.calculator-shell #salary-calculator,
body.calculator-shell #moving-calculator {
  padding: clamp(28px, 4vw, 48px) !important;
  margin: 0 !important;
}

body.calculator-shell #salary-calculator,
body.calculator-shell #moving-calculator {
  grid-column: span 1 !important;
}

body.calculator-shell .calculator-form {
  display: grid !important;
  gap: 22px !important;
}

body.calculator-shell .calc-field {
  display: grid !important;
  gap: 8px !important;
}

body.calculator-shell .calc-field label {
  color: #123f38 !important;
  font-size: 0.92rem !important;
  font-weight: 700 !important;
}

body.calculator-shell :is(input, select) {
  width: 100% !important;
  min-height: 54px !important;
  padding: 0 14px !important;
  border: 1px solid #a9b2ae !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  color: #17221f !important;
  font-family: "DM Sans", Inter, sans-serif !important;
  font-size: 1rem !important;
  box-shadow: none !important;
}

body.calculator-shell :is(input, select):focus {
  outline: 2px solid #23453f !important;
  outline-offset: 2px !important;
  border-color: #23453f !important;
}

body.calculator-shell .btn-primary,
body.calculator-shell .calculator-upgrade-btn {
  min-height: 54px !important;
  padding: 14px 24px !important;
  border-radius: 0 !important;
  background: #23453f !important;
  color: #ffffff !important;
  border-color: #23453f !important;
  font-weight: 700 !important;
}

body.calculator-shell .calculator-secondary-link a {
  color: #23453f !important;
  border-bottom: 1px solid #23453f !important;
}

body.calculator-shell .calculator-results {
  min-height: 0 !important;
  padding: clamp(24px, 4vw, 40px) !important;
}

body.calculator-shell .calculator-results:empty {
  display: none !important;
}

body.calculator-shell .calculator-results h3,
body.calculator-shell .calculator-results strong {
  color: #123f38 !important;
}

body.calculator-shell .calculator-footer-disclaimer {
  max-width: 760px !important;
  margin: 52px 0 0 !important;
  font-size: 0.86rem !important;
}

@media (max-width: 900px) {
  body.calculator-shell .calculator-page {
    width: calc(100% - 32px) !important;
  }

  body.calculator-shell .calculator-app {
    grid-template-columns: 1fr !important;
  }

  body.calculator-shell #salary-calculator,
  body.calculator-shell #moving-calculator {
    grid-column: 1 !important;
  }
}

@media (max-width: 640px) {
  body.calculator-shell .rr-hero-frame {
    min-height: 430px !important;
  }

  body.calculator-shell .editorial-page-hero-inner {
    padding: 48px 20px !important;
  }

  body.calculator-shell .editorial-hero-title {
    font-size: clamp(3.7rem, 18vw, 5.6rem) !important;
  }

  body.calculator-shell .calculator-page {
    width: calc(100% - 24px) !important;
    padding: 56px 0 !important;
  }

  body.calculator-shell .calculator-lock-card,
  body.calculator-shell .calculator-form,
  body.calculator-shell #salary-calculator,
  body.calculator-shell #moving-calculator,
  body.calculator-shell .calculator-results {
    padding: 24px 18px !important;
  }

  body.calculator-shell .btn-primary,
  body.calculator-shell .calculator-upgrade-btn {
    width: 100% !important;
  }
}
