/* ftr-report.css: the map-first report page (and report-v2.html?c=<county> in dev). */
:root{
  --rv-ink:#16213c; --rv-sub:#5b6478; --rv-faint:#8a92a3; --rv-line:#dfe3ea;
  --rv-bg:#eef1f5; --rv-panel:#ffffff; --rv-hover:#f5f7fa;
  --rv-gold:#c8a24a; --rv-gold-soft:#fbf5e4;
  --rv-nj:#2b4c8c; --rv-jir:#1f6f5c; --rv-sl:#9a6425; --rv-jfifa:#7d2a48; --rv-wd:#9aa3b2;
  --rv-nav:64px;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --rv-ink:#e7eaf1; --rv-sub:#a7afbf; --rv-faint:#7d8699; --rv-line:#2c3342;
  --rv-bg:#12161f; --rv-panel:#1a1f2b; --rv-hover:#212838; --rv-gold-soft:#2c2718;
  --rv-nj:#7d9be0; --rv-jir:#58b39a; --rv-sl:#d49a55; --rv-jfifa:#d07a9b; --rv-wd:#646d7e;}}
:root[data-theme="dark"]{
  --rv-ink:#e7eaf1; --rv-sub:#a7afbf; --rv-faint:#7d8699; --rv-line:#2c3342;
  --rv-bg:#12161f; --rv-panel:#1a1f2b; --rv-hover:#212838; --rv-gold-soft:#2c2718;
  --rv-nj:#7d9be0; --rv-jir:#58b39a; --rv-sl:#d49a55; --rv-jfifa:#d07a9b; --rv-wd:#646d7e;}

body.rv{background:var(--rv-bg);color:var(--rv-ink);margin:0}
.rv-app{display:flex;flex-direction:column;min-height:560px}

/* header */
.rv-head{padding:18px 24px 10px;display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap}
.rv-title{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:2.15rem;line-height:1.05;margin:0;letter-spacing:-.01em}
.rv-summary{margin:6px 0 0;color:var(--rv-sub);font-size:.95rem;max-width:68ch;line-height:1.45}
.rv-where{color:var(--rv-sub);font-size:.88rem;text-align:right;line-height:1.45}
.rv-where b{color:var(--rv-ink);font-weight:600}
.rv-dev{display:inline-block;margin-left:10px;vertical-align:middle;font:600 .72rem/1 Inter,system-ui,sans-serif;color:#8a6d2c;background:var(--rv-gold-soft);border:1px solid #e3cf9a;border-radius:20px;padding:5px 9px}

/* toolbar */
.rv-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 24px 12px;border-bottom:1px solid var(--rv-line)}
.rv-search{flex:1 1 240px;max-width:340px;position:relative}
.rv-search input{width:100%;box-sizing:border-box;border:1px solid var(--rv-line);background:var(--rv-panel);color:var(--rv-ink);border-radius:9px;padding:9px 12px 9px 34px;font:inherit;font-size:.92rem}
.rv-search svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);width:15px;height:15px;stroke:var(--rv-faint)}
.rv-chips{display:flex;gap:6px;flex-wrap:wrap}
.rv-chip{border:1px solid var(--rv-line);background:var(--rv-panel);color:var(--rv-ink);border-radius:20px;padding:6px 12px;font:inherit;font-size:.86rem;cursor:pointer;display:inline-flex;align-items:center;gap:7px}
.rv-chip i{width:9px;height:9px;border-radius:50%;display:inline-block}
.rv-chip .n{color:var(--rv-faint);font-variant-numeric:tabular-nums}
.rv-chip[aria-pressed="true"]{background:var(--rv-ink);color:var(--rv-panel);border-color:var(--rv-ink)}
.rv-chip[aria-pressed="true"] .n{color:inherit;opacity:.7}
.rv-sort{border:1px solid var(--rv-line);background:var(--rv-panel);color:var(--rv-ink);border-radius:9px;padding:8px 10px;font:inherit;font-size:.88rem}
.rv-toggle{display:inline-flex;align-items:center;gap:6px;font-size:.86rem;color:var(--rv-sub);cursor:pointer;user-select:none}
.rv-toggle input{accent-color:var(--rv-ink)}
.rv-count{margin-left:auto;color:var(--rv-sub);font-size:.86rem;font-variant-numeric:tabular-nums}

