/* =========================================================
   PERCH & OAK — FIND YOUR PERCH (IDX search landing)
   Builds on ../assets/css/styles.css tokens. Gold is an accent:
   rules, hovers, selected states, small icons — never big fields.
   ========================================================= */
.heart{color:var(--gold-deep);font-family:system-ui,sans-serif}
body.at-top .main-nav .heart{color:var(--gold)}
.nav-myperch{display:inline-flex;align-items:center;gap:6px}
.nav-count{font-family:var(--head);font-size:.68rem;background:var(--gold);color:var(--navy);border-radius:999px;padding:1px 7px;line-height:1.5}
.main-nav a[aria-current="page"]::after{right:0}
.link-btn{background:none;border:0;font:inherit;color:var(--muted);text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:6px}

/* ---------- 1 · Hero ---------- */
.find-hero{min-height:min(88vh,820px)}
.find-inner{padding:150px 0 190px}
.find-hero h1{font-size:clamp(3rem,7.4vw,6.4rem)}
.smart-search{display:flex;align-items:center;gap:10px;background:rgba(250,247,240,.97);border-radius:999px;padding:8px 8px 8px 22px;box-shadow:0 30px 60px -20px rgba(0,0,0,.5);max-width:800px;color:var(--muted)}
.smart-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:inherit;font-size:1.08rem;color:var(--navy);padding:12px 4px}
.smart-search input::placeholder{color:#7d8790;transition:opacity .35s}
.smart-search.swap input::placeholder{opacity:0}
.smart-search:focus-within{box-shadow:0 0 0 3px rgba(201,168,106,.45),0 30px 60px -20px rgba(0,0,0,.5)}
.ai-pill{font-family:var(--head);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-deep);border:1px solid rgba(168,135,74,.45);border-radius:999px;padding:5px 10px;white-space:nowrap}
.search-modes{display:flex;flex-wrap:wrap;gap:8px 26px;margin-top:22px}
.search-modes a{display:inline-flex;align-items:center;gap:8px;color:var(--cream);text-decoration:none;font-family:var(--head);font-size:.84rem;letter-spacing:.16em;text-transform:uppercase;padding:6px 0;border-bottom:1px solid transparent;transition:border-color .25s,color .25s}
.search-modes a:hover{color:var(--gold);border-color:var(--gold)}
.search-modes svg{width:18px;height:18px}

