/*
Theme Name: Frieder Morgenstern – Feinste Musik
Description: Maßgeschneiderter Webauftritt für Frieder Morgenstern.
Version: 1.1.28
Author: Friedrich Martin Morgenstern
*/

@import url("site.css?ver=1.1.28");

/* The heading receives focus when the occasion dialog closes. */
#hero-title:focus { outline: none; }

/* Touch-Eingaben bleiben auf Smartphones gut lesbar und lösen keinen iOS-Zoom aus. */
@media(max-width:600px){.booking-form input:not([type="checkbox"]):not([type="radio"]),.booking-form select,.booking-form textarea{font-size:16px!important}}

/* Frühe Eventwahl mit synchronisierter Formularauswahl und passenden Farbwelten. */
.event-chooser{width:min(720px,100%);margin:0 auto 17px;padding:0;border:0}
.event-chooser legend{margin:0 auto 10px;padding:0;color:#fffaf2;font:700 10px/1.3 Arial,Helvetica,sans-serif;letter-spacing:.16em;text-align:center;text-transform:uppercase;text-shadow:0 1px 6px rgba(0,0,0,.8)}
.event-choices{display:flex;justify-content:center;flex-wrap:wrap;gap:8px}
.event-choice{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 19px;border:1px solid rgba(255,250,242,.72);border-radius:2px;background:rgba(32,32,36,.2);color:#fffaf2;font:700 12px/1 Arial,Helvetica,sans-serif;letter-spacing:.09em;text-shadow:none;text-transform:uppercase;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s,transform .2s}
.event-choice:hover{background:rgba(255,250,242,.24);transform:translateY(-1px)}
.event-choice input{position:absolute;width:1px;height:1px;opacity:0}
.event-choice:has(input:checked){background:#f6f3ee;border-color:#f6f3ee;color:#2b2730}
.event-choice:has(input:focus-visible){outline:2px solid #fffaf2;outline-offset:3px}
/* Event styling starts below the unchanged opening banner. */
body[data-event-theme="firmenfeier"]{--event-accent:#526b7d;--event-soft:rgba(82,107,125,.12);--event-line:rgba(82,107,125,.24);--event-radius:6px;--package-selected-bg:#f2f5f6;background-color:#edf1f3;color:#303b43}
body[data-event-theme="geburtstag"]{--event-accent:#a95e6d;--event-soft:rgba(181,109,120,.12);--event-line:rgba(117,78,90,.3);--event-radius:14px;--package-selected-bg:#eee0df;background-color:#f0e5e1;color:#3c3033}
body[data-event-theme="sonstiges"]{--event-accent:#80665f;--event-soft:rgba(128,102,95,.1);--event-line:rgba(98,84,93,.28);--event-radius:8px;--package-selected-bg:#e9dfd8}
body[data-event-theme="hochzeit"]{--header-surface:245,239,230;--header-text-end:43 39 48}
body[data-event-theme="firmenfeier"]{--header-surface:237,241,243;--header-text-end:48 59 67;--header-border-color:82,107,125}
body[data-event-theme="geburtstag"]{--header-surface:234,219,215;--header-text-end:60 48 51}
body[data-event-theme="sonstiges"]{--header-surface:232,222,216;--header-text-end:60 48 47}
body[data-event-theme]:not([data-event-theme="hochzeit"]) .film-section,
body[data-event-theme]:not([data-event-theme="hochzeit"]) .site-header nav a[href="#film"]{display:none}
body[data-event-theme="firmenfeier"] .film-section{background:#e9eef0;color:#303b43}
body[data-event-theme="firmenfeier"] .audio-section{background:#e4eaed;color:#303b43}
body[data-event-theme="firmenfeier"] .portfolio{background:#f4f6f7;color:#303b43}
body[data-event-theme="firmenfeier"] .booking-copy{background:#edf1f3;color:#303b43}
body[data-event-theme="firmenfeier"] .booking-form{background:linear-gradient(145deg,#e8edf0 0%,#e2e8eb 68%,#dbe3e7 100%);color:#303b43}
body[data-event-theme="firmenfeier"] footer{background:#e6ecef;color:#303b43}
body[data-event-theme="geburtstag"] .film-section{background:#f0e5e1;color:#3c3033}
body[data-event-theme="geburtstag"] .audio-section{background:#ebded9;color:#3c3033}
body[data-event-theme="geburtstag"] .portfolio{background:#f7efec;color:#3c3033}
body[data-event-theme="geburtstag"] .booking-copy{background:#f4eae6;color:#3c3033}
body[data-event-theme="geburtstag"] .booking-form{background:linear-gradient(145deg,#f1e5e0 0%,#eadbd6 68%,#e2d0cb 100%);color:#3c3033}
body[data-event-theme="geburtstag"] footer{background:#eee2de;color:#3c3033}
body[data-event-theme="firmenfeier"] .film-section,
body[data-event-theme="firmenfeier"] .audio-section,
body[data-event-theme="firmenfeier"] .portfolio,
body[data-event-theme="firmenfeier"] .booking-form,
body[data-event-theme="firmenfeier"] footer{--orange:#72899a;--burgundy:#475f70}
body[data-event-theme="firmenfeier"] .booking-copy{--orange:#698195;--burgundy:#405969}
body[data-event-theme="geburtstag"] .audio-section,
body[data-event-theme="geburtstag"] .portfolio,
body[data-event-theme="geburtstag"] .booking-copy,
body[data-event-theme="geburtstag"] .booking-form,
body[data-event-theme="geburtstag"] footer{--orange:#b56d78;--burgundy:#754e5a}
body[data-event-theme="geburtstag"] .booking-copy{--orange:#b56d78;--burgundy:#754e5a}
body[data-event-theme="sonstiges"] .audio-section,
body[data-event-theme="sonstiges"] .portfolio,
body[data-event-theme="sonstiges"] .booking-copy,
body[data-event-theme="sonstiges"] .booking-form,
body[data-event-theme="sonstiges"] footer{--orange:#98766d;--burgundy:#62545d}
body[data-event-theme]:not([data-event-theme="hochzeit"]) .script-accent,
body[data-event-theme]:not([data-event-theme="hochzeit"]) .number,
body[data-event-theme]:not([data-event-theme="hochzeit"]) .form-section-label span,
body[data-event-theme]:not([data-event-theme="hochzeit"]) .booking-copy h2 em{color:var(--event-accent)}
body[data-event-theme]:not([data-event-theme="hochzeit"]) .slider-tabs button:after{background:var(--event-accent)}
body[data-event-theme]:not([data-event-theme="hochzeit"]) .booking-form .button-dark,
body[data-event-theme]:not([data-event-theme="hochzeit"]) .booking-form .inquiry-submit{background:var(--event-accent)}
body[data-event-theme]:not([data-event-theme="hochzeit"]) .form-progress span.is-active i,
body[data-event-theme]:not([data-event-theme="hochzeit"]) .booking-form .option input:checked+.option-mark{background:var(--event-accent);border-color:var(--event-accent)}
body[data-event-theme]:not([data-event-theme="hochzeit"]) .form-progress span.is-complete i{color:var(--event-accent);border-color:var(--event-accent)}
body[data-event-theme]:not([data-event-theme="hochzeit"]) .booking-options{border-color:var(--event-line)}
body[data-event-theme]:not([data-event-theme="hochzeit"]) .package-columns{border-color:var(--event-line)}
body[data-event-theme]:not([data-event-theme="hochzeit"]) .package-columns .music-package+.music-package{border-color:var(--event-line)}
body[data-event-theme]:not([data-event-theme="hochzeit"]) .package-stage{border-color:var(--event-line);color:var(--event-accent)}
body[data-event-theme]:not([data-event-theme="hochzeit"]) .package-columns .package-base{box-shadow:inset 0 4px 0 var(--event-accent)}
body[data-event-theme]:not([data-event-theme="hochzeit"]) .package-columns .music-package:has(.option input:checked){background:var(--package-selected-bg);box-shadow:inset 0 4px 0 var(--event-accent)}
body[data-event-theme]:not([data-event-theme="hochzeit"]) .booking-form input:not([type="checkbox"]):not([type="radio"]):focus,
body[data-event-theme]:not([data-event-theme="hochzeit"]) .booking-form textarea:focus,
body[data-event-theme]:not([data-event-theme="hochzeit"]) .booking-form select:focus{border-color:var(--event-accent);box-shadow:0 0 0 3px var(--event-soft)}
/* Typography and accents change below the hero without shifting the page layout. */
body[data-event-theme="firmenfeier"] :is(.film-head h2,.section-head h2,.portfolio-head h2,.booking-copy h2,.form-intro h3,.music-packages>h3,.package-columns .music-package .package-title){font-family:"Avenir Next","Helvetica Neue",Arial,sans-serif;font-style:normal;font-weight:400;letter-spacing:.015em;color:#405562}
body[data-event-theme="geburtstag"] :is(.film-head h2,.section-head h2,.portfolio-head h2,.booking-copy h2,.form-intro h3,.music-packages>h3,.package-columns .music-package .package-title){font-family:Georgia,"Times New Roman",serif;font-style:italic;font-weight:400;letter-spacing:0;color:#814858}
body[data-event-theme="sonstiges"] :is(.film-head h2,.section-head h2,.portfolio-head h2,.booking-copy h2,.form-intro h3,.music-packages>h3,.package-columns .music-package .package-title){font-family:"Avenir Next","Helvetica Neue",Arial,sans-serif;font-style:normal;font-weight:400;color:#66504f}
body[data-event-theme]:not([data-event-theme="hochzeit"]) .portfolio-head .script-accent{font-size:clamp(20px,2.5vw,34px);line-height:1;transform:none;margin:0 0 8px}
body[data-event-theme="firmenfeier"] .booking-copy h2 em,
body[data-event-theme="firmenfeier"] .script-accent,
body[data-event-theme="firmenfeier"] .number,
body[data-event-theme="firmenfeier"] .form-section-label span{color:#6c8290}
body[data-event-theme="geburtstag"] .booking-copy h2 em,
body[data-event-theme="geburtstag"] .script-accent,
body[data-event-theme="geburtstag"] .number,
body[data-event-theme="geburtstag"] .form-section-label span{color:#b56d78}
body[data-event-theme="sonstiges"] .booking-copy h2 em,
body[data-event-theme="sonstiges"] .script-accent,
body[data-event-theme="sonstiges"] .number,
body[data-event-theme="sonstiges"] .form-section-label span{color:#98766d}
body[data-event-theme="firmenfeier"] .form-section-label,
body[data-event-theme="firmenfeier"] .package-stage,
body[data-event-theme="firmenfeier"] .booking-options>legend{color:#526b7d}
body[data-event-theme="geburtstag"] .form-section-label,
body[data-event-theme="geburtstag"] .package-stage,
body[data-event-theme="geburtstag"] .booking-options>legend{color:#8a4d5d}
body[data-event-theme="sonstiges"] .form-section-label,
body[data-event-theme="sonstiges"] .package-stage,
body[data-event-theme="sonstiges"] .booking-options>legend{color:#80665f}
body[data-event-theme="firmenfeier"] .package-columns .music-package:nth-child(1),
body[data-event-theme="firmenfeier"] .package-columns .music-package:nth-child(3){background:#e3e9ec}
body[data-event-theme="geburtstag"] .package-columns .music-package:nth-child(1),
body[data-event-theme="geburtstag"] .package-columns .music-package:nth-child(3){background:#e8d9d5}
body[data-event-theme="firmenfeier"] .package-columns .music-package:has(.option input:checked){background:#f2f5f6}
body[data-event-theme="geburtstag"] .package-columns .music-package:has(.option input:checked){background:#eee0df}
body[data-event-theme="sonstiges"] .package-columns .music-package:has(.option input:checked){background:#e9dfd8}
body[data-event-theme="firmenfeier"] .package-columns .package-base{background:#f8fafb;box-shadow:inset 0 4px 0 #526b7d}
body[data-event-theme="geburtstag"] .package-columns .package-base{background:#f6eae7;box-shadow:inset 0 4px 0 #a95e6d}
body[data-event-theme="sonstiges"] .package-columns .package-base{background:#f1e9e3;box-shadow:inset 0 4px 0 #80665f}
body[data-event-theme="firmenfeier"] .portfolio{--event-portfolio-accent:#526b7d}
body[data-event-theme="geburtstag"] .portfolio{--event-portfolio-accent:#b56d78}
body[data-event-theme="sonstiges"] .portfolio{--event-portfolio-accent:#98766d}
body[data-event-theme]:not([data-event-theme="hochzeit"]) .slider-tabs button:after{background:var(--event-portfolio-accent,var(--event-accent))}
body[data-event-theme="firmenfeier"] .hero-media{filter:saturate(.76) grayscale(.35) brightness(1.08) contrast(.96)}
body[data-event-theme="geburtstag"] .hero-media{filter:sepia(.12) saturate(1.08) hue-rotate(342deg) brightness(.94)}
body[data-event-theme="sonstiges"] .hero-media{filter:sepia(.12) saturate(.86)}
body[data-event-theme="firmenfeier"] .hero:after{content:"";position:absolute;z-index:1;inset:0;background:rgba(62,86,101,.065);pointer-events:none}
body[data-event-theme="geburtstag"] .hero:after{content:"";position:absolute;z-index:1;inset:0;background:rgba(128,61,76,.12);pointer-events:none}
body[data-event-theme="sonstiges"] .hero:after{content:"";position:absolute;z-index:1;inset:0;background:rgba(112,82,72,.1);pointer-events:none}
body[data-event-theme="firmenfeier"] .event-choice:has(input:checked){background:#526b7d;border-color:#526b7d;color:#fffaf2}
body[data-event-theme="geburtstag"] .event-choice:has(input:checked){background:#a95e6d;border-color:#a95e6d;color:#fffaf2}
body[data-event-theme="sonstiges"] .event-choice:has(input:checked){background:#80665f;border-color:#80665f;color:#fffaf2}
body[data-event-theme="firmenfeier"] .form-progress{background:#e3eaee;border-color:rgba(82,107,125,.24);color:#526b7d}
body[data-event-theme="firmenfeier"] .form-progress:before{background:#e3eaee}
body[data-event-theme="firmenfeier"] .form-progress span.is-active i{background:#526b7d!important;border-color:#526b7d!important}
body[data-event-theme="firmenfeier"] .form-progress span.is-complete i{background:#f6f9fa;color:#526b7d;border-color:#8da1ad}
body[data-event-theme="firmenfeier"] .form-progress b{background:#b4c1c9}
body[data-event-theme="geburtstag"] .form-progress{background:#eadbd7;border-color:rgba(169,94,109,.28);color:#814858}
body[data-event-theme="geburtstag"] .form-progress:before{background:#eadbd7}
body[data-event-theme="geburtstag"] .form-progress span.is-active i{background:#a95e6d!important;border-color:#a95e6d!important}
body[data-event-theme="geburtstag"] .form-progress span.is-complete i{background:#f4e8e4;color:#814858;border-color:#ba8c93}
body[data-event-theme="geburtstag"] .form-progress b{background:#c5a6a4}
body[data-event-theme="sonstiges"] .form-progress{background:#e8ded8;border-color:rgba(128,102,95,.28);color:#66504f}
body[data-event-theme="sonstiges"] .form-progress:before{background:#e8ded8}
body[data-event-theme="sonstiges"] .form-progress span.is-active i{background:#80665f!important;border-color:#80665f!important}
body[data-event-theme="sonstiges"] .form-progress span.is-complete i{background:#f1e9e3;color:#66504f;border-color:#a38c83}
body[data-event-theme="sonstiges"] .form-progress b{background:#b9a59c}
body[data-event-theme]:not([data-event-theme="hochzeit"]) .slider-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}
.portfolio-slide[hidden],.slider-tabs button[hidden]{display:none!important}
@media(max-width:600px){.event-chooser{margin-bottom:15px}.event-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.event-choice{min-width:0;min-height:43px;padding:0 8px;letter-spacing:.07em;font-size:10px}.hero-copy p{margin-bottom:18px}body[data-event-theme]:not([data-event-theme="hochzeit"]) .slider-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Firmenfeier: kühle, klare Konturen statt der warmen Hochzeitsrahmen. */
body[data-event-theme="firmenfeier"]{--line:rgba(82,107,125,.24)}
body[data-event-theme="firmenfeier"] .booking-form input:not([type="checkbox"]):not([type="radio"]),
body[data-event-theme="firmenfeier"] .booking-form textarea,
body[data-event-theme="firmenfeier"] .booking-form select{border-color:rgba(82,107,125,.32);border-radius:7px}
body[data-event-theme="firmenfeier"] .booking-form input:not([type="checkbox"]):not([type="radio"]):hover,
body[data-event-theme="firmenfeier"] .booking-form textarea:hover,
body[data-event-theme="firmenfeier"] .booking-form select:hover{border-color:#879ca8}
body[data-event-theme="firmenfeier"] .booking-form input:not([type="checkbox"]):not([type="radio"]):focus,
body[data-event-theme="firmenfeier"] .booking-form textarea:focus,
body[data-event-theme="firmenfeier"] .booking-form select:focus{border-color:#526b7d;box-shadow:0 0 0 3px rgba(82,107,125,.14)}
body[data-event-theme="firmenfeier"] .booking-options,
body[data-event-theme="firmenfeier"] .form-intro,
body[data-event-theme="firmenfeier"] .form-section-label{border-color:rgba(82,107,125,.24)}
body[data-event-theme="firmenfeier"] .package-columns{border-color:rgba(82,107,125,.3);background:rgba(227,233,236,.45)}
body[data-event-theme="firmenfeier"] .package-columns .music-package+.music-package{border-color:rgba(82,107,125,.3)}
body[data-event-theme="firmenfeier"] .package-columns .music-package .option{border-color:rgba(82,107,125,.2)}
body[data-event-theme="firmenfeier"] .package-columns .music-package .option:hover{border-color:rgba(82,107,125,.42)}
body[data-event-theme="firmenfeier"] .option-grid-small .option{border-color:rgba(82,107,125,.32);border-radius:6px}
body[data-event-theme="firmenfeier"] .booking-form .option-mark{border-color:#7e909b;background:#f7f9fa}
body[data-event-theme="firmenfeier"] .booking-form>.location-pending{border-color:rgba(82,107,125,.28);border-radius:7px}
body[data-event-theme="firmenfeier"] .booking-form>.location-pending:hover,
body[data-event-theme="firmenfeier"] .booking-form>.location-pending:has(input:checked){border-color:rgba(82,107,125,.48)}
body[data-event-theme="firmenfeier"] .site-header{--header-border-color:82,107,125}
body[data-event-theme="firmenfeier"] .live-strip{border-color:rgba(82,107,125,.32)}
body[data-event-theme="firmenfeier"] .booking-form>label:has(#website-end){border-color:rgba(82,107,125,.3);border-left-color:#526b7d;border-radius:7px}
body[data-event-theme="firmenfeier"] .package-columns .included-package,
body[data-event-theme="firmenfeier"] .package-columns .music-package .option,
body[data-event-theme="firmenfeier"] .package-stage{border-color:rgba(82,107,125,.2)}

/* Die bisherige elegante Schreibschrift wird als Webfont auf jedem Betriebssystem geladen. */
@font-face{font-family:"Morgenstern Script";src:local("Snell Roundhand"),url("assets/GreatVibes-Regular.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
.script-accent,.form-intro h3,.form-section-label span,.music-packages>h3,.music-package .package-title{font-family:"Morgenstern Script","Snell Roundhand","Segoe Script",cursive;font-style:normal;font-weight:400}

.package-columns .music-package{min-width:0;appearance:none;-webkit-appearance:none}
.package-columns .music-package .package-title,
.package-columns .music-package:last-child .package-title{display:block;float:left;position:static;box-sizing:border-box;width:100%;min-width:0;min-height:100px;margin:0;padding:28px 0 12px;font-size:clamp(30px,3vw,43px);line-height:1.2;white-space:normal;overflow-wrap:anywhere}
@media(max-width:800px){
  .package-columns .music-package .package-title,
  .package-columns .music-package:last-child .package-title{min-height:0;padding:22px 0 10px;font-size:clamp(30px,7.5vw,40px);line-height:1.2}
}
@media(max-width:600px){
  .package-columns .music-package .package-title,
  .package-columns .music-package:last-child .package-title{font-size:clamp(28px,8vw,36px)}
}

/* Keep the checkbox aligned with the first line of the optional celebrant copy. */
.package-columns .music-package .celebrant-option{align-items:flex-start}
.package-columns .music-package .celebrant-option .option-mark{margin-top:2px}

/* Paketüberschriften klar vom Kartenrand und von der farbigen Markierung trennen. */
.package-columns .music-package{position:relative}
.package-columns .music-package.package-base{box-shadow:none!important}
.package-columns .music-package:has(.option input:checked){box-shadow:none!important}
.package-columns .music-package.package-base::before{display:none}
.package-columns .music-package .package-title,
.package-columns .music-package:last-child .package-title{display:block;float:left;position:relative;z-index:1;box-sizing:border-box;width:100%;min-width:0;min-height:88px;margin:0;padding:22px 0 10px;background:transparent;font-size:clamp(32px,2.45vw,42px);line-height:1.12;white-space:normal;overflow-wrap:normal;word-break:normal}
@media(max-width:800px){
  .package-columns .music-package .package-title,
  .package-columns .music-package:last-child .package-title{min-height:0;padding:24px 0 12px;font-size:clamp(34px,7vw,40px);line-height:1.14}
}
@media(max-width:400px){
  .package-columns .music-package .package-title,
  .package-columns .music-package:last-child .package-title{font-size:clamp(31px,8vw,36px)}
}

body[data-event-theme] .music-packages .schedule-note{display:block;margin:12px 0 24px;padding:10px 14px;border-left:2px solid var(--event-accent,#786571);background:var(--event-soft,rgba(98,90,99,.06));color:var(--muted,#625a63);font-size:13px;line-height:1.6}

/* Hidden form controls must stay hidden even when labels use grid or flex. */
.booking-form [hidden]{display:none!important}

/* Match Safari's exposed page canvas to the opening photograph. */
@media (any-pointer: coarse) {
  html.home-page, .home-page body, .home-page .hero { background-color: #262322; }
  .home-page .hero-media { transform: none !important; will-change: auto; }
  .event-gate { overscroll-behavior: none; }
}

/* A compact running order derived from the selected services. */
.selection-timeline {
  margin: 32px 0 20px;
  padding: 24px 26px;
  border: 1px solid color-mix(in srgb, var(--event-accent, #786571) 24%, transparent);
  border-radius: 12px;
  background: rgba(255,255,255,.22);
}
.selection-timeline h4 {
  margin: 0 0 24px;
  color: var(--event-accent, #786571);
  font: 400 25px/1.3 "Morgenstern Script", cursive;
}
.timeline-stages { display:flex; margin:0; padding:0; list-style:none; }
.timeline-stages li {
  position:relative; flex:1; min-width:0; padding:24px 20px 0 0;
  border-top:1px solid color-mix(in srgb, var(--event-accent, #786571) 40%, transparent);
}
.timeline-stages li::before {
  content:""; position:absolute; left:0; top:-5px; width:9px; height:9px;
  border-radius:50%; background:var(--event-accent, #786571);
  box-shadow:0 0 0 4px var(--event-soft, #e8dece);
}
.timeline-stages .timeline-base::before { width:13px; height:13px; top:-7px; }
.timeline-stages small, .timeline-stages strong, .timeline-stages span { display:block; }
.timeline-stages small { font:400 12px/1.5 Arial,sans-serif; opacity:.7; margin-bottom:7px; }
.timeline-stages strong { font:500 17px/1.4 Arial,sans-serif; margin-bottom:5px; overflow-wrap:anywhere; }
.timeline-stages span { font:400 13px/1.5 Arial,sans-serif; opacity:.8; }
.selection-timeline .timeline-extras { margin:20px 0 0; font-size:13px; }
@media(max-width:600px) {
  .selection-timeline { padding:22px; margin-top:24px; }
  .timeline-stages { flex-direction:column; }
  .timeline-stages li { border-top:0; border-left:1px solid var(--event-accent,#786571); padding:0 0 24px 22px; margin-left:6px; }
  .timeline-stages li:last-child { padding-bottom:0; border-left-color:transparent; }
  .timeline-stages li::before { left:-5px; top:5px; }
  .timeline-stages .timeline-base::before { left:-7px; top:3px; }
}

/* Reserve every available programme's place when choices change. */
.timeline-stages li.is-unselected { color: var(--muted, #625a63); }
.timeline-stages li.is-unselected > * { opacity: .5; }
.timeline-stages li.is-unselected::before {
  background: var(--event-soft, #e8dece);
  outline: 1px solid var(--event-accent, #786571);
  box-shadow: none;
}
.timeline-stages li::after {
  content: "Ausgewählt"; display: block; margin-top: 8px;
  font: 400 11px/1.4 Arial, sans-serif; color: var(--event-accent, #786571);
}
.timeline-stages li.is-unselected::after { content: "Optional"; opacity: .65; }
.timeline-stages .timeline-base::after { content: "Inklusive"; }

/* Original logo and Messe2026 voucher. */
.site-header .brand,footer .brand{display:block;position:relative;background:transparent;border-radius:0;overflow:visible;width:215px;flex-shrink:0;text-shadow:none}
.brand-logo{display:block;width:100%;height:auto;max-width:100%}
.site-header .brand{width:170px}
.coupon-section{margin:24px 0 20px;min-width:0}
.coupon-optional{font-size:.8em;font-weight:400;color:var(--burgundy)}
.coupon-message{font-size:14px;line-height:1.5;min-height:0;margin:8px 0;color:var(--burgundy)}
.coupon-section fieldset{margin:16px 0 0;padding:18px;border:1px solid var(--event-line,#b9b2aa);border-radius:12px;min-width:0}
.coupon-section legend{font-size:16px;font-weight:600;padding:0 6px}
.coupon-section fieldset p{font-size:14px;line-height:1.5;margin:0 0 12px}
.coupon-section .option{margin-top:8px;min-width:0}
.coupon-section .option small{display:block;font-size:.85em;opacity:.7}
.coupon-section .option input[type=radio]{position:absolute;opacity:0;width:1px;height:1px}
.coupon-section .option:has(input:checked){background:var(--package-selected-bg,#f7efe4)}
.coupon-section .option input:checked+.option-mark{background:var(--event-accent,#625a63);border-color:var(--event-accent,#625a63);box-shadow:none}
.coupon-section .option:has(input:focus-visible){outline:2px solid var(--event-accent,#625a63);outline-offset:3px}
@media(max-width:600px){.site-header .brand{width:145px}.coupon-section fieldset{padding:12px}.coupon-section input:not([type=radio]){width:100%;min-width:0;max-width:100%}}
.coupon-section{grid-column:1/-1}
.coupon-section>label{max-width:520px}
.coupon-section fieldset:not([hidden]){display:grid;grid-template-columns:1fr 1fr;gap:12px}
.coupon-section fieldset p{grid-column:1/-1;margin-bottom:0}
.coupon-section .option{margin-top:0}
@media(max-width:600px){.coupon-section fieldset:not([hidden]){grid-template-columns:1fr}}

/* Transparent logo follows the current event and header colour. */
.brand:has(.brand-logo)::after{content:"";position:absolute;inset:0;background:currentColor;-webkit-mask:url("assets/morgenstern-logo-transparent.png") center/contain no-repeat;mask:url("assets/morgenstern-logo-transparent.png") center/contain no-repeat;pointer-events:none}
.brand-logo{opacity:0}
