/* Ticket-Alternative: vorerst nur Halle, bestehende Variante bleibt zum Vergleich. */
.ticket-preview .section-intro { max-width: 700px; }
.ticket-preview-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.ticket-pass { min-width:0; background:var(--white); border:1px solid var(--light-gray); border-radius:var(--radius-lg); overflow:hidden; display:flex; flex-direction:column; transition:transform .2s ease,border-color .2s ease; }
.ticket-pass-top { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:14px 22px; background:var(--primary); color:var(--white); }
.ticket-pass-top span { font-family:var(--font-display); font-weight:600; text-transform:uppercase; letter-spacing:.04em; font-size:1rem; }
.ticket-pass-top i { font-size:1.4rem; transform:rotate(-15deg); }
.ticket-pass-body { padding:22px; flex:1; }
.ticket-pass-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.ticket-preview .ticket-pass-heading h3 { padding:0; margin:0; font-family:var(--font-display); color:var(--primary); font-size:1.65rem; line-height:1.15; font-weight:700; text-transform:uppercase; }
.ticket-price-tag { flex-shrink:0; display:inline-flex; align-items:center; padding:6px 12px; border-radius:var(--radius-sm); background:var(--off-white); color:var(--primary); font-family:var(--font-display); font-size:1rem; font-weight:700; }
.ticket-preview .ticket-pass-body p { margin:10px 0 12px; color:var(--text); line-height:1.5; }
.ticket-preview .ticket-pass-body ul { margin:0; padding-left:19px; color:var(--text); line-height:1.55; }
.ticket-preview .ticket-pass-body li + li { margin-top:5px; }
.ticket-pass-stub { position:relative; display:flex; align-items:center; justify-content:space-between; gap:12px; border-top:1px dashed var(--mid-gray); padding:14px 22px; color:var(--primary); }
.ticket-pass-stub::before,.ticket-pass-stub::after { content:""; position:absolute; width:16px; height:16px; top:-9px; border:1px solid var(--light-gray); border-radius:50%; background:var(--off-white); }
.ticket-pass-stub::before { left:-9px; }.ticket-pass-stub::after { right:-9px; }
.ticket-pass-stub > span:first-child { font-family:var(--font-display); font-size:1rem; font-weight:600; }
.ticket-pass-bars { width:58px; height:22px; opacity:.55; background:repeating-linear-gradient(90deg,var(--primary) 0 2px,transparent 2px 4px,var(--primary) 4px 5px,transparent 5px 8px); }
.ticket-purchase { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:22px; background:var(--white); border:1px solid var(--light-gray); border-radius:var(--radius-md); }
.ticket-preview .ticket-purchase h3 { margin:0 0 6px; padding:0; font-family:var(--font-display); font-weight:700; font-size:1.25rem; color:var(--primary); text-transform:uppercase; }
.ticket-preview .ticket-purchase p { margin:0; line-height:1.5; max-width:650px; }
.ticket-purchase > .btn { flex-shrink:0; }
@media(hover:hover) and (prefers-reduced-motion:no-preference) { .ticket-pass:hover { transform:translateY(-3px); } }
@media(prefers-reduced-motion:reduce) { .ticket-pass { transition:none; } }
@media(max-width:640px) {
 .ticket-preview-options { grid-template-columns:1fr; gap:16px; }
 .ticket-pass-top { padding:12px 16px; }.ticket-pass-body { padding:18px 16px; }.ticket-pass-stub { padding:12px 16px; }
 .ticket-preview .ticket-pass-heading h3 { font-size:1.5rem; }
 .ticket-purchase { flex-direction:column; align-items:stretch; gap:16px; padding:18px 16px; }
 .ticket-purchase > .btn { width:100%; }
}

/* FAQ-Antworten: klare Absätze, Listen und gezielte Aktionen statt Textblöcke. */
/* Textlink-Regeln nicht auf Aktionsbuttons übertragen. */

