/* Equal slots keep metadata and actions aligned despite long source titles. */
.event-card>.event-art,.event-detail-art{border-radius:24px;overflow:hidden;isolation:isolate}
.event-card>.event-art{margin:0;width:100%;border-radius:var(--radius,24px) var(--radius,24px) 0 0}
.event-detail-art{box-shadow:0 10px 32px #64162b12;border:0}
.event-art .event-source-image{border-radius:inherit}
.grid>.event-card{display:flex;flex-direction:column;min-width:0}
.event-card>.event-art{flex:none;height:220px}
.event-card .event-body{display:flex;flex-direction:column;flex:1;min-width:0;gap:14px;padding:24px}
.event-card .event-body>.tag{align-self:flex-start}
.event-card .event-body>h3{margin:0;line-height:1.25;height:3.75em;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;overflow-wrap:anywhere}
.event-card .event-body>p{margin:0;line-height:1.6;height:4.8em;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow-wrap:anywhere}
.event-card .event-body>.count{margin-top:auto}
.event-card .event-body>.actions{margin:4px 0 0;min-height:44px}
.event-card .event-body>.actions .button{min-height:44px}
.event-information{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:40px;margin:48px 0}
.event-information-main,.event-information-aside{min-width:0}
.event-information-main{padding:32px;background:#fff;border:1px solid var(--line);border-radius:24px}
.event-information-main h2{font-size:clamp(28px,3vw,40px);margin:12px 0 24px}
.event-description p{white-space:pre-line;line-height:1.8;overflow-wrap:anywhere}
.event-information-aside{display:grid;align-content:start;gap:18px}
.event-information-aside section{border:1px solid var(--line);border-radius:22px;background:#fff;padding:24px}
.event-information-aside h3{margin:0 0 12px;font-size:19px}.event-information-aside p{line-height:1.6;overflow-wrap:anywhere}
.event-resources{display:grid;gap:10px}.event-resource{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:46px;padding:12px 16px;border:1px solid var(--line);border-radius:14px;color:var(--burgundy);background:var(--blush);font-weight:700;overflow-wrap:anywhere}
.event-resource:hover{border-color:var(--wine);background:var(--rose)}.event-resource:focus-visible{outline:3px solid var(--wine);outline-offset:3px}
.event-categories{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.event-categories span{padding:8px 12px;border-radius:999px;background:var(--rose);font-size:13px}
@media(max-width:760px){.event-information{grid-template-columns:minmax(0,1fr);gap:18px;margin-top:30px}.event-information-main{padding:24px}.event-card .event-body>h3,.event-card .event-body>p{height:auto;display:block;overflow:visible}.event-card .event-body{gap:12px}}

.event-gallery{margin:0;min-width:0}
.event-gallery-thumbnails{display:flex;gap:10px;overflow-x:auto;padding:12px 2px;scrollbar-width:thin}
.event-gallery-thumbnails button{flex:0 0 84px;height:64px;padding:3px;border:2px solid transparent;border-radius:14px;background:#fff}
.event-gallery-thumbnails button[aria-pressed="true"]{border-color:var(--burgundy)}
.event-gallery-thumbnails img{width:100%;height:100%;object-fit:cover;border-radius:9px}
.event-gallery-thumbnails button:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.event-save-row{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:18px 0 24px}
.event-bookmark{display:inline-flex;align-items:center;gap:9px;min-height:44px}
.event-bookmark svg{width:20px;height:20px}
.event-bookmark.selected svg{fill:currentColor}
.event-bookmark.selected{background:var(--rose)}
.product-event .event-actions:empty{display:none}

.event-bookmarks-toolbar{margin:0 0 16px}.event-card .actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.event-card-bookmark{padding:10px 14px}.event-bookmark:disabled{opacity:.65;cursor:wait}
.product-events .event-card.is-hidden{display:none!important}

.event-rsvp[aria-pressed=true]{background:var(--burgundy)}.event-save-row{flex-wrap:wrap}

.button.event-bookmark{background:#ececef;color:#53545b;border:1px solid #d7d8dd;box-shadow:0 3px 10px #20212b0a}.button.event-bookmark:hover{background:#e1e2e7;color:#36373e}.button.event-bookmark.selected{background:#d9dbe1;color:#34353c;border-color:#b7bac4}.button.event-bookmark:focus-visible{outline:3px solid #868b99;outline-offset:3px}
/* festl-v378: Symbolbild (stock photo) label – discreet on cards, credit line on the event detail. */
.event-art .event-art-stock{position:absolute;right:10px;bottom:10px;z-index:2;padding:2px 8px;border-radius:999px;background:#0000005c;color:#fff;font-size:11px;font-weight:600;line-height:18px;letter-spacing:.01em;pointer-events:none;backdrop-filter:blur(2px)}
.event-detail-art .event-art-stock{font-size:12px;right:14px;bottom:14px}
.event-art .event-source-image:not([src])~.event-art-stock{display:none}
.event-stock-credit a{color:inherit;text-decoration:underline;text-underline-offset:2px}
/* Event list pictures fade in over the fixed-size branded placeholder once decoded (no layout shift). */
.event-art .event-source-image[data-fade]{opacity:0;transition:opacity .2s ease-out}
.event-art .event-source-image[data-fade].is-loaded{opacity:1}
@media (prefers-reduced-motion:reduce){.event-art .event-source-image[data-fade]{transition:none}}
/* v478: Event melden + Veranstalter kontaktieren as a two-button row */
.report-actions.event-paired-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.report-actions.event-paired-actions>*{width:100%;min-width:0;justify-content:center;text-align:center;white-space:normal}
.event-contact[disabled]{opacity:.45;cursor:not-allowed}
.event-contact-sheet .event-contact-options{display:grid;gap:8px;padding:12px}

/* v494 Kontaktieren == Event melden: same pill, size, font, one line, for <a> and <button> alike */
.report-actions.event-paired-actions>.report-button{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;margin:0;padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--burgundy);font:inherit;font-size:.9rem;font-weight:600;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none}
/* v526: an image that sits on top of more content in the same panel (the "Dein Event"/event-detail hero above the
   Bin dabei / vorgemerkt row) has square bottom corners: only the panel's outer corners are rounded. */
html body .event-overview .event-art.event-detail-art,html body .event-overview .event-art.event-detail-art .event-source-image,html body .event-overview .event-art.event-detail-art :is(.event-art-stock,.event-art-placeholder){border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}
