:root{
  --primary:#c2185b;
  --primary-dark:#7a0f39;
  --ink:#14161a;
  --bg:#f2f2f4;
  --card:#ffffff;
  --text:#1c1e22;
  --muted:#70747c;
  --line:#e6e7eb;
  --gold:#e0b34d;
  --gold-dark:#b8922f;
  --radius:14px;
  --shadow:0 2px 10px rgba(20,22,30,.07),0 1px 3px rgba(20,22,30,.05);
  --shadow-lg:0 10px 40px rgba(20,22,30,.16);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;font-family:"Segoe UI",-apple-system,BlinkMacSystemFont,Roboto,Helvetica,Arial,sans-serif;
  background:var(--bg);color:var(--text);line-height:1.55;font-size:16px;
}
a{color:var(--primary);text-decoration:none}
a:hover{text-decoration:none;opacity:.9}
img{max-width:100%;display:block}
.container{width:100%;max-width:1200px;margin:0 auto;padding:0 16px}
.muted{color:var(--muted)}
.small{font-size:.85rem}
.center{text-align:center}
.hidden{display:none}
h1,h2,h3,h4{letter-spacing:-.01em}

/* ---------- Header (dunkel, premium) ---------- */
.site-header{background:var(--ink);border-bottom:1px solid rgba(255,255,255,.06);position:sticky;top:0;z-index:60}
.site-header .bar{display:flex;align-items:center;gap:12px;height:62px}
.brand{font-weight:800;font-size:1.5rem;color:#fff;letter-spacing:-.5px;display:flex;align-items:center;gap:2px}
.brand b{color:var(--primary)}
.brand:hover{opacity:1}
.header-spacer{flex:1}
.header-nav{display:flex;align-items:center;gap:6px}
.header-nav a{color:#d7dae0;font-size:.93rem;padding:8px 12px;border-radius:9px}
.header-nav a:hover{background:rgba(255,255,255,.08);color:#fff}
.nav-toggle{display:none;background:none;border:none;color:#fff;font-size:1.7rem;cursor:pointer;padding:4px 10px;line-height:1}
.loc-pill{display:inline-flex;align-items:center;gap:6px;background:var(--primary);border:none;
  border-radius:999px;padding:8px 15px;font-size:.9rem;color:#fff;cursor:pointer;font-weight:600}
.loc-pill:hover{filter:brightness(1.08)}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--primary);
  color:#fff;border:none;border-radius:11px;padding:12px 20px;font-size:1rem;font-weight:600;
  cursor:pointer;transition:transform .1s,filter .15s;line-height:1;font-family:inherit}
.btn:hover{filter:brightness(1.08);color:#fff}
.btn:active{transform:translateY(1px)}
.btn.block{width:100%}
.btn.ghost{background:#fff;color:var(--text);border:1px solid var(--line)}
.btn.ghost:hover{background:#f6f6f8;color:var(--text)}
.btn.sm{padding:8px 13px;font-size:.85rem;border-radius:9px}
.btn.gold{background:linear-gradient(135deg,var(--gold),var(--gold-dark));color:#3a2c00}
.btn.danger{background:#e2483d}
.btn.wa{background:#25d366;color:#053d20}

/* ---------- Formular-Felder (custom, kein Standard-Look) ---------- */
.field{display:flex;flex-direction:column;gap:5px}
.field>label{font-size:.78rem;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.04em}
input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=color]):not([type=submit]):not([type=button]),
select,textarea{
  font:inherit;padding:12px 14px;border:1.5px solid var(--line);border-radius:11px;
  background:#fff;color:var(--text);width:100%;transition:border-color .15s,box-shadow .15s;-webkit-appearance:none;appearance:none}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(194,24,91,.14)}
input[type=file]{font:inherit;padding:8px;border:1.5px dashed var(--line);border-radius:10px;background:#fafafb;width:100%;cursor:pointer}
input::placeholder,textarea::placeholder{color:#a2a6ae}
select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2370747c' stroke-width='3' stroke-linecap='round'><path d='M6 9l6 6 6-6'/></svg>");
  background-repeat:no-repeat;background-position:right 14px center;padding-right:38px;cursor:pointer}
input[type=color]{padding:4px;height:46px;cursor:pointer}
textarea{min-height:90px;resize:vertical}

/* Custom Checkbox */
.chk{display:flex;align-items:center;gap:9px;font-size:.92rem;cursor:pointer;user-select:none}
.chk input[type=checkbox]{-webkit-appearance:none;appearance:none;width:22px;height:22px;min-width:22px;
  border:1.5px solid #c4c7cf;border-radius:7px;background:#fff;cursor:pointer;position:relative;transition:all .15s;margin:0}
.chk input[type=checkbox]:checked{background:var(--primary);border-color:var(--primary)}
.chk input[type=checkbox]:checked::after{content:"";position:absolute;left:7px;top:3px;width:5px;height:10px;
  border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}
.chk input[type=checkbox]:focus-visible{box-shadow:0 0 0 3px rgba(194,24,91,.2)}

/* ---------- Hero (Suchbox links, Escort-Bild rechts – stabiles Grid) ---------- */
.hero{background:linear-gradient(120deg,var(--primary-dark) 0%,var(--primary) 55%,#d64d80 100%);
  color:#fff;overflow:hidden}
.hero-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:24px;align-items:end;min-height:400px}
.hero-copy{padding:38px 0 34px;align-self:center;max-width:560px}
.hero-copy h1{margin:0 0 8px;font-size:2rem;line-height:1.12;text-shadow:0 2px 12px rgba(0,0,0,.18)}
.hero-copy p{margin:0 0 18px;opacity:.95;font-size:1.05rem}
.hero-model{display:flex;align-items:flex-end;justify-content:center;height:100%;max-height:460px;overflow:hidden}
.hero-model img{height:100%;max-height:460px;width:auto;object-fit:contain;object-position:bottom center;
  filter:drop-shadow(-6px 0 22px rgba(0,0,0,.22))}
.searchbox{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:16px;color:var(--text)}
.searchbox .sb-title{font-weight:800;font-size:1.05rem;margin:0 0 12px;color:var(--ink)}
.searchbox form{display:flex;flex-direction:column;gap:11px}
.geo-btn{margin-top:2px}

/* ---------- Breadcrumb ---------- */
.breadcrumb{background:#fff;border-bottom:1px solid var(--line)}
.breadcrumb .container{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding-top:10px;padding-bottom:10px;font-size:.85rem;color:var(--muted)}
.breadcrumb a{color:var(--primary)}
.breadcrumb .sep{color:#bcbfc6}

/* ---------- Filter-Akkordeon (einzeln einklappbar) ---------- */
.filterbox2{background:var(--ink);border-radius:var(--radius);overflow:hidden;margin-bottom:18px;box-shadow:var(--shadow)}
.fb-search{display:flex;gap:10px;padding:14px;background:#20242d}
.fb-search input{flex:1}
.fb-tabs{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #10131a}
.fb-tab{background:#2a2f3a;color:#e6e8ee;border:none;border-right:1px solid #10131a;padding:13px 14px;cursor:pointer;
  text-align:left;font-family:inherit;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:8px}
.fb-tab:last-child{border-right:none}
.fb-tab-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.fb-tab-txt span{font-weight:700;font-size:.98rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fb-tab small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fb-tab small{font-weight:400;color:#9aa0ab;font-size:.78rem}
.fb-caret{font-size:.8rem;opacity:.85;transition:transform .2s ease;flex:0 0 auto;font-weight:400}
.fb-tab.open .fb-caret{transform:rotate(180deg)}
.fb-tab.open{background:var(--primary);color:#fff}
.fb-tab.open small{color:rgba(255,255,255,.85)}
/* Schmale Breiten: Untertitel ausblenden -> gleichmäßige, kompakte Kacheln */
@media(max-width:600px){
  .fb-tab{padding:14px 12px}
  .fb-tab small{display:none}
  .fb-tab-txt span{font-size:.92rem}
}
body.force-mobile .fb-tab{padding:14px 12px}
body.force-mobile .fb-tab small{display:none}
.fb-panel{display:none;padding:20px;background:#eef0f4;border-top:1px solid #10131a}
.fb-panel.open{display:block}
.fb-actions{display:flex;gap:10px;padding:14px 16px;background:#e2e4e9}
.tf-group{margin-bottom:18px}
.tf-group h5{margin:0 0 10px;font-size:.8rem;color:var(--ink);text-transform:uppercase;letter-spacing:.05em;font-weight:800}
.tf-checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px 14px}
.tf-cols{columns:2;column-gap:26px}
@media(min-width:760px){ .tf-cols-3{display:grid;grid-template-columns:1fr 1fr;gap:0 30px} }

/* ---------- Events Timeline (feste Maße = bricht nie um) ---------- */
.timeline{position:relative}
.timeline-track{display:flex;flex-wrap:nowrap;gap:16px;overflow-x:auto;padding:64px 2px 10px}
.timeline-track::before{content:"";position:absolute;left:0;right:0;top:38px;height:2px;background:var(--line);z-index:0}
.tl-item{flex:0 0 210px;width:210px;max-width:210px;position:relative;z-index:1}
.tl-date{position:absolute;top:-56px;left:0;right:0;text-align:center;font-size:.82rem;font-weight:800;color:var(--primary)}
.tl-item::before{content:"";position:absolute;top:-28px;left:50%;transform:translateX(-50%);width:13px;height:13px;border-radius:50%;background:var(--primary);border:2px solid #fff;box-shadow:0 0 0 2px var(--primary)}
.tl-poster{display:block;border-radius:12px;overflow:hidden;box-shadow:var(--shadow);background:#e9ebef;height:210px}
.drag-scroll{cursor:grab}
.drag-scroll.dragging{cursor:grabbing;user-select:none}
.drag-scroll.dragging a{pointer-events:none}
.tl-poster img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.tl-poster .no-photo{height:100%}

.tl-cap{padding:8px 2px}
.tl-cap .c{color:var(--primary);font-size:.8rem}
.tl-cap .t{font-weight:700;font-size:.95rem;color:var(--ink)}
@media print{
  .timeline-track{flex-wrap:wrap;overflow:visible}
  .tl-item{flex:0 0 30%}
}

/* ---------- Zurück-Button ---------- */
.backbar{display:flex;align-items:center;gap:12px}
.btn-back{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--line);color:var(--text);
  border-radius:9px;padding:7px 14px;font-size:.9rem;font-weight:600;cursor:pointer;font-family:inherit;text-decoration:none}
.btn-back:hover{background:var(--bg);color:var(--text)}
img.img-broken{visibility:hidden}

/* ---------- Event-Detail ---------- */
.event-hero{display:grid;grid-template-columns:320px 1fr;gap:24px;align-items:start}
@media(max-width:759px){ .event-hero{grid-template-columns:1fr} }
.event-poster{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);background:#e9ebef}
.video-grid{display:grid;grid-template-columns:1fr;gap:14px}
@media(min-width:760px){ .video-grid{grid-template-columns:1fr 1fr} }
.video-wrap{position:relative;padding-bottom:56.25%;height:0;border-radius:12px;overflow:hidden;background:#000}
.video-wrap iframe,.video-wrap video{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ---------- Club-Detail ---------- */
.club-banner{position:relative;height:380px;background:#0e0f12;overflow:hidden}
.club-banner img{width:100%;height:100%;object-fit:cover}
.club-banner-fallback{width:100%;height:100%;background:linear-gradient(120deg,var(--primary-dark),var(--primary),#d64d80)}
.club-banner-cap{position:absolute;left:0;right:0;bottom:0;padding:26px 0 18px;color:#fff;
  background:linear-gradient(transparent,rgba(0,0,0,.72))}
.club-banner-cap h1{margin:0;font-size:2rem;text-shadow:0 2px 10px rgba(0,0,0,.5)}
.club-banner-cap p{margin:4px 0 0;opacity:.95}
.amen-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:18px}
.amen-col h4{margin:0 0 8px;font-size:.95rem;border-bottom:2px solid var(--primary);padding-bottom:5px;display:inline-block;color:var(--ink)}
.amen-col ul{margin:0;padding-left:18px;color:var(--text);font-size:.9rem;line-height:1.7}
@media(max-width:759px){ .club-banner{height:260px} .club-banner-cap h1{font-size:1.5rem} }

/* ---------- News (flache, horizontale Karten, 2-spaltig) ---------- */
.news-grid{display:grid;grid-template-columns:1fr;gap:16px}
@media(min-width:700px){ .news-grid{grid-template-columns:1fr 1fr} }
.news-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:row;min-height:130px}
.news-card .nc-img{flex:0 0 42%;max-width:42%;background:linear-gradient(135deg,var(--primary),var(--primary-dark));overflow:hidden}
.news-card .nc-img img{width:100%;height:100%;object-fit:cover}
.news-card .nc-body{padding:14px 16px;display:flex;flex-direction:column;gap:5px;flex:1;justify-content:center}
.news-card .nc-date{font-size:.75rem;color:var(--muted)}
.news-card h3{margin:0;font-size:1.08rem;color:var(--ink)}
.news-card p{margin:0;font-size:.9rem;color:var(--muted)}

/* ---------- Profil: Hauptbild + Kollage ---------- */
.pf-media{display:grid;grid-template-columns:1fr;gap:12px}
.pf-main{border-radius:var(--radius);overflow:hidden;background:#e9ebef;box-shadow:var(--shadow)}
.pf-main img{width:100%;height:auto;max-height:70vh;object-fit:cover;cursor:zoom-in;display:block}
.pf-collage{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.pf-collage a{display:block;border-radius:10px;overflow:hidden;background:#e9ebef;aspect-ratio:1}
.pf-collage a img{width:100%;height:100%;object-fit:cover;cursor:zoom-in;transition:transform .25s}

/* Öffnungszeiten in zwei festen Spalten (Mo-Do links, Fr-Feiertag rechts) */
.hours-two{display:grid;grid-template-columns:1fr;gap:0 30px}
@media(min-width:640px){ .hours-two{grid-template-columns:1fr 1fr} }
.hours-two .day{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:8px 0;font-size:.92rem}

/* ---------- Sections ---------- */
.section{padding:30px 0}
.section h2{font-size:1.4rem;margin:0 0 16px}
.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:12px}
.section-head h2{margin:0}
.section.alt{background:#fff}

/* ---------- Städte-Grid ---------- */
.city-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.city-card{position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);
  aspect-ratio:4/3;display:block}
.city-card img{width:100%;height:100%;object-fit:cover;transition:transform .4s}

.city-card .name{position:absolute;left:0;right:0;bottom:0;padding:14px 14px 12px;color:#fff;font-weight:700;
  font-size:1.1rem;background:linear-gradient(transparent,rgba(0,0,0,.72))}
.city-chips{display:flex;flex-wrap:wrap;gap:9px}
.city-chips a{background:var(--card);border:1px solid var(--line);border-radius:999px;padding:8px 16px;
  color:var(--text);font-size:.9rem;font-weight:500}
.city-chips a:hover{background:var(--primary);color:#fff;border-color:var(--primary)}

/* ---------- Listing-Grid ---------- */
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
@media(min-width:760px){ .grid.grid-3{grid-template-columns:repeat(3,1fr)} }
.card{background:var(--card);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);
  border:1px solid var(--line);display:flex;flex-direction:column;position:relative;transition:transform .12s,box-shadow .2s}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.card a.photo{display:block;aspect-ratio:3/4;background:#e9ebef;overflow:hidden}
.card a.photo img{width:100%;height:100%;object-fit:cover}
.card .body{padding:11px 13px;display:flex;flex-direction:column;gap:5px}
.card .name{font-weight:700;font-size:1.05rem;color:var(--ink)}
.card .meta{font-size:.82rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:7px}
.card.premium{border-color:var(--gold)}
.card.premium::before{content:"";position:absolute;inset:0;border-radius:var(--radius);
  box-shadow:inset 0 0 0 2px var(--gold);pointer-events:none;z-index:1}
.badge-premium{position:absolute;top:9px;left:9px;background:linear-gradient(135deg,var(--gold),var(--gold-dark));
  color:#2e2200;font-weight:800;font-size:.72rem;padding:5px 10px;border-radius:999px;
  display:inline-flex;align-items:center;gap:4px;z-index:2;box-shadow:0 2px 6px rgba(0,0,0,.2)}
.badge-dist{position:absolute;top:11px;right:50px;background:rgba(0,0,0,.62);color:#fff;font-size:.72rem;
  padding:5px 9px;border-radius:999px;z-index:2}
.no-photo{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#aeb2bd;
  font-size:2.4rem;background:repeating-linear-gradient(45deg,#eef0f4,#eef0f4 10px,#e7e9ef 10px,#e7e9ef 20px)}

/* ---------- Filter ---------- */
.filters{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin-bottom:18px;box-shadow:var(--shadow)}
.filters .searchrow{display:flex;gap:10px;align-items:stretch;margin-bottom:6px}
.filters .searchrow .field{flex:1}
.filters .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.filters details{margin-top:12px;border-top:1px dashed var(--line);padding-top:12px}
.filters summary{cursor:pointer;font-weight:700;color:var(--primary);list-style:none}
.filters summary::-webkit-details-marker{display:none}
.filters summary::before{content:"＋ ";font-weight:700}
.filters details[open] summary::before{content:"– "}
.chk-grid{display:grid;grid-template-columns:1fr;gap:8px;margin-top:8px}

/* ---------- Profil / Galerie (Reihe, mehr passt rein) ---------- */
.gallery-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.gallery-row a{display:block;border-radius:12px;overflow:hidden;background:#e9ebef;aspect-ratio:3/4}
.gallery-row a img{width:100%;height:100%;object-fit:cover;transition:transform .3s}

.gallery-row.lightbox-open{}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.9);z-index:200;display:none;align-items:center;justify-content:center;padding:20px}
.lightbox.open{display:flex}
.lightbox img{max-width:96vw;max-height:92vh;border-radius:8px}
.lightbox .lb-close{position:absolute;top:16px;right:22px;color:#fff;font-size:2rem;cursor:pointer;background:none;border:none}
.lightbox .lb-nav{position:absolute;top:50%;transform:translateY(-50%);color:#fff;font-size:2.4rem;cursor:pointer;background:none;border:none;padding:0 16px;user-select:none}
.lightbox .lb-prev{left:6px}.lightbox .lb-next{right:6px}

.profile-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.profile-title h1{margin:0;font-size:1.6rem}

/* Profil-Redesign: Banner oben, Profilbild überlappt mittig, luftige Chips, symmetrisch */
.pf-banner{position:relative;z-index:1;display:flex;gap:3px;height:360px;background:#0e0f12;overflow:hidden}
.pf-banner-item{flex:1 1 0;min-width:0;display:block;overflow:hidden}
.pf-banner-item img{width:100%;height:100%;object-fit:cover;cursor:zoom-in;transition:transform .3s}

.pf-banner-fallback{flex:1;background:linear-gradient(120deg,var(--primary-dark),var(--primary),#d64d80)}
.pf-header{background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:5}
.pf-header .container{display:flex;flex-direction:column;align-items:center;text-align:center;padding-bottom:18px}
.pf-avatar{position:relative;z-index:6;width:150px;height:150px;border-radius:18px;overflow:hidden;border:4px solid #fff;background:#e9ebef;
  box-shadow:var(--shadow-lg);margin-top:-80px;display:flex;align-items:center;justify-content:center}
.pf-avatar img{width:100%;height:100%;object-fit:cover}
.pf-header h1{margin:12px 0 3px;font-size:1.7rem}
.pf-header .pill{margin-top:2px}
.pf-header .pf-loc{color:var(--muted);font-size:.95rem}
.pf-statbar{background:#f4f5f7;border-bottom:1px solid var(--line);padding:16px 0}
.pf-chips{display:flex;flex-wrap:wrap;gap:9px;justify-content:center}
.pf-chip{background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 15px;font-size:.85rem;font-weight:600;color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.04)}
.pf-body{max-width:1000px}
.pf-contact{max-width:none;margin:0 0 22px;text-align:center;background:#fff;border:1px solid var(--line);
  border-top:3px solid var(--primary);border-radius:14px;padding:22px 22px 20px;box-shadow:var(--shadow)}
.pf-contact-label{font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.pf-contact-num{display:inline-block;font-size:1.9rem;font-weight:800;letter-spacing:.5px;color:var(--ink);margin:4px 0 2px}
.pf-contact-num:hover{color:var(--primary);opacity:1}
.pf-contact-main{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px;max-width:640px;margin-left:auto;margin-right:auto}
.pf-contact-sub{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;max-width:640px;margin-left:auto;margin-right:auto}
.pf-contact .btn{padding:14px 16px}
.pf-thumbs{display:flex;gap:10px;overflow-x:auto;padding-bottom:8px;-webkit-overflow-scrolling:touch;justify-content:center;margin-bottom:6px}
.pf-thumbs a{flex:0 0 130px;height:165px;border-radius:12px;overflow:hidden;background:#e9ebef}
.pf-thumbs a img{width:100%;height:100%;object-fit:cover;cursor:zoom-in}
.spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
.spec-item{display:flex;justify-content:space-between;gap:14px;padding:11px 2px;border-bottom:1px solid var(--line)}
.spec-item .l{color:var(--muted);font-weight:600}
.spec-item .v{text-align:right}
.pf-report-bar{text-align:center;margin-top:30px;padding-top:22px;border-top:1px solid var(--line)}

/* Modal & Erfolgs-Overlay */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:200;display:none;align-items:flex-start;justify-content:center;padding:30px 16px;overflow:auto}
.modal-overlay.open{display:flex}
.modal-card{background:#fff;border-radius:14px;max-width:480px;width:100%;overflow:hidden;box-shadow:var(--shadow-lg)}
.modal-head{background:var(--ink);color:#fff;padding:14px 18px;display:flex;justify-content:space-between;align-items:center;font-weight:700}
.modal-x{background:none;border:none;color:#fff;font-size:1.3rem;cursor:pointer;line-height:1}
.modal-body{padding:18px}
.success-overlay{position:fixed;inset:0;background:rgba(0,0,0,.72);z-index:210;display:none;align-items:center;justify-content:center;padding:20px}
.success-overlay.open{display:flex}
.success-card{background:#fff;border-radius:18px;max-width:440px;width:100%;padding:36px 28px;text-align:center;box-shadow:var(--shadow-lg)}
.success-check{width:84px;height:84px;border-radius:50%;background:#25a244;color:#fff;font-size:2.8rem;display:flex;align-items:center;justify-content:center;margin:0 auto 18px}
.success-card h2{color:#1a7f37;margin:0 0 8px;font-size:1.6rem}
.card .merk{position:absolute;top:9px;right:9px;z-index:3;background:rgba(255,255,255,.92);border:none;border-radius:50%;
  width:34px;height:34px;font-size:1rem;cursor:pointer;box-shadow:var(--shadow);color:var(--ink);line-height:1}
.card .merk.active{background:var(--gold);color:#3a2c00}
.contact-box{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}
.phone-big{font-size:1.6rem;font-weight:800;letter-spacing:.5px;color:var(--ink)}

/* Info-Tabelle (Profil + Bleibe wie Vorlage) */
.info-table,.spec-table{width:100%;border-collapse:collapse;background:var(--card);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.info-table td,.spec-table td{padding:11px 14px;border-bottom:1px solid var(--line);font-size:.93rem}
.info-table td:first-child,.spec-table td:first-child{color:var(--muted);width:44%;font-weight:600}
.info-table .cat-row td{background:#faf3f6;color:var(--primary);font-weight:800;text-transform:uppercase;font-size:.72rem;letter-spacing:.05em}
.tag-row{display:flex;flex-wrap:wrap;gap:7px}
.tag{background:#f6f2f4;border:1px solid #ecdfe6;border-radius:999px;padding:5px 12px;font-size:.82rem;color:#7a2247}
.svc-columns{display:grid;grid-template-columns:1fr 1fr;gap:0 30px;align-items:start}
.svc-col{min-width:0}
.svc-cat{margin-bottom:16px;break-inside:avoid}
.svc-cat h4{margin:0 0 8px;font-size:.95rem;border-bottom:2px solid var(--primary);padding-bottom:5px;display:inline-block;color:var(--ink)}
.hours-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 22px}
.hours-grid .day{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:7px 0;font-size:.9rem}

/* ---------- Events (AKTIONEN wie Pascha-Vorlage) ---------- */
.event-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.event-card{display:flex;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform .12s,box-shadow .2s;height:158px}
.event-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.event-card .ev-img{width:158px;min-width:158px;height:158px;background:linear-gradient(135deg,var(--primary),var(--primary-dark));display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.6rem;overflow:hidden}
.event-card .ev-img img{width:100%;height:100%;object-fit:cover}
.event-card .ev-body{padding:12px 14px;display:flex;flex-direction:column;gap:4px;justify-content:center;overflow:hidden;min-width:0}
.event-card .ev-body .small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.event-card .ev-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.event-card .ev-date{font-size:.76rem;font-weight:800;color:var(--primary);text-transform:uppercase;letter-spacing:.04em}
.event-card .ev-title{font-weight:700;color:var(--ink);font-size:1.02rem}
.event-card .ev-city{font-size:.8rem;color:var(--muted)}

/* ---------- Meldungen ---------- */
.meldung-list{display:flex;flex-direction:column;gap:12px}
.meldung{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--primary);
  border-radius:12px;padding:14px 16px;box-shadow:var(--shadow)}
.meldung.pinned{border-left-color:var(--gold);background:#fffdf6}
.meldung h4{margin:0 0 4px;font-size:1.02rem;color:var(--ink)}
.meldung .m-meta{font-size:.76rem;color:var(--muted);margin-bottom:6px}
.meldung p{margin:0;font-size:.92rem;white-space:pre-line}

/* ---------- "Suchst du vielleicht" ---------- */
.suggest{columns:2;column-gap:26px}
.suggest a{display:block;padding:4px 0;font-size:.92rem;color:var(--primary)}

/* ---------- Footer ---------- */
.site-footer{background:var(--ink);color:#aeb2bd;padding:30px 0;margin-top:34px;font-size:.9rem}
.site-footer a{color:#dfe2e8}
.footer-row{display:flex;flex-direction:column;gap:16px}
.footer-links{display:flex;flex-wrap:wrap;gap:14px;margin-top:8px}
.view-switch{border:1px solid #33363d;background:#22252b;color:#dfe2e8;border-radius:9px;padding:9px 15px;
  display:inline-flex;gap:8px;align-items:center;cursor:pointer;font-size:.9rem}
.view-switch:hover{background:#2b2f36}

/* ---------- Altersabfrage ---------- */
.age-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(130deg,var(--primary-dark),var(--primary));padding:20px}
.age-card{background:#fff;border-radius:18px;max-width:430px;width:100%;padding:34px 28px;text-align:center;box-shadow:var(--shadow-lg)}
.age-card h1{color:var(--primary);margin:0 0 6px}
.age-card .btns{display:flex;gap:12px;margin-top:22px}
.age-card .btns form{flex:1}

/* ---------- Admin ---------- */
.admin-body{background:#eceef2}
.admin-shell{display:grid;grid-template-columns:238px 1fr;min-height:100vh}
.admin-side{background:#191d26;color:#c3ccda;padding:16px 0;position:sticky;top:0;height:100vh;overflow-y:auto}
.admin-side .logo{padding:0 18px 14px;font-weight:800;font-size:1.25rem;color:#fff}
.admin-side a{display:block;color:#c3ccda;padding:11px 18px;font-size:.94rem}
.admin-side a:hover,.admin-side a.active{background:#262c39;color:#fff}
.admin-side .sep{border-top:1px solid #2c3340;margin:10px 0}
.admin-main{padding:24px 28px;max-width:100%;overflow-x:auto}
.admin-topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
.admin-topbar h1{font-size:1.5rem;margin:0}
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:20px}
.stat{background:#fff;border-radius:12px;padding:16px;box-shadow:var(--shadow)}
.stat .n{font-size:1.9rem;font-weight:800;color:var(--primary)}
.stat .l{color:var(--muted);font-size:.85rem}
.panel{background:#fff;border-radius:12px;box-shadow:var(--shadow);padding:20px;margin-bottom:18px}
.panel h3{margin:0 0 14px;font-size:1.1rem}
table.data{width:100%;border-collapse:collapse}
table.data th,table.data td{text-align:left;padding:10px;border-bottom:1px solid var(--line);font-size:.9rem;vertical-align:middle}
table.data th{color:var(--muted);font-weight:600;background:#f7f8fa}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.form-grid .full{grid-column:1/-1}
.inline-form{display:inline}
.pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.75rem;font-weight:700}
.pill.on{background:#e6f6ea;color:#1a7f37}
.pill.off{background:#fdecea;color:#c0392b}
.pill.gold{background:#fbf1d8;color:#8a6400}
.thumb-list{display:flex;flex-wrap:wrap;gap:10px}
.thumb-list .t{width:100px;text-align:center;position:relative;cursor:grab}
.thumb-list .t:active{cursor:grabbing}
.thumb-list .t img{width:100px;height:126px;object-fit:cover;border-radius:9px;border:1px solid var(--line);pointer-events:none}
.thumb-list .t.primary img{border:2.5px solid var(--gold)}
.thumb-list .t.dragging{opacity:.45}
.thumb-list .t-pos{position:absolute;top:4px;left:4px;background:var(--primary);color:#fff;font-size:.72rem;font-weight:800;
  width:20px;height:20px;line-height:20px;border-radius:50%;text-align:center;z-index:2;box-shadow:0 1px 3px rgba(0,0,0,.3)}
.thumb-list .t-grip{position:absolute;top:4px;right:4px;background:rgba(0,0,0,.55);color:#fff;font-size:.8rem;
  padding:0 5px;border-radius:6px;z-index:2;line-height:20px;height:20px}
.svc-check-cat{margin-bottom:14px}
.svc-check-cat h5{margin:0 0 6px;font-size:.85rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.svc-check-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:6px 14px}
.pagination{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:26px}
.pagination a{padding:9px 14px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--text);font-weight:600}
.pagination a:hover{background:var(--bg)}
.pagination a.current{background:var(--primary);color:#fff;border-color:var(--primary)}
.pagination .dots{padding:9px 4px;color:var(--muted)}
.attr-row{display:flex;gap:10px;margin-bottom:9px;align-items:center}
.attr-row input:first-child{flex:0 0 38%}
.attr-row input:nth-child(2){flex:1}
.notice{background:#e6f6ea;color:#1a7f37;padding:11px 15px;border-radius:9px;margin-bottom:14px}
.notice.err{background:#fdecea;color:#c0392b}

/* ---------- Responsive ---------- */
@media(min-width:760px){
  .hero-copy h1{font-size:2.6rem}
  .searchbox{max-width:440px}
  .city-grid{grid-template-columns:repeat(4,1fr)}
  .grid{grid-template-columns:repeat(4,1fr)}
  .filters .row{grid-template-columns:repeat(4,1fr)}
  .chk-grid{grid-template-columns:repeat(3,1fr)}
  .gallery-row{grid-template-columns:repeat(4,1fr)}
  .profile-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:26px;align-items:start}
  .footer-row{flex-direction:row;justify-content:space-between;align-items:center}
}
@media(max-width:759px){
  .hero-split{grid-template-columns:1fr;min-height:auto}
  .hero-model{max-height:340px;order:2}
  .hero-model img{max-height:340px}
  .hero-copy{max-width:none;padding-bottom:8px}
  .hero-copy h1{font-size:1.7rem}
  .searchbox{max-width:100%}
  .nav-toggle{display:block}
  .header-nav{position:absolute;top:62px;left:0;right:0;flex-direction:column;align-items:stretch;gap:2px;
    background:var(--ink);padding:8px 0 12px;display:none;box-shadow:0 10px 24px rgba(0,0,0,.35);z-index:70}
  .header-nav.open{display:flex}
  .header-nav a{margin:0 12px;padding:12px 14px}
  .header-nav .loc-pill{margin:6px 12px 0;justify-content:center}
  .pf-collage{grid-template-columns:repeat(3,1fr)}
  .tf-checks{grid-template-columns:1fr 1fr}
  .pf-banner{height:auto;display:grid;grid-template-columns:1fr 1fr;gap:3px}
  .pf-banner-item{height:140px}
  .pf-banner-item img{height:100%}
  .pf-banner-item:first-child{grid-column:1 / -1;height:220px}
  .pf-avatar{width:120px;height:120px;margin-top:-64px}
  .pf-header h1{font-size:1.45rem}
  .pf-chip{font-size:.8rem;padding:6px 12px}
  .spec-grid{grid-template-columns:1fr}
  .svc-columns{grid-template-columns:1fr;gap:0}
  .pf-contact-main,.pf-contact-sub{max-width:none}
  .pf-thumbs a{flex:0 0 110px;height:140px}
}

/* Erzwungene Ansichten (Umschalter) */
body.force-mobile .container{max-width:480px}
body.force-mobile .city-grid,body.force-mobile .grid{grid-template-columns:repeat(2,1fr)}
body.force-mobile .gallery-row{grid-template-columns:repeat(3,1fr)}
body.force-mobile .filters .row{grid-template-columns:1fr 1fr}
body.force-mobile .profile-layout{grid-template-columns:1fr}
body.force-mobile .hero-split{grid-template-columns:1fr;min-height:auto}
body.force-mobile .tf-tabs{grid-template-columns:1fr}
body.force-desktop{min-width:1000px}

/* ============ v12: Sticky-Footer, Mobile-Menü, Inserieren, Events, Ausschnitt ============ */

/* --- Sticky Footer + volle Höhe --- */
body{min-height:100vh;display:flex;flex-direction:column}
.admin-body{display:block}
.site-footer{margin-top:auto}
.fill-center{flex:1;display:flex;align-items:center;justify-content:center}
.fill-note{margin:auto;text-align:center}

/* --- Zentrierte Hinweise / leere Zustände --- */
.empty-note{max-width:440px;margin:0 auto;text-align:center;background:var(--card);border:1px solid var(--line);
  border-radius:var(--radius);box-shadow:var(--shadow);padding:34px 26px;display:flex;flex-direction:column;align-items:center;gap:12px}
.empty-note p{margin:0;color:var(--muted);font-size:1.02rem;line-height:1.5}
.empty-note .empty-ic{font-size:2.4rem;color:var(--primary);line-height:1}
.grid .empty-note{grid-column:1 / -1}

/* --- Mobile: Hamburger immer sichtbar in Mobil-Ansicht --- */
body.force-mobile .nav-toggle{display:block}
body.force-mobile .header-spacer{flex:1}
body.force-mobile .header-nav{position:absolute;top:62px;left:0;right:0;flex-direction:column;align-items:stretch;
  gap:2px;background:var(--ink);padding:8px 0 12px;display:none;box-shadow:0 10px 24px rgba(0,0,0,.35);z-index:70}
body.force-mobile .header-nav.open{display:flex}
body.force-mobile .header-nav a{margin:0 12px;padding:12px 14px}
body.force-mobile .header-nav .loc-pill{margin:6px 12px 0;justify-content:center}

/* --- Inserieren-Seite --- */
.ins-wrap{max-width:1000px}
.ins-head{text-align:center;margin-bottom:22px}
.ins-head h1{color:var(--primary);font-size:2rem;margin:0 0 4px}
.ins-sub{color:var(--muted);font-size:1.1rem;margin:0}
.ins-intro{display:grid;grid-template-columns:1.4fr 1fr;gap:24px;align-items:start;margin-bottom:22px}
.ins-intro h3{margin:0 0 8px}
.ins-contact-box{display:flex;flex-direction:column;gap:14px}
.ins-contact-line{display:flex;gap:12px;align-items:center;color:var(--text);background:var(--card);
  border:1px solid var(--line);border-radius:12px;padding:12px 14px;box-shadow:var(--shadow)}
.ins-contact-line small{color:var(--muted)}
.ins-ic{font-size:1.4rem;flex:0 0 auto}
.ins-form-card{margin-bottom:24px}
.ins-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.ins-col{display:flex;flex-direction:column;gap:12px}
.ins-msg textarea{min-height:200px}
.ins-why{text-align:center;max-width:760px;margin:0 auto 24px}
.ins-why h2{color:var(--primary)}
.ins-stats{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px;text-align:center}
.ins-stats-head{font-weight:800;color:var(--primary);letter-spacing:.05em;text-transform:uppercase;font-size:.9rem;margin-bottom:14px}
.ins-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ins-stat .n{font-size:1.7rem;font-weight:800;color:var(--ink)}
.ins-stat .l{color:var(--muted);font-size:.9rem}

/* --- Events: Sektions-Titel, Grid, Badges --- */
.ev-section-title{font-size:1.2rem;font-weight:800;margin:26px 0 14px;display:flex;align-items:center;gap:8px}
.ev-section-title .star{color:var(--gold)}
.ev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ev-grid-featured{margin-bottom:6px}
.ev-badge{position:absolute;top:8px;left:8px;background:var(--gold);color:#3a2c05;font-weight:800;font-size:.72rem;
  padding:3px 9px;border-radius:999px;z-index:2;box-shadow:0 1px 4px rgba(0,0,0,.25)}
.event-card{position:relative}
.event-card.is-featured{border:1.5px solid var(--gold)}
.event-card .ev-img{position:relative}

/* --- Event-Detail: Teilnehmerinnen --- */
.event-info{min-width:0}
.ev-ladies-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px}
.ev-lady{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:12px;
  overflow:hidden;box-shadow:var(--shadow);color:var(--text)}
.ev-lady-photo{aspect-ratio:3/4;background:#e9ebef}
.ev-lady-photo img{width:100%;height:100%;object-fit:cover}
.ev-lady-body{padding:10px 12px;display:flex;flex-direction:column;gap:3px}
.ev-lady-body .name{font-weight:700}
.ev-lady-body .link{color:var(--primary)}

/* --- Durchsuchbares Mehrfach-Dropdown (Admin) --- */
.msel{position:relative;max-width:560px}
.msel-box{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-height:46px;border:1px solid var(--line);
  border-radius:10px;padding:7px 10px;background:#fff;cursor:text}
.msel-placeholder{color:var(--muted)}
.msel-search{border:none;outline:none;flex:1;min-width:120px;font-size:.95rem;padding:4px}
.msel-chip{display:inline-flex;align-items:center;gap:6px;background:var(--primary);color:#fff;border-radius:999px;
  padding:4px 6px 4px 11px;font-size:.85rem;font-weight:600}
.msel-chip button{background:rgba(255,255,255,.25);border:none;color:#fff;width:18px;height:18px;border-radius:50%;
  cursor:pointer;line-height:1;font-size:.9rem}
.msel-drop{display:none;position:absolute;left:0;right:0;top:calc(100% + 4px);background:#fff;border:1px solid var(--line);
  border-radius:10px;box-shadow:var(--shadow-lg);max-height:280px;overflow:auto;z-index:40;padding:6px}
.msel-drop.open{display:block}
.msel-opt{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:8px;cursor:pointer}
.msel-opt:hover{background:#f4f0f2}
.msel-empty{padding:12px;color:var(--muted);text-align:center}

/* --- Ausschnitt-Editor --- */
.focus-stage{position:relative;width:100%;max-width:480px;margin:0 auto;aspect-ratio:16/6;border-radius:10px;
  overflow:hidden;background:#111;cursor:grab;touch-action:none;box-shadow:inset 0 0 0 2px var(--primary)}
.focus-stage:active{cursor:grabbing}
.focus-stage img{width:100%;height:100%;object-fit:cover;user-select:none;-webkit-user-drag:none}

@media(max-width:759px){
  .ins-intro{grid-template-columns:1fr}
  .ins-grid{grid-template-columns:1fr}
  .ins-msg textarea{min-height:140px}
  .ins-stats-grid{grid-template-columns:1fr;gap:12px}
  .ev-grid{grid-template-columns:1fr}
  .ev-ladies-grid{grid-template-columns:1fr 1fr}
}
/* Mobil-Ansicht erzwungen: Events/Inserieren ebenfalls gestapelt, egal wie breit */
body.force-mobile .ev-grid{grid-template-columns:1fr}
body.force-mobile .ins-intro{grid-template-columns:1fr}
body.force-mobile .ins-grid{grid-template-columns:1fr}
body.force-mobile .ins-stats-grid{grid-template-columns:1fr}
body.force-mobile .ev-ladies-grid{grid-template-columns:1fr 1fr}

/* ============ v13: Sprachauswahl-Leiste (Flaggen) ============ */
.lang-bar{display:flex;flex-wrap:wrap;gap:14px 16px;justify-content:center;padding-bottom:20px;margin-bottom:18px;border-bottom:1px solid rgba(255,255,255,.1)}
.lang-item{display:flex;flex-direction:column;align-items:center;gap:6px;color:#aeb2bd;font-size:.78rem;width:62px}
.lang-item:hover{color:#fff;opacity:1}
.lang-item.active{color:#fff;font-weight:700}
.lang-item.active .flag{box-shadow:0 0 0 2px var(--primary),0 0 0 3px #fff}
.lang-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:62px;text-align:center}
.flag{width:32px;height:32px;border-radius:50%;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.3);flex:0 0 auto}
.flag-de{background:linear-gradient(#000 0 33.33%,#dd0000 33.33% 66.66%,#ffce00 66.66% 100%)}
.flag-en{background:
  linear-gradient(0deg,transparent 40%,#fff 40% 60%,transparent 60%),
  linear-gradient(90deg,transparent 40%,#fff 40% 60%,transparent 60%),
  linear-gradient(0deg,transparent 44%,#cf142b 44% 56%,transparent 56%),
  linear-gradient(90deg,transparent 44%,#cf142b 44% 56%,transparent 56%),
  #00247d}
.flag-pl{background:linear-gradient(#fff 0 50%,#dc143c 50% 100%)}
.flag-ro{background:linear-gradient(90deg,#002b7f 0 33.33%,#fcd116 33.33% 66.66%,#ce1126 66.66% 100%)}
.flag-ru{background:linear-gradient(#fff 0 33.33%,#0039a6 33.33% 66.66%,#d52b1e 66.66% 100%)}
.flag-es{background:linear-gradient(#c60b1e 0 25%,#ffc400 25% 75%,#c60b1e 75% 100%)}
.flag-pt{background:linear-gradient(90deg,#006600 0 42%,#ff0000 42% 100%)}
.flag-hu{background:linear-gradient(#ce2939 0 33.33%,#fff 33.33% 66.66%,#477050 66.66% 100%)}
.flag-th{background:linear-gradient(#a51931 0 16.6%,#f4f5f8 16.6% 33.3%,#2d2a4a 33.3% 66.6%,#f4f5f8 66.6% 83.3%,#a51931 83.3% 100%)}
.flag-bg{background:linear-gradient(#fff 0 33.33%,#00966e 33.33% 66.66%,#d62612 66.66% 100%)}
.flag-zh{background:#de2910}
.flag-zh::after{content:"★";position:absolute;left:5px;top:2px;color:#ffde00;font-size:12px;line-height:1}

/* ============ v14: Event-Club-Standort & Rechtstexte ============ */
.event-club{margin-top:16px;background:#faf7f9;border:1px solid var(--line);border-left:3px solid var(--primary);border-radius:12px;padding:14px 16px}
.event-club-head{display:flex;align-items:center;gap:12px}
.event-club-logo{width:52px;height:52px;border-radius:10px;object-fit:cover;flex:0 0 auto}
.event-club-name{font-size:1.15rem;font-weight:800;color:var(--ink)}
.event-club-name:hover{color:var(--primary)}
.legal-page{max-width:820px}
.legal-text{white-space:pre-wrap;line-height:1.7;color:var(--text)}
.legal-text h1,.legal-text h2{white-space:normal}

/* ============ v15: Club-Info sauber, Kontakt-Block flexibel ============ */
.info-list{display:flex;flex-direction:column;gap:2px}
.info-item{padding:12px 0;border-bottom:1px solid var(--line)}
.info-item:last-child{border-bottom:none}
.info-item:first-child{padding-top:0}
.info-label{font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--primary);margin-bottom:4px}
.info-value{color:var(--text);line-height:1.55}
/* Kontakt-Block: Buttons füllen den Platz sauber, egal wie viele */
.pf-contact-main,.pf-contact-sub{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.pf-contact-note{color:var(--muted);margin:6px 0 14px}
.pf-contact-single{max-width:300px;margin:8px auto 0}
/* Sprachauswahl auf der Altersabfrage (heller Hintergrund) */
.age-lang{border-bottom:none;border-top:1px solid var(--line);padding-top:18px;margin-top:20px;margin-bottom:0;gap:10px 12px}
.age-lang .lang-item{color:var(--muted);width:56px;font-size:.72rem}
.age-lang .lang-item:hover{color:var(--ink)}
.age-lang .lang-item.active{color:var(--ink)}
.age-lang .flag{width:26px;height:26px}