/* ---------- 2 · Filter bar ---------- */
.filterbar-wrap{position:relative;z-index:5;margin-top:-92px;padding-bottom:30px;background:linear-gradient(180deg,transparent 0,transparent 92px,var(--ivory) 92px)}
.filterbar{background:#fff;border-radius:18px;box-shadow:var(--shadow);padding:18px 20px 14px;border:1px solid var(--line)}
.fb-modes{display:inline-flex;gap:4px;background:var(--cream);border-radius:999px;padding:4px;margin-bottom:14px}
.fb-modes input{position:absolute;opacity:0;pointer-events:none}
.fb-modes span{display:inline-block;font-family:var(--head);font-size:.8rem;letter-spacing:.08em;padding:8px 16px;border-radius:999px;cursor:pointer;color:var(--navy);transition:background .2s,color .2s}
.fb-modes input:checked+span{background:var(--navy);color:var(--cream)}
.fb-modes input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}
.fb-row{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}
.fb{display:flex;flex-direction:column;gap:4px;flex:1 1 104px;min-width:0}
.fb:first-child{flex:2 1 190px}
.fb>span{font-family:var(--head);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);padding-left:4px}
.fb input,.fb select{font:inherit;font-size:.95rem;color:var(--navy);background:var(--ivory);border:1px solid var(--line);border-radius:10px;padding:11px 12px;width:100%;min-width:0}
.fb input:focus,.fb select:focus{outline:0;border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,168,106,.22)}
.fb-btn{font-family:var(--head);font-size:.86rem;letter-spacing:.04em;color:var(--navy);background:#fff;border:1px solid var(--line);border-radius:10px;padding:11px 14px;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;transition:border-color .2s}
.fb-btn:hover,.fb-btn[aria-expanded="true"]{border-color:var(--gold)}
.fb-btn i{font-style:normal;font-size:.7rem;background:var(--gold);color:var(--navy);border-radius:999px;padding:0 7px}
.fb-go{padding:.85em 1.4em;font-size:.82rem}
.fb-trust{margin:12px 2px 0;font-size:.84rem;color:var(--muted);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.fb-trust a{color:var(--navy);text-decoration:none;border-bottom:1px solid var(--gold);margin-left:auto}
.dot{width:8px;height:8px;border-radius:50%;background:var(--sage);box-shadow:0 0 0 4px rgba(111,157,155,.2);animation:pulse 2.4s ease-in-out infinite}
@keyframes pulse{50%{box-shadow:0 0 0 7px rgba(111,157,155,0)}}
.more-filters{border-top:1px solid var(--line);margin-top:16px;padding-top:18px;display:grid;grid-template-columns:repeat(2,1fr);gap:22px 34px;animation:fade .3s ease}
.more-filters fieldset{border:0;margin:0;padding:0;min-width:0}
.more-filters legend{font-family:var(--head);font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--navy-2);margin-bottom:10px;padding:0}
.more-filters fieldset.hl legend::after{content:"";display:block;width:34px;height:1px;background:var(--gold);margin-top:6px}
.more-filters .chip-group span{font-size:.88rem;padding:7px 13px}
.mf-invest{grid-column:1/-1;background:var(--cream);border-radius:14px;padding:16px 18px!important}
.mf-note{font-size:.84rem;color:var(--muted);margin:0 0 10px;max-width:80ch}
.mf-range{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.mf-range label{display:flex;flex-direction:column;gap:4px;font-family:var(--head);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);flex:1 1 110px}
.mf-range select{font:inherit;font-size:.92rem;letter-spacing:0;text-transform:none;color:var(--navy);background:var(--ivory);border:1px solid var(--line);border-radius:10px;padding:9px 10px}
.mf-foot{grid-column:1/-1;display:flex;justify-content:flex-end;align-items:center;gap:14px;border-top:1px solid var(--line);padding-top:14px}

/* ---------- 3 · Lifestyle tiles ---------- */
.lifestyle{padding:70px 0 90px;background:var(--ivory)}
.life-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.life-tile{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:190px;padding:20px;border-radius:16px;overflow:hidden;text-decoration:none;color:var(--cream);background:linear-gradient(165deg,var(--navy-3),var(--navy) 70%);isolation:isolate;transition:transform .35s,box-shadow .35s}
.life-tile::after{content:"";position:absolute;inset:10px;border:1px solid rgba(201,168,106,.0);border-radius:10px;transition:border-color .35s;pointer-events:none}
.life-tile:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.life-tile:hover::after{border-color:rgba(201,168,106,.55)}
.life-tile.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .9s}
.life-tile.photo::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(15,34,51,.92),rgba(15,34,51,.25) 70%)}
.life-tile.photo:hover img{transform:scale(1.05)}
.life-ic{position:absolute;top:18px;left:18px;width:46px;height:46px}
.life-ic .ln{fill:none;stroke:var(--gold);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.life-ic .cr{stroke:var(--cream);opacity:.85}
.life-tile h3{color:var(--cream);font-size:1.18rem;margin:0}
.life-tile small{display:block;margin-top:4px;font-size:.8rem;color:rgba(247,243,236,.66);letter-spacing:.02em}
.life-tile .go{position:absolute;top:18px;right:18px;color:var(--gold);opacity:0;transform:translate(-4px,4px);transition:all .3s}
.life-tile:hover .go{opacity:1;transform:none}

/* ---------- 4 · What's new rail ---------- */
.fresh{padding:10px 0 90px;background:var(--ivory)}
.fresh-head{display:flex;align-items:baseline;gap:20px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:34px;margin-bottom:20px}
.fresh-head h2{font-size:clamp(1.6rem,3vw,2.2rem);margin:0}
.fresh-head p{margin:0;color:var(--muted)}
.fresh-rail{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:4px 2px 10px}
.fresh-rail::-webkit-scrollbar{display:none}
.fresh-item{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px;text-decoration:none;transition:border-color .3s,transform .3s}
.fresh-item:hover{border-color:var(--gold);transform:translateY(-2px)}
.fresh-item svg{width:34px;height:34px;flex:none}
.fresh-item .ln{fill:none;stroke:var(--navy);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.fresh-item .gd{stroke:var(--gold-deep)}
.fresh-item b{display:block;font-family:var(--head);font-size:1.02rem;color:var(--navy);line-height:1.2}
.fresh-item span{font-size:.82rem;color:var(--muted)}

/* ---------- 5 · Our listings ---------- */
.ours{padding:90px 0;background:var(--cream)}
.ours-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:20px}
.ours .card-body{padding:20px 22px 22px}
.ours .price{font-size:1.7rem}
.ours .card-actions .btn{flex:0 1 auto}

/* ---------- 6 · Explore the Coast ---------- */
.explore{position:relative;background:var(--navy);color:var(--cream);padding:110px 0;overflow:hidden}
.explore-art{position:absolute;right:-160px;bottom:-120px;width:640px;opacity:.06;pointer-events:none}
.coast-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line-light);border:1px solid var(--line-light);border-radius:18px;overflow:hidden;position:relative}
.coast-col{background:var(--navy);padding:26px 22px 24px;display:flex;flex-direction:column}
.coast-col h3{color:var(--cream);font-size:1.25rem;margin:0 0 4px}
.coast-col>p{font-size:.86rem;color:rgba(247,243,236,.62);margin:0 0 16px;line-height:1.5}
.coast-col ul{list-style:none;margin:0;padding:0}
.coast-col li a{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid var(--line-light);color:var(--cream);text-decoration:none;font-size:.95rem;transition:color .2s,padding .25s}
.coast-col li a::after{content:"→";color:var(--gold);opacity:0;transition:opacity .2s}
.coast-col li a:hover{color:var(--gold);padding-left:4px}
.coast-col li a:hover::after{opacity:1}
.coast-col .heart-btn{margin-top:auto}
.coast-note{font-size:.84rem;color:rgba(247,243,236,.55);text-align:center;margin:22px auto 0;max-width:70ch}

