/* Veranstaltung (single) */
.detail-grid{display:grid;grid-template-columns:1.55fr .95fr;gap:2.4rem;align-items:start}
.hero-photo{aspect-ratio:16/10;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-lg);border:6px solid #fff;margin-bottom:2rem}
.hero-photo .ph{width:100%;height:100%}
.hero-photo img{width:100%;height:100%;object-fit:cover}
.tagrow{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}
.tag-pill{font-family:var(--font-d);font-weight:500;font-size:.78rem;padding:.34em .9em;border-radius:999px}
.tag-pill.cat{background:var(--plum);color:#fff}
.tag-pill.free{background:#FFEE9E;color:#946b00}
.prose h2{font-size:1.55rem;margin:2rem 0 .7rem}
.prose p{color:var(--plum-soft);margin-bottom:1rem;font-size:1.04rem}
.prose ul{list-style:none;display:flex;flex-direction:column;gap:.6rem;margin:.4rem 0 1rem;padding:0}
.prose ul li{display:flex;gap:.7rem;align-items:flex-start;color:var(--plum-soft);font-size:1.04rem}
.prose ul li::before{content:"✦";color:var(--coral);font-family:var(--font-d);flex:none;margin-top:.05em}
.steps{counter-reset:s;display:flex;flex-direction:column;gap:.9rem;margin-top:.6rem}
.step{display:flex;gap:1rem;align-items:flex-start}
.step .n{counter-increment:s;width:34px;height:34px;border-radius:50%;background:var(--coral);color:#fff;font-family:var(--font-d);font-weight:600;display:flex;align-items:center;justify-content:center;flex:none}
.step .n::before{content:counter(s)}
.step b{font-family:var(--font-d);font-weight:600}
.infocard{background:#fff;border-radius:var(--r);box-shadow:var(--shadow-lg);border:2px solid rgba(75,46,79,.06);padding:1.8rem;position:sticky;top:90px}
.info-row{display:flex;gap:.85rem;align-items:flex-start;padding:.8rem 0;border-bottom:1.5px dashed rgba(75,46,79,.14)}
.info-row:last-of-type{border-bottom:0}
.info-row .ic{width:38px;height:38px;border-radius:12px;background:var(--cream-2);display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex:none}
.info-row b{font-family:var(--font-d);font-weight:600;display:block;font-size:.74rem;color:var(--plum-soft);text-transform:uppercase;letter-spacing:.05em}
.info-row span.v{font-weight:600;font-size:1.02rem}
.infocard .btn{width:100%;justify-content:center;margin-top:1.3rem}
.minimap{height:150px;border-radius:16px;overflow:hidden;border:2px solid rgba(75,46,79,.08);margin-top:1.2rem}
.minimap .ph{width:100%;height:100%}
.rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
@media(max-width:860px){.detail-grid{grid-template-columns:1fr}.infocard{position:static}.rel-grid{grid-template-columns:1fr}}
