/* ===== duiken (sectie /diving/: Snorkelen & duiken / Snorkeling & diving; hoort bij tools/diving_src.py). Bouwt voort op feesten.css + tempels.css + plekken.css; body = "t-feesten t-tempels t-plekken t-duiken" ===== */
.t-duiken{--acc:#1d8fc4;--acc-soft:#d7f3ff;--hero:#bfeeff}
.t-duiken .c-hero{position:relative;overflow:hidden;background-color:#bfeeff;background-image:radial-gradient(circle at 10% 92%,#ffe7a3 0 80px,transparent 81px),radial-gradient(circle at 94% 10%,#ffd6e8 0 64px,transparent 65px),linear-gradient(180deg,#d7f6ff 0,#9fe2f7 100%);background-size:auto;background-repeat:no-repeat}
.t-duiken .pk-art{background:#e9fbff}
.t-duiken .c-card figure.noph{background:#d7f3ff}
.t-duiken .c-sec.sky{background:#e3f8ff}
/* bubbels in de hero */
.dv-bub{position:absolute;border:3px solid #fff;border-radius:50%;opacity:.8;pointer-events:none;animation:dvb 7s ease-in-out infinite}
.dv-bub.b1{width:26px;height:26px;left:46%;bottom:18px}.dv-bub.b2{width:16px;height:16px;left:50%;bottom:60px;animation-delay:1.6s}.dv-bub.b3{width:12px;height:12px;left:43%;bottom:96px;animation-delay:3.1s}
@keyframes dvb{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
/* kaartjes: gekleurde rand per toegang */
.dv-card{border-top:8px solid var(--c,#4cc9f0)}
.c-badge.dv-acc{background:#fff}
.c-badge .x-dot{margin-right:5px}
.c-badge.dv-k{background:#e3f8ff}
.c-badge.dv-top{background:#fff2b3}
.c-badge.dv-wb{background:#ffd0d6}
.dv-card.dv-restricted{background:#fff7f8}
/* filterchip 'vanaf het strand' extra in het oog */
.dv-tools .c-chip.dv-beachchip{background:#fff2b3;font-weight:700}
.dv-tools .c-chip.dv-beachchip.on{background:#ffd23f}
/* uitleg toegangscategorieën */
.dv-h2{margin-top:28px}
.dv-accl{list-style:none;padding:0;margin:12px 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}
.dv-acci{background:#fff;border:3px solid var(--ink);border-left:12px solid var(--c);border-radius:18px;box-shadow:3px 4px 0 var(--shadow);padding:10px 14px}
.dv-acci:nth-child(odd){transform:rotate(-.4deg)}.dv-acci:nth-child(even){transform:rotate(.4deg)}
.dv-acci b{display:block;font-size:18px;margin-bottom:4px}
.dv-acci span{font-size:15px;line-height:1.45}
/* waarschuwingen */
.dv-wl{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:12px}
.dv-w{background:#fff;border:3px solid var(--ink);border-radius:18px;padding:12px 16px;box-shadow:3px 4px 0 var(--shadow)}
.dv-w p{margin:6px 0}
.dv-w small{display:block;font-size:13px;opacity:.85}
.dv-w-closed{border-left:12px solid #ff5d73}.dv-w-park{border-left:12px solid #ffb547}.dv-w-uncertain{border-left:12px solid #b9a3ff}
.dv-wbox{background:#fff4f5;border-color:#ff5d73}
.dv-warn{padding-bottom:0}
/* feitenlijst */
.dv-dl small{font-size:13px;opacity:.85}
.dv-alt{font-weight:600;opacity:.8;margin-top:-6px}
/* seizoenen */
.dv-seasons{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}
.dv-season{min-width:0}
.dv-season .pk-mbar{grid-template-columns:repeat(12,minmax(0,1fr))}
.dv-leg{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:14px;margin:4px 0 8px}.dv-leg span{display:inline-flex;align-items:center;gap:6px}.dv-leg i{display:inline-block;width:16px;height:16px;border:2px solid var(--ink);border-radius:5px}
.dv-season h3{display:flex;align-items:center;gap:8px;margin:0 0 6px}
.dv-season p{font-size:15px}
/* ligging */
.dv-coord{margin-top:14px;background:#fff}
.dv-coord h3{margin:0 0 6px}
.dv-coord .c-note a{word-break:break-word}
.dv-v2{margin-top:26px}
@media (max-width:700px){.dv-bub{display:none}.dv-acci{transform:none!important}}
@media (prefers-reduced-motion:reduce){.dv-bub{animation:none}}
