/* Gemeinsame Veranstaltungsdetails; Farben stammen aus userdata/css/public-theme.css. */
.pe,.pe *,.pe *:before,.pe *:after{box-sizing:border-box}
.pe{font:400 15px/1.75 PublicInter,Inter,Arial,sans-serif;color:var(--ps-ink);background:#fff;-webkit-font-smoothing:antialiased}
.pe :is(h1,h2,h3,p,figure){margin:0;padding:0;border:0;background:none;font-family:inherit;float:none;width:auto;height:auto}
.pe :is(h1,h2,h3){font-weight:600;letter-spacing:-.035em;color:var(--ps-ink);line-height:1.3}
.pe a{color:inherit;text-decoration:none}.pe a:focus-visible{outline:3px solid var(--ps-red);outline-offset:4px}
.pe svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}
.pe-container{max-width:1240px;width:100%;margin-inline:auto;padding-inline:20px}
.pe-back{display:inline-flex;align-items:center;gap:10px;min-height:44px;margin-block:15px 18px;font-size:12px;font-weight:500;color:var(--ps-muted)!important}
.pe-back svg{width:15px;height:15px;transform:rotate(180deg)}.pe-back:hover{color:var(--ps-red)!important}
.pe-hero{display:grid;grid-template-areas:"copy" "image";gap:25px;padding-bottom:32px}
.pe-hero-copy{grid-area:copy;min-width:0;align-self:center}
.pe h1{font-size:clamp(32px,4.3vw,53px);line-height:1.12;letter-spacing:-.055em;overflow-wrap:anywhere;hyphens:auto}
.pe-category{display:inline-flex;border:1px solid var(--ps-line);background:var(--ps-paper);color:var(--ps-red);font-size:11px;font-weight:600;line-height:1.5;border-radius:5px;padding:5px 9px;margin-bottom:15px}
.pe .pe-intro{font-size:15px;line-height:1.8;color:var(--ps-muted);margin-top:17px;max-width:520px;overflow-wrap:anywhere}
.pe-jump{display:inline-flex;align-items:center;gap:12px;min-height:44px;margin-top:16px;font-size:13px;font-weight:600;color:var(--ps-red)!important}.pe-jump svg{width:16px;height:16px;transform:rotate(90deg)}
.pe-image{grid-area:image;min-width:0;overflow:hidden;border:1px solid var(--ps-line);border-radius:12px;background:var(--ps-paper);align-self:center}
.pe-image img{display:block;width:100%;height:auto;max-height:480px;object-fit:contain}
.pe-image-fallback{display:grid;justify-items:center;align-content:center;gap:12px;aspect-ratio:1.5;color:var(--ps-muted);font-size:24px;font-weight:500;letter-spacing:-.04em}.pe-image-fallback svg{width:48px;height:48px;color:var(--ps-red);stroke-width:1}
.pe-booking{scroll-margin-top:calc(var(--ps-header-height) + 25px);padding-top:28px;border-top:1px solid var(--ps-line)}
.pe-section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}
.pe-section-heading h2{display:flex;align-items:center;gap:10px;font-size:23px;letter-spacing:-.04em}.pe-section-heading h2>svg{color:var(--ps-red);width:22px;height:22px}
.pe-section-heading>span{font-size:12px;color:var(--ps-muted);white-space:nowrap}
.pe-dates{display:grid;gap:0;overflow:hidden;border:1px solid var(--ps-line);border-radius:9px;background:#fff}
.pe-date-row{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;padding:16px 18px;border-bottom:1px solid var(--ps-line);background:#fff;transition:background .18s}
.pe-date-row:last-child{border-bottom:0}
.pe-date-main{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0}
.pe-date-summary{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0}
.pe-date-label{display:inline-flex;align-items:baseline;gap:9px;white-space:nowrap;font-size:14px;line-height:1.5}
.pe-weekday{display:inline-block;min-width:28px;color:var(--ps-red);font-weight:600;letter-spacing:-.02em}
.pe-date-label strong{font-weight:600;letter-spacing:-.025em;color:var(--ps-ink);font-variant-numeric:tabular-nums}
.pe-time{white-space:nowrap;font-size:13px;line-height:1.5;color:var(--ps-muted);font-variant-numeric:tabular-nums}
.pe-status{display:inline-flex;align-items:center;gap:6px;color:#446644;background:#eff5ed;border:1px solid #dbe6d6;border-radius:4px;font-size:10px;font-weight:500;line-height:1.5;padding:3px 6px;margin-top:0;max-width:100%}
.pe-status:before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor;flex:none}.pe-status.is-limited{color:#86601f;background:#fcf4e5;border-color:#ecd9b6}.pe-status.is-unknown{color:#716c70;background:#f5f3f5;border-color:#e3dfe3}
.pe-date-price{display:flex;align-items:baseline;gap:7px;white-space:nowrap}
.pe-date-price>strong{display:block;font-size:19px;line-height:1.25;font-weight:600;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.pe-date-price>strong>span{font-size:13px;font-weight:500;letter-spacing:0}
.pe-date-price>small{display:block;font-size:10px;color:var(--ps-muted)}
.pe-date-action{min-width:0;justify-self:stretch}
.pe-date-action>.pe-button,.pe-date-action>.pe-unavailable{width:100%;min-height:44px;padding:10px 14px;font-size:12px}
.pe-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:46px;padding:11px 15px;border:1px solid var(--ps-dark-red);border-radius:6px;color:#fff!important;background:linear-gradient(135deg,var(--ps-red),var(--ps-dark-red));font-size:12px;font-weight:500;line-height:1.5;white-space:nowrap;transition:background .18s,box-shadow .18s}
.pe-button svg{width:17px;height:17px}.pe-button:hover{background:var(--ps-dark-red);box-shadow:0 4px 12px #56000015}
.pe-unavailable{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:11px 15px;border:1px solid var(--ps-line);border-radius:6px;background:var(--ps-paper);color:var(--ps-muted);font-size:12px;font-weight:500;line-height:1.5;white-space:nowrap}.pe-unavailable svg{width:17px;height:17px}
.pe-empty{display:flex;align-items:flex-start;gap:16px;border:1px solid var(--ps-line);border-radius:10px;padding:24px;background:var(--ps-paper)}.pe-empty>svg{width:25px;height:25px;color:var(--ps-red);margin-top:2px}.pe-empty h3{font-size:17px}.pe-empty p{font-size:13px;color:var(--ps-muted);margin-top:7px}.pe-empty a{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:500;color:var(--ps-red);min-height:44px;margin-top:7px}.pe-empty a svg{width:15px;height:15px}
.pe-information{margin-top:40px;padding-top:30px;border-top:1px solid var(--ps-line);scroll-margin-top:calc(var(--ps-header-height) + 25px)}
.pe-description{max-width:880px;font-size:14px;line-height:1.9;color:var(--ps-ink);overflow-wrap:anywhere}.pe-description p{margin-block:0 18px}.pe-description :is(h2,h3){margin-block:26px 14px}.pe-description h2{font-size:23px}.pe-description h3{font-size:19px}.pe-description a{color:var(--ps-red);text-decoration:underline;text-underline-offset:3px}.pe-description img{max-width:100%;height:auto}.pe-description table{max-width:100%}
.pe .pe-gallery{margin-top:30px;max-width:960px}.pe-gallery img{display:block;width:100%;height:auto;border-radius:10px}
.pe-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 24px;border-top:1px solid var(--ps-line);padding-block:20px 15px;margin-top:40px;font-size:12px;font-weight:500}.pe-bottom a{display:inline-flex;align-items:center;gap:9px;min-height:44px}.pe-bottom a:hover{color:var(--ps-red)}.pe-bottom svg{width:16px;height:16px}.pe-bottom>a:first-child svg{transform:rotate(180deg)}
.pe-not-found{padding-block:65px}.pe-not-found>svg{width:36px;height:36px;color:var(--ps-red);margin-bottom:20px}.pe-not-found h1{font-size:36px}.pe-not-found p{margin-block:18px 25px;color:var(--ps-muted);max-width:600px}
@media(min-width:640px){.pe-container{padding-inline:30px}.pe-hero{grid-template-areas:"image copy";grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:30px;padding-bottom:40px}.pe h1{font-size:clamp(32px,4.1vw,53px)}.pe-date-action{justify-self:stretch}.pe-button,.pe-unavailable{width:100%;padding:12px 16px}.pe-status{font-size:11px}.pe-description{font-size:15px}}
@media(min-width:1000px){.pe-container{padding-inline:40px}.pe-back{margin-block:20px 23px}.pe-hero{gap:60px;padding-bottom:48px}.pe-hero-copy{padding-block:15px}.pe .pe-intro{font-size:16px}.pe-section-heading h2{font-size:26px}.pe-button,.pe-unavailable{font-size:13px;min-height:48px}.pe-information{margin-top:48px;padding-top:36px}.pe-description{font-size:15px;line-height:1.95}}
@media(max-width:360px){.pe-container{padding-inline:16px}.pe-section-heading h2{font-size:21px}.pe-section-heading>span{font-size:10px}.pe-button,.pe-unavailable{padding-inline:11px;gap:8px}}
@media(prefers-reduced-motion:reduce){.pe *{transition:none!important;scroll-behavior:auto!important}}

.pe-dates>.pe-empty{border:0;border-radius:0}
@media(min-width:640px){.pe-date-row{grid-template-columns:minmax(0,1fr) 90px 150px;align-items:center;gap:18px;padding:10px 18px}.pe-date-main{flex-direction:row;align-items:center;flex-wrap:wrap;gap:6px 18px}.pe-date-summary{flex-direction:row;align-items:center;gap:20px}.pe-date-label{min-width:143px}.pe-date-price{display:block}.pe-date-price>small{margin-top:2px}}
@media(min-width:1000px){.pe-date-row{grid-template-columns:minmax(0,1fr) 100px 170px;gap:24px;padding-inline:22px}.pe-date-main{gap:8px 26px}.pe-date-summary{gap:26px}.pe-date-label{font-size:15px;min-width:153px}.pe-time{font-size:13px}}
@media(hover:hover){.pe-date-row:hover{background:var(--ps-paper)}}
