/* T02 visual theme v2 — Gilroy, graphite, DeSantis red and warm gold. */
.ire-widget {
  --ire-navy: #090909;
  --ire-navy-soft: #262626;
  --ire-accent: #e8c184 !important;
  --ire-accent-hover: #f3d1a0;
  --ire-surface: #fafafa;
  --ire-surface-raised: #ffffff;
  --ire-surface-soft: #f5f2ef;
  --ire-text: #262626;
  --ire-muted: #77716e;
  --ire-line: #d7d2ce;
  --ire-danger: #b42d27;
  --ire-radius: 10px;
  --ire-shadow: 0 12px 28px rgba(0, 0, 0, 0.18);
  font-family: "Gilroy", "Avenir Next", "Helvetica Neue", Arial, sans-serif;
  font-weight: 500;
}

.ire-promo {
  --ire-navy: #090909;
  --ire-navy-soft: #262626;
  --ire-accent: #e8c184 !important;
  --ire-ink: #262626;
  --ire-muted: #77716e;
  --ire-line: #d7d2ce;
  --ire-radius: 12px;
  font-family: "Gilroy", "Avenir Next", "Helvetica Neue", Arial, sans-serif;
  font-weight: 500;
}

.ire-widget button,
.ire-widget input,
.ire-widget select,
.ire-promo button {
  font-family: inherit;
}

.ire-shell {
  border-color: #d7d2ce;
  border-radius: 12px;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.18);
}

.ire-header {
  background: #090909;
  border-bottom: 1px solid #404040;
}

.ire-brand-name,
.ire-step-name {
  color: #ffffff;
  font-weight: 700;
}

.ire-brand-subtitle,
.ire-header-note,
.ire-step-count {
  color: #f3d1a0;
}

.ire-step-count {
  padding: 2px 8px;
  border: 1px solid rgba(243, 209, 160, 0.45);
  border-radius: 999px;
  background: rgba(243, 209, 160, 0.08);
}

.ire-progress {
  background: #d7d2ce;
}

.ire-panel h2,
.ire-promo-copy h2,
.ire-showcase-copy strong,
.ire-smart-peek strong {
  font-family: "Roboto Condensed", Roboto, "Arial Narrow", Arial, sans-serif !important;
  font-style: normal;
  font-weight: 900 !important;
  font-stretch: condensed;
  letter-spacing: 0;
}

.ire-kicker,
.ire-promo-kicker {
  color: #b42d27;
  font-weight: 700;
}

.ire-widget .ire-intro,
.ire-promo .ire-promo-intro {
  font-family: "Gilroy", "Avenir Next", "Helvetica Neue", Arial, sans-serif;
  font-size: 18px !important;
  font-weight: 500;
  line-height: 24px;
  letter-spacing: 0;
}

.ire-address-form label,
.ire-field label {
  font-size: 14px;
  font-weight: 700;
  line-height: 18px;
}

.ire-field-help,
.ire-disclaimer,
.ire-consent,
.ire-showcase-copy > span:not(.ire-showcase-cta),
.ire-smart-peek-copy {
  font-family: "Gilroy", "Avenir Next", "Helvetica Neue", Arial, sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
}

.ire-widget input,
.ire-widget select,
.ire-place-autocomplete,
.ire-place-autocomplete::part(input) {
  border-color: #d7d2ce;
  border-radius: 6px;
  background: #ffffff;
  color: #262626;
}

.ire-widget input::placeholder {
  color: #77716e;
}

.ire-button,
.ire-promo-cta,
.ire-showcase-cta {
  border-radius: 6px;
  font-weight: 700;
}

.ire-widget .ire-button.ire-button-primary,
.ire-promo .ire-promo-cta {
  font-family: "Gilroy", "Avenir Next", "Helvetica Neue", Arial, sans-serif;
  font-size: clamp(18px, 1.55vw, 24px);
  font-weight: 900 !important;
  line-height: 29px;
  letter-spacing: 0;
}

.ire-widget--slideout .ire-button.ire-button-primary {
  min-height: 56px;
  font-size: 20px;
  line-height: 24px;
}

.ire-showcase-cta {
  font-family: "Gilroy", "Avenir Next", "Helvetica Neue", Arial, sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 20px;
}

.ire-button-primary,
.ire-promo-cta,
.ire-showcase-cta,
.ire-showcase-ready {
  border: 1px solid #2b241c;
  background: #e8c184;
  color: #1e1e1e;
  box-shadow: 0 10px 24px rgba(104, 74, 34, 0.2);
}

.ire-button-primary:hover,
.ire-promo-cta:hover,
.ire-promo-cta:focus-visible,
.ire-showcase:hover .ire-showcase-cta,
.ire-showcase:focus-within .ire-showcase-cta {
  background: #f3d1a0;
  filter: none;
}

