/* Koh Tao dive-site pages: drawn site maps, island locator, hub filters, month cards */
.dv-crumb{margin:0 0 10px;font-size:14px;color:rgba(255,255,255,.8)}
.dv-crumb a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.dv-hero-map .hero-img{filter:saturate(1.05)}

.dm-fig{margin:34px 0 10px;padding:0}
.dm-fig h2{margin-top:0}
.dm-wrap{border-radius:18px;overflow:hidden;line-height:0;box-shadow:0 14px 40px rgba(8,20,28,.14);background:#14506f}
.dm-svg{display:block;width:100%;height:auto}
.dm-d{font:700 15px Inter,Arial,sans-serif;fill:#fff;text-anchor:middle;paint-order:stroke;stroke:#2a241e;stroke-width:3px}
.dm-n circle{fill:#fff;stroke:var(--night);stroke-width:2.5}
.dm-n text{font:800 17px Inter,Arial,sans-serif;text-anchor:middle;fill:var(--night)}
.dm-c{font:800 12px Inter,Arial,sans-serif;text-anchor:middle;fill:var(--night)}
.dm-key{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px 18px}
.dm-key li{display:flex;align-items:center;gap:10px;font-size:15px;line-height:1.35}
.dm-kn{flex:0 0 26px;height:26px;border-radius:50%;border:2px solid var(--night);display:grid;place-items:center;font-weight:800;font-size:13px}
.dm-ki{flex:0 0 22px;height:22px}
.dm-ki svg{width:22px;height:22px;display:block}
.dm-fig figcaption{margin-top:14px;font-size:15px;line-height:1.55;color:var(--ink-65)}
.dm-note{display:block;margin-top:6px;font-size:13px;opacity:.85}

.ilm-box{border-radius:14px;overflow:hidden;line-height:0}
.ilm-svg{display:block;width:100%;height:auto}
.ilm-t{font:600 9px Inter,Arial,sans-serif;fill:#244a1c;text-anchor:middle;opacity:.8}
.ilm-big .ilm-t{font-size:17px}
.ilm-dot{fill:#ffcf33;stroke:var(--night);stroke-width:1.2}
.ilm-big .ilm-dot{stroke-width:2}
.ilm-svg a:hover .ilm-dot,.ilm-svg a:focus .ilm-dot{fill:#fff}
.ilm-cur{fill:#e05638;stroke:#fff;stroke-width:2}
.ilm-pulse{fill:#e05638;opacity:.25;animation:ilmp 2s ease-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes ilmp{0%{transform:scale(.6);opacity:.45}100%{transform:scale(1.4);opacity:0}}
.ilm-off{font:700 10px Inter,Arial,sans-serif;fill:#fff}
.ilm-big .ilm-off{font-size:19px}
.ilm-num{font-family:Inter,Arial,sans-serif;font-weight:800;fill:var(--night);text-anchor:middle;pointer-events:none}
.ilm-cap{margin:10px 0 0;font-size:13px;line-height:1.5;color:var(--ink-65)}

.dv-near{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.dv-card h3{font-size:21px}
.dv-card p{font-size:14px}
.dv-faq{border-top:1px solid var(--line-strong)}
.dv-intro{max-width:760px;font-size:18px;line-height:1.65}
.dv-hub{display:grid;grid-template-columns:minmax(300px,440px) 1fr;gap:clamp(24px,4vw,48px);align-items:start;margin-top:30px}
.dv-mapcol{position:sticky;top:90px}
@media (max-width:900px){.dv-hub{grid-template-columns:1fr}.dv-mapcol{position:static}}
.dv-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}
.dv-filter button{font:600 14px Inter,Arial,sans-serif;padding:9px 14px;border-radius:999px;border:1px solid var(--line-strong);background:#fff;color:var(--ink);cursor:pointer}
.dv-filter button.on{background:var(--night);color:#fff;border-color:var(--night)}
.dv-area h2{margin:34px 0 6px}
.dv-area-p{margin:0 0 16px;color:var(--ink-65);max-width:680px}
.dv-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.dv-card{position:relative}
.dv-num{position:absolute;top:14px;right:14px;width:28px;height:28px;border-radius:50%;background:#ffcf33;border:2px solid var(--night);display:grid;place-items:center;font-weight:800;font-size:13px}
.dv-lvl{font-size:13px;color:var(--ink-65)}
.dv-more{max-width:780px;margin-top:40px}

.mo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;margin-top:30px}
.mo-card{gap:8px}
.mo-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.mo-top h3{margin:0}
.mo-dots{display:flex;gap:4px}
.mo-dots i{width:10px;height:10px;border-radius:50%;background:var(--line-strong)}
.mo-dots i.on{background:#2c97a3}
.mo-r5 .mo-dots i.on,.mo-r4 .mo-dots i.on{background:#1f9d6b}
.mo-r1 .mo-dots i.on,.mo-r2 .mo-dots i.on{background:#e0a800}
.mo-v{margin:0}
.mo-facts{list-style:none;margin:0;padding:0;font-size:14px}
.mo-facts li{display:flex;justify-content:space-between;gap:10px;padding:5px 0;border-bottom:1px solid var(--line)}
.mo-card p{font-size:14px}
