:root{--navy:#0d1830;--ink:#182235;--muted:#687386;--line:#dfe4ea;--paper:#f2f4f6;--white:#fff;--green:#22b86a;--green-dark:#11894b;--yellow:#f4b929;--red:#e92828;--orange:#f0a22e;--shadow:0 18px 45px rgba(20,30,45,.12)}
*{box-sizing:border-box}body{margin:0;background:#000;background-image:linear-gradient(145deg,#000 0%,#07142f 48%,#002366 100%);background-attachment:fixed;color:var(--ink);font-family:"Segoe UI",Arial,sans-serif}.site-shell{max-width:900px;margin:0 auto;padding:34px 18px 60px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.14em;color:#8993a1;margin:0 0 5px}.center-card{background:linear-gradient(125deg,rgba(66,71,68,.96),rgba(51,56,54,.96));color:#fff;border-radius:18px;padding:27px 30px;text-align:center;box-shadow:var(--shadow);position:relative}.center-card h1{font-size:29px;margin:0 0 6px}.center-card>p:not(.eyebrow){margin:0;color:#d9dfdc;font-size:14px}.center-card .eyebrow{color:#b8c2be}.system-status{position:absolute;right:18px;top:18px;background:rgba(255,255,255,.1);border-radius:999px;padding:7px 10px;font-size:11px;display:flex;gap:7px;align-items:center}.system-status span{width:7px;height:7px;border-radius:50%;background:#a8b0ad}.system-status.online span{background:#4ee19a}.system-status.offline span{background:#ff7a7a}
.wizard-card{margin:28px auto 0;max-width:760px;background:#fff;border-radius:16px;overflow:hidden;box-shadow:var(--shadow);border:1px solid #e5e9ed}.wizard-header{height:64px;background:var(--navy);color:#fff;display:flex;align-items:center;padding:0 20px}.wizard-header h2{font-size:19px;margin:auto}.back-button{border:0;background:transparent;color:#fff;font-size:27px;cursor:pointer;width:38px}.version{font-size:11px;font-weight:700}.progress{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:14px 20px 4px}.progress>div{height:38px;border-top:4px solid #aab1ba;color:#8a94a1;display:flex;align-items:center;gap:6px;padding-top:5px}.progress>div.done,.progress>div.active{border-color:var(--green);color:var(--green-dark)}.progress>div.active{border-color:var(--red);color:var(--red)}.progress span{width:20px;height:20px;border-radius:50%;background:#eef1f4;display:grid;place-items:center;font-size:10px;font-weight:800}.progress small{font-size:11px;font-weight:700}.wizard-step{padding:22px 24px 28px}.wizard-step h3{font-size:19px;margin:0 0 15px}.kind-switch{display:grid;grid-template-columns:1fr 1fr;gap:10px}.kind-button{min-height:78px;background:#fff;border:1px solid #ccd4dd;border-radius:11px;padding:14px;text-align:left;cursor:pointer;color:var(--ink);display:flex;align-items:center;justify-content:space-between;gap:12px;overflow:hidden}.kind-button-copy{min-width:0}.kind-button strong,.kind-button small{display:block}.kind-button small{color:var(--muted);margin-top:4px}.kind-symbols{position:relative;flex:0 0 70px;height:52px;display:flex;align-items:center;justify-content:center;font-family:"Segoe UI Emoji","Apple Color Emoji",sans-serif;font-size:38px;line-height:1;filter:drop-shadow(0 3px 4px rgba(13,24,48,.13));transform:rotate(-3deg);transition:transform .16s ease}.kind-symbol-secondary{position:absolute;right:0;bottom:0;display:grid!important;place-items:center;width:27px;height:27px;border-radius:50%;background:#fff;font-size:19px;box-shadow:0 2px 7px rgba(13,24,48,.18)}.birthday-symbols{transform:rotate(2deg)}.kind-button:hover .kind-symbols,.kind-button:focus-visible .kind-symbols{transform:rotate(0) scale(1.06)}.kind-button.selected{border:2px solid var(--green);background:#f0fbf5;padding:13px}.kind-button.selected .kind-symbol-secondary{background:#f0fbf5}.info-box{margin-top:12px;padding:13px 15px;background:#fff6e8;border-left:4px solid var(--orange);border-radius:9px;font-size:13px;color:#6f4b1b}.info-box strong{display:block;margin-bottom:5px}.info-box p{margin:0;white-space:pre-line;line-height:1.45}
.next-card{margin:16px 0;background:#eef8f3;border:1px solid #c7ead8;border-radius:11px;padding:13px 15px}.next-card strong,.next-card small{display:block}.next-card strong{font-size:14px}.next-card small{font-size:11px;color:#5c7167;margin-top:3px}
.calendar-card{border:1px solid var(--line);border-radius:12px;padding:14px}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.calendar-header button{border:0;background:#eef1f4;width:33px;height:33px;border-radius:8px;font-size:22px;cursor:pointer}.calendar-header strong{text-transform:capitalize}.weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.weekdays span{text-align:center;font-size:10px;font-weight:800;color:#8a94a1;padding:4px}.calendar-days button,.calendar-days .blank{height:38px}.calendar-days button{border:0;background:#f4f6f8;border-radius:8px;font:inherit;font-size:12px;cursor:pointer}.calendar-days button:hover:not(:disabled){background:#dff4e9}.calendar-days button.selected{background:var(--green);color:#fff;font-weight:800}.calendar-days button:disabled{color:#bdc3ca;background:#fafafa;text-decoration:line-through;cursor:not-allowed}.selection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"duration lanes" "players players";gap:14px 18px;margin-top:15px}.duration-choice{grid-area:duration}.lane-choice{grid-area:lanes}.player-choice{grid-area:players;padding-top:2px}.choice-field>span{display:block;font-size:11px;font-weight:750;color:#596678;margin-bottom:6px}.choice-buttons{display:flex;flex-wrap:wrap;gap:7px}.choice-button{min-width:42px;height:40px;border:1px solid #cbd3dc;border-radius:999px;padding:0 13px;background:#fff;color:var(--ink);font:inherit;font-size:12px;font-weight:750;cursor:pointer}.choice-button:hover:not(:disabled){border-color:var(--green);background:#eef8f3}.choice-button.selected{border-color:var(--green-dark);background:var(--green);color:#fff;box-shadow:0 0 0 2px rgba(34,184,106,.12)}.choice-button:focus-visible{outline:3px solid rgba(34,184,106,.22);outline-offset:2px}.choice-button:disabled{cursor:default;opacity:.72}.lane-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;width:100%}.lane-options .choice-button{width:100%;min-width:0}.player-options{display:grid;grid-template-columns:repeat(8,minmax(42px,1fr));gap:7px;overflow:visible}.player-options .choice-button{min-width:0;padding:0 6px}label{display:block}label>span{display:block;font-size:11px;font-weight:750;color:#596678;margin-bottom:6px}input,select{width:100%;height:42px;border:1px solid #cbd3dc;border-radius:9px;padding:0 11px;font:inherit;color:var(--ink);background:#fff;outline:none}input:focus,select:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(34,184,106,.11)}input:disabled,select:disabled{background:#eef1f3;color:#83909c}.price-preview{margin:15px 0 12px;background:#f5f7f8;border-radius:11px;padding:14px 16px;display:flex;justify-content:space-between;align-items:center}.price-preview span{font-size:11px;color:var(--muted);display:block}.price-preview strong{font-size:25px;color:var(--green-dark)}.price-preview p{font-size:11px;color:var(--muted);text-align:right;margin:0}.primary-button{width:100%;height:48px;border:0;border-radius:9px;background:var(--red);color:#fff;font:inherit;font-size:15px;font-weight:800;cursor:pointer}.primary-button:hover{background:#ca1c1c}.primary-button:disabled{opacity:.55;cursor:wait}
.step-heading{display:flex;justify-content:space-between;align-items:flex-start}.step-heading h3{margin-bottom:4px}.step-heading p{margin:0;color:var(--muted);font-size:12px}.opening-badge{background:#eef1f4;padding:7px 9px;border-radius:8px;font-size:11px}.availability-legend{display:flex;gap:16px;font-size:10px;color:var(--muted);margin:13px 0}.availability-legend i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px}.availability-legend .high{background:var(--green)}.availability-legend .low{background:var(--yellow)}.slot-list{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.slot-button{border:1px solid var(--line);border-left:5px solid var(--green);background:#fff;border-radius:10px;padding:12px;cursor:pointer;text-align:left}.slot-button.low{border-left-color:var(--yellow)}.slot-button:disabled{opacity:.42;cursor:not-allowed}.slot-button strong,.slot-button span,.slot-button small{display:block}.slot-button strong{font-size:18px}.slot-button span{color:var(--green-dark);font-weight:800;margin:3px 0}.slot-button small{font-size:10px;color:var(--muted)}
.booking-summary{background:#f2f4f6;border-radius:11px;padding:16px;margin-bottom:20px;display:grid;grid-template-columns:1fr auto;gap:6px 15px;font-size:13px}.booking-summary .summary-price{grid-column:2;grid-row:1/5;font-size:28px;color:var(--green-dark);font-weight:850;align-self:center;text-align:right}.booking-summary .summary-price small{display:block;font-size:10px;font-weight:600;color:var(--muted);margin-top:3px}.booking-summary p{margin:0}.booking-summary small{color:var(--muted)}.form-grid{display:grid;gap:12px}.form-grid.two{grid-template-columns:1fr 1fr}#reservation-form label{margin-bottom:13px}.group-note{font-size:11px;color:#536a5e;background:#eef8f3;padding:9px 11px;border-radius:8px}.player-heading{display:flex;justify-content:space-between;align-items:end;margin:20px 0 10px}.player-heading h3{margin:0 0 3px}.player-heading p{margin:0;color:var(--muted);font-size:11px}.player-field-count{font-size:13px}.player-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px 12px;max-height:300px;overflow:auto;margin-bottom:18px}.player-fields label{margin:0!important}.message{padding:11px 13px;border-radius:9px;margin:0 0 12px;font-size:12px}.message.error{background:#fff0f0;color:#9b3333}.message.success{background:#eaf8f1;color:#176c48}
.hold-notice{display:flex;align-items:center;gap:12px;margin:-8px 0 18px;padding:13px 15px;border:1px solid #b9ddcb;border-radius:11px;background:#eef9f4;color:#176c48}.hold-notice .hold-clock{font-size:25px}.hold-notice strong,.hold-notice small{display:block}.hold-notice strong{font-size:13px}.hold-notice small{margin-top:3px;color:#4d6d60;font-size:11px}.hold-notice.expired{border-color:#e8b5b1;background:#fff1f0;color:#9b3333}.hold-notice.expired small{color:#8b4a47}
.empty-state{border:1px dashed #cad2da;border-radius:10px;padding:30px;text-align:center;color:#818c99;font-size:12px;grid-column:1/-1}.hidden{display:none!important}.loading{opacity:.6;pointer-events:none}
.modal-backdrop{position:fixed;inset:0;z-index:1000;background:rgba(13,24,48,.68);display:flex;align-items:center;justify-content:center;padding:18px;overflow:auto}.birthday-modal{position:relative;width:min(720px,100%);max-height:calc(100vh - 36px);overflow:auto;background:#fff;border-radius:18px;padding:26px;box-shadow:0 25px 80px rgba(0,0,0,.28)}.birthday-modal h2{margin:0 0 12px}.modal-close{position:absolute;right:15px;top:13px;width:36px;height:36px;border:0;border-radius:50%;background:#eef1f4;font-size:25px;cursor:pointer}.birthday-package-text{white-space:pre-line;color:#4e5a6a;font-size:13px;line-height:1.55;background:#f5f7f8;border-radius:10px;padding:13px}.birthday-food-warning{white-space:pre-line;margin:10px 0 16px;padding:12px 14px;border:2px solid #c62828;border-radius:10px;background:#fff0f0;color:#b00020;font-size:14px;font-weight:850;line-height:1.45}.decoration-intro{display:grid;grid-template-columns:220px 1fr;gap:16px;align-items:center;margin:16px 0}.decoration-intro img{width:100%;border-radius:12px;border:1px solid var(--line)}.decoration-intro h3{margin:0 0 7px;font-size:17px}.decoration-intro p{margin:0 0 7px;color:var(--muted);font-size:12px;line-height:1.5}.decoration-intro small{color:#8993a1}.decoration-choice,.decoration-details fieldset{border:0;padding:0;margin:14px 0}.decoration-choice legend,.decoration-details legend{font-size:12px;font-weight:800;margin-bottom:8px}.decoration-choice{display:grid;grid-template-columns:1fr 1fr;gap:10px}.decoration-choice legend{grid-column:1/-1}.decoration-choice>label{display:flex;gap:9px;align-items:flex-start;border:1px solid var(--line);border-radius:10px;padding:12px;cursor:pointer}.decoration-choice input,.decoration-details fieldset input{width:auto;height:auto;margin-top:3px}.decoration-choice span{margin:0}.decoration-choice strong,.decoration-choice small{display:block}.decoration-choice small{font-size:10px;color:var(--muted);margin-top:3px}.decoration-details{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;background:#eef8f3;border-radius:11px;padding:14px;margin:12px 0}.decoration-details>label,.decoration-details fieldset{margin:0}.decoration-details fieldset label{display:inline-flex;gap:6px;align-items:center;margin-right:12px;font-size:12px}.modal-error{background:#fff0f0;color:#9b3333;padding:9px 11px;border-radius:8px;font-size:12px}
.conflict-backdrop{z-index:1200;background:rgba(8,16,35,.82);backdrop-filter:blur(4px)}.conflict-modal{width:min(520px,100%);padding:34px 30px;border:3px solid #d94f4a;border-radius:22px;background:#fff;text-align:center;box-shadow:0 28px 90px rgba(0,0,0,.42)}.conflict-modal .conflict-symbol{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 18px;border-radius:50%;background:#d94f4a;color:#fff;font-size:38px;font-weight:950}.conflict-modal h2{margin:0 0 13px;font-size:clamp(25px,6vw,34px);line-height:1.12}.conflict-modal p:not(.eyebrow){margin:0 0 24px;color:#4e5a6a;font-size:16px;line-height:1.6}.conflict-modal button{width:100%;font-size:16px}
.decoration-intro-text{margin:17px 0 10px}.decoration-intro-text h3{margin:0 0 6px;font-size:17px}.decoration-intro-text p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.image-choice-grid{gap:14px}.decoration-choice.image-choice-grid>label{display:block;border:0;padding:0;position:relative;background:transparent}.image-choice>input{position:absolute!important;opacity:0;width:1px!important;height:1px!important;pointer-events:none}.decoration-card{display:block;overflow:hidden;border:3px solid transparent;border-radius:14px;background:#fff;box-shadow:0 4px 16px rgba(20,30,45,.12);transition:border-color .15s,box-shadow .15s,transform .15s}.decoration-card img{display:block;width:100%;height:265px;object-fit:cover;object-position:center 43%}.decoration-card-copy{display:block;padding:12px 14px;background:#fff}.decoration-card-copy strong{display:block;font-size:15px;color:var(--ink)}.decoration-card-copy small{display:block;margin-top:4px;font-size:11px;color:var(--muted)}.image-choice:hover .decoration-card{transform:translateY(-2px);box-shadow:0 8px 22px rgba(20,30,45,.17)}.image-choice>input:focus-visible+.decoration-card{outline:3px solid rgba(34,184,106,.28);outline-offset:3px}.image-choice>input:checked+.decoration-card{border-color:var(--green);box-shadow:0 0 0 3px rgba(34,184,106,.16),0 8px 22px rgba(20,30,45,.16)}.image-choice>input:checked+.decoration-card .decoration-card-copy{background:#eef8f3}.image-choice>input:checked+.decoration-card .decoration-card-copy strong:after{content:" ✓";color:var(--green-dark)}
@media(max-width:700px){body{background-attachment:scroll}.site-shell{padding:12px 8px 35px}.center-card{border-radius:13px;padding:22px 12px}.center-card h1{font-size:23px}.system-status{position:static;width:max-content;margin:12px auto 0}.wizard-card{margin-top:14px}.wizard-step{padding:18px 14px 22px}.selection-grid{grid-template-columns:1fr 1fr}.player-options{grid-template-columns:repeat(6,minmax(40px,1fr))}.slot-list{grid-template-columns:1fr 1fr}.form-grid.two,.player-fields{grid-template-columns:1fr}.kind-switch{grid-template-columns:1fr}.kind-button{min-height:76px}.kind-symbols{flex-basis:64px;font-size:35px}.booking-summary{grid-template-columns:1fr}.booking-summary .summary-price{grid-column:1;grid-row:auto}.progress small{display:none}.modal-backdrop{padding:8px;align-items:flex-start}.birthday-modal{padding:22px 15px;max-height:none}.decoration-choice,.decoration-details{grid-template-columns:1fr}.decoration-choice legend{grid-column:1}.decoration-card img{height:240px}}

/* V113: Belegungsampel, standortabhängige Geburtstagsoptionen und Symbole der Buchungsarten */
.availability-legend{flex-wrap:wrap;align-items:center}.availability-legend>strong{color:#344455}.availability-legend .green{background:var(--green)}.availability-legend .yellow{background:var(--yellow)}.availability-legend .red{background:#c13f3f}.slot-button.yellow{border-left-color:var(--yellow)}.slot-button.red{border-left-color:#c13f3f;background:#fff8f8}.birthday-child-name-row{display:grid;gap:8px;margin:16px 0}.birthday-child-name-row>span{font-size:12px;font-weight:800}.decoration-details{grid-template-columns:1fr 1fr}

/* V113: Telefonnummer des aktiven Centers */
.center-phone{display:inline-flex;margin-top:9px;padding:7px 12px;border:1px solid rgba(255,255,255,.35);border-radius:999px;color:#fff;font-size:13px;font-weight:800;text-decoration:none;background:rgba(255,255,255,.08)}.center-phone:hover,.center-phone:focus{background:#fff;color:#25302c;outline:none}

/* V113: Kontaktbox und öffentliche Bahnbelegung */
.personal-contact-box{margin:14px 0;padding:16px 18px;border:1px solid #bad9ec;border-left:5px solid #2585b8;border-radius:11px;background:#edf8fe;color:#244d64}.personal-contact-box strong{display:block;margin-bottom:5px}.personal-contact-box p{margin:0;font-size:13px;line-height:1.55}.personal-contact-box a{color:#075e8d;font-weight:900;white-space:nowrap}.occupancy-section{margin:18px 0;padding:18px;border:1px solid #dfe6e9;border-radius:18px;background:rgba(250,252,253,.96);box-shadow:0 9px 24px rgba(27,42,56,.06)}.occupancy-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.occupancy-heading h3{margin:0;font-size:17px}.occupancy-heading small{color:var(--muted);font-size:10px;text-align:right}.occupancy-privacy{margin:7px 0 10px;color:var(--muted);font-size:11px;line-height:1.45}.occupancy-legend{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:12px;color:#52606c;font-size:10px;font-weight:750}.occupancy-legend span{display:inline-flex;align-items:center}.occupancy-legend i{display:inline-block;width:18px;height:10px;margin-right:6px;border-radius:999px;vertical-align:-1px;box-shadow:inset 0 0 0 1px rgba(20,34,47,.08)}.occupancy-legend .free{background:#79d6a0}.occupancy-legend .reserved{background:#ed6964}.occupancy-legend .unavailable{background:#aeb7bf}.occupancy-scroll{overflow:auto;border:0;border-radius:14px;background:#f0f4f5;padding:10px}.occupancy-grid{display:grid;min-width:560px;gap:8px 7px;align-items:stretch}.occupancy-cell{min-height:30px;display:grid;place-items:center;text-align:center;font-size:10px}.occupancy-cell.header{position:sticky;top:0;z-index:3;border-radius:9px;background:#26384c;color:#fff;font-weight:850;box-shadow:0 3px 8px rgba(19,33,48,.12)}.occupancy-time-axis{position:relative;border-radius:10px;background:#fff;box-shadow:0 2px 7px rgba(24,39,52,.08)}.occupancy-time-label{position:absolute;left:0;right:0;transform:translateY(-50%);color:#46515d;font-size:10px;font-weight:800;text-align:center}.occupancy-time-label:first-child{transform:none}.occupancy-time-label.last{transform:translateY(-100%)}.occupancy-lane-track{position:relative;overflow:hidden;border-radius:14px;background:#d9e0e4;box-shadow:inset 0 0 0 1px rgba(20,34,47,.08)}.occupancy-segment{position:absolute;left:4px;right:4px;border:2px solid #f0f4f5;border-radius:13px;box-shadow:inset 0 0 0 1px rgba(20,34,47,.06),0 3px 8px rgba(28,44,58,.08);transition:filter .14s ease}.occupancy-segment:hover{filter:brightness(.96)}.occupancy-segment.free{background:#79d6a0}.occupancy-segment.reserved{background:#ed6964}.occupancy-segment.unavailable{background:#aeb7bf}.occupancy-message{margin:10px 0 0;color:var(--muted);font-size:11px}.occupancy-message.error{color:#9b3333}.occupancy-message:empty{display:none}@media(max-width:700px){.occupancy-section{padding:14px 10px}.occupancy-heading{display:block}.occupancy-heading small{display:block;margin-top:5px;text-align:left}.occupancy-scroll{padding:8px}.occupancy-grid{min-width:520px;gap:7px 5px}.occupancy-segment{left:3px;right:3px;border-radius:11px}}

.booking-legal-intro{display:grid;gap:4px;margin:12px 0 16px;padding:13px 15px;border:1px solid #dce6e2;border-radius:10px;background:#f2f8f6}.booking-legal-intro strong{font-size:13px}.booking-legal-intro span{font-size:12px;color:#41524b}.booking-legal-intro small{color:#718079}.privacy-short-note{margin:10px 0 8px;padding:12px 14px;border-radius:9px;background:#f5f7f8;color:#596572;font-size:12px;line-height:1.55}.ip-log-note{margin:0 0 20px;color:#697681;font-size:11px;line-height:1.45}.privacy-short-note a,.legal-checkout a{color:#08725e;font-weight:750}.legal-checkout{margin:25px 0 17px;padding:20px;border:2px solid #26384c;border-radius:13px;background:#fbfcfd}.legal-checkout h3{margin:0 0 8px}.legal-checkout>p{font-size:12px;line-height:1.55}.required-fields-note{margin:0 0 15px;padding:9px 11px;border-radius:8px;background:#fff6e8;color:#6f4b1b;font-size:12px;line-height:1.5}.final-order-summary{display:grid;gap:8px;margin-bottom:15px;padding:15px;border-radius:10px;background:#edf3f5}.final-order-row{display:flex;justify-content:space-between;gap:18px;font-size:13px}.final-order-row strong{text-align:right}.final-order-row.total{margin-top:4px;padding-top:10px;border-top:1px solid #cfd9de;font-size:16px}.checkout-rule{padding:12px;border-left:3px solid #d38b27;background:#fff7ea}.cancellation-warning{margin:14px 0;padding:15px 16px;border:2px solid #b82f2b;border-radius:10px;background:#fff1f0;color:#722825;box-shadow:0 3px 10px rgba(120,32,28,.08)}.cancellation-warning>strong{display:block;margin-bottom:5px;font-size:14px;text-transform:uppercase;letter-spacing:.035em}.cancellation-warning p{margin:0;font-size:14px;line-height:1.5}.cancellation-warning small{display:block;margin-top:7px;font-size:11px;line-height:1.45}.withdrawal-note{padding:12px;border-radius:9px;background:#f8eeee;color:#6d3737}.legal-confirmations{display:grid;gap:10px;margin:16px 0}.legal-confirmations label{display:grid;grid-template-columns:20px 1fr;gap:9px;align-items:start;font-size:13px;line-height:1.45}.legal-confirmations input{width:18px;height:18px;margin-top:1px;accent-color:#15836c}.payment-button{font-size:16px}.site-footer{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin:22px auto 0;width:max-content;max-width:100%;padding:10px 14px;border-radius:999px;background:rgba(5,13,32,.82);color:#dbe4ef;font-size:12px}.site-footer a{color:#fff;font-weight:750}.site-footer small{font-size:11px}
.booking-confirmation{padding:25px;border:2px solid #188367;border-radius:14px;background:#f5fcf9;text-align:center}.confirmation-mark{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 13px;border-radius:50%;background:#188367;color:#fff;font-size:30px;font-weight:900}.booking-confirmation h3{margin:3px 0 9px;font-size:25px}.booking-confirmation>p{line-height:1.55}.confirmation-number{font-weight:800}.confirmation-email-note{margin:18px 0;padding:13px 15px;border-radius:10px;background:#e2f4eb;color:#126143;font-weight:800}.booking-confirmation .final-order-summary{text-align:left}.confirmation-actions{display:flex;justify-content:center;gap:10px;margin-top:20px}.confirmation-actions .primary-button{display:grid;place-items:center;height:auto;min-height:48px;padding:10px 18px;text-decoration:none}.secondary-button{border:1px solid #bcc6cd;border-radius:10px;padding:12px 17px;background:#fff;color:#263745;font:inherit;font-weight:800;cursor:pointer}

/* V113: iOS-Safari-sicheres Kindergeburtstagsfenster. */
body.modal-open{position:fixed;left:0;right:0;width:100%;overflow:hidden}.modal-backdrop{height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;overflow:hidden;overscroll-behavior:none}.birthday-modal{max-height:calc(100vh - 36px);max-height:calc(100dvh - 36px);overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-gutter:stable;scroll-padding-bottom:88px;touch-action:pan-y}.birthday-modal-actions{position:sticky;bottom:-1px;z-index:10;margin-top:12px;padding:12px 0 max(10px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:linear-gradient(to bottom,rgba(255,255,255,.94),#fff 18px);box-shadow:0 -12px 22px rgba(255,255,255,.92)}.birthday-modal-actions .modal-error{margin:0 0 9px}
@media(max-width:700px){.modal-backdrop{align-items:stretch;padding:8px max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}.birthday-modal{height:calc(100vh - 16px);height:calc(100dvh - 16px);max-height:100%;padding:22px 15px 0;border-radius:14px}.decoration-card img{height:180px}.birthday-modal-actions{margin-left:-15px;margin-right:-15px;padding:12px 15px calc(12px + env(safe-area-inset-bottom))}}
@media(max-width:700px){.legal-checkout{padding:16px 13px}.final-order-row{align-items:flex-start;flex-direction:column;gap:3px}.final-order-row strong{text-align:left}.site-footer{padding:0 15px}}
@media print{body{background:#fff}.center-card,.progress,.wizard-header,.site-footer,#reservation-form,#wizard-back{display:none!important}.site-shell,.wizard-card{max-width:none;margin:0;padding:0;box-shadow:none;border:0}.wizard-step{padding:0}.booking-confirmation{border:0}.confirmation-actions{display:none}}

/* iOS/Safari: ausgewählte Datum-, Dauer-, Bahn- und Spielerknöpfe vollflächig darstellen. */
.choice-button,.calendar-days button{-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.choice-button.selected,.choice-button.selected:disabled,.calendar-days button.selected,.calendar-days button.selected:disabled{background-color:var(--green)!important;border-color:var(--green-dark)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;opacity:1!important;background-image:none!important}
@supports (-webkit-touch-callout:none){.choice-button.selected,.calendar-days button.selected{box-shadow:inset 0 0 0 999px var(--green),0 0 0 2px rgba(34,184,106,.14)}.choice-button{font-weight:800}}

/* V113: Der Kindergeburtstagsdialog folgt auf iOS der wirklich sichtbaren Safari-Fläche. */
body.modal-open{height:100%;overscroll-behavior:none}.modal-backdrop{inset:auto 0 auto 0;top:var(--birthday-viewport-top,0px);height:var(--birthday-viewport-height,100dvh);max-height:none;overflow:hidden;overscroll-behavior:none}.birthday-modal{max-height:calc(var(--birthday-viewport-height,100dvh) - 36px);scroll-padding-top:18px;overflow-anchor:none}.modal-close{z-index:12}
@media(max-width:700px){.modal-backdrop{padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}.birthday-modal{height:100%;min-height:0;max-height:100%;padding:18px 14px 0;border-radius:14px;overscroll-behavior-y:contain}.birthday-modal h2{padding-right:42px}.decoration-choice.image-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.decoration-choice.image-choice-grid legend{grid-column:1/-1}.decoration-card img{height:clamp(118px,34vw,155px)}.decoration-card-copy{padding:10px}.birthday-modal-actions{margin-left:-14px;margin-right:-14px;padding-left:14px;padding-right:14px}}
@media(max-width:350px){.decoration-choice.image-choice-grid{grid-template-columns:1fr}.decoration-choice.image-choice-grid legend{grid-column:1}.decoration-card img{height:125px}}
@media(max-height:600px) and (orientation:landscape){.modal-backdrop{padding:5px max(8px,env(safe-area-inset-right)) 5px max(8px,env(safe-area-inset-left))}.birthday-modal{padding-top:13px;border-radius:11px}.birthday-modal h2{font-size:19px}.birthday-package-text{font-size:12px;padding:10px}.birthday-food-warning{font-size:12px;padding:9px 11px}.decoration-intro-text{margin:11px 0 7px}.decoration-card img{height:92px}.decoration-card-copy{padding:7px 9px}.birthday-modal-actions{padding-top:8px;padding-bottom:8px}}

/* V113: optionale Adress-Ausfüllhilfe über OpenPLZ */
.address-autocomplete-field{position:relative}.address-street-row{grid-template-columns:minmax(0,1fr) 145px;gap:12px}.address-suggestions{position:absolute;z-index:20;top:calc(100% + 3px);left:0;right:0;max-height:245px;overflow:auto;border:1px solid #bfcbd3;border-radius:10px;background:#fff;box-shadow:0 12px 28px rgba(20,35,48,.17)}.address-suggestion{display:block;width:100%;height:auto;min-height:45px;border:0;border-bottom:1px solid #edf0f2;padding:9px 12px;background:#fff;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.address-suggestion:last-child{border-bottom:0}.address-suggestion:hover,.address-suggestion:focus{background:#edf8f3;outline:0}.address-suggestion strong,.address-suggestion small{display:block}.address-suggestion strong{font-size:13px}.address-suggestion small{margin-top:2px;color:var(--muted);font-size:10px}.address-assistance-status{min-height:18px;margin:2px 0 1px;color:#526372;font-size:11px;line-height:1.45}.address-assistance-status.loading{color:#177052}.address-assistance-status.warning{color:#8a5b1d}.address-data-source{margin:0 0 15px;color:#7a858f;font-size:10px}.address-data-source a{color:#496c77;font-weight:750}@media(max-width:700px){.address-order-row,.address-street-row{grid-template-columns:1fr!important}.address-suggestions{position:relative;top:auto;margin-top:3px;box-shadow:0 7px 18px rgba(20,35,48,.12)}}

/* V113: Sprachumschaltung */
.header-controls{position:absolute;right:18px;top:14px;display:flex;align-items:center;gap:8px}.header-controls .system-status{position:static}.language-switch{display:flex;gap:5px;padding:4px;border-radius:10px;background:rgba(0,0,0,.24)}.language-button{display:grid;place-items:center;width:46px;height:34px;border:2px solid transparent;border-radius:7px;padding:3px;background:transparent;cursor:pointer;transition:background .15s,border-color .15s,transform .15s}.language-button img{display:block;width:36px;height:24px;object-fit:cover;border-radius:3px;box-shadow:0 1px 4px rgba(0,0,0,.3)}.language-button:hover{background:rgba(255,255,255,.14);transform:translateY(-1px)}.language-button:focus-visible{outline:3px solid #fff;outline-offset:2px}.language-button.selected{border-color:#fff;background:rgba(255,255,255,.22);box-shadow:0 2px 8px rgba(0,0,0,.2)}
@media(max-width:700px){.center-card{padding-top:64px}.header-controls{left:10px;right:10px;top:12px;justify-content:space-between}.header-controls .system-status{width:max-content;margin:0}}

/* V113: Die neuen Querformatfotos bleiben vollständig und ohne ungewollten Ausschnitt sichtbar. */
.decoration-card img{height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center}
@media(max-height:600px) and (orientation:landscape){.decoration-card img{height:92px;aspect-ratio:auto}}

/* V113: Kindergeburtstagsbahnen werden aus der Kinderzahl berechnet. */
.selection-grid.birthday-selection{grid-template-areas:"duration duration" "players players"}.player-choice>small{display:block;margin:-1px 0 9px;color:var(--muted);font-size:11px;line-height:1.45}