.ire-choice,
.ire-package,
.ire-gate-form,
.ire-snapshot-data,
.ire-selected-summary {
  border-color: #d7d2ce;
  border-radius: 10px;
}

.ire-choice:hover,
.ire-choice[aria-checked="true"],
.ire-package.is-recommended {
  border-color: #b42d27;
  background: color-mix(in srgb, #b42d27 5%, #ffffff);
}

.ire-promo-section {
  border-color: #d7d2ce;
  background:
    radial-gradient(circle at 7% 10%, rgba(232, 193, 132, 0.16), transparent 31%),
    #fafafa;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.12);
}

.ire-promo-map {
  border-color: #ffffff;
  box-shadow: 0 20px 46px rgba(0, 0, 0, 0.24);
}

.ire-launcher {
  border: 1px solid #2b241c;
  background: #e8c184;
  color: #1e1e1e;
  box-shadow: 0 12px 34px rgba(0, 0, 0, 0.3);
}

.ire-launcher-visual {
  background: #090909;
}

.ire-launcher-copy small {
  color: rgba(30, 30, 30, 0.74);
  font-size: 13.2px;
  font-weight: 500;
  line-height: 17px;
}

.ire-launcher-copy strong {
  font-size: 18px;
  font-weight: 700;
  line-height: 22px;
}

@media (min-width: 821px) {
  .ire-launcher {
    min-width: 208px;
    min-height: 70px;
    padding-right: 16px;
  }
}

.ire-smart-peek,
.ire-showcase {
  background: #090909;
  color: #ffffff;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.42);
}

.ire-showcase-copy {
  background: linear-gradient(145deg, #090909 0%, #262626 100%);
  border-top: 1px solid #404040;
}

.ire-showcase-copy > span:not(.ire-showcase-cta),
.ire-smart-peek-copy {
  color: rgba(255, 255, 255, 0.72);
}

.ire-smart-peek-label,
.ire-smart-peek-cta {
  color: #f3d1a0;
}

.ire-showcase-loading,
.ire-showcase-status,
.ire-showcase-footprint {
  border-color: rgba(243, 209, 160, 0.28);
  background: rgba(9, 9, 9, 0.92);
  color: #ffffff;
}

.ire-showcase-close {
  background: radial-gradient(circle, #e8c184 0 18px, #f3d1a0 18.5px 20px, transparent 20.5px);
  color: #090909;
}

.ire-showcase-close::before,
.ire-showcase-close::after {
  background: #090909;
}

.ire-slideout-backdrop {
  background: rgba(9, 9, 9, 0.72);
}

.ire-slideout-panel {
  background: #fafafa;
  box-shadow: -24px 0 70px rgba(0, 0, 0, 0.32);
}

.ire-slideout-close {
  border-color: rgba(255, 255, 255, 0.35);
  background: #b42d27;
  color: #ffffff;
}

.ire-widget--slideout .ire-header {
  background: #090909;
}

.ire-widget--slideout .ire-brand-name {
  font-size: 16px;
  font-weight: 700;
  line-height: 20px;
}

.ire-widget--slideout .ire-brand-subtitle {
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
}

.ire-widget--slideout .ire-step-name {
  font-size: 16px;
  font-weight: 700;
  line-height: 20px;
}

.ire-widget--slideout .ire-step-count {
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
}

@media (max-width: 560px) {
  .ire-widget,
  .ire-promo {
    font-family: "Gilroy", "Avenir Next", "Helvetica Neue", Arial, sans-serif;
  }

  .ire-widget .ire-intro,
  .ire-promo .ire-promo-intro {
    font-size: 17px !important;
    line-height: 24px;
  }

  .ire-widget--slideout .ire-button.ire-button-primary,
  .ire-promo .ire-promo-cta {
    font-size: 18px;
    line-height: 22px;
  }
}

/* Height-aware snapshot layout and stronger address input typography. */
.ire-widget--slideout .ire-address,
.ire-widget--slideout .ire-place-autocomplete,
.ire-widget--slideout .ire-place-autocomplete::part(input) {
  color: #090909;
  font-family: "Gilroy", "Avenir Next", "Helvetica Neue", Arial, sans-serif;
  font-size: 20px;
  font-weight: 500;
  line-height: 26px;
}

.ire-widget--slideout .ire-panel[data-panel="snapshot"] .ire-property-layout {
  gap: 14px;
}

.ire-widget--slideout .ire-panel[data-panel="snapshot"] .ire-map-frame {
  height: clamp(180px, 32dvh, 260px);
  aspect-ratio: auto;
}

@media (max-height: 760px) {
  .ire-widget--slideout .ire-panel[data-panel="snapshot"] {
    padding: 18px 24px 20px;
  }

  .ire-widget--slideout .ire-panel[data-panel="snapshot"] .ire-property-heading {
    margin-bottom: 10px;
  }

  .ire-widget--slideout .ire-panel[data-panel="snapshot"] .ire-property-heading h2 {
    font-size: 30px;
    line-height: 1;
  }

  .ire-widget--slideout .ire-panel[data-panel="snapshot"] .ire-kicker {
    margin-bottom: 5px;
  }

  .ire-widget--slideout .ire-panel[data-panel="snapshot"] .ire-map-frame {
    height: clamp(140px, calc(100dvh - 460px), 220px);
  }

  .ire-widget--slideout .ire-panel[data-panel="snapshot"] .ire-address-display {
    margin-bottom: 8px;
    font-size: 15px;
    line-height: 20px;
  }

  .ire-widget--slideout .ire-panel[data-panel="snapshot"] .ire-snapshot-data dl {
    margin-bottom: 8px;
  }

  .ire-widget--slideout .ire-panel[data-panel="snapshot"] .ire-snapshot-data dl > div {
    padding: 4px 0;
  }

  .ire-widget--slideout .ire-panel[data-panel="snapshot"] .ire-button.ire-button-primary {
    min-height: 48px;
    font-size: 18px;
    line-height: 22px;
  }

  .ire-widget--slideout .ire-panel[data-panel="snapshot"] .ire-not-home {
    margin-top: 3px;
    font-size: 15px;
    line-height: 20px;
  }
}

@media (max-width: 560px) {
  .ire-widget--slideout .ire-address,
  .ire-widget--slideout .ire-place-autocomplete,
  .ire-widget--slideout .ire-place-autocomplete::part(input) {
    font-size: 18px;
    line-height: 24px;
  }

  .ire-widget--slideout .ire-panel[data-panel="snapshot"] .ire-map-frame {
    height: clamp(150px, 27dvh, 220px);
  }
}

/* T02 readability pass across the complete estimator flow. */
.ire-widget--slideout {
  --ire-muted: #404040;
}

.ire-widget--slideout .ire-panel h2 {
  text-wrap: balance;
}

.ire-widget--slideout .ire-panel[data-panel="address"] .ire-address-form {
  margin-top: 28px;
}

.ire-widget--slideout .ire-field-help,
.ire-widget--slideout .ire-disclaimer,
.ire-widget--slideout .ire-consent,
.ire-widget--slideout .ire-text-button {
  color: #262626;
  font-weight: 500;
}

.ire-widget--slideout .ire-scan-list li {
  color: #262626;
  font-size: 17px;
  font-weight: 500;
  line-height: 22px;
}

.ire-widget--slideout .ire-scan-list li.is-complete {
  color: #090909;
  font-weight: 700;
}

.ire-widget--slideout .ire-scan-list li > span {
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  border-color: #929da2;
}

.ire-widget--slideout .ire-scan-list li.is-complete > span::after {
  left: 7px;
  top: 6px;
}

.ire-widget--slideout .ire-address-display {
  margin-bottom: 18px;
  color: #090909;
  font-size: 16px;
  font-weight: 700;
  line-height: 22px;
}

.ire-widget--slideout .ire-snapshot-data dt {
  color: #262626;
  font-size: 16px;
  font-weight: 500;
  line-height: 22px;
}

.ire-widget--slideout .ire-snapshot-data dd {
  color: #090909;
  font-size: 16px;
  font-weight: 700;
  line-height: 22px;
  font-variant-numeric: tabular-nums;
}

.ire-widget--slideout .ire-not-home,
.ire-widget--slideout .ire-property-heading .ire-text-button {
  color: #262626;
  font-size: 16px;
  font-weight: 500;
  line-height: 22px;
}

.ire-widget--slideout .ire-panel[data-panel="goal"] .ire-choice strong {
  color: #090909;
  font-size: 18px;
  font-weight: 700;
  line-height: 22px;
}

.ire-widget--slideout .ire-panel[data-panel="goal"] .ire-choice span {
  color: #262626;
  font-size: 16px;
  font-weight: 500;
  line-height: 22px;
}

.ire-widget--slideout .ire-gate-form,
.ire-widget--slideout .ire-lead-form {
  color: #262626;
}

.ire-widget--slideout .ire-gate-form .ire-field label,
.ire-widget--slideout .ire-lead-form .ire-field label {
  color: #090909;
  font-size: 16px;
  font-weight: 700;
  line-height: 20px;
}

.ire-widget--slideout .ire-gate-form input,
.ire-widget--slideout .ire-lead-form input,
.ire-widget--slideout .ire-lead-form select {
  color: #090909;
  font-size: 18px;
  font-weight: 500;
  line-height: 24px;
}

.ire-widget--slideout .ire-gate-form .ire-consent,
.ire-widget--slideout .ire-lead-form .ire-consent {
  color: #262626;
  font-size: 16px;
  font-weight: 500;
  line-height: 22px;
}

.ire-widget--slideout .ire-gate-form .ire-field-help {
  color: #262626;
  font-size: 15px;
  font-weight: 500;
  line-height: 21px;
}

.ire-widget--slideout .ire-price-toggle button {
  color: #262626;
  font-size: 15px;
  font-weight: 500;
}

.ire-widget--slideout .ire-price-toggle button.is-active {
  color: #090909;
  font-weight: 700;
}

.ire-widget--slideout .ire-package-copy em {
  font-size: 12px;
  font-weight: 700;
  line-height: 16px;
}

.ire-widget--slideout .ire-package-copy b {
  color: #090909;
  font-size: 20px;
  font-weight: 700;
  line-height: 24px;
}

.ire-widget--slideout .ire-package-copy > span,
.ire-widget--slideout .ire-package-price > span {
  color: #262626;
  font-size: 15px;
  font-weight: 500;
  line-height: 20px;
}

.ire-widget--slideout .ire-package-price strong,
.ire-widget--slideout .ire-selected-summary strong {
  color: #090909;
  font-variant-numeric: tabular-nums;
}

.ire-widget--slideout .ire-color-picker strong {
  color: #090909;
  font-size: 15px;
  font-weight: 700;
}

.ire-widget--slideout .ire-disclaimer {
  color: #262626;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
}

.ire-widget--slideout .ire-selected-summary span {
  color: #404040;
  font-size: 14px;
  font-weight: 700;
  line-height: 18px;
}

.ire-widget--slideout .ire-selected-summary small {
  color: #262626;
  font-size: 15px;
  font-weight: 500;
  line-height: 20px;
}

@media (max-width: 560px) {
  .ire-widget--slideout .ire-panel[data-panel="address"] .ire-address-form {
    margin-top: 22px;
  }

  .ire-widget--slideout .ire-scan-list li,
  .ire-widget--slideout .ire-panel[data-panel="goal"] .ire-choice span,
  .ire-widget--slideout .ire-gate-form .ire-consent,
  .ire-widget--slideout .ire-lead-form .ire-consent {
    font-size: 15px;
    line-height: 21px;
  }
}

/* Package-card composition and simplified slideout close control. */
.ire-widget--slideout .ire-panel[data-panel="packages"] .ire-package {
  grid-template-columns: minmax(180px, 0.9fr) minmax(220px, 1.1fr);
  gap: 14px;
}

.ire-widget--slideout .ire-panel[data-panel="packages"] .ire-package-copy {
  min-width: 0;
}

.ire-widget--slideout .ire-panel[data-panel="packages"] .ire-package-copy b {
  overflow-wrap: normal;
  word-break: keep-all;
}

.ire-widget--slideout .ire-panel[data-panel="packages"] .ire-package-price {
  min-width: 0;
}

.ire-widget--slideout .ire-panel[data-panel="packages"] .ire-package-price strong {
  font-size: clamp(21px, 2.25vw, 24px);
  white-space: nowrap;
}

.ire-widget--slideout .ire-panel[data-panel="packages"] .ire-package-price > span {
  font-size: 14px;
  text-wrap: balance;
}

.ire-widget--slideout .ire-panel[data-panel="packages"] .ire-disclaimer {
  margin-top: 30px;
}

.ire-slideout-close {
  width: 50px;
  height: 50px;
  border: 1px solid #d7d2ce;
  border-radius: 10px;
  background: #ffffff;
  color: transparent;
  font-size: 0;
  box-shadow: 0 5px 16px rgba(0, 0, 0, 0.16);
}

.ire-slideout-close::before,
.ire-slideout-close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 28px;
  height: 3px;
  border-radius: 999px;
  background: #090909;
}

.ire-slideout-close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.ire-slideout-close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.ire-slideout-close:hover,
.ire-slideout-close:focus-visible {
  background: #f5f5f5;
  border-color: #9f9b97;
}

@media (max-width: 560px) {
  .ire-widget--slideout .ire-panel[data-panel="packages"] .ire-package {
    grid-template-columns: 1fr;
  }

  .ire-widget--slideout .ire-panel[data-panel="packages"] .ire-package-price > span {
    white-space: normal;
  }

  .ire-slideout-close {
    width: 46px;
    height: 46px;
  }

  .ire-slideout-close::before,
  .ire-slideout-close::after {
    width: 25px;
  }
}
