body.home-page .home-quote-program,
body.quote-page .home-quote-program,
body.quote-page .quote-program {
  margin: 28px 0;
  padding: 46px 38px;
  border: 1px solid rgba(129, 216, 249, .7);
  border-radius: 30px;
  background: rgba(255,255,255,.82);
  box-shadow: 0 24px 70px rgba(30, 154, 212, .13);
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 34px;
  align-items: stretch;
}
body.home-page .home-quote-copy,
body.quote-page .home-quote-copy { min-width: 0; }
body.home-page .home-quote-kicker,
body.quote-page .home-quote-kicker {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 14px;
  border-radius: 999px;
  background: #e8f9ff;
  color: #0085bd;
  font-size: 13px;
  font-weight: 900;
}
body.home-page .home-quote-copy h2,
body.quote-page .home-quote-copy h2 {
  margin: 18px 0 12px;
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1.12;
  color: #061c3b;
}
body.home-page .home-quote-copy > p,
body.quote-page .home-quote-copy > p { margin: 0 0 26px; color: #4f6784; line-height: 1.75; }
body.home-page .home-quote-picker,
body.quote-page .home-quote-picker {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 18px;
}
body.home-page .home-select-block,
body.quote-page .home-select-block { min-width: 0; display: grid; gap: 8px; color: #061c3b; font-weight: 800; }
body.home-page .home-image-select,
body.quote-page .home-image-select { position: relative; min-width: 0; }
body.home-page .home-image-select-toggle,
body.quote-page .home-image-select-toggle {
  width: 100%;
  min-height: 58px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) 18px;
  align-items: center;
  gap: 12px;
  padding: 0 16px;
  border: 1px solid #c8e7f8;
  border-radius: 16px;
  background: rgba(255,255,255,.78);
  color: #0a2448;
  text-align: left;
  font-weight: 800;
  overflow: hidden;
}
body.home-page .home-image-select-toggle span,
body.quote-page .home-image-select-toggle span {
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
body.home-page .home-image-select-toggle img,
body.quote-page .home-image-select-toggle img { width: 42px; height: 28px; object-fit: contain; }
body.home-page .home-image-select-toggle::after,
body.quote-page .home-image-select-toggle::after {
  content: "";
  width: 10px;
  height: 10px;
  border-right: 2px solid #7d9bb9;
  border-bottom: 2px solid #7d9bb9;
  transform: rotate(45deg) translateY(-2px);
  justify-self: center;
}
body.home-page .home-image-select-menu,
body.quote-page .home-image-select-menu {
  position: absolute;
  z-index: 20;
  top: calc(100% + 8px);
  left: 0;
  right: 0;
  max-height: 270px;
  overflow: auto;
  padding: 8px;
  border: 1px solid #c8e7f8;
  border-radius: 18px;
  background: rgba(255,255,255,.98);
  box-shadow: 0 18px 45px rgba(20, 125, 185, .18);
}
body.home-page .home-image-select[aria-expanded="false"] .home-image-select-menu,
body.quote-page .home-image-select[aria-expanded="false"] .home-image-select-menu { display: none; }
body.home-page .home-image-select-option,
body.quote-page .home-image-select-option {
  width: 100%;
  min-height: 46px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  border: 0;
  border-radius: 12px;
  background: transparent;
  padding: 8px 10px;
  color: #0a2448;
  text-align: left;
  font-weight: 700;
}
body.home-page .home-image-select-option:hover,
body.quote-page .home-image-select-option:hover { background: #edf9ff; }
body.home-page .home-image-select-option img,
body.quote-page .home-image-select-option img { width: 48px; height: 32px; object-fit: contain; }
body.home-page .home-quote-condition,
body.quote-page .home-quote-condition { grid-column: 1 / -1; display: grid; gap: 10px; }
body.home-page .home-segment,
body.quote-page .home-segment {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
  padding: 6px;
  border: 1px solid #c8e7f8;
  border-radius: 18px;
  background: #eef7ff;
}
body.home-page .home-segment button,
body.quote-page .home-segment button {
  min-height: 50px;
  border: 0;
  border-radius: 14px;
  background: transparent;
  color: #48627f;
  font-weight: 900;
}
body.home-page .home-segment button.active,
body.quote-page .home-segment button.active { background: #fff; color: #008ec5; box-shadow: 0 8px 20px rgba(27,156,214,.12); }
body.home-page .home-fixed-mileage,
body.quote-page .home-fixed-mileage {
  grid-column: 1 / -1;
  min-height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  background: #edf4fa;
  color: #617792;
  font-weight: 800;
}
body.home-page .home-estimate-box,
body.quote-page .home-estimate-box {
  min-width: 0;
  min-height: 560px;
  display: grid;
  grid-template-rows: 156px 26px 52px 22px minmax(0, 1fr) 58px 34px;
  align-content: start;
  gap: 14px;
  padding: 32px 30px;
  border: 1px solid #bce8fa;
  border-radius: 26px;
  background: linear-gradient(180deg, rgba(255,255,255,.9), rgba(246,252,255,.9));
  text-align: center;
  box-shadow: 0 24px 65px rgba(30,154,212,.13);
  overflow: hidden;
}
body.home-page .home-estimate-image,
body.quote-page .home-estimate-image {
  width: 100%;
  height: 156px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 22px;
  background: linear-gradient(180deg, #f6fbff, #eef8ff);
  overflow: hidden;
}
body.home-page .home-estimate-image img,
body.quote-page .home-estimate-image img { max-width: 88%; max-height: 128px; object-fit: contain; }
body.home-page #homeQuoteStatus,
body.quote-page #homeQuoteStatus {
  min-height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #0a2448;
  font-size: 16px;
  font-weight: 900;
  line-height: 1.25;
}
body.home-page #homeBestRent,
body.quote-page #homeBestRent {
  min-height: 58px;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 6px 14px;
  border: 1px solid #aee3f8;
  border-radius: 18px;
  color: #008ec5;
  font-size: clamp(30px, 3.2vw, 42px);
  font-weight: 950;
  line-height: 1.05;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.home-page #homeBestRent.home-step-guide,
body.quote-page #homeBestRent.home-step-guide {
  min-height: 50px;
  font-size: clamp(16px, 1.45vw, 20px);
  line-height: 1.1;
  padding: 0 12px;
  white-space: nowrap;
}
body.home-page #homeBestMeta,
body.quote-page #homeBestMeta { min-height: 22px; color: #7187a1; font-size: 14px; }
body.home-page #homeSelectedVehicle,
body.quote-page #homeSelectedVehicle {
  display: none;
  margin: 0;
  color: #6d839e;
  font-size: 13px;
  line-height: 1.45;
}
body.home-page #homeEstimateBox.has-quotes #homeSelectedVehicle,
body.quote-page #homeEstimateBox.has-quotes #homeSelectedVehicle { display: block; }
body.home-page .home-quote-list,
body.quote-page .home-quote-list { display: grid; gap: 9px; }
body.home-page .home-quote-row,
body.quote-page .home-quote-row {
  min-height: 48px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 10px;
  padding: 0 14px;
  border: 1px solid #c9eafa;
  border-radius: 14px;
  background: #fff;
  color: #0a2448;
  font-weight: 800;
}
body.home-page .home-quote-row strong,
body.quote-page .home-quote-row strong { color: #008ec5; }
body.home-page .home-estimate-button,
body.quote-page .home-estimate-button {
  width: 100%;
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  background: linear-gradient(135deg, #58cdf2, #0da7df);
  color: #fff;
  font-weight: 950;
  box-shadow: 0 16px 34px rgba(18,169,224,.23);
}
body.home-page .home-estimate-button.disabled,
body.quote-page .home-estimate-button.disabled { background: #d5e5f3; color: #7e94ad; box-shadow: none; pointer-events: none; }

@media (max-width: 980px) {
  body.home-page .home-quote-program,
  body.quote-page .home-quote-program,
  body.quote-page .quote-program { grid-template-columns: 1fr; padding: 34px 24px; }
  body.home-page .home-estimate-box,
  body.quote-page .home-estimate-box { min-height: 0; }
}
@media (max-width: 620px) {
  body.home-page .home-quote-picker,
  body.quote-page .home-quote-picker { grid-template-columns: 1fr; }
  body.home-page .home-quote-program,
  body.quote-page .home-quote-program,
  body.quote-page .quote-program { padding: 28px 18px; border-radius: 24px; }
  body.home-page #homeBestRent,
  body.quote-page #homeBestRent { font-size: 28px; }
  body.home-page #homeBestRent.home-step-guide,
  body.quote-page #homeBestRent.home-step-guide { font-size: 18px; }
}

/* 2026-07-01 scoped estimate widget repair start */
body.home-page .home-estimate-box,
body.quote-page .home-estimate-box {
  grid-template-rows: 156px 26px 54px 22px minmax(0, 1fr) 58px 26px !important;
  gap: 12px !important;
  align-content: start !important;
  overflow: hidden !important;
}
body.home-page .home-estimate-image,
body.quote-page .home-estimate-image { overflow: hidden !important; }
body.home-page .home-estimate-image img,
body.quote-page .home-estimate-image img {
  max-width: 88% !important;
  max-height: 128px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}
body.home-page #homeQuoteStatus,
body.quote-page #homeQuoteStatus {
  min-height: 26px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  line-height: 1.25 !important;
  white-space: nowrap !important;
}
body.home-page #homeBestRent,
body.quote-page #homeBestRent {
  min-height: 54px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  line-height: 1.05 !important;
  text-align: center !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
body.home-page #homeBestRent.home-step-guide,
body.quote-page #homeBestRent.home-step-guide {
  font-size: clamp(15px, 1.25vw, 18px) !important;
  white-space: nowrap !important;
  padding: 0 12px !important;
}
body.home-page #homeEstimateBox.has-quotes #homeBestRent,
body.quote-page #homeEstimateBox.has-quotes #homeBestRent {
  font-size: clamp(30px, 3.1vw, 42px) !important;
}
body.home-page #homeSelectedVehicle,
body.quote-page #homeSelectedVehicle {
  max-height: 40px !important;
  overflow: hidden !important;
  margin: 0 !important;
  text-align: center !important;
}
body.home-page .home-estimate-button,
body.quote-page .home-estimate-button {
  width: 100% !important;
  min-height: 58px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  padding: 0 18px !important;
}
/* 2026-07-01 scoped estimate widget repair end */

/* scoped estimate repair start */
body.home-page .home-estimate-box,
body.quote-page .home-estimate-box {
  box-sizing: border-box;
  min-width: 0;
  min-height: 0;
  height: auto;
  display: grid;
  grid-template-rows: auto auto auto auto minmax(0, auto) auto auto;
  align-content: start;
  justify-items: stretch;
  gap: 13px;
  overflow: hidden;
}
body.home-page .home-estimate-image,
body.quote-page .home-estimate-image {
  height: 156px;
  width: 100%;
}
body.home-page .home-estimate-image img,
body.quote-page .home-estimate-image img {
  max-width: 88%;
  max-height: 130px;
  object-fit: contain;
}
body.home-page #homeSelectedVehicle,
body.quote-page #homeSelectedVehicle {
  order: 2;
  display: none;
  margin: -2px auto 0;
  max-width: 92%;
  color: #6d839e;
  font-size: 13px;
  line-height: 1.45;
  word-break: keep-all;
}
body.home-page #homeEstimateBox.has-quotes #homeSelectedVehicle,
body.quote-page #homeEstimateBox.has-quotes #homeSelectedVehicle { display: block; }
body.home-page #homeQuoteStatus,
body.quote-page #homeQuoteStatus {
  order: 3;
  min-height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  line-height: 1.25;
  text-align: center;
}
body.home-page #homeBestRent,
body.quote-page #homeBestRent {
  order: 4;
  min-height: 52px;
  height: 52px;
  max-width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  padding: 0 14px;
  box-sizing: border-box;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.home-page #homeBestRent.home-step-guide,
