/* Winery Near Me - map page. Ported from the static build's site.css (map, planner, tabs, chips,
   info window, buttons), scoped to .wnm-map so nothing leaks into Avada. Live Views styles: webcams.css. */
.wnm-map{
  --burgundy:#6B1226;--burgundy-deep:#45091A;--burgundy-lift:#8E2438;--cream:#F7F2E8;--cream-warm:#EDE4D3;
  --parch-dk:#DCCFB6;--gold:#A98A45;--gold-soft:#CBAE68;--charcoal:#1B1614;--ink:#6A625B;--white:#FFFDF9;
  --line:rgba(27,22,20,.13);--line-light:rgba(247,242,232,.18);--shadow:0 2px 24px rgba(27,22,20,.09);
  --shadow-lift:0 12px 44px rgba(27,22,20,.16);--ease:cubic-bezier(.22,.61,.36,1);
  --serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;--sans:"Jost",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-family:var(--sans);font-weight:300;color:var(--charcoal);line-height:1.5}
.wnm-map *{box-sizing:border-box}
.wnm-map button{font-family:inherit;cursor:pointer}
.wnm-map h4{font-family:var(--serif)!important;font-weight:400!important;text-transform:none!important;letter-spacing:normal!important;color:var(--charcoal)}
.wnm-map a{text-decoration:none}
.wnm-map .btn{
  display:inline-block;padding:.9rem 2rem;border-radius:2px;
  font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;font-weight:500;
  border:1px solid var(--burgundy);background:var(--burgundy);color:var(--cream);
  transition:background .3s var(--ease),color .3s var(--ease),transform .3s var(--ease);
}
.wnm-map .btn:hover{background:var(--burgundy-lift);border-color:var(--burgundy-lift);transform:translateY(-1px)}
.wnm-map .btn-ghost{background:transparent;color:var(--burgundy);border-color:var(--burgundy)}
.wnm-map .btn-ghost:hover{background:var(--burgundy);color:var(--cream)}
.wnm-map .btn-light{background:transparent;color:var(--cream);border-color:var(--line-light)}
.wnm-map .btn-light:hover{background:var(--cream);color:var(--burgundy-deep);border-color:var(--cream)}
.wnm-map .btn-sm{padding:.55rem 1.1rem;font-size:.68rem}
.wnm-map .cert-badge{
  font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--burgundy);
  border-left:2px solid var(--burgundy);padding-left:.5rem
}
.wnm-map .map-shell{display:grid;grid-template-columns:380px 1fr;height:calc(100vh - 69px)}
.wnm-map .map-side{background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;overflow:hidden}
.wnm-map .map-filters{padding:1.2rem 1.4rem;border-bottom:1px solid var(--line)}
.wnm-map .map-filters label{display:block;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);margin:.7rem 0 .3rem}
.wnm-map .map-filters select,.wnm-map .map-filters input[type=search]{
  width:100%;padding:.6rem .7rem;border:1px solid var(--line);border-radius:2px;
  font-family:inherit;font-size:.9rem;background:var(--cream);color:var(--charcoal)
}
.wnm-map .filter-row{display:flex;gap:.5rem}
.wnm-map .filter-row>*{flex:1}
.wnm-map .map-list{overflow-y:auto;flex:1}
.wnm-map .map-item{
  display:flex;gap:.9rem;padding:.9rem 1.4rem;border-bottom:1px solid var(--line);
  cursor:pointer;transition:background .2s
}
.wnm-map .map-item:hover{background:var(--cream)}
.wnm-map .map-item.active{background:var(--cream-warm);box-shadow:inset 3px 0 0 var(--burgundy)}
.wnm-map .map-item h4{margin:0 0 .15rem;font-size:1.05rem}
.wnm-map .map-item .meta{font-size:.72rem;color:var(--ink);letter-spacing:.06em}
.wnm-map .map-item .add{
  margin-left:auto;align-self:center;border:1px solid var(--line);background:none;
  width:30px;height:30px;border-radius:50%;color:var(--burgundy);flex:none;
  font-size:1.05rem;line-height:1;transition:all .25s
}
.wnm-map .map-item .add:hover{background:var(--burgundy);color:#fff;border-color:var(--burgundy)}
.wnm-map .map-item .add.on{background:var(--gold);border-color:var(--gold);color:#fff}
.wnm-map .map-canvas{position:relative;background:var(--burgundy-deep)}
.wnm-map #map2d,.wnm-map #map3d{position:absolute;inset:0;width:100%;height:100%}
.wnm-map #map3d[hidden]{display:none}
.wnm-map .map-modes{
  position:absolute;top:1rem;left:1rem;z-index:10;display:flex;
  background:rgba(247,242,232,.94);border-radius:2px;overflow:hidden;box-shadow:var(--shadow)
}
.wnm-map .map-modes button{
  border:none;background:none;padding:.6rem 1.1rem;font-size:.68rem;
  letter-spacing:.16em;text-transform:uppercase;color:var(--ink)
}
.wnm-map .map-modes button.on{background:var(--burgundy);color:var(--cream)}
.wnm-map .planner{
  position:absolute;right:1rem;top:1rem;z-index:12;width:310px;background:rgba(247,242,232,.97);
  border-radius:2px;box-shadow:var(--shadow-lift);max-height:calc(100% - 2rem);display:flex;flex-direction:column
}
.wnm-map .planner-head{
  padding:.9rem 1.1rem;border-bottom:1px solid var(--line);display:flex;
  align-items:center;justify-content:space-between;gap:.5rem
}
.wnm-map .planner-head h4{margin:0;font-size:1.15rem}
.wnm-map .planner-head .count{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.wnm-map .planner-stops{overflow-y:auto;flex:1;min-height:40px}
.wnm-map .planner-stop{
  display:flex;gap:.6rem;align-items:center;padding:.6rem 1.1rem;
  border-bottom:1px solid var(--line);font-size:.88rem
}
.wnm-map .planner-stop .n{
  width:20px;height:20px;border-radius:50%;background:var(--burgundy);color:#fff;
  font-size:.66rem;display:flex;align-items:center;justify-content:center;flex:none
}
.wnm-map .planner-stop .x{margin-left:auto;border:none;background:none;color:var(--ink);opacity:.5;font-size:1rem}
.wnm-map .planner-stop .x:hover{opacity:1;color:var(--burgundy)}
.wnm-map .planner-empty{padding:1.1rem;font-size:.86rem;color:var(--ink);opacity:.7}
.wnm-map .planner-foot{padding:.9rem 1.1rem;border-top:1px solid var(--line)}
.wnm-map .planner-foot .summary{font-size:.78rem;color:var(--ink);margin-bottom:.7rem;letter-spacing:.04em}
.wnm-map .planner-foot .btn{width:100%;text-align:center;margin-bottom:.4rem}
.wnm-map .rtabs{display:grid;grid-template-columns:repeat(2,1fr);border-bottom:1px solid var(--line)}
.wnm-map .rtab{
  position:relative;border:none;border-right:1px solid var(--line);border-bottom:1px solid var(--line);
  background:var(--cream);padding:.7rem .8rem;text-align:left;
  font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;color:var(--ink);line-height:1.3
}
.wnm-map .rtab:first-child{grid-column:1/-1;background:var(--white)}
.wnm-map .rtab em{font-style:normal;display:block;font-family:var(--serif);font-size:1.05rem;color:var(--gold);letter-spacing:0}
.wnm-map .rtab span{position:absolute;top:.55rem;right:.7rem;font-size:.55rem;opacity:.5}
.wnm-map .rtab:hover{background:var(--cream-warm)}
.wnm-map .rtab.on{background:var(--burgundy);color:var(--cream)}
.wnm-map .rtab.on em{color:var(--gold-soft)}
.wnm-map .chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1rem}
.wnm-map .chip{
  border:1px solid var(--parch-dk);background:var(--cream);color:var(--ink);
  padding:.4rem .7rem;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;
  border-radius:2px;transition:all .2s
}
.wnm-map .chip:hover{border-color:var(--gold);color:var(--burgundy)}
.wnm-map .chip.on{background:var(--burgundy);border-color:var(--burgundy);color:var(--cream)}
.wnm-map .chip.chip-off{opacity:.32;cursor:not-allowed;pointer-events:auto}
.wnm-map .chip.chip-off:hover{border-color:var(--parch-dk);color:var(--ink)}
.wnm-map .gm-style .gm-style-iw-c{padding:0!important;border-radius:2px!important;box-shadow:0 12px 40px rgba(27,22,20,.24)!important;max-width:290px!important}
.wnm-map .gm-style .gm-style-iw-d{overflow:hidden!important;padding:0!important}
.wnm-map .gm-style .gm-style-iw-tc::after{background:var(--white)!important}
.wnm-map .iw{font-family:var(--sans);width:270px}
.wnm-map .iw-shot{width:100%;height:150px;object-fit:cover;display:block}
.wnm-map .iw-body{padding:.9rem 1rem 1rem}
.wnm-map .iw-reg{font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:.2rem}
.wnm-map .iw h4{font-family:var(--serif);font-weight:400;font-size:1.32rem;margin:0 0 .35rem;line-height:1.15}
.wnm-map .iw-rate{font-size:.78rem;color:var(--ink);margin-bottom:.35rem}
.wnm-map .iw-rate b{color:var(--gold);letter-spacing:.06em;font-weight:400}
.wnm-map .iw-open{font-size:.74rem;margin:.35rem 0}
.wnm-map .iw-open.now{color:#2f6b3a}
.wnm-map .iw-open.closed{color:var(--ink);opacity:.75}
.wnm-map .iw-addr{font-size:.8rem;color:var(--ink);margin-top:.15rem}
.wnm-map .iw .cert-badge{margin:.3rem 0}
.wnm-map .iw-acts{display:flex;gap:.4rem;margin-top:.85rem}
.wnm-map .iw-btn{
  flex:1;text-align:center;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;
  border:1px solid var(--burgundy);color:var(--burgundy);background:transparent;
  padding:.55rem .5rem;cursor:pointer;font-family:var(--sans)
}
.wnm-map .iw-btn:hover{background:var(--burgundy);color:var(--cream)}
.wnm-map .iw-btn-solid{background:var(--burgundy);color:var(--cream)}
.wnm-map .iw-btn-solid.on{background:var(--gold);border-color:var(--gold)}
@media(max-width:720px){.wnm-map .rtabs{grid-template-columns:1fr 1fr}
.wnm-map .detail-hero.has-bg{min-height:220px}}
@media(max-width:1000px){.wnm-map .map-shell{grid-template-columns:320px 1fr}
.wnm-map .planner{width:270px}}
@media(max-width:720px){.wnm-map .map-shell{grid-template-columns:1fr;height:auto}
.wnm-map .map-side{max-height:46vh;border-right:none;border-bottom:1px solid var(--line)}
.wnm-map .map-canvas{height:56vh}
.wnm-map .planner{position:static;width:auto;margin:1rem;max-height:none}}
/* Height: the shell fills the viewport below Avada's header. --wnm-map-top is set by the page script. */
.wnm-map .map-shell{height:calc(100vh - var(--wnm-map-top,140px));min-height:560px}
.wnm-map .map-shell.no-rail{grid-template-columns:380px 1fr}
@media(max-width:1200px){.wnm-map .map-shell.no-rail{grid-template-columns:330px 1fr}}
@media(max-width:900px){.wnm-map .map-shell.no-rail{grid-template-columns:1fr;height:auto}}
.wnm-map .map-result-count{padding:.65rem 1.4rem;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);background:var(--cream);border-bottom:1px solid var(--line)}
.wnm-map .rtab{padding-right:2.2rem}
.wnm-map .card3d-box{position:absolute;top:6.4rem;left:1rem;z-index:11;width:280px;padding:1.1rem 1.2rem;background:rgba(247,242,232,.97);box-shadow:var(--shadow-lift);border-radius:2px}
.wnm-map .card3d-box[hidden]{display:none}
@media(max-width:900px){.wnm-map .map-canvas{height:auto;padding-top:60vh}
.wnm-map #map2d,.wnm-map #map3d{height:60vh;bottom:auto}
.wnm-map .planner{position:static;width:auto;margin:0;max-height:none;box-shadow:none;border-top:1px solid var(--line)}}
/* ---------- sponsor rail (from the static build) ---------- */
.wnm-map .map-shell.has-rail{grid-template-columns:190px 380px 1fr}
.wnm-map .ad-rail{background:var(--cream-warm);border-right:1px solid var(--line);position:relative;overflow:hidden;min-height:0}
.wnm-map .ad-rail-inner{overflow-y:auto;height:100%;padding:1rem .8rem 2rem;transition:opacity .3s var(--ease)}
.wnm-map .ad-rail-toggle{position:absolute;top:.5rem;right:.4rem;z-index:3;width:22px;height:22px;border:1px solid var(--line);background:var(--white);color:var(--ink);border-radius:50%;line-height:1;font-size:.9rem;padding:0}
.wnm-map .ad-rail-toggle:hover{background:var(--burgundy);color:var(--cream);border-color:var(--burgundy)}
.wnm-map .ad-label{font-size:.55rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);opacity:.55;margin-bottom:.7rem;text-align:center}
.wnm-map .ad-label.ad-foot{margin:1rem 0 0;font-style:italic;letter-spacing:.12em}
.wnm-map .ad-unit{display:block;background:var(--white);border:1px solid var(--line);padding:.9rem .85rem;margin-bottom:.8rem;text-decoration:none;transition:box-shadow .3s var(--ease),transform .3s var(--ease),border-color .3s var(--ease)}
.wnm-map .ad-unit:hover{box-shadow:var(--shadow-lift);transform:translateY(-2px);border-color:var(--gold)}
.wnm-map .ad-unit .ad-kicker{display:block;font-size:.55rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:.35rem}
.wnm-map .ad-unit strong{display:block;font-family:var(--serif);font-weight:400;font-size:1.08rem;line-height:1.15;margin-bottom:.35rem;color:var(--charcoal)}
.wnm-map .ad-unit .ad-copy{display:block;font-size:.76rem;color:var(--ink);line-height:1.45;margin-bottom:.6rem}
.wnm-map .ad-unit .ad-cta{display:inline-block;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--burgundy);border-bottom:1px solid var(--gold);padding-bottom:1px}
.wnm-map .ad-unit.ad-tall{min-height:150px}
.wnm-map .ad-unit.ad-house{background:var(--burgundy-deep);border-color:var(--burgundy-deep)}
.wnm-map .ad-unit.ad-house strong,.wnm-map .ad-unit.ad-house .ad-copy{color:var(--cream)}
.wnm-map .ad-unit.ad-house .ad-copy{opacity:.78}
.wnm-map .ad-unit.ad-house .ad-cta{color:var(--gold-soft);border-color:var(--gold-soft)}
.wnm-map .map-shell.rail-closed{grid-template-columns:26px 380px 1fr}
.wnm-map .map-shell.rail-closed .ad-rail-inner{opacity:0;pointer-events:none}
.wnm-map .map-shell.rail-closed .ad-rail-toggle{right:2px;transform:rotate(180deg)}
@media(max-width:1200px){.wnm-map .map-shell.has-rail{grid-template-columns:170px 330px 1fr}.wnm-map .map-shell.rail-closed{grid-template-columns:26px 330px 1fr}}
@media(max-width:900px){
.wnm-map .map-shell.has-rail,.wnm-map .map-shell.rail-closed{grid-template-columns:1fr;height:auto}
.wnm-map .ad-rail{border-right:none;border-bottom:1px solid var(--line)}
.wnm-map .ad-rail-inner{display:flex;gap:.7rem;overflow-x:auto;padding:.8rem}
.wnm-map .ad-unit{flex:0 0 220px;margin-bottom:0}.wnm-map .ad-unit.ad-tall{min-height:0}
.wnm-map .ad-label,.wnm-map .ad-rail-toggle{display:none}}
.wnm-map .iw-film{height:150px;aspect-ratio:auto;margin:0}
.wnm-map .iw-film.is-playing{height:auto;aspect-ratio:16/9}
/* ---------- weather: map card, planner forecast, rain radar ---------- */
.wnm-map .iw-wx{margin-top:.35rem}
.wnm-map .iw-wx .wnm-wx-now{display:flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--ink)}
.wnm-map .iw-wx .wnm-wx-now b{color:var(--charcoal);font-weight:500}
.wnm-map .iw-wx .wnm-wx-ico{width:20px;height:20px}
.wnm-map .iw-wx .wnm-wx-src{display:block;font-size:.62rem;color:var(--ink);opacity:.7}
.wnm-map .planner-wx{padding:.7rem 1.1rem .6rem;border-top:1px solid var(--line)}
.wnm-map .pwx-head{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);margin-bottom:.45rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wnm-map .pwx-days{display:grid;grid-template-columns:repeat(5,1fr);gap:.25rem;text-align:center}
.wnm-map .pwx-day{display:flex;flex-direction:column;align-items:center;gap:1px;font-size:.72rem;color:var(--ink)}
.wnm-map .pwx-dn{font-size:.62rem;letter-spacing:.08em;text-transform:uppercase}
.wnm-map .pwx-day .wnm-wx-ico{width:22px;height:22px}
.wnm-map .pwx-t b{color:var(--charcoal);font-weight:500}
.wnm-map .pwx-r{font-size:.64rem;color:var(--burgundy)}
.wnm-map .pwx-src{font-size:.6rem;color:var(--ink);opacity:.7;margin-top:.4rem}
.wnm-map .map-layers{position:absolute;top:1rem;left:9rem;z-index:10;display:flex;background:rgba(247,242,232,.94);border-radius:2px;overflow:hidden;box-shadow:var(--shadow)}
.wnm-map .map-layers button{border:none;background:none;padding:.6rem 1.1rem;white-space:nowrap;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink)}
.wnm-map .map-layers button[aria-pressed="true"]{background:var(--burgundy);color:var(--cream)}
.wnm-map .radar-credit{position:absolute;left:8px;bottom:64px;z-index:10;max-width:calc(100% - 2rem);padding:.3rem .6rem;background:rgba(247,242,232,.94);border-radius:2px;font-size:.66rem;color:var(--ink);box-shadow:var(--shadow)}
.wnm-map .iw-amen{display:flex;flex-wrap:wrap;gap:.45rem;margin:.1rem 0 .45rem;color:var(--burgundy)}
.wnm-map .iw-amen span{display:inline-flex}
.wnm-map .iw-amen .wnm-ico{width:18px;height:18px}
