
#homeSearch *{box-sizing:border-box}
#homeSearch{--ink:#171717;--muted:#696969;--paper:#faf9f5;--card:#fff;--line:#dedbd1;--yellow:#d6a300;--soft:#f3f1ea}
#homeSearch body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,sans-serif}
#homeSearch a{color:inherit}
#homeSearch a.primary{display:inline-block;text-decoration:none;max-width:100%;text-align:center}
#homeSearch .wrap{max-width:1080px;margin:auto;padding:28px 20px 70px}
#homeSearch header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:48px}
#homeSearch .brand{font-size:34px;font-weight:800;text-decoration:none}
#homeSearch .brand span,#homeSearch .eyebrow{color:var(--yellow)}
#homeSearch .back{color:#5e5e5e;font-weight:700}
#homeSearch .hero{max-width:760px;margin-bottom:28px}
#homeSearch .eyebrow{font-weight:800;letter-spacing:2.5px;font-size:13px}
#homeSearch .hero h1{font-size:48px;line-height:1.05;margin:14px 0}
#homeSearch .lead{font-size:20px;line-height:1.5;color:var(--muted);margin:0}
#homeSearch .searchCard,#homeSearch .resultCard,#homeSearch .statusCard{background:var(--card);border:1px solid var(--line);border-radius:26px;padding:28px;box-shadow:0 10px 35px rgba(0,0,0,.035)}
#homeSearch .grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
#homeSearch .field{min-width:0}
#homeSearch .field.full{grid-column:1/-1}
#homeSearch label,#homeSearch .legend{font-weight:700;display:block;margin-bottom:8px}
#homeSearch .hint{color:var(--muted);font-size:13px;margin:7px 2px 0;line-height:1.4}
#homeSearch input,#homeSearch select{width:100%;border:1px solid #cec9bd;border-radius:14px;padding:15px 14px;font:inherit;background:var(--paper);color:var(--ink)}
#homeSearch input:focus,#homeSearch select:focus,#homeSearch button:focus-visible{outline:3px solid rgba(214,163,0,.28);outline-offset:2px}
#homeSearch .inline{display:grid;grid-template-columns:1fr 140px;gap:10px}
#homeSearch .check{display:flex;align-items:center;gap:10px;margin:0 0 18px}
#homeSearch .check input{width:20px;height:20px}
#homeSearch .check label{margin:0;font-weight:600}
#homeSearch .actions{display:flex;align-items:center;gap:18px;margin-top:24px}
#homeSearch .primary{border:0;border-radius:14px;padding:16px 26px;background:var(--ink);color:#fff;font-weight:800;font-size:16px;cursor:pointer}
#homeSearch .primary:disabled{opacity:.55;cursor:wait}
#homeSearch .privacy{color:var(--muted);font-size:13px;line-height:1.4;margin:0}
#homeSearch .statusCard{margin-top:22px}
#homeSearch .statusCard h2{margin:0 0 8px;font-size:24px}
#homeSearch .statusCard p{color:var(--muted);line-height:1.5;margin:0}
#homeSearch .statusCard[data-state="error"]{border-color:#d9a3a3}
#homeSearch .statusCard[data-state="ready"]{border-color:#d8c36e}
#homeSearch .resultsHead{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:34px 0 16px}
#homeSearch .resultsHead h2{font-size:30px;margin:0}
#homeSearch .resultsHead p{margin:0;color:var(--muted)}
#homeSearch .results{display:grid;gap:16px}
#homeSearch .resultCard{display:grid;grid-template-columns:1fr auto;gap:22px}
#homeSearch .resultCard h3{font-size:23px;margin:0 0 6px}
#homeSearch .supplier{color:var(--muted);margin:0 0 16px}
#homeSearch .facts{display:flex;flex-wrap:wrap;gap:8px}
#homeSearch .fact{background:var(--soft);border-radius:999px;padding:7px 10px;font-size:14px}
#homeSearch .price{text-align:right;min-width:150px}
#homeSearch .price strong{font-size:29px;display:block}
#homeSearch .price small{color:var(--muted)}
#homeSearch .dealLink{display:inline-block;margin-top:18px;background:var(--ink);color:#fff;text-decoration:none;padding:12px 15px;border-radius:12px;font-weight:700}
#homeSearch .disclaimer{color:var(--muted);font-size:13px;line-height:1.5;margin-top:18px}
#homeSearch [hidden]{display:none!important}
@media(max-width:700px){
#homeSearch .wrap{padding:22px 15px 50px}
#homeSearch header{margin-bottom:36px}
#homeSearch .hero h1{font-size:39px}
#homeSearch .lead{font-size:18px}
#homeSearch .searchCard,#homeSearch .resultCard,#homeSearch .statusCard{padding:21px}
#homeSearch .grid{grid-template-columns:1fr}
#homeSearch .field.full{grid-column:auto}
#homeSearch .inline{grid-template-columns:1fr 105px}
#homeSearch .actions{display:block}
#homeSearch .primary{width:100%}
#homeSearch .privacy{margin-top:12px}
#homeSearch .resultCard{grid-template-columns:1fr}
#homeSearch .price{text-align:left}
#homeSearch .resultsHead{display:block}
#homeSearch .resultsHead p{margin-top:6px}}
#homeSearch .resultCard details{margin-top:16px;line-height:1.5}
#homeSearch .resultCard summary{cursor:pointer;font-weight:700}
#homeSearch .resultCard details li{margin:8px 0}
#homeSearch .price .dealLink{display:block;font:inherit;border:0;cursor:pointer}
#homeSearch .price button.dealLink:disabled{opacity:.55}
#homeSearch .resultCard{min-width:0}
#homeSearch .resultCard>div{min-width:0}
#homeSearch .resultCard details a{overflow-wrap:anywhere}
#homeSearch .price .mollyCheck{background:#f4c62c;color:#171717;font-weight:800}
#homeSearch .price{max-width:240px}
#homeSearch .price .hint,#homeSearch .checkProgress{font-size:13px;line-height:1.5}
#homeSearch .checkProgress{overflow-wrap:anywhere}
#homeSearch .price button{width:100%}@media(max-width:700px){
#homeSearch .price{max-width:none}}
#homeSearch .tripImport{margin-bottom:20px}
#homeSearch .tripImport button{margin-top:12px}
#homeSearch .searchPreferences{margin-top:24px}
#homeSearch .searchPreferences summary,#homeSearch .partnerFallback summary{cursor:pointer;font-weight:700;padding:12px 0}
#homeSearch .searchPreferences .grid{margin-top:16px}
#homeSearch .partnerFallback{margin-top:24px}
#homeSearch .costRisk{margin:16px 0;padding:16px;border:1px solid #b9c8c1;border-left:4px solid #c46a16;border-radius:12px;background:#f7faf8;color:#172e25}
#homeSearch .costRisk h4{margin:0 0 12px;font-size:1.05rem}
#homeSearch .costRiskAmounts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 12px;margin:0 0 12px}
#homeSearch .costRiskAmounts dt{font-weight:600}
#homeSearch .costRiskAmounts dd{margin:0;text-align:right;overflow-wrap:anywhere}
#homeSearch .costRisk p{margin:8px 0;line-height:1.5}
#homeSearch .costRiskWarning{display:block;margin-top:12px;color:#82420c}
#homeSearch .costRisk small{display:block;margin-top:8px}
#homeSearch .tripImport summary{cursor:pointer;font-weight:700;line-height:1.5}
#homeSearch .tripImportFields{margin-top:18px}
#homeSearch .searchReviewHead{display:flex;align-items:center;justify-content:space-between;gap:16px}
#homeSearch .searchReview h2{margin:0;font-size:24px}
#homeSearch .secondary{border:1px solid var(--line);border-radius:12px;padding:12px 16px;font:inherit;font-weight:700;background:var(--soft);color:var(--ink);cursor:pointer}
#homeSearch .tripSummary{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 20px;margin:20px 0 0;line-height:1.5}
#homeSearch .tripSummary dt{font-weight:700}
#homeSearch .tripSummary dd{margin:0;overflow-wrap:anywhere}
@media(max-width:700px){
#homeSearch .searchReviewHead{align-items:flex-start}
#homeSearch .tripSummary{grid-template-columns:1fr;gap:4px}
#homeSearch .tripSummary dd{margin-bottom:10px}}

/* Keep the photograph independent of form/results height so Molly never moves
   behind the controls when preferences, validation or results expand. */
.home .roadHero{--scene-height:max(600px,56.25vw);background:#183a45;color:#fff}
.home .roadHero:before{inset:0 0 auto;height:var(--scene-height);background:linear-gradient(0deg,#183a45 0%,#183a4500 34%),linear-gradient(90deg,#092936e8 0%,#0929369c 34%,#09293600 65%),url('/assets/molly-roadtrip-natural.webp') center top/cover no-repeat}
.home .searchFirstHero{max-width:1440px;display:grid;grid-template-columns:minmax(0,3fr) minmax(280px,1fr);align-items:start;gap:0 24px;min-height:0;padding:0 28px 40px}
.homeSearchIntro{grid-column:1/-1;min-height:max(410px,33vw);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:42px 0 54px;color:#fff}
.homeSearchIntro>*{max-width:47%}
.homeSearchIntro .eyebrow{color:#ffd34b;font-size:12px;letter-spacing:2px;margin:0 0 18px}
.homeSearchIntro h1{font-size:clamp(34px,3.5vw,54px);line-height:1.08;margin:0 0 20px;letter-spacing:-1.3px;overflow-wrap:anywhere;text-wrap:balance}
.homeSearchIntro .lead{font-size:17px;line-height:1.55;color:#f0f4f3;margin:0}

/* A wide sea-green search panel, with light controls and the brand's yellow CTA. */
#homeSearch{--ink:#17343e;--muted:#50626a;--paper:#f8faf7;--card:#f7faf7;--line:#c7d5d2;--soft:#eaf0eb;min-width:0;color:var(--ink);font:16px Arial,sans-serif}
#homeSearch .searchCard,#homeSearch .statusCard,#homeSearch .resultCard{border-radius:12px;padding:22px;box-shadow:0 14px 36px #071e2526}
#homeSearch #carSearch{background:#204954f5;border:1px solid #8dadad80;color:#f5f8f4;box-shadow:0 18px 44px #061e3040}
#homeSearch #carSearch>.grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:16px 18px;align-items:start}
#homeSearch .pickupField{grid-column:span 8}
#homeSearch .returnControl{grid-column:span 4;align-self:start;padding-top:29px}
#homeSearch .dateField{grid-column:span 6}
#homeSearch .ageField,#homeSearch .countryField,#homeSearch .categoryField{grid-column:span 4}
#homeSearch #carSearch>.grid>p.hint{grid-column:span 4;align-self:center;margin:24px 0 0}
#homeSearch label{font-size:13px;margin-bottom:8px;line-height:1.4}
#homeSearch input,#homeSearch select{min-width:0;min-height:46px;border-color:#c4d1ce;border-radius:7px;padding:12px 10px;background:#f8faf7;color:#17343e;font-size:16px}
#homeSearch input:focus,#homeSearch select:focus,#homeSearch button:focus-visible,#homeSearch summary:focus-visible{outline:3px solid #f4c62c;outline-offset:3px}
#homeSearch .inline{grid-template-columns:minmax(0,1fr) 108px;gap:8px}
#homeSearch .check{gap:9px;margin:0;min-height:46px}
#homeSearch .check input{flex:0 0 20px;min-height:20px;width:20px;height:20px;padding:0;accent-color:#f4c62c}
#homeSearch .check label{font-size:13px;line-height:1.5}
#homeSearch #carSearch .hint,#homeSearch #carSearch .privacy{color:#d1dfdf;font-size:12px;line-height:1.5}
#homeSearch .locationPicker button{border-color:#92afae;border-radius:7px;background:#eaf0eb;color:#17343e;font-size:13px}
#homeSearch .locationPicker button:hover{background:#fff5cf}
#homeSearch .searchPreferences{margin-top:10px;border-top:1px solid #8dadad70}
#homeSearch .searchPreferences summary{padding:12px 0;min-height:44px;font-size:13px}
#homeSearch .searchPreferences .grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:4px;gap:16px}
#homeSearch .actions{margin-top:10px;gap:18px}
#homeSearch #carSearch .primary{flex-shrink:0;min-height:48px;border-radius:7px;padding:13px 20px;background:#f4c62c;color:#17343e}
#homeSearch #carSearch .primary:hover{background:#ffda5c}
#homeSearch .privacy{margin:0}
#homeSearch .tripImport{margin:12px 0 0;background:#204954;border-color:#8dadad80;color:#f5f8f4;padding:14px 20px;box-shadow:none}
#homeSearch .tripImport summary{font-size:13px;min-height:24px}
#homeSearch .tripImport .hint{color:#d1dfdf}
#homeSearch .tripImport .primary{background:#f4c62c;color:#17343e}
#homeSearch #connectionNotice{color:#fff;background:#204954;border:1px solid #8dadad80;border-radius:10px;padding:14px 18px;margin:0 0 12px}
#homeSearch .resultsHead,#homeSearch #resultsSection>.disclaimer{color:#f5f8f4}
#homeSearch .resultsHead p{color:#d1dfdf}
#homeSearch #resultsSection{color:#f5f8f4}
#homeSearch .resultCard{grid-template-columns:minmax(0,1fr);color:var(--ink)}
#homeSearch .price{max-width:none;text-align:left}
#homeSearch .price .dealLink{display:inline-block;margin-right:10px}
#homeSearch .price button{width:auto}
#homeSearch .price .hint{margin-top:8px}

.dealSidebar{min-width:0;align-self:start;background:#f1f3eefa;color:var(--nd-ink);border:1px solid #d5dfd7;border-radius:12px;padding:20px;box-shadow:0 12px 34px #061e3026}
.dealSidebar h2{font-size:20px;line-height:1.3;margin:0 0 16px}
.dealSidebar .checkbox{padding:0;box-shadow:none;background:transparent}
.dealSidebar .row{flex-direction:column}
.dealSidebar .row button{width:100%;white-space:normal}
.dealSidebar .note{font-size:12px}
.dealSidebar .checkbox label{font-size:13px}
.dealSidebar .analysisWait{font-size:13px;padding:10px}

@media(min-width:1440px){
  #homeSearch .dateField{grid-column:span 6}
  #homeSearch #carSearch>.grid>p.hint{grid-column:1/-1;margin:0}
}
@media(max-width:1050px){
  .home .searchFirstHero{grid-template-columns:minmax(0,1fr);gap:22px;padding:0 24px 32px}
  .homeSearchIntro{min-height:400px;padding-bottom:32px}
  .homeSearchIntro h1{font-size:38px}
  .homeSearchIntro .lead{font-size:16px}
  .dealSidebar{width:100%}
  .dealSidebar .row{flex-direction:row}
  .dealSidebar .row button{width:auto}
}
@media(max-width:700px){
  .home .roadHero{--scene-height:470px}
  .home .roadHero:before{background:linear-gradient(0deg,#183a45 0%,#183a45e6 20%,#183a4500 52%),url('/assets/molly-roadtrip-natural.webp') 70% top/auto 470px no-repeat}
  .home .searchFirstHero{padding:0 16px 28px;gap:18px}
  .homeSearchIntro{min-height:0;padding:295px 0 8px}
  .homeSearchIntro>*{max-width:100%}
  .homeSearchIntro .eyebrow{margin-bottom:12px}
  .homeSearchIntro h1{font-size:32px;letter-spacing:-.8px;margin-bottom:16px}
  .homeSearchIntro .lead{font-size:15px;line-height:1.6}
  #homeSearch .searchCard,#homeSearch .statusCard,#homeSearch .resultCard{padding:18px 16px}
  #homeSearch #carSearch>.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}
  #homeSearch .pickupField,#homeSearch .returnControl,#homeSearch .dateField,#homeSearch .categoryField,#homeSearch #carSearch>.grid>p.hint{grid-column:1/-1}
  #homeSearch .countryField,#homeSearch .ageField{grid-column:span 1}
  #homeSearch .returnControl{padding-top:0}
  #homeSearch .check{min-height:32px}
  #homeSearch #carSearch>.grid>p.hint{margin:0}
  #homeSearch .searchPreferences .grid{grid-template-columns:1fr}
  #homeSearch .actions{display:block}
  #homeSearch #carSearch .privacy{margin-top:12px}
  #homeSearch .tripImport{padding:14px 16px}
  #homeSearch .price button,#homeSearch .price .dealLink{display:block;width:100%}
  .dealSidebar .row{flex-direction:column}
  .dealSidebar .row button{width:100%}
}


#homeSearch .dateError{padding:10px 12px;margin:8px 0 0;border:1px solid #a83d2d;border-radius:7px;background:#fff2ed;color:#7c271b;font-size:14px;font-weight:700;line-height:1.5}
#homeSearch input[aria-invalid="true"]{border:2px solid #bc4936}


/* A separate return location needs the full form width on mobile too. */
#homeSearch #dropoffField{grid-column:1/-1}

.savedMollyReport a{display:inline-block;min-height:44px;padding:10px 0;overflow-wrap:anywhere}
