/* VettriThalapathy — interactive maps */
.vt-map-wrap{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:1.1rem;align-items:start}
.vt-map{background:#fff;border:1px solid var(--v-line);border-radius:20px;padding:1rem;box-shadow:0 18px 36px -30px rgba(94,0,0,.5)}
.vt-map-bar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:.7rem}
.vt-map-q{flex:1;min-width:180px;border:1px solid var(--v-line);border-radius:99px;padding:.6rem 1rem;font:600 .9rem Inter,'Noto Sans Tamil',sans-serif;outline:none;background:#FFFDF8}
.vt-map-q:focus{border-color:var(--v-red);box-shadow:0 0 0 3px rgba(128,0,0,.1)}
.vt-map-bar button,.vt-map-filters button{border:1px solid var(--v-line);background:#fff;border-radius:99px;padding:.45rem .8rem;font:800 .76rem Inter,sans-serif;cursor:pointer;color:var(--v-ink2)}
.vt-map-bar button:hover,.vt-map-filters button:hover{border-color:var(--v-red);color:var(--v-red)}
.vt-map-filters{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.6rem}
.vt-map-filters button.on{background:var(--v-red);color:#FFD700;border-color:var(--v-red)}
.vt-map-count{font-size:.76rem;color:var(--v-mute);margin:0 0 .5rem}
.vt-map-stage{position:relative;background:linear-gradient(180deg,#F3F8FC,#EAF2F8);border-radius:14px;overflow:hidden;touch-action:pan-y}
.vt-map-svg{display:block;width:100%;height:auto;max-height:78vh}
.vt-map-svg g:first-child path{stroke:#fff;stroke-width:.7;cursor:pointer;transition:opacity .15s,filter .15s}
.vt-map-svg g:first-child path:hover,.vt-map-svg g:first-child path:focus{filter:brightness(1.15);outline:none;stroke:#1A1A1A;stroke-width:1.2}
.vt-map-svg g:first-child path.on{stroke:#1A1A1A;stroke-width:2.2;filter:brightness(1.08)}
.vt-map-svg g:first-child path.dim{opacity:.13}
.vt-map-svg g:first-child path.vac{fill-opacity:.55;stroke-dasharray:3 2;stroke:#1A1A1A;stroke-width:.9}
.vt-dlines path{fill:none;stroke:#3A3A3A;stroke-width:.9;opacity:.55;pointer-events:none}
.vt-labels text{font:700 9px Inter,sans-serif;fill:#1A1A1A;text-anchor:middle;pointer-events:none;paint-order:stroke;stroke:#fff;stroke-width:2.4px;stroke-linejoin:round}
.vt-map-tip{position:absolute;display:none;pointer-events:none;background:#1A1A1A;color:#fff;font:700 .74rem Inter,sans-serif;border-radius:8px;padding:.35rem .6rem;white-space:nowrap;z-index:2;max-width:260px;overflow:hidden;text-overflow:ellipsis}
.vt-map-legend{display:flex;flex-wrap:wrap;gap:.35rem .8rem;margin-top:.7rem;font:700 .74rem Inter,sans-serif;color:var(--v-ink2);align-items:center}
.vt-map-legend i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:.3rem;vertical-align:-1px}
.vt-map-legend i.hatch{background:repeating-linear-gradient(45deg,#bbb 0 3px,#fff 3px 6px);border:1px dashed #1A1A1A}
.vt-map-legend em{flex-basis:100%;font-style:normal;font-weight:600;color:var(--v-mute);font-size:.72rem}
.vt-map-src{font-size:.7rem;color:var(--v-mute);margin:.6rem 0 0}
#vt-map-panel{background:#fff;border:1px solid var(--v-line);border-radius:20px;padding:1.2rem 1.25rem;position:sticky;top:110px;max-height:calc(100vh - 130px);overflow:auto;box-shadow:0 18px 36px -30px rgba(94,0,0,.5)}
#vt-map-panel h2{font:900 1.45rem/1.15 Montserrat,sans-serif;margin:.1rem 0 .3rem;color:var(--v-ink)}
.vt-pk{font:800 .62rem Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--v-red);margin:0}
.vt-sub{font-size:.82rem;color:var(--v-mute);margin:0 0 .7rem}
.vt-ph{font:800 .62rem Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--v-mute);margin:1rem 0 .45rem}
.vt-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem;margin:.6rem 0}
.vt-facts div{background:var(--v-ivory);border:1px solid var(--v-line);border-radius:12px;padding:.55rem .5rem;text-align:center}
.vt-facts b{display:block;font:900 .98rem Montserrat,sans-serif;color:var(--v-red)}
.vt-facts small{font-size:.66rem;color:var(--v-mute);font-weight:700}
.vt-chips{display:flex;flex-wrap:wrap;gap:.35rem}
.vt-pchip2{display:inline-block;color:#fff;font:800 .66rem Montserrat,sans-serif;border-radius:5px;padding:.18rem .5rem;letter-spacing:.03em;white-space:nowrap}
.vt-aclist{display:grid;gap:.3rem}
.vt-acrow{display:grid;grid-template-columns:2.1rem 1fr auto auto;gap:.5rem;align-items:center;text-decoration:none;color:var(--v-ink);border:1px solid var(--v-line);border-radius:10px;padding:.45rem .55rem;font-size:.84rem}
.vt-acrow:hover{border-color:var(--v-red);background:#FFFDF8}
.vt-acrow .no{font:900 .78rem Montserrat,sans-serif;color:var(--v-red)}
.vt-acrow .nm{font-weight:700;line-height:1.25}.vt-acrow .nm small{color:var(--v-mute);font-weight:700}
.vt-acrow .nm i{display:block;font-style:normal;font-weight:500;font-size:.74rem;color:var(--v-mute)}
.vac-b{font:800 .58rem Inter,sans-serif;text-transform:uppercase;color:#800000;background:#FFF6D6;border:1px solid #F3DD8A;border-radius:4px;padding:.12rem .35rem}
.vt-list{margin:0;padding-left:1rem;font-size:.84rem;line-height:1.6}.vt-list a{color:var(--v-red);font-weight:700;text-decoration:none}.vt-list small{color:var(--v-mute)}
.vt-win{border:1px solid var(--v-line);border-left:5px solid;border-radius:12px;padding:.75rem .85rem}
.vt-win>div:first-child{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.vt-win b{font:900 1.05rem Montserrat,sans-serif}.vt-win b a{color:var(--v-ink);text-decoration:none}.vt-win b a:hover{color:var(--v-red)}
.vt-win .min{font:800 .62rem Inter,sans-serif;text-transform:uppercase;color:#8B6508;background:#FFF6D6;border-radius:4px;padding:.12rem .4rem}
.vt-ru{font-size:.82rem;color:var(--v-ink2);margin:.2rem 0 0}
.vt-vacn{background:#FFF6D6;border-left:4px solid #800000;border-radius:0 10px 10px 0;padding:.6rem .8rem;font-size:.82rem;line-height:1.55;margin:.5rem 0}
.vt-live{background:linear-gradient(150deg,#7A0A0A,#5E0000);color:#fff;border-radius:12px;padding:.6rem .8rem;font-size:.82rem;margin:.5rem 0}.vt-live b{color:#FFD700}.vt-live a{color:#FFD700;font-weight:800}
.vt-live.done{background:#0B7A3A}
.vt-btns{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1rem}
.vt-btns a{border:1px solid var(--v-line);border-radius:99px;padding:.45rem .85rem;font:800 .76rem Inter,sans-serif;color:var(--v-red);text-decoration:none}
.vt-btns a:hover{border-color:var(--v-red)}
.vt-empty p{font-size:.88rem;line-height:1.7;color:var(--v-ink2)}
@media(max-width:900px){.vt-map-wrap{grid-template-columns:1fr}#vt-map-panel{position:static;max-height:none}.vt-labels text{font-size:11px}}
