/* SUOOL CARS Calculator v69 — compact executive layout + full-page logistics background */
:root{--suool-navy:#071d31;--suool-navy2:#0a3457;--suool-gold:#e0ad38;--suool-ink:#10283d;--suool-muted:#6f8293;--suool-line:#d8e2ea}
body{background:#071d31!important}
.calculator-shell{
  position:relative;
  min-height:calc(100vh - 70px);
  background:
    linear-gradient(180deg,rgba(4,20,34,.48) 0%,rgba(4,20,34,.18) 18%,rgba(236,242,247,.87) 42%,rgba(243,247,250,.94) 100%),
    url('/assets/images/calculator-logistics-panorama-v70.png?v=7001') center top/cover fixed no-repeat;
  overflow:visible;
}
.calculator-hero{
  min-height:205px!important;
  padding:38px 0 26px!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  background:transparent!important;
  border:0!important;
  position:relative!important;
  overflow:visible!important;
}
.calculator-hero:after{display:none!important}
.calculator-hero .container{max-width:1380px!important;text-align:center!important;padding-inline:22px!important}
.calculator-hero h1{margin:0 0 8px!important;color:#fff!important;font-size:clamp(2rem,3.5vw,3.7rem)!important;line-height:1.08!important;font-weight:900!important;text-shadow:0 5px 22px rgba(0,0,0,.56)!important}
.calculator-hero p{margin:0 auto!important;max-width:860px!important;color:#f5f8fb!important;font-size:clamp(.95rem,1.2vw,1.15rem)!important;line-height:1.65!important;text-shadow:0 3px 14px rgba(0,0,0,.56)!important}

.calculator-page{padding:0 0 54px!important;margin:0!important;background:transparent!important;overflow:visible!important}
.calculator-page .calc-layout{
  width:min(1480px,calc(100% - 28px))!important;
  max-width:none!important;
  margin:0 auto!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 330px!important;
  gap:16px!important;
  align-items:start!important;
  position:relative!important;
  z-index:4!important;
}
.calculator-page .calculator-inputs{
  min-width:0!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  align-items:start!important;
}
#auction-section,#domestic-section{grid-column:auto!important}
#ocean-section{grid-column:1/-1!important}
.calculator-page aside{min-width:0!important;overflow:visible!important}

.calculator-page .calc-section-card{
  width:100%!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  padding:17px 18px 18px!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.96)!important;
  border:1px solid rgba(255,255,255,.8)!important;
  box-shadow:0 15px 38px rgba(3,28,49,.16)!important;
  backdrop-filter:blur(8px)!important;
  overflow:visible!important;
}
.calc-section-title{display:flex!important;align-items:flex-start!important;gap:11px!important;margin-bottom:14px!important;padding-bottom:12px!important;border-bottom:1px solid #e5ebf0!important}
.calc-section-title>span{flex:0 0 42px!important;width:42px!important;height:42px!important;display:grid!important;place-items:center!important;border-radius:12px!important;background:linear-gradient(145deg,#f1ca66,#d9a42b)!important;color:#0c2940!important;font-size:1.06rem!important;font-weight:900!important}
.calc-section-title>div{min-width:0!important;flex:1!important}
.calc-section-title h3{margin:0 0 3px!important;color:var(--suool-ink)!important;font-size:clamp(1.15rem,1.45vw,1.55rem)!important;line-height:1.28!important;font-weight:900!important;white-space:normal!important;overflow:visible!important}
.calc-section-title p{margin:0!important;color:var(--suool-muted)!important;font-size:.80rem!important;line-height:1.5!important;white-space:normal!important;overflow:visible!important}

.calculator-page .form-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:11px 12px!important;align-items:start!important}
#domestic-section .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
#ocean-section .form-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.calculator-page .form-grid>div{min-width:0!important;overflow:visible!important}
.calculator-page label{display:block!important;margin:0 0 5px!important;color:#152d42!important;font-size:.80rem!important;font-weight:850!important;line-height:1.35!important;white-space:normal!important;overflow:visible!important}
.calculator-page .field-help{display:block!important;margin-top:5px!important;color:#75899a!important;font-size:.70rem!important;line-height:1.45!important;white-space:normal!important;overflow:visible!important}
.calculator-page input,.calculator-page select{width:100%!important;min-width:0!important;height:43px!important;min-height:43px!important;padding:0 11px!important;border:1px solid var(--suool-line)!important;border-radius:11px!important;background:#fff!important;color:#10283d!important;font-size:.87rem!important;box-sizing:border-box!important;box-shadow:inset 0 1px 1px rgba(5,30,50,.02)!important}
.calculator-page input:focus,.calculator-page select:focus{outline:0!important;border-color:#1c7caf!important;box-shadow:0 0 0 3px rgba(28,124,175,.12)!important}
.ocean-data-status{margin-bottom:11px!important;padding:9px 11px!important;border-radius:10px!important;line-height:1.45!important;font-size:.78rem!important}

.domestic-autocomplete{position:relative!important;z-index:300!important}
#domSearch{padding-inline-end:44px!important}
#domResults.search-results{z-index:99999!important;max-height:250px!important;overflow:auto!important}
#domSelected{margin-top:9px!important}
#domesticRouteChoices.domestic-route-choices{margin-top:10px!important;padding:11px!important;border-radius:13px!important;background:rgba(243,248,251,.98)!important;border:1px solid #d7e3eb!important;box-shadow:0 8px 20px rgba(7,47,76,.07)!important;overflow:visible!important}
.route-grid-v62{display:grid!important;grid-template-columns:repeat(4,minmax(120px,1fr))!important;gap:8px!important}
.route-card-v62{min-width:0!important;min-height:76px!important;padding:10px!important;border-radius:11px!important;background:#fff!important;border:1px solid #d3dfe8!important;box-shadow:0 5px 14px rgba(5,45,72,.06)!important;overflow:visible!important;transition:.18s ease!important}
.route-card-v62:hover{transform:translateY(-2px)!important;box-shadow:0 9px 20px rgba(5,45,72,.12)!important}
.route-card-v62 .route-chip-name{font-size:.74rem!important;line-height:1.3!important;font-weight:850!important;color:#173a55!important;white-space:normal!important;overflow:visible!important}
.route-card-v62 .route-card-price,.route-card-v62 .route-price{font-size:1.06rem!important;line-height:1.15!important;font-weight:900!important;color:#0d669d!important;white-space:nowrap!important}
.route-card-v62.is-best:not(.is-selected){background:linear-gradient(145deg,#fffaf2,#fff0c9)!important;border-color:#d9ad3b!important}
.route-card-v62.is-selected{background:linear-gradient(145deg,#0b537f,#082d49)!important;border-color:#e1ad38!important;box-shadow:0 10px 24px rgba(5,44,70,.21)!important}
.route-card-v62.is-selected *{color:#fff!important}

.calculator-page .calculator-summary{
  position:sticky!important;
  top:78px!important;
  width:100%!important;
  max-height:calc(100vh - 92px)!important;
  overflow:auto!important;
  padding:17px!important;
  border-radius:18px!important;
  background:linear-gradient(160deg,#061a2e 0%,#0a3659 56%,#061f37 100%)!important;
  border:1px solid rgba(225,173,56,.64)!important;
  box-shadow:0 18px 44px rgba(2,22,39,.32)!important;
  color:#fff!important;
  scrollbar-width:thin!important;
  z-index:20!important;
}
.calculator-summary,.calculator-summary *{box-sizing:border-box!important}
.calculator-summary .summary-heading{margin-bottom:4px!important}
.calculator-summary .summary-heading h3{font-size:1.35rem!important;line-height:1.2!important;color:#fff!important;margin:2px 0 0!important}
.calculator-summary .summary-heading small,.calculator-summary .sum-row small,.calculator-summary .summary-disclaimer{color:#c7d7e4!important}
.calculator-summary .summary-live{font-size:.69rem!important;padding:5px 9px!important}
.calculator-summary .sum-row{display:flex!important;justify-content:space-between!important;align-items:flex-start!important;gap:10px!important;padding:12px 0!important}
.calculator-summary .sum-row span{min-width:0!important;flex:1!important}
.calculator-summary .sum-row b{display:block!important;color:#fff!important;font-size:.84rem!important;line-height:1.35!important;white-space:normal!important;overflow:visible!important}
.calculator-summary .sum-row small{font-size:.68rem!important;line-height:1.35!important}
.calculator-summary .sum-row strong{flex:0 0 auto!important;color:#fff!important;font-size:1.03rem!important;line-height:1.2!important;white-space:nowrap!important}
.calculator-summary .summary-auction-note{padding:8px 10px!important;border-radius:9px!important;color:#fff!important;font-size:.75rem!important}
.calculator-summary .summary-grand-label{color:#d6e5ef!important;font-size:.78rem!important}
.calculator-summary .sum-total{color:#60e0a4!important;font-size:clamp(2rem,2.4vw,2.85rem)!important;line-height:1!important;white-space:nowrap!important}
.calculator-summary .summary-disclaimer{font-size:.66rem!important;line-height:1.4!important;margin-top:9px!important}

@media(max-width:1280px){
  .calculator-page .calc-layout{grid-template-columns:minmax(0,1fr) 305px!important;width:min(1220px,calc(100% - 24px))!important}
  #ocean-section .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .route-grid-v62{grid-template-columns:repeat(3,minmax(110px,1fr))!important}
}
@media(max-width:980px){
  .calculator-shell{background-attachment:scroll!important}
  .calculator-hero{min-height:175px!important;padding:30px 0 20px!important}
  .calculator-page .calc-layout{width:min(820px,calc(100% - 20px))!important;grid-template-columns:1fr!important}
  .calculator-page .calculator-inputs{grid-template-columns:1fr!important}
  #auction-section,#domestic-section,#ocean-section{grid-column:1!important}
  .calculator-page .calculator-summary{position:relative!important;top:auto!important;max-height:none!important;overflow:visible!important}
}
@media(max-width:640px){
  .calculator-hero{min-height:155px!important;padding:24px 0 18px!important}
  .calculator-page .calc-layout{width:calc(100% - 14px)!important}
  .calculator-page .form-grid,#domestic-section .form-grid,#ocean-section .form-grid{grid-template-columns:1fr!important}
  .calculator-page .calc-section-card,.calculator-page .calculator-summary{padding:14px!important;border-radius:15px!important}
  .route-grid-v62{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* SUOOL CARS v70 — compact route selector, no accordion */
#domestic-section{
  overflow:visible!important;
}
#domResults.search-results{
  min-height:0!important;
  max-height:210px!important;
  margin-top:8px!important;
  padding:0!important;
  border-radius:12px!important;
}
#domResults.search-results:empty,
#domResults.search-results[hidden]{
  display:none!important;
}
#domResults .search-loading,
#domResults .search-empty{
  min-height:48px!important;
  padding:12px 14px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:.78rem!important;
}
#domesticRouteChoices.domestic-route-choices{
  margin-top:8px!important;
  padding:9px 10px 10px!important;
  border-radius:12px!important;
  background:rgba(247,250,252,.98)!important;
  border:1px solid #dbe5ec!important;
  box-shadow:0 7px 18px rgba(7,47,76,.06)!important;
}
#domesticRouteChoices .route-choices-head,
#domesticRouteChoices .route-heading,
#domesticRouteChoices h4{
  margin:0 0 7px!important;
  font-size:.79rem!important;
  line-height:1.25!important;
  color:#1a3a52!important;
}
.route-grid-v62{
  display:flex!important;
  gap:7px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:1px 1px 4px!important;
  scroll-snap-type:x proximity!important;
  scrollbar-width:thin!important;
}
.route-card-v62{
  flex:0 0 145px!important;
  width:145px!important;
  min-width:145px!important;
  min-height:58px!important;
  padding:8px 9px!important;
  border-radius:10px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  grid-template-rows:auto auto!important;
  align-items:center!important;
  gap:2px 7px!important;
  scroll-snap-align:start!important;
  cursor:pointer!important;
}
.route-card-v62 .route-chip-name,
.route-card-v62 .route-card-name,
.route-card-v62 .route-name{
  grid-column:1/-1!important;
  margin:0!important;
  font-size:.68rem!important;
  line-height:1.18!important;
  font-weight:850!important;
  max-height:2.36em!important;
  overflow:hidden!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
}
.route-card-v62 .route-card-price,
.route-card-v62 .route-price{
  grid-column:1!important;
  grid-row:2!important;
  margin:0!important;
  font-size:.93rem!important;
  line-height:1!important;
  font-weight:950!important;
}
.route-card-v62 .route-card-action,
.route-card-v62 .route-action,
.route-card-v62 small{
  grid-column:2!important;
  grid-row:2!important;
  margin:0!important;
  font-size:.60rem!important;
  line-height:1!important;
  white-space:nowrap!important;
  opacity:.82!important;
}
.route-card-v62 .route-best-badge,
.route-card-v62 .best-badge{
  position:absolute!important;
  inset-inline-end:6px!important;
  top:5px!important;
  font-size:.54rem!important;
  padding:2px 4px!important;
  border-radius:5px!important;
}
.route-card-v62{position:relative!important}
.route-card-v62:hover{transform:translateY(-1px)!important}

/* Preserve readable, compact section sizes */
.calculator-page .calc-section-card{
  padding:15px 16px 16px!important;
}
.calc-section-title{
  margin-bottom:11px!important;
  padding-bottom:10px!important;
}
.calculator-page .form-grid{
  gap:9px 10px!important;
}
.calculator-page input,.calculator-page select{
  height:41px!important;
  min-height:41px!important;
}

/* Sticky summary follows the mouse wheel naturally without fixed overlay */
.calculator-page .calculator-summary{
  position:sticky!important;
  top:82px!important;
  max-height:calc(100vh - 96px)!important;
  overscroll-behavior:contain!important;
}

@media(max-width:980px){
  .route-card-v62{
    flex-basis:135px!important;
    width:135px!important;
    min-width:135px!important;
  }
  .calculator-page .calculator-summary{
    position:relative!important;
    top:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }
}

/* SUOOL CARS v70.1 — make the cost summary truly sticky inside the full calculator height */
.calculator-shell,
.calculator-page,
.calculator-page .calc-layout,
.calculator-page .calculator-inputs,
.calculator-page aside{
  overflow:visible!important;
}
.calculator-page .calc-layout{
  align-items:stretch!important;
}
.calculator-page aside{
  align-self:stretch!important;
  height:auto!important;
  min-height:100%!important;
  position:relative!important;
}
.calculator-page .calculator-summary{
  position:-webkit-sticky!important;
  position:sticky!important;
  top:84px!important;
  align-self:start!important;
  margin:0!important;
  max-height:calc(100vh - 100px)!important;
  overflow:auto!important;
  overscroll-behavior:contain!important;
}
@media(max-width:980px){
  .calculator-page .calc-layout{align-items:start!important}
  .calculator-page aside{align-self:auto!important;min-height:0!important}
  .calculator-page .calculator-summary{
    position:relative!important;
    top:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }
}


/* SUOOL CARS FINAL CALCULATOR STABILITY PATCH */
html,body{overflow-x:hidden!important;overflow-y:auto!important}
.calculator-shell,.calculator-page,.calculator-page .container,.calculator-page .calc-layout,.calculator-page .calculator-inputs,.calculator-page aside{transform:none!important;filter:none!important;contain:none!important;overflow:visible!important}
.calculator-page .calc-layout{align-items:stretch!important}
.calculator-page aside{position:relative!important;align-self:stretch!important;min-height:100%!important;overflow:visible!important}
.calculator-page .calculator-summary{
  position:-webkit-sticky!important;
  position:sticky!important;
  top:92px!important;
  align-self:flex-start!important;
  margin:0!important;
  max-height:calc(100vh - 112px)!important;
  overflow:auto!important;
  overscroll-behavior:contain!important;
  z-index:30!important;
}
@media(max-width:980px){
 .calculator-page .calculator-summary{position:static!important;max-height:none!important;overflow:visible!important}
 .calculator-page aside{min-height:0!important}
}

/* V73 robust summary follower. JavaScript uses fixed positioning only while scrolling,
   then returns the summary to the calculator boundary before the footer. */
.calculator-summary.summary-following{box-shadow:0 24px 60px rgba(2,22,39,.38)!important}
@media(max-width:980px){.calculator-summary.summary-following,.calculator-summary.summary-follow-end{position:static!important;width:auto!important;max-height:none!important;overflow:visible!important}}

/* =====================================================================
   SUOOL CARS — V114 addition: lot/stock lookup (photo + Copart/IAA fetch)
   Same palette and card language as the section above (--suool-*),
   inserted at the top of the "المزاد والسيارة" card.
===================================================================== */
.lot-lookup-grid{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important;align-items:end!important;margin-bottom:10px!important}
.lot-lookup-grid label{margin:0 0 5px!important}
.lot-lookup-grid .btn{
  min-height:41px!important;white-space:nowrap!important;font-weight:800!important;
  background:linear-gradient(135deg,var(--suool-gold),#c6902c)!important;color:#231600!important;border:0!important;
  border-radius:11px!important;padding:0 16px!important;box-shadow:0 8px 18px rgba(224,173,56,.3)!important;cursor:pointer!important;
}
.lot-lookup-status{margin:0 0 12px!important;padding:10px 12px!important;border-radius:10px!important;background:#f3f7fa!important;border:1px solid var(--suool-line)!important;color:var(--suool-ink)!important;font-size:.8rem!important}
.lot-lookup-status.error{border-color:#f3c1c1!important;background:#fff3f3!important;color:#a23b3b!important}
.lot-lookup-status.success{border-color:#b7e4c9!important;background:#eafaf1!important;color:#1a6b45!important}

/* Compact ✓ toggle bar for payment method + bid method — sits directly
   under the bid amount / Copart-IAA select inside the same card. */
.calc-quick-toggle{display:flex!important;flex-direction:column!important;gap:6px!important;margin-top:2px!important;grid-column:1/-1!important}
.toggle-group{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important}
.toggle-chip{
  display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;
  height:36px!important;border-radius:9px!important;border:1px solid var(--suool-line)!important;background:#f3f7fa!important;color:var(--suool-muted)!important;
  font-size:.74rem!important;font-weight:800!important;cursor:pointer!important;transition:.15s!important;padding:0 8px!important;
}
.toggle-chip .chip-check{display:none!important;font-size:.8rem!important;line-height:1!important}
.toggle-chip:hover{border-color:var(--suool-gold)!important}
.toggle-chip.active{
  background:linear-gradient(135deg,var(--suool-navy),var(--suool-navy2))!important;
  border-color:var(--suool-gold)!important;color:#fff!important;box-shadow:0 6px 14px rgba(7,29,49,.28)!important;
}
.toggle-chip.active .chip-check{display:inline!important}

/* Vehicle photo box: only occupies space once a lookup has confirmed a
   real photo exists — collapsed (no placeholder) otherwise. */
.calc-media-frame{grid-column:1/-1!important;border-radius:13px!important;overflow:hidden!important;background:#eef2f6!important;border:1px solid var(--suool-line)!important;margin-bottom:4px!important}
.calc-media-frame img{display:block!important;width:100%!important;aspect-ratio:16/10!important;object-fit:cover!important}
.calc-media-placeholder{display:none!important}
.calc-media-placeholder[hidden]{display:none!important}

.lookup-buy-now-box{grid-column:1/-1!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;margin:0 0 4px!important;padding:11px 14px!important;border:1px solid var(--suool-line)!important;border-radius:11px!important;background:#f3f7fa!important}
.lookup-buy-now-box[hidden]{display:none!important}
.lookup-buy-now-box small{font-weight:800!important;color:var(--suool-muted)!important}
.lookup-buy-now-box strong{font-size:1rem!important;color:var(--suool-ink)!important}

.vehicle-source-action{grid-column:1/-1!important}
.vehicle-source-link{display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;background:var(--suool-navy)!important;color:#fff!important;border:0!important;border-radius:11px!important;padding:11px!important;text-align:center!important;font-weight:800!important;font-size:.82rem!important}

.outside-us-vehicle-notice{grid-column:1/-1!important;padding:11px 13px!important;border:1px solid #e8d38a!important;border-radius:11px!important;background:#fff8e0!important;color:#6b551a!important;font-weight:700!important;line-height:1.6!important;font-size:.8rem!important}

.missing-location-box{grid-column:1/-1!important;padding:13px!important;border-radius:11px!important;border:1px solid #e8d38a!important;background:#fff8e0!important}
.missing-location-box strong{color:#6b551a!important}
.missing-location-box p{margin:7px 0 11px!important;color:#7a6935!important;font-size:.82rem!important}
.missing-location-actions{display:flex!important;gap:9px!important;flex-wrap:wrap!important}
.missing-location-actions .btn{background:var(--suool-navy)!important;color:#fff!important;border:0!important;border-radius:9px!important;padding:9px 14px!important;font-weight:800!important;font-size:.78rem!important}
.missing-location-actions a.btn{background:#eef2f6!important;color:var(--suool-ink)!important;border:1px solid var(--suool-line)!important}

/* Vehicle spec list, gold icon chips — shown once a lookup succeeds */
.calc-spec-list{grid-column:1/-1!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;margin-bottom:4px!important}
.calc-spec-list>div{display:flex!important;align-items:center!important;gap:9px!important;background:#f3f7fa!important;border:1px solid var(--suool-line)!important;border-radius:10px!important;padding:9px 11px!important}
.spec-icon{flex:0 0 26px!important;width:26px!important;height:26px!important;border-radius:8px!important;display:grid!important;place-items:center!important;background:linear-gradient(145deg,#f1ca66,var(--suool-gold))!important;color:#0c2940!important}
.spec-icon svg{width:15px!important;height:15px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.9!important}
.calc-spec-list .spec-text{min-width:0!important}
.calc-spec-list span{display:block!important;color:var(--suool-muted)!important;font-size:.68rem!important;margin-bottom:2px!important}
.calc-spec-list strong{display:block!important;color:var(--suool-ink)!important;font-size:.78rem!important;overflow-wrap:anywhere!important}
.lookup-price-note{display:block!important;margin-top:4px!important;font-size:11px!important;opacity:.75!important;color:var(--suool-muted)!important}

@media(max-width:640px){
  .lot-lookup-grid{grid-template-columns:1fr!important}
  .calc-spec-list{grid-template-columns:1fr!important}
  .toggle-group{grid-template-columns:1fr 1fr!important}
}

/* =====================================================================
   V116 — domestic-transport card (box 2) rebuilt on native CSS sticky
   instead of a JS-computed fixed overlay. The previous fixed/left/width
   version rendered in the wrong place (confirmed by screen recording) —
   sticky avoids that whole bug class because the browser keeps the
   card inside its own column automatically; JS only sets the host's
   height so the card has room to "travel" before box 3 pushes it back
   into flow.
===================================================================== */
.domestic-sticky-host{position:relative}
#domestic-section{position:sticky;top:96px;z-index:40;width:100%}
@media(max-width:980px){
  .domestic-sticky-host{height:auto!important}
  #domestic-section{position:static!important;top:auto!important}
}


/* v115 missing-location request + box 2 follow */
.manual-missing-location-box{margin-top:14px;padding:16px;border:1px solid #f2c66d;background:#fffaf0;border-radius:14px}
.manual-missing-location-box strong{display:block;margin-bottom:6px;color:#7a4b00}
.missing-location-modal[hidden]{display:none!important}.missing-location-modal{position:fixed;inset:0;z-index:9999;background:rgba(7,18,30,.72);display:grid;place-items:center;padding:20px;backdrop-filter:blur(6px)}
.missing-location-dialog{position:relative;width:min(720px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:22px;padding:28px;box-shadow:0 28px 90px rgba(0,0,0,.35)}
.missing-location-dialog h3{margin:0 0 8px}.missing-location-dialog .full{grid-column:1/-1}.missing-location-dialog textarea{width:100%;resize:vertical}.missing-modal-close{position:absolute;left:16px;top:12px;border:0;background:#eef2f5;width:38px;height:38px;border-radius:50%;font-size:24px;cursor:pointer}.modal-open{overflow:hidden}
@media(min-width:981px){.domestic-sticky-host{position:relative}.domestic-sticky-host #domestic-section{position:sticky!important;z-index:12}}
/* V118 professional data icons and JS-bounded domestic follower */
.calc-spec-list>div{border:1px solid rgba(15,46,64,.09);background:linear-gradient(145deg,#fff,#f7fafb);box-shadow:0 8px 22px rgba(10,35,50,.06)}
.calc-spec-list .spec-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,#07384b,#0b657b);box-shadow:0 8px 18px rgba(7,56,75,.22)}
.calc-spec-list .spec-icon svg{width:22px;height:22px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media(min-width:981px){.domestic-sticky-host #domestic-section{position:relative!important;top:auto!important;z-index:40}}

/* =====================================================================
   V121 — stable scrolling / footer boundary fix
   Prevents page-height feedback loops and keeps sticky cards in normal
   document flow so they stop naturally before the footer.
===================================================================== */
.calculator-page .calc-layout{align-items:start!important}
.calculator-page aside{align-self:stretch!important;min-height:0!important;height:auto!important;position:relative!important}
.calculator-summary{
  position:sticky!important;
  top:var(--summary-sticky-top,96px)!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  width:100%!important;
  max-height:calc(100vh - var(--summary-sticky-top,96px) - 18px)!important;
  overflow:auto!important;
  transform:none!important;
  z-index:12!important;
}
.domestic-sticky-host{position:relative!important;height:auto!important;min-height:0!important}
.domestic-sticky-host #domestic-section{
  position:sticky!important;
  top:var(--domestic-sticky-top,96px)!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  width:100%!important;
  transform:none!important;
  will-change:auto!important;
  z-index:11!important;
}
@media(max-width:980px){
  .calculator-summary,.domestic-sticky-host #domestic-section{
    position:static!important;
    top:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }
}

/* =====================================================================
   SUOOL CARS — V122 desktop cost-summary follower
   Keep the summary visible while the page scrolls, using native sticky
   positioning only. The aside stretches to the full calculator height,
   so the card follows vertically and stops naturally before the footer.
===================================================================== */
@media (min-width:981px){
  .calculator-page .calc-layout{
    align-items:stretch!important;
  }
  .calculator-page aside{
    align-self:stretch!important;
    height:auto!important;
    min-height:100%!important;
    position:relative!important;
    overflow:visible!important;
  }
  .calculator-page .calculator-summary{
    position:-webkit-sticky!important;
    position:sticky!important;
    top:var(--summary-sticky-top,96px)!important;
    inset-inline:auto!important;
    bottom:auto!important;
    width:100%!important;
    max-height:calc(100vh - var(--summary-sticky-top,96px) - 18px)!important;
    overflow:auto!important;
    transform:none!important;
    margin:0!important;
    z-index:30!important;
  }
}
@media (max-width:980px){
  .calculator-page .calculator-summary{
    position:static!important;
    top:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }
}

/* =====================================================================
   SUOOL V124 — FINAL SCROLL-FOLLOW BLOCK
   This block is intentionally last in the file: several earlier rules use
   !important and would otherwise win.

   Root cause of "box 2 and the summary do not move":
     (a) html,body{overflow-x:hidden;overflow-y:auto} above turned <body>
         into a scroll container. position:sticky then sticks to the body's
         scrollport instead of the viewport, which looks exactly like sticky
         being ignored.
     (b) the previous last rule reset #domestic-section to position:relative,
         cancelling the sticky declared earlier.
===================================================================== */

/* (a) clip does the same visual job as hidden but does NOT create a scroll
   container, so sticky keeps working. overflow-y goes back to visible. */
html{overflow-x:clip!important;overflow-y:visible!important}
body{overflow-x:clip!important;overflow-y:visible!important}

@supports not (overflow: clip){
  /* Old browsers: keep the horizontal guard on a wrapper instead of body. */
  html,body{overflow-x:hidden!important;overflow-y:visible!important}
}

@media(min-width:981px){
  /* the two columns must share one row height, otherwise box 2 has no
     vertical room to travel through */
  .calculator-page .calc-layout{align-items:stretch!important}
  .calculator-page .calculator-inputs{align-items:stretch!important}

  /* ---- Box 2: النقل الداخلي --------------------------------------- */
  .calculator-page .domestic-sticky-host{
    position:relative!important;
    align-self:stretch!important;
    min-height:100%!important;
    height:auto!important;
    overflow:visible!important;
  }
  .calculator-page .domestic-sticky-host #domestic-section{
    position:-webkit-sticky!important;
    position:sticky!important;
    top:var(--suool-follow-top,96px)!important;
    bottom:auto!important;
    z-index:40!important;
    width:100%!important;
    max-height:calc(100vh - var(--suool-follow-top,96px) - 24px)!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
  }

  /* ---- Cost summary ----------------------------------------------- */
  .calculator-page aside{
    position:relative!important;
    align-self:stretch!important;
    min-height:100%!important;
    overflow:visible!important;
  }
  .calculator-page .calculator-summary{
    position:-webkit-sticky!important;
    position:sticky!important;
    top:var(--suool-follow-top,96px)!important;
    bottom:auto!important;
    align-self:flex-start!important;
    margin:0!important;
    z-index:30!important;
    max-height:calc(100vh - var(--suool-follow-top,96px) - 24px)!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
  }

  /* thin scrollbars so a tall box never shows a heavy native bar */
  .calculator-page .calculator-summary,
  .calculator-page .domestic-sticky-host #domestic-section{
    scrollbar-width:thin;
  }
  .calculator-page .calculator-summary::-webkit-scrollbar,
  .calculator-page .domestic-sticky-host #domestic-section::-webkit-scrollbar{width:6px}
  .calculator-page .calculator-summary::-webkit-scrollbar-thumb,
  .calculator-page .domestic-sticky-host #domestic-section::-webkit-scrollbar-thumb{
    background:rgba(120,140,160,.45);border-radius:99px;
  }
}

/* ---- Mobile / tablet: everything back to normal flow ---------------- */
@media(max-width:980px){
  .calculator-page .calc-layout,
  .calculator-page .calculator-inputs{align-items:start!important}
  .calculator-page .domestic-sticky-host,
  .calculator-page aside{min-height:0!important;height:auto!important;align-self:auto!important}
  .calculator-page .domestic-sticky-host #domestic-section,
  .calculator-page .calculator-summary{
    position:static!important;
    top:auto!important;
    max-height:none!important;
    overflow:visible!important;
    transform:none!important;
  }
}

/* Motion-sensitive users: no smooth follow animation is used anyway, but
   make sure the manual fallback never animates. */
@media(prefers-reduced-motion:reduce){
  .calculator-page .domestic-sticky-host #domestic-section,
  .calculator-page .calculator-summary{transition:none!important}
}