/* ---------- 7 · My Perch ---------- */
.myperch-intro{padding:110px 0;background:var(--ivory)}
.mp-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.mp-grid>*{min-width:0}
.mp-copy>p:not(.eyebrow):not(.fine){color:var(--muted);font-size:1.08rem}
.mp-legend{list-style:none;padding:0;margin:26px 0 30px;display:grid;gap:2px}
.mp-legend li{display:flex;gap:16px;align-items:baseline;padding:11px 0;border-bottom:1px solid var(--line)}
.mp-legend b{font-family:system-ui,sans-serif;font-size:1.15rem;color:var(--gold-deep);width:22px;flex:none;text-align:center}
.mp-legend span{color:var(--muted);font-size:.95rem}
.mp-legend strong{font-family:var(--head);color:var(--navy);margin-right:10px;font-size:1.02rem}
.mp-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.mp-mock{background:#fff;border-radius:22px;box-shadow:var(--shadow);padding:34px 32px;border:1px solid var(--line);position:relative}
.mp-mock::before{content:"";position:absolute;inset:12px;border:1px solid rgba(201,168,106,.35);border-radius:14px;pointer-events:none}
.mpm-head{font-family:var(--head);letter-spacing:.24em;font-size:.8rem;color:var(--navy);text-align:center}
.mpm-hello{font-family:var(--head);font-size:1.6rem;color:var(--navy);text-align:center;line-height:1.2;margin:14px 0 22px}
.mpm-hello span{font-size:1rem;color:var(--muted)}
.mpm-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:22px}
.mpm-stats div{background:var(--cream);border-radius:12px;padding:12px 6px;text-align:center}
.mpm-stats b{display:block;font-family:var(--head);font-size:1.6rem;color:var(--navy);line-height:1}
.mpm-stats span{font-family:var(--head);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.mpm-label{font-family:var(--head);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-deep);margin:0 0 6px}
.mpm-row{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:.9rem}
.mpm-row em{font-style:normal;font-family:var(--head);font-size:.72rem;letter-spacing:.12em;color:var(--navy);background:var(--gold-soft);border-radius:999px;padding:2px 9px;white-space:nowrap;align-self:center}
.mpm-tabs{display:flex;gap:6px;margin-top:18px;flex-wrap:wrap}
.mpm-tabs span{font-size:.82rem;border:1px solid var(--line);border-radius:999px;padding:5px 12px}
.mpm-tabs .on{background:var(--navy);color:var(--cream);border-color:var(--navy)}
.mpm-cap{font-size:.74rem;color:var(--muted);text-align:center;margin:16px 0 0}