body.quote-page #homeBestRent.home-step-guide {
  font-size: clamp(16px, 1.35vw, 19px);
  line-height: 1;
}
body.home-page #homeBestMeta,
body.quote-page #homeBestMeta {
  order: 5;
  min-height: 20px;
  display: block;
  margin: 0;
}
body.home-page .home-quote-list,
body.quote-page .home-quote-list { order: 6; }
body.home-page .home-estimate-button,
body.quote-page .home-estimate-button {
  order: 7;
  width: 100%;
  max-width: 100%;
  min-height: 56px;
  margin: 0;
  box-sizing: border-box;
}
body.home-page .home-estimate-button.disabled,
body.quote-page .home-estimate-button.disabled { opacity: .62; }
body.home-page .home-image-select-toggle,
body.quote-page .home-image-select-toggle {
  height: 58px;
  max-height: 58px;
}
body.home-page .home-image-select-toggle span,
body.quote-page .home-image-select-toggle span {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
/* scoped estimate repair end */


/* 2026-07-02 picker structure repair: current HTML/JS only */
body.home-page .home-native-select,
body.quote-page .home-native-select {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
}

body.home-page .home-image-select-button,
body.quote-page .home-image-select-button {
  width: 100%;
  min-width: 0;
  height: 58px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 0 18px;
  border: 1px solid #c8e6f8;
  border-radius: 16px;
  background: rgba(255,255,255,.82);
  color: #071b3d;
  font: inherit;
  font-weight: 700;
  text-align: left;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
  cursor: pointer;
}

body.home-page .home-image-select-button:disabled,
body.quote-page .home-image-select-button:disabled {
  color: #8da0b7;
  background: #eef5fb;
  cursor: default;
}

body.home-page .home-image-select-button::after,
body.quote-page .home-image-select-button::after {
  content: '';
  width: 10px;
  height: 10px;
  border-right: 2px solid #85a0bb;
  border-bottom: 2px solid #85a0bb;
  transform: rotate(45deg) translateY(-2px);
}

body.home-page .home-image-select-button img,
body.quote-page .home-image-select-button img {
  width: 42px;
  height: 30px;
  object-fit: contain;
  flex: 0 0 auto;
}

body.home-page .home-image-select-button span,
body.quote-page .home-image-select-button span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.home-page .home-image-select-menu,
body.quote-page .home-image-select-menu {
  display: none;
  position: absolute;
  z-index: 60;
  top: calc(100% + 8px);
  left: 0;
  right: 0;
  max-height: 280px;
  overflow: auto;
  padding: 8px;
  border: 1px solid #bde5fb;
  border-radius: 18px;
  background: rgba(255,255,255,.98);
  box-shadow: 0 18px 36px rgba(4,36,74,.16);
}

body.home-page .home-image-select.is-open .home-image-select-menu,
body.quote-page .home-image-select.is-open .home-image-select-menu,
body.home-page .home-image-select-menu.open,
body.quote-page .home-image-select-menu.open {
  display: grid;
  gap: 6px;
}

body.home-page .home-image-select-menu button,
body.quote-page .home-image-select-menu button {
  width: 100%;
  min-height: 52px;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 12px;
  border: 0;
  border-radius: 14px;
  padding: 10px 12px;
  background: transparent;
  color: #071b3d;
  font: inherit;
  font-weight: 700;
  text-align: left;
  cursor: pointer;
}

body.home-page .home-image-select-menu button:hover,
body.quote-page .home-image-select-menu button:hover {
  background: #edf9ff;
}

body.home-page .home-image-select-menu img,
body.quote-page .home-image-select-menu img {
  width: 58px;
  height: 38px;
  object-fit: contain;
}

body.home-page .home-text-select-menu button,
body.quote-page .home-text-select-menu button {
  grid-template-columns: 1fr;
}

body.home-page .home-picker-noimage,
body.quote-page .home-picker-noimage {
  width: 42px;
  height: 30px;
  border-radius: 10px;
  background: #edf5fb;
}

body.home-page .home-step-guide,
body.quote-page .home-step-guide {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 8px 16px;
  line-height: 1.15;
  white-space: nowrap;
}

body.home-page #homeEstimateBox .home-estimate-button,
body.quote-page #homeEstimateBox .home-estimate-button {
  width: min(100%, 300px);
  min-height: 58px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

/* 2026-07-02: scoped estimate result card fit */
body.home-page section#service #homeEstimateBox,
body.quote-page section#service #homeEstimateBox {
  min-width: 0 !important;
  box-sizing: border-box !important;
}