/* body split */
.rv-body{flex:1;display:grid;grid-template-columns:minmax(360px,440px) 1fr;min-height:0}
.rv-list{overflow-y:auto;background:var(--rv-panel);border-right:1px solid var(--rv-line)}
.rv-map{position:relative;min-height:0}
#rvmap{position:absolute;inset:0}

/* groups + rows */
.rv-group{position:sticky;top:0;z-index:2;background:var(--rv-panel);border-bottom:1px solid var(--rv-line);padding:11px 18px 9px;display:flex;align-items:baseline;gap:10px}
.rv-group .t{font-weight:600;font-size:.93rem}
.rv-group .w{color:var(--rv-sub);font-size:.86rem}
.rv-group .n{margin-left:auto;color:var(--rv-faint);font-size:.82rem;font-variant-numeric:tabular-nums}
.rv-row{display:grid;grid-template-columns:4px 84px 1fr auto;gap:0 12px;align-items:center;padding:10px 16px 10px 0;border-bottom:1px solid var(--rv-line);cursor:pointer;background:none;border-left:0;border-right:0;border-top:0;width:100%;text-align:left;font:inherit;color:inherit}
.rv-row:hover{background:var(--rv-hover)}
.rv-row:focus-visible{outline:2px solid var(--rv-gold);outline-offset:-2px}
.rv-row.sel{background:var(--rv-gold-soft)}
.rv-row.sel .bar{background:var(--rv-gold)!important}
.rv-row .bar{align-self:stretch;border-radius:0 3px 3px 0}
.rv-row .ph{width:84px;height:62px;border-radius:7px;overflow:hidden;background:var(--rv-bg)}
.rv-row .ph img{width:100%;height:100%;object-fit:cover;display:block}
.rv-row .a{font-weight:600;font-size:.95rem;line-height:1.25}
.rv-row .o{color:var(--rv-sub);font-size:.82rem;margin-top:2px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.rv-row .m{color:var(--rv-faint);font-size:.78rem;margin-top:4px}
.rv-row .m .flag{color:var(--rv-gold);font-weight:600}
.rv-row .f{text-align:right;font-variant-numeric:tabular-nums;min-width:86px;max-width:130px}
.rv-row .f .v{font-weight:650;font-size:1rem}
.rv-row .f .l{color:var(--rv-faint);font-size:.75rem;margin-top:1px}
.rv-row .f .r{font-size:.78rem;margin-top:3px;color:var(--rv-jir);font-weight:600}
.rv-row.wd{opacity:.55}
.rv-row.wd .a{text-decoration:line-through;text-decoration-thickness:1px}
.rv-empty{padding:40px 22px;color:var(--rv-sub);font-size:.95rem;line-height:1.5}
.rv-empty button{margin-top:10px}

/* map: greyscale tiles so the tags carry the colour */
.rv-map .leaflet-tile-pane{filter:grayscale(1) contrast(.92) brightness(1.04)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .rv-map .leaflet-tile-pane{filter:grayscale(1) invert(1) contrast(.85) brightness(.9)}}
:root[data-theme="dark"] .rv-map .leaflet-tile-pane{filter:grayscale(1) invert(1) contrast(.85) brightness(.9)}
.rv-map .leaflet-container{background:var(--rv-bg);font:inherit}

/* price-tag pins */
.rv-tag{position:relative;display:inline-block;white-space:nowrap;transform:translate(-50%,-100%);margin-top:-6px;
  background:var(--c);color:#fff;font:650 12px/1 Inter,system-ui,sans-serif;font-variant-numeric:tabular-nums;
  padding:5px 7px;border-radius:6px;box-shadow:0 1px 2px rgba(10,20,40,.35);transition:transform .12s ease}
.rv-tag::after{content:"";position:absolute;left:50%;bottom:-5px;margin-left:-5px;border:5px solid transparent;border-bottom:0;border-top-color:var(--c)}
.rv-tag.dot{padding:0;width:12px;height:12px;border-radius:50%;border:2px solid #fff}
.rv-tag.dot::after{display:none}
.rv-tag.wd{--c:var(--rv-wd);text-decoration:line-through;opacity:.85}
.rv-tag.hi{transform:translate(-50%,-100%) scale(1.18);z-index:1000}
.rv-tag.sel{--c:var(--rv-gold);color:#1b1407;transform:translate(-50%,-100%) scale(1.22)}
.leaflet-marker-icon.rv-icon{background:none;border:0}
.rv-cluster{display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--rv-ink);color:var(--rv-panel);
  font:650 12px/1 Inter,system-ui,sans-serif;box-shadow:0 0 0 5px rgba(22,33,60,.18)}

/* popup */
.rv-map .leaflet-popup-content-wrapper{border-radius:10px;padding:0;overflow:hidden;background:var(--rv-panel);color:var(--rv-ink)}
.rv-map .leaflet-popup-tip{background:var(--rv-panel)}
.rv-map .leaflet-popup-content{margin:0;width:260px!important}
.rv-pop img{width:100%;height:130px;object-fit:cover;display:block}
.rv-pop .b{padding:10px 12px 12px}
.rv-pop .a{font-weight:650;font-size:.98rem}
.rv-pop .o{color:var(--rv-sub);font-size:.8rem;margin:2px 0 8px}
.rv-pop .fig{display:flex;gap:14px;margin-bottom:10px;font-variant-numeric:tabular-nums}
.rv-pop .fig div{font-size:.75rem;color:var(--rv-faint)}
.rv-pop .fig b{display:block;font-size:.98rem;color:var(--rv-ink)}
.rv-pop a.go{display:block;text-align:center;background:var(--rv-ink);color:var(--rv-panel);text-decoration:none;border-radius:8px;padding:8px;font-weight:600;font-size:.88rem}
.rv-pop a.go:focus-visible{outline:2px solid var(--rv-gold)}

/* legend */
.rv-legend{position:absolute;left:12px;bottom:12px;z-index:500;background:var(--rv-panel);border:1px solid var(--rv-line);border-radius:9px;padding:8px 10px;font-size:.78rem;color:var(--rv-sub);display:flex;gap:12px;flex-wrap:wrap;max-width:calc(100% - 24px)}
.rv-legend span{display:inline-flex;align-items:center;gap:5px}
.rv-legend i{width:10px;height:10px;border-radius:3px;display:inline-block}

/* mobile: one pane at a time */
.rv-flip{display:none}
@media (max-width:900px){
  .rv-app{height:auto}
  .rv-head{padding:14px 16px 6px}.rv-title{font-size:1.8rem}.rv-where{text-align:left}
  .rv-tools{padding:8px 16px 10px}
  .rv-count{margin-left:0}
  .rv-body{grid-template-columns:1fr;height:calc(100vh - 150px)}
  .rv-list{border-right:0}
  .rv-map{display:none}
  .rv-app.showmap .rv-list{display:none}
  .rv-app.showmap .rv-map{display:block;position:fixed;inset:0;z-index:850}
  .rv-legend{left:auto;right:10px;bottom:auto;top:10px;max-width:60%}
  .rv-flip{display:inline-flex;position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:900;background:var(--rv-ink);color:var(--rv-panel);border:0;border-radius:24px;padding:11px 20px;font:600 .92rem Inter,system-ui,sans-serif;box-shadow:0 6px 18px rgba(0,0,0,.25)}
}
@media (prefers-reduced-motion:reduce){.rv-tag{transition:none}}

.rv-member{margin:18px 16px 26px;padding:14px 16px;border-radius:12px;background:var(--rv-gold-soft);border:1px solid #e3cf9a;font-size:.9rem;line-height:1.5;color:var(--rv-ink)}
.rv-member a{display:inline-block;margin-top:8px;background:var(--rv-ink);color:var(--rv-panel);text-decoration:none;font-weight:600;padding:8px 14px;border-radius:20px}
.rv-row .f a.lock{color:#8a6d2c;font-weight:600;font-size:.88rem;text-decoration:none;border-bottom:1px dashed rgba(138,109,44,.5)}
.rv-row .f a.lock::before{content:"";display:inline-block;width:9px;height:10px;margin-right:5px;vertical-align:-1px;border:1.6px solid currentColor;border-radius:2px;border-top-width:3px}

/* free five (2026-10-05): gold group header */
.rv-group.rv-free{background:var(--rv-gold-soft);border-left:4px solid #c8a24a}
.rv-group.rv-free .t{color:#7a5a10}
@media (prefers-color-scheme:dark){.rv-group.rv-free{background:#2a2417}.rv-group.rv-free .t{color:#e0c98f}}