/* ---------- 8 · Market ---------- */
.market{padding:90px 0;background:var(--cream)}
.market-slot{margin-top:18px;min-height:120px}
.market-fallback{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px 34px}
.market-fallback p{margin:0;max-width:62ch;color:var(--muted)}
.market .source{text-align:left}

/* ---------- 9 · Ask ---------- */
.ask-chips{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 6px}
.ask-chips button{font:inherit;font-size:.9rem;background:rgba(247,243,236,.08);border:1px solid rgba(247,243,236,.3);color:var(--cream);padding:8px 15px;border-radius:999px;cursor:pointer;transition:all .2s}
.ask-chips button:hover,.ask-chips button.on{border-color:var(--gold);background:rgba(201,168,106,.22)}
.ready{padding:80px 0 120px;background:var(--ivory)}
.ready-inner{display:grid;grid-template-columns:1fr auto;align-items:center;gap:24px 40px}
.ready h2{margin:0;font-size:clamp(1.8rem,3.4vw,2.6rem)}
.ready-actions{display:flex;gap:12px;flex-wrap:wrap}
.be-home{grid-column:1/-1;font-family:var(--head);letter-spacing:.5em;text-transform:uppercase;font-size:.8rem;color:var(--gold-deep);text-align:center;margin:30px 0 0;display:flex;align-items:center;justify-content:center;gap:18px}
.be-home::before,.be-home::after{content:"";width:60px;height:1px;background:var(--gold)}

/* ---------- My Perch tray ---------- */
.mp-tray{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:60;display:flex;align-items:center;gap:4px;background:rgba(15,34,51,.96);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--cream);border:1px solid rgba(201,168,106,.45);border-radius:999px;padding:6px;box-shadow:0 20px 50px -20px rgba(0,0,0,.6);animation:trayIn .5s cubic-bezier(.2,.7,.2,1);max-width:calc(100% - 24px)}
@keyframes trayIn{from{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%,0)}}
.mp-tray a{color:var(--cream);text-decoration:none;font-family:var(--head);font-size:.82rem;letter-spacing:.06em;padding:9px 14px;border-radius:999px;white-space:nowrap;transition:background .2s}
.mp-tray a:hover{background:rgba(247,243,236,.08)}
.mp-tray a span{color:var(--gold)}
.mp-tray b{font-weight:300;color:var(--gold)}
.mp-tray .mpt-brand{background:var(--gold);color:var(--navy);letter-spacing:.16em;text-transform:uppercase;font-size:.74rem}
.mp-tray .mpt-brand .heart{color:var(--navy)}
.mp-tray .mpt-brand:hover{background:var(--gold-soft)}
body.has-tray .site-footer{padding-bottom:110px}