/* Kompakte Ticketwahl und dezenter Kartenfächer. Keine Kaufhandlung auf der Karte. */
.ticket-choice[hidden] { display:none; }
.ticket-preview .ticket-recommendation { margin:12px 0 18px; min-height:1.5em; line-height:1.5; color:var(--primary); }
.ticket-preview-options { max-width:1000px; margin-inline:auto; gap:16px; align-items:start; isolation:isolate; }
.ticket-pass { position:relative; border-radius:var(--radius-md); transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease; }
.ticket-pass-top { padding:10px 16px; }.ticket-pass-top span { font-size:.9rem; }.ticket-pass-top i { font-size:1.15rem; }
.ticket-pass-body { padding:16px; }
.ticket-preview .ticket-pass-heading h3 { font-size:1.4rem; }
.ticket-price-tag { padding:4px 9px; font-size:.95rem; }
.ticket-preview .ticket-pass-body p { margin:10px 0 0; line-height:1.45; }
.ticket-preview .ticket-pass-body .ticket-pass-date { color:var(--mid-gray); margin-top:6px; font-size:.95rem; }
.ticket-pass-stub { padding:10px 16px; }.ticket-pass-bars { height:18px; width:44px; }
.ticket-pass.is-recommended { border-color:var(--accent); z-index:3; }
.ticket-pass.is-recommended .ticket-pass-top { background:var(--accent); }
.ticket-pass:focus-visible { outline:3px solid var(--accent); outline-offset:4px; }
@media(min-width:900px) {
 .ticket-preview-options { display:flex; gap:0; padding:8px 18px 28px; }
 .ticket-preview-options .ticket-pass { flex:0 0 calc((100% + 72px)/3); }
 .ticket-preview-options .ticket-pass:first-child { transform:rotate(-2deg); z-index:1; }
 .ticket-preview-options .ticket-pass:nth-child(2) { margin-left:-36px; margin-top:12px; transform:rotate(0deg); z-index:2; }
 .ticket-preview-options .ticket-pass:last-child { margin-left:-36px; margin-top:24px; transform:rotate(2deg); z-index:3; }
 .ticket-preview-options .ticket-pass.is-recommended { z-index:4; }
 .ticket-preview-options .ticket-pass:focus-visible { z-index:5; transform:translateY(-5px) rotate(0deg); }
}
@media(min-width:900px) and (hover:hover) {
 .ticket-preview-options .ticket-pass:hover { z-index:5; transform:translateY(-5px) rotate(0deg); }
}
@media(max-width:640px) {
 .ticket-preview-options { gap:12px; }
 .ticket-preview .ticket-pass-heading h3 { font-size:1.4rem; }
 .ticket-pass-body { padding:14px 16px; }
}
@media(prefers-reduced-motion:reduce) {
 .ticket-preview-options .ticket-pass { transition:none; transform:none; }
 .ticket-preview-options .ticket-pass:is(:hover,:focus) { transform:none; }
}

/* Ein kompakter Interessenwähler statt auseinandergezogener Tagesfilter. */
.ticket-preview .section-intro { margin-bottom:16px; }
.ticket-preview .ticket-choice { display:flex; align-items:center; flex-wrap:wrap; gap:8px 16px; margin:0; padding:0; }
.ticket-preview .ticket-choice[hidden] { display:none; }
.ticket-preview .ticket-choice label { display:block; width:auto; padding:0; margin:0; font-family:var(--font-display); font-size:1rem; font-weight:600; line-height:1.3; color:var(--primary); }
.ticket-preview #ticket-interest { box-sizing:border-box; display:block; width:460px; max-width:100%; min-width:0; min-height:44px; height:auto; padding:10px 36px 10px 12px; margin:0; border:1px solid var(--light-gray); border-radius:var(--radius-sm); background-color:var(--white); color:var(--primary); font-family:var(--font-body); font-size:1rem; font-weight:400; line-height:1.4; box-shadow:none; color-scheme:light; }
.ticket-preview .ticket-recommendation { margin:8px 0 12px; }
@media(min-width:900px) { .ticket-preview-options { padding-top:4px; padding-bottom:20px; } }
@media(max-width:640px) {
 .ticket-preview .ticket-choice { display:block; }
 .ticket-preview .ticket-choice label { margin-bottom:6px; }
 .ticket-preview #ticket-interest { width:100%; }
}

/* Legacy-* setzt Weiss auf jedes Element: Textrollen hier gezielt zurücksetzen. */
.ticket-preview :is(strong, em) { color:inherit; }
.ticket-preview .ticket-pass-stub > span { color:var(--primary); }
.ticket-preview #ticket-interest option { color:var(--primary); background:var(--white); }
.ticket-preview .ticket-pass-top :is(span, i) { color:var(--white); }

/* Derselbe helle Dropdown-Baustein wie in Kontakt- und Helferformularen. */
.ticket-preview .ticket-choice > .contact-select { width:460px; max-width:100%; }
.ticket-preview #ticket-interest[hidden] { display:none; }
.ticket-preview .contact-select-trigger { position:relative; min-height:44px; height:auto; text-transform:none; letter-spacing:normal; box-shadow:none; transition:none; }
.ticket-preview .contact-select-trigger:is(:hover,:focus) { box-shadow:none; transform:none; background:var(--off-white); }
.ticket-preview .contact-select-options button { height:auto; min-height:40px; text-transform:none; letter-spacing:normal; box-shadow:none; transform:none; }
.ticket-preview .contact-select-options button:is(:hover,:focus) { box-shadow:none; transform:none; }
@media(max-width:760px) { .ticket-preview-options { grid-template-columns:1fr; max-width:480px; } }
@media(max-width:640px) { .ticket-preview .ticket-choice > .contact-select { width:100%; } }

.ticket-preview .ticket-purchase { margin-top:16px; }