body.home-page section#service #homeEstimateBox.has-quotes,
body.quote-page section#service #homeEstimateBox.has-quotes {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: 9px !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
  padding-top: 28px !important;
  padding-bottom: 28px !important;
}

body.home-page section#service #homeEstimateBox.has-quotes .home-estimate-image,
body.quote-page section#service #homeEstimateBox.has-quotes .home-estimate-image {
  flex: 0 0 126px !important;
  width: 100% !important;
  height: 126px !important;
  min-height: 126px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
}

body.home-page section#service #homeEstimateBox.has-quotes .home-estimate-image img,
body.quote-page section#service #homeEstimateBox.has-quotes .home-estimate-image img {
  max-width: 88% !important;
  max-height: 112px !important;
  object-fit: contain !important;
}

body.home-page section#service #homeEstimateBox.has-quotes #homeSelectedVehicle,
body.quote-page section#service #homeEstimateBox.has-quotes #homeSelectedVehicle {
  display: block !important;
  flex: 0 0 auto !important;
  width: 100% !important;
  max-width: 92% !important;
  max-height: none !important;
  min-height: 34px !important;
  margin: 0 auto 3px !important;
  overflow: visible !important;
  color: #68809a !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  text-align: center !important;
  word-break: keep-all !important;
  overflow-wrap: anywhere !important;
}

