:root{
  --bg:#0c0c0e; --card:#16161a; --card2:#1d1d22; --line:#2b2b32;
  --tx:#e8e8ea; --mut:#9a9aa2; --accent:#d98b6a; --accent-ice:#7fb6cd;
}
*{margin:0;padding:0;box-sizing:border-box}
html{background:var(--bg)}
body{background:var(--bg);color:var(--tx);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}

.crumb{max-width:900px;margin:0 auto;padding:16px 20px;font-size:14px;color:var(--mut);border-bottom:1px solid var(--line)}
.crumb a{color:var(--mut);font-weight:600}
.crumb a:hover{color:var(--accent);text-decoration:none}
.crumb .sep{margin:0 8px;color:#55555c}
.crumb .cur{color:var(--tx)}

.hero{padding:42px 20px 6px;text-align:center}
.hero h1{font-size:clamp(30px,5vw,44px);font-weight:800;letter-spacing:-.5px;color:var(--accent)}
.hero.ice h1{color:var(--accent-ice)}

.shot{max-width:900px;margin:24px auto 0;padding:0 20px}
.shot img{width:100%;height:clamp(240px,42vw,440px);object-fit:cover;border-radius:16px;cursor:pointer;display:block;transition:transform .3s,box-shadow .3s}
.shot img:hover{transform:scale(1.01);box-shadow:0 14px 40px rgba(0,0,0,.55)}
.shot figcaption{margin-top:8px;font-size:12px;color:#75757c;text-align:right;padding:0 4px}
.shot figcaption a{color:#8a8a92}
.shot figcaption a:hover{color:var(--accent)}

.lead{max-width:760px;margin:30px auto 0;padding:0 20px;font-size:18px;color:#d8d8db}
.lead.center{text-align:center}

/* --- Rozcestnik (index.html): mriezka kariet jaskyn --- */
.hub-cta{max-width:900px;margin:24px auto 0;padding:0 20px;text-align:center}
.grid{max-width:980px;margin:30px auto 0;padding:0 20px;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden;display:block;color:var(--tx);transition:transform .2s,border-color .2s,box-shadow .2s}
.card:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:0 12px 30px rgba(0,0,0,.5);text-decoration:none}
.card img{width:100%;height:165px;object-fit:cover;display:block}
.card .body{padding:14px 16px}
.card .name{font-weight:700;font-size:17px;color:var(--tx);letter-spacing:-.2px;transition:color .2s}
.card .meta{margin-top:5px;font-size:13px;color:var(--mut);line-height:1.45}
.card:hover .name{color:var(--accent)}
.card.ice .name{color:var(--accent-ice)}
.card.ice:hover .name{color:var(--accent-ice)}

/* --- Leaflet interaktivna mapa --- */
#map{height:520px;max-width:960px;margin:26px auto 0;border-radius:16px;border:1px solid var(--line);background:#e8e8ea;position:relative;z-index:0}
@media(max-width:640px){#map{height:400px;border-radius:12px}}
.cave-marker span{display:block;width:14px;height:14px;border-radius:50%;background:#ee8b3d;border:2px solid #14141a;box-shadow:0 0 0 1px #ee8b3d,0 1px 5px rgba(0,0,0,.7);cursor:pointer;transition:transform .15s}
.cave-marker:hover span{transform:scale(1.3)}
.cave-tip{background:rgba(255,255,255,.88);border:none;box-shadow:0 1px 3px rgba(0,0,0,.35);padding:1px 6px;border-radius:5px;font-weight:700;font-size:12px;white-space:nowrap}
.cave-tip::before{display:none!important}
.cave-tip .tip-link{color:#1a1a1a;text-decoration:none;cursor:pointer;display:block}
.cave-tip:hover{background:#fff}
.cave-tip:hover .tip-link{color:#c0632f}
.leaflet-tooltip{pointer-events:auto}
.leaflet-container{font:inherit}
.leaflet-bar a{background:#1d1d22;color:#e8e8ea;border-bottom-color:#2b2b32}
.leaflet-bar a:hover{background:#26262c}
.leaflet-control-attribution{background:rgba(255,255,255,.8)!important;color:#555!important}
.leaflet-control-attribution a{color:#0066cc!important}

.facts{max-width:760px;margin:30px auto 0;padding:0 20px}
.facts-grid{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:8px;display:grid;grid-template-columns:1fr 1fr;gap:2px}
.fact{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:10px;transition:background .2s}
.fact:hover{background:var(--card2)}
.fact .ic{font-size:20px;line-height:1.3;flex:0 0 auto}
.fact .k{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--mut);font-weight:700}
.fact .v{font-size:16px;color:var(--tx);font-weight:600;margin-top:3px}

.cta-row{max-width:760px;margin:24px auto 0;padding:0 20px}
.cta{display:inline-flex;align-items:center;gap:8px;background:transparent;border:1px solid var(--accent);color:var(--accent);padding:11px 20px;border-radius:999px;font-weight:700;font-size:15px;transition:background .2s,color .2s}
.cta:hover{background:var(--accent);color:#141414;text-decoration:none}
.cta-note{display:block;margin-top:10px;font-size:13px;color:var(--mut)}

.pager{max-width:760px;margin:38px auto 0;padding:0 20px 10px;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.pager a{flex:1;min-width:150px;text-align:center;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px;color:var(--tx);font-weight:600;font-size:14px;transition:border-color .2s,background .2s}
.pager a:hover{border-color:var(--accent);background:var(--card2);text-decoration:none}
.pager .lbl{display:block;font-size:11px;color:var(--mut);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}

footer{max-width:900px;margin:50px auto 0;padding:24px 20px 42px;text-align:center;border-top:1px solid var(--line);color:var(--mut);font-size:14px}
footer a{font-weight:700}

.lightbox{display:none;position:fixed;inset:0;background:rgba(0,0,0,.94);z-index:1000;align-items:center;justify-content:center;cursor:pointer;padding:20px}
.lightbox.active{display:flex}
.lightbox img{max-width:95vw;max-height:92vh;object-fit:contain;border-radius:8px}

@media(max-width:640px){
  .facts-grid{grid-template-columns:1fr}
  .hero{padding:30px 20px 4px}
  .lead{font-size:17px}
}