/* ---------- toast ---------- */
.po-toast{position:fixed;left:50%;bottom:90px;transform:translateX(-50%);background:var(--cream);color:var(--navy);border:1px solid var(--gold);border-radius:12px;padding:12px 18px;font-size:.92rem;box-shadow:var(--shadow);z-index:70;max-width:calc(100% - 32px);text-align:center;animation:trayIn .35s ease}

/* ---------- Responsive ---------- */
@media (max-width:1180px){
  .life-grid{grid-template-columns:repeat(4,1fr)}
  .coast-grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:900px){
  .life-grid{grid-template-columns:repeat(3,1fr)}
  .ours-grid{grid-template-columns:1fr 1fr}
  .mp-grid{grid-template-columns:1fr;gap:44px}
  .coast-grid{grid-template-columns:1fr 1fr}
  .more-filters{grid-template-columns:1fr}
  .ready-inner{grid-template-columns:1fr}
}
@media (max-width:640px){
  .find-inner{padding:118px 0 170px}
  .smart-search{padding:6px 6px 6px 16px}
  .smart-search>svg,.ai-pill{display:none}
  .smart-search input{font-size:1rem;padding:10px 2px}
  .smart-search .btn{padding:.85em 1.1em}
  .search-modes{gap:4px 18px}
  .search-modes a{font-size:.74rem;letter-spacing:.12em}
  .filterbar{padding:14px}
  .fb-modes{display:flex}
  .fb-modes label{flex:1;text-align:center}
  .fb-modes span{width:100%;padding:8px 6px;font-size:.74rem}
  .fb{flex:1 1 calc(50% - 5px)}
  .fb:first-child{flex-basis:100%}
  .fb-btn{flex:1 1 calc(50% - 5px);justify-content:center}
  .fb-go{flex:1 1 100%}
  .fb-trust a{margin-left:0}
  .life-grid{grid-template-columns:1fr 1fr;gap:10px}
  .life-tile{min-height:150px;padding:16px}
  .life-ic{width:38px;height:38px;top:14px;left:14px}
  .life-tile h3{font-size:1.02rem}
  .ours-grid,.coast-grid{grid-template-columns:1fr}
  .mpm-stats{grid-template-columns:1fr 1fr}
  .mp-mock{padding:26px 20px}
  .market-fallback{padding:22px}
  .mp-tray{left:12px;right:12px;transform:none;justify-content:space-between;overflow-x:auto;scrollbar-width:none;animation:none}
  .mp-tray a{padding:9px 10px;font-size:.76rem}
  .mp-tray a:nth-child(4){display:none}
}
@media (prefers-reduced-motion:reduce){.dot{animation:none}}

@media (min-width:1361px){.main-nav .nav-extra{display:none}}
@media (max-width:900px){.fresh-rail{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(220px,70%);overflow-x:auto;scrollbar-width:none;scroll-snap-type:x mandatory}.fresh-rail::-webkit-scrollbar{display:none}.fresh-item{scroll-snap-align:start}}
@media (max-width:640px){.mp-tray a{padding:8px 7px;font-size:.7rem;letter-spacing:.02em}.mp-tray .mpt-brand{letter-spacing:.08em;font-size:.66rem}}

/* ============ Map search (IDX Prime MapSearch widget) ============ */
.map-search{padding:70px 0 40px}
.idx-map-frame{margin-top:28px;background:#fff;border-radius:18px;box-shadow:var(--shadow);padding:10px;overflow:hidden;min-height:560px}
.idx-map-frame>*{max-width:100%}
@media (max-width:640px){.map-search{padding:48px 0 24px}.idx-map-frame{padding:4px;border-radius:12px;min-height:480px}}
.idx-map-fallback{margin-top:28px;background:#fff;border-radius:18px;box-shadow:var(--shadow);padding:34px;text-align:center}
.idx-map-fallback p{max-width:52ch;margin:0 auto 18px;color:var(--muted)}
