/* V50 — consumer app polish + live-ready fix
   Fixes the sticky AI search card that was covering the rest of the page.
   Makes the app clearer, faster to scan, and more launch-ready. */
:root{
  --v50-bg:#f7f9f4;
  --v50-surface:#ffffff;
  --v50-ink:#101828;
  --v50-muted:#667085;
  --v50-line:#e4ebe4;
  --v50-green:#0f766e;
  --v50-green-2:#12b981;
  --v50-orange:#f97316;
  --v50-shadow:0 16px 44px rgba(16,24,40,.10);
  --v50-shadow-soft:0 8px 24px rgba(16,24,40,.07);
}
html,body{min-height:100%;}
body.fs45-body{
  background:
    radial-gradient(circle at 12% -4%,rgba(18,185,129,.13),transparent 32%),
    radial-gradient(circle at 100% 0%,rgba(249,115,22,.12),transparent 30%),
    linear-gradient(180deg,#fbfdf8 0%,#f7f9f4 44%,#fffaf3 100%)!important;
  color:var(--v50-ink)!important;
}
.fs45-topbar{
  position:sticky!important;
  top:0!important;
  z-index:1100!important;
  background:rgba(255,255,255,.86)!important;
  border-bottom:1px solid rgba(228,235,228,.86)!important;
  backdrop-filter:blur(18px)!important;
  box-shadow:0 8px 24px rgba(16,24,40,.05)!important;
}
.fs45-brand-mark{background:linear-gradient(135deg,#0b5f58,#12b981)!important;border-radius:14px!important;}
.fs45-nav a{font-size:13px!important;padding:8px 11px!important;background:rgba(248,250,247,.8)!important;border:1px solid rgba(228,235,228,.8)!important;}
.fs45-nav a:hover{background:#ecfdf5!important;color:#065f46!important;}
.fs45-shell{max-width:1440px!important;padding-top:18px!important;}
.fs45-hero{
  grid-template-columns:minmax(0,1fr) 260px!important;
  padding:18px!important;
  border-radius:28px!important;
  background:linear-gradient(135deg,#fff 0%,#f0fdf4 60%,#fff7ed 100%)!important;
  box-shadow:var(--v50-shadow-soft)!important;
}
.fs45-hero-copy{padding:24px!important;border-radius:24px!important;box-shadow:none!important;background:transparent!important;border:0!important;}
.fs45-hero-copy:after{display:none!important;}
.fs45-hero h1{
  font-size:clamp(30px,3.5vw,52px)!important;
  line-height:1.02!important;
  letter-spacing:-.055em!important;
  max-width:850px!important;
}
.fs45-hero p{font-size:15.5px!important;line-height:1.55!important;max-width:760px!important;color:#475467!important;}
.fs45-kicker-row span{background:#fff7ed!important;color:#9a3412!important;border-color:#fed7aa!important;}
.fs45-trust-row span{background:#fff!important;border-color:#d8ece3!important;box-shadow:0 3px 12px rgba(16,24,40,.04)!important;}
.fs45-hero-card{border-radius:24px!important;padding:20px!important;background:linear-gradient(135deg,#0f172a,#064e3b)!important;box-shadow:var(--v50-shadow-soft)!important;}
.fs45-hero-card strong{font-size:52px!important;}
.fs45-flow{grid-template-columns:repeat(4,minmax(0,1fr))!important;margin:14px 0!important;}
.fs45-flow div{padding:12px!important;border-radius:18px!important;background:#fff!important;box-shadow:var(--v50-shadow-soft)!important;}
.fs45-flow strong{background:#0f766e!important;}
/* CRITICAL FIX: search card must not be frozen/sticky over the page */
.fs45-search-card{
  position:relative!important;
  top:auto!important;
  z-index:10!important;
  border-radius:26px!important;
  padding:16px!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:var(--v50-shadow)!important;
  border:1px solid rgba(228,235,228,.94)!important;
  scroll-margin-top:88px!important;
}
.fs45-section-title{align-items:center!important;margin-bottom:10px!important;}
.fs45-section-title span{font-size:12px!important;color:#0f766e!important;}
.fs45-section-title h2{font-size:24px!important;letter-spacing:-.035em!important;}
.fs45-section-title small{font-size:12px!important;color:#667085!important;}
.fs45-ai-row{grid-template-columns:minmax(0,1fr) 132px 132px!important;gap:10px!important;}
.fs45-ai-input-wrap input{height:54px!important;border-radius:18px!important;background:#fff!important;border-color:#dce8df!important;font-weight:750!important;}
.fs45-ai-input-wrap input::placeholder{color:#98a2b3!important;font-weight:650!important;}
.fs45-primary{background:linear-gradient(135deg,#0f766e,#10b981)!important;box-shadow:0 10px 22px rgba(16,185,129,.22)!important;}
.fs45-soft{background:#ecfdf5!important;color:#075e54!important;border:1px solid #b7f2d0!important;}
.fs45-ghost{background:#fff!important;border:1px solid #dfe8df!important;}
.fs45-citychips,.fs45-quickchips{margin-top:10px!important;}
.fs45-citychips button{background:#111827!important;color:#fff!important;border-radius:999px!important;padding:8px 12px!important;box-shadow:none!important;}
.fs45-quickchips button{background:#f0fdf4!important;color:#065f46!important;border:1px solid #bbf7d0!important;}
.fs45-filters{
  grid-template-columns:repeat(4,minmax(160px,1fr))!important;
  gap:10px!important;
  margin-top:12px!important;
  padding-top:12px!important;
  border-top:1px solid #edf2ec!important;
}
.fs45-filters label{font-size:10.5px!important;color:#667085!important;}
.fs45-filters input,.fs45-filters select{height:42px!important;border-radius:13px!important;background:#fff!important;border-color:#dfe8df!important;}
.fs45-actions-row{margin-top:12px!important;}
.fs45-layout{
  grid-template-columns:minmax(420px,.86fr) minmax(0,1.14fr)!important;
  gap:18px!important;
  margin-top:18px!important;
}
.fs45-map-panel{
  position:sticky!important;
  top:88px!important;
  border-radius:28px!important;
  background:#fff!important;
  box-shadow:var(--v50-shadow)!important;
  overflow:visible!important;
}
.fs45-map{height:calc(100vh - 170px)!important;min-height:520px!important;max-height:720px!important;border-radius:22px!important;}
.fs45-panel-head strong{font-size:17px!important;}
.fs45-panel-head span{color:#667085!important;}
.fs45-location-manual input{background:#fff!important;}
.fs45-results-panel{background:#fff!important;border-radius:28px!important;box-shadow:var(--v50-shadow)!important;}
.fs45-results-head{border-bottom:1px solid #edf2ec!important;padding-bottom:12px!important;margin-bottom:10px!important;}
.fs45-results-head h2{font-size:26px!important;}
.fs45-results-head p{font-size:14px!important;}
.fs45-stats span{background:#f8faf7!important;border:1px solid #e8efe8!important;}
.fs45-stats strong{color:#0f766e!important;}
.fs45-offers-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;}
.fs45-offer{border-radius:24px!important;box-shadow:0 10px 28px rgba(16,24,40,.08)!important;border-color:#e5ece5!important;}
.fs45-offer:hover{transform:translateY(-2px)!important;}
.fs45-img{aspect-ratio:1.35/1!important;}
.fs45-offer-body{padding:14px!important;}
.fs45-offer-body h3{font-size:18px!important;letter-spacing:-.025em!important;}
.fs45-price strong{font-size:24px!important;color:#0f766e!important;}
.fs45-card-actions button{border-radius:14px!important;}
.fs45-bottom-panels{grid-template-columns:1fr 1fr 1.2fr!important;gap:16px!important;}
.fs45-side-card{background:#fff!important;border-radius:26px!important;box-shadow:var(--v50-shadow-soft)!important;}
.fs45-chat-box{height:220px!important;}
.fs45-mobile-nav{z-index:1500!important;}
.fs45-empty{border-radius:22px!important;background:#fff7ed!important;border:1px solid #fed7aa!important;color:#9a3412!important;padding:16px!important;}
.fs45-toast{z-index:4000!important;}
@media(max-width:1180px){
  .fs45-layout{grid-template-columns:1fr!important;}
  .fs45-map-panel{position:relative!important;top:auto!important;}
  .fs45-map{height:460px!important;min-height:420px!important;max-height:none!important;}
  .fs45-offers-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .fs45-bottom-panels{grid-template-columns:1fr!important;}
}
@media(max-width:820px){
  .fs45-topbar{flex-direction:row!important;align-items:center!important;padding:10px 12px!important;}
  .fs45-brand strong{font-size:15px!important}.fs45-brand small{display:none!important}.fs45-brand-mark{width:38px!important;height:38px!important;}
  .fs45-nav{display:none!important;}
  .fs45-shell{padding:12px 10px 100px!important;}
  .fs45-hero{grid-template-columns:1fr!important;padding:12px!important;border-radius:22px!important;}
  .fs45-hero-copy{padding:14px!important;}
  .fs45-hero h1{font-size:28px!important;line-height:1.07!important;}
  .fs45-hero p{font-size:14px!important;}
  .fs45-hero-card{display:grid!important;grid-template-columns:1fr auto!important;align-items:center!important;padding:14px!important;}
  .fs45-hero-card strong{font-size:38px!important;}
  .fs45-hero-card .fs45-hero-seed{grid-column:1/-1!important;}
  .fs45-flow{grid-template-columns:1fr 1fr!important;gap:8px!important;}
  .fs45-flow div{font-size:13px!important;padding:10px!important;}
  .fs45-search-card{border-radius:22px!important;padding:12px!important;}
  .fs45-section-title h2{font-size:21px!important;}
  .fs45-section-title small{display:none!important;}
  .fs45-ai-row{grid-template-columns:1fr!important;}
  .fs45-ai-input-wrap input{height:52px!important;}
  .fs45-citychips,.fs45-quickchips{overflow:auto!important;flex-wrap:nowrap!important;padding-bottom:4px!important;}
  .fs45-citychips button,.fs45-quickchips button{flex:0 0 auto!important;}
  .fs45-filters{grid-template-columns:1fr 1fr!important;max-height:none!important;}
  .fs45-actions-row button{flex:1 1 145px!important;}
  .fs45-map{height:420px!important;min-height:360px!important;border-radius:18px!important;}
  .fs45-location-manual{grid-template-columns:1fr 1fr!important;}
  .fs45-location-manual button{grid-column:1/-1!important;}
  .fs45-results-head{display:block!important;}
  .fs45-stats{justify-content:start!important;margin-top:10px!important;}
  .fs45-offers-grid{grid-template-columns:1fr!important;}
  .fs45-bottom-panels{display:none!important;}
  .fs45-modal-card{border-radius:22px!important;}
}
@media(max-width:420px){
  .fs45-filters{grid-template-columns:1fr!important;}
  .fs45-flow{grid-template-columns:1fr!important;}
  .fs45-hero h1{font-size:26px!important;}
}