body.home-page section#service #homeEstimateBox.has-quotes #homeQuoteStatus,
body.quote-page section#service #homeEstimateBox.has-quotes #homeQuoteStatus {
  flex: 0 0 auto !important;
  min-height: 24px !important;
  margin: 0 !important;
  line-height: 1.25 !important;
  white-space: nowrap !important;
}

body.home-page section#service #homeEstimateBox.has-quotes #homeBestRent,
body.quote-page section#service #homeEstimateBox.has-quotes #homeBestRent {
  flex: 0 0 auto !important;
  width: 100% !important;
  min-height: 52px !important;
  height: 52px !important;
  margin: 0 auto !important;
  padding: 4px 12px !important;
  line-height: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
}

body.home-page section#service #homeEstimateBox.has-quotes #homeBestMeta,
body.quote-page section#service #homeEstimateBox.has-quotes #homeBestMeta {
  flex: 0 0 auto !important;
  display: block !important;
  min-height: 20px !important;
  margin: 8px 0 12px !important;
  line-height: 1.35 !important;
  position: static !important;
  transform: none !important;
  text-align: center !important;
}

body.home-page section#service #homeEstimateBox.has-quotes .home-quote-list,
body.quote-page section#service #homeEstimateBox.has-quotes .home-quote-list {
  flex: 0 0 auto !important;
  display: grid !important;
  gap: 8px !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 0 10px !important;
  overflow: visible !important;
}

body.home-page section#service #homeEstimateBox.has-quotes .home-quote-row,
body.quote-page section#service #homeEstimateBox.has-quotes .home-quote-row {
  min-height: 44px !important;
  padding: 0 16px !important;
  box-sizing: border-box !important;
}

body.home-page section#service #homeEstimateBox.has-quotes .home-estimate-button,
body.quote-page section#service #homeEstimateBox.has-quotes .home-estimate-button {
  flex: 0 0 auto !important;
  width: 100% !important;
  min-height: 54px !important;
  margin-top: 0 !important;
}
/* end scoped estimate result card fit */

/* 2026-07-02: quote widget label spacing only. */
body.home-page #service .home-quote-picker .home-image-field > span,
body.quote-page #service .home-quote-picker .home-image-field > span,
body.home-page #service .home-quote-condition > div > span,
body.quote-page #service .home-quote-condition > div > span {
  display: block;
  margin-bottom: 9px;
  line-height: 1.35;
}

/* 2026-07-02: match vertical spacing for quote condition labels. */
body.home-page #service .home-quote-condition > div > span,
body.quote-page #service .home-quote-condition > div > span {
  display: block;
  margin-bottom: 12px;
  line-height: 1.35;
}