/* Dezente Produkthierarchie ausschliesslich mit vorhandenen Markenfarben. */
.ticket-preview .ticket-pass { --ticket-tone:var(--primary); }
.ticket-preview .ticket-pass[id="ticket-saturday"] { --ticket-tone:var(--primary-mid); }
.ticket-preview .ticket-pass[id="ticket-weekend"] { --ticket-tone:var(--primary-dark); }
.ticket-preview .ticket-pass .ticket-pass-top { background:var(--ticket-tone); }
.ticket-preview .ticket-pass .ticket-pass-stub { background:var(--off-white); background:color-mix(in srgb,var(--ticket-tone) 5%,var(--white)); }
.ticket-preview .ticket-pass .ticket-price-tag { color:var(--ticket-tone); background:var(--off-white); background:color-mix(in srgb,var(--ticket-tone) 8%,var(--white)); }
.ticket-preview .ticket-pass[id="ticket-weekend"] .ticket-pass-stub,
.ticket-preview .ticket-pass[id="ticket-weekend"] .ticket-price-tag { background:color-mix(in srgb,var(--accent) 7%,var(--white)); }
.ticket-preview .ticket-pass[id="ticket-weekend"] .ticket-pass-stub > span:first-child,
.ticket-preview .ticket-pass[id="ticket-weekend"] .ticket-price-tag { color:var(--accent-dark); }
.ticket-preview .ticket-pass.is-recommended .ticket-pass-top { background:var(--accent); }
.ticket-preview .ticket-pass:hover:not(.is-recommended) { border-color:var(--light-gray); }
.ticket-preview .ticket-pass:focus:not(:focus-visible) { outline:none; }

/* Weiche Tiefenstaffelung nur beim Desktop-Kartenfächer. */
@media(min-width:900px) {
 .ticket-preview-options .ticket-pass { box-shadow:0 7px 22px rgba(27,24,64,.10),0 2px 5px rgba(27,24,64,.05); }
 .ticket-preview-options .ticket-pass:focus-visible { box-shadow:0 14px 32px rgba(27,24,64,.16),0 3px 8px rgba(27,24,64,.06); }
}
@media(min-width:900px) and (hover:hover) {
 .ticket-preview-options .ticket-pass:hover { box-shadow:0 14px 32px rgba(27,24,64,.16),0 3px 8px rgba(27,24,64,.06); }
}

/* Tatsächliche Stanzungen: Oberfläche maskieren, Schatten am äusseren Artikel. */
.ticket-preview .ticket-pass.ticket-pass-cutout { background:transparent; border:0; overflow:visible; box-shadow:none; transition:transform .22s ease,filter .22s ease; }
.ticket-pass-surface { position:relative; display:flex; flex-direction:column; flex:1; width:100%; min-width:0; background:var(--white); border:1px solid var(--light-gray); border-radius:inherit; overflow:hidden; }
.ticket-pass-cutout.is-recommended .ticket-pass-surface { border-color:var(--accent); }
.ticket-pass-cutout .ticket-pass-stub::before,.ticket-pass-cutout .ticket-pass-stub::after { content:none; }
@supports (mask-composite:intersect) or (-webkit-mask-composite:source-in) {
 .ticket-pass-cutout.has-ticket-notches .ticket-pass-surface {
  --ticket-notch-radius:8px;
  -webkit-mask-image:radial-gradient(circle var(--ticket-notch-radius) at left var(--ticket-notch-y),transparent calc(var(--ticket-notch-radius) - .5px),#000 var(--ticket-notch-radius)),radial-gradient(circle var(--ticket-notch-radius) at right var(--ticket-notch-y),transparent calc(var(--ticket-notch-radius) - .5px),#000 var(--ticket-notch-radius));
  mask-image:radial-gradient(circle var(--ticket-notch-radius) at left var(--ticket-notch-y),transparent calc(var(--ticket-notch-radius) - .5px),#000 var(--ticket-notch-radius)),radial-gradient(circle var(--ticket-notch-radius) at right var(--ticket-notch-y),transparent calc(var(--ticket-notch-radius) - .5px),#000 var(--ticket-notch-radius));
  -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat;
  -webkit-mask-size:100% 100%; mask-size:100% 100%;
  -webkit-mask-composite:source-in; mask-composite:intersect; mask-mode:alpha;
 }
}
@media(min-width:900px) {
 .ticket-preview .ticket-preview-options .ticket-pass-cutout { box-shadow:none; filter:drop-shadow(0 7px 11px rgba(27,24,64,.10)) drop-shadow(0 2px 3px rgba(27,24,64,.05)); }
 .ticket-preview .ticket-preview-options .ticket-pass-cutout:focus-visible { box-shadow:none; filter:drop-shadow(0 14px 16px rgba(27,24,64,.16)) drop-shadow(0 3px 4px rgba(27,24,64,.06)); }
}
@media(min-width:900px) and (hover:hover) {
 .ticket-preview .ticket-preview-options .ticket-pass-cutout:hover { box-shadow:none; filter:drop-shadow(0 14px 16px rgba(27,24,64,.16)) drop-shadow(0 3px 4px rgba(27,24,64,.06)); }
}
@media(prefers-reduced-motion:reduce) { .ticket-preview .ticket-pass.ticket-pass-cutout { transition:none; } }
