/* Pompeji-Karte: heller Plan im Expeditionsstil, Marker, Liste, Routen, Druckfassung */
.kt-hero{padding:9rem 0 2rem}
.kt-hero h1{font-size:clamp(3rem,6.5vw,6rem);margin-bottom:1rem}
.kt-hero h1 em{font-style:normal;color:var(--primary)}
.kt-actions{display:flex;flex-wrap:wrap;gap:1.4rem;align-items:center;margin-top:1.4rem}
.kt-map-section{padding-bottom:2rem}
.kt-map-wrap{overflow:auto;border-radius:var(--radius);border:1px solid var(--line);background:#efe3c8;-webkit-overflow-scrolling:touch}
.kt-map{position:relative;width:100%;min-width:720px;transition:min-width .3s}
.kt-map.is-zoomed{min-width:1500px}
.kt-map img{display:block;width:100%;height:auto}
.kt-marker{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);width:30px;height:30px;border-radius:50%;border:3px solid #efe3c8;background:#2b2117;color:#efe3c8;font:800 .8rem/1 var(--body);display:flex;align-items:center;justify-content:center;padding:0;box-shadow:0 2px 6px rgba(0,0,0,.35);transition:transform .15s,background .15s}
.kt-marker:hover,.kt-marker.is-hover,.kt-marker.is-active{background:#a8452a;transform:translate(-50%,-50%) scale(1.2);z-index:2}
.kt-map.route-on .kt-marker{opacity:.35}
.kt-map.route-on .kt-marker.in-route{opacity:1;background:#a8452a}
.kt-map.route-on .kt-marker.in-route:after{content:attr(data-step);position:absolute;top:-14px;right:-14px;min-width:20px;height:20px;padding:0 4px;border-radius:10px;background:#1f6f68;color:#fff;font-size:.66rem;line-height:20px}
.kt-legend{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1.3rem;margin:.9rem 0 .4rem;font-size:.76rem;color:var(--muted)}
.kt-legend span:before{content:'';display:inline-block;width:.9rem;height:.9rem;margin-right:.4rem;vertical-align:-2px;border-radius:2px}
.kt-legend .l-site:before{background:#e4d1a8;outline:2px dashed #a8452a;outline-offset:-2px}
.kt-legend .l-ruin:before{background:#b4825a}
.kt-legend .l-gate:before{background:#1f6f68}
.kt-legend .l-poi:before{background:#2b2117;border-radius:50%}
.kt-legend .l-station:before{display:none}
.kt-zoom{margin-left:auto;min-height:40px;padding:.4rem .9rem;border:1px solid var(--line);border-radius:2rem;background:transparent;color:var(--text);font-size:.76rem}
.kt-zoom[aria-pressed=true]{background:var(--accent);color:var(--background);border-color:var(--accent)}
.kt-panel{position:relative;margin-top:1rem;padding:1.3rem 3rem 1.2rem 1.4rem;background:#efe3c8;color:#2b2117;border-radius:var(--radius);border-left:4px solid #a8452a}
.kt-panel .eyebrow{color:#a8452a;margin-bottom:.4rem}
.kt-panel h3{font-size:2rem;color:#2b2117;margin-bottom:.5rem}
.kt-panel p{margin:0 0 .5rem;font-size:.92rem}
.kt-close{position:absolute;top:.6rem;right:.6rem;width:40px;height:40px;border:0;background:transparent;font-size:1.6rem;color:#2b2117}
.kt-more{font-size:.84rem;font-weight:700;color:#a8452a!important}
.kt-list{list-style:none;padding:0;margin:1.4rem 0 0;display:grid;grid-template-columns:1fr 1fr;gap:1rem 2rem}
.kt-item{display:grid;grid-template-columns:2.2rem 1fr;gap:.8rem;padding-top:1rem;border-top:1px solid var(--line)}
.kt-num{width:2.2rem;height:2.2rem;border-radius:50%;background:#2b2117;border:2px solid #efe3c8;color:#efe3c8;display:flex;align-items:center;justify-content:center;font:800 .85rem var(--body)}
.kt-item h3{font-size:1.5rem;margin-bottom:.4rem}
.kt-item h3 small{display:block;margin-top:.3rem;font:600 .68rem var(--body);letter-spacing:.12em;color:var(--accent);text-transform:uppercase}
.kt-item p{font-size:.88rem!important;margin-bottom:.4rem}
.kt-routes{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.2rem}
.kt-route{padding:1.3rem;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius)}
.kt-route h3{font-size:1.6rem;margin-bottom:.6rem}
.kt-route p{font-size:.85rem!important}
.kt-route ol{margin:.6rem 0 0;padding-left:1.2rem;font-size:.84rem;color:var(--muted)}
.kt-route ol a{color:var(--text)!important;text-decoration:none}
.kt-route-btn{min-height:40px;margin-bottom:.6rem;padding:.4rem .9rem;border:1px solid var(--accent);border-radius:2rem;background:transparent;color:var(--accent);font-size:.76rem;font-weight:700}
.kt-route-btn[aria-pressed=true]{background:var(--accent);color:var(--background)}
.kt-where{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2rem;align-items:start;margin-top:1rem}
.kt-locator{width:100%;height:auto;border-radius:var(--radius);display:block}
.kt-where figcaption{font-size:.72rem;color:var(--muted);margin-top:.5rem}
.kt-dist{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin:1rem 0 0}
.kt-dist div{padding:.8rem 1rem;background:var(--paper);border:1px solid var(--line);border-radius:.6rem}
.kt-dist dt{font-size:.72rem;color:var(--muted)}
.kt-dist dd{margin:0;font:700 1.6rem var(--display)}
@media(max-width:900px){.kt-list,.kt-routes,.kt-where{grid-template-columns:1fr}}
@media(max-width:700px){.kt-hero{padding-top:8.5rem}.kt-map{min-width:900px}.kt-map.is-zoomed{min-width:1600px}.kt-marker{width:26px;height:26px}.kt-zoom{margin-left:0}}
@media print{
 .site-header,.booking-dock,.site-footer,.bs-side,.kt-actions,.kt-zoom,.kt-route-btn,.kt-panel,#faq,#lage,.skip{display:none!important}
 body{background:#fff;color:#000;padding:0!important}
 .kt-hero{padding:0}.kt-hero h1{font-size:28pt;color:#000}.kt-hero h1 em{color:#000}.bs-lead,.bs-byline{color:#000}
 .kt-map-wrap{overflow:visible;border:0}.kt-map{min-width:0!important}
 .kt-marker{-webkit-print-color-adjust:exact;print-color-adjust:exact}
 .bs-layout{display:block}.bs-main>section{border-top:1px solid #999;padding:10pt 0;break-inside:avoid}
 .kt-list{grid-template-columns:1fr 1fr;font-size:9pt}.kt-item h3{font-size:12pt;color:#000}.kt-item p{color:#000!important}
 .kt-num{-webkit-print-color-adjust:exact;print-color-adjust:exact}
 .kt-routes{grid-template-columns:1fr 1fr 1fr}.kt-route{background:#fff;border:1px solid #999}.kt-route ol a,.kt-route p,.kt-route h3{color:#000!important}
 a{color:#000!important}
}
