.nlx-sb{--nlx-blue:#034f8d;--nlx-border:#c8d5e0;color:#14324b;background:#fff;font:1rem/1.55 system-ui,sans-serif;max-width:1200px;margin:1.5rem auto;padding:1.5rem;border:1px solid var(--nlx-border);border-radius:12px}.nlx-sb *{box-sizing:border-box}.nlx-sb [hidden]{display:none!important}.nlx-sb h1,.nlx-sb h2,.nlx-sb h3{color:#14324b;line-height:1.3;margin:1.3em 0 .65em}.nlx-sb h1,.nlx-sb h2{font-size:1.6rem}.nlx-sb h3{font-size:1.2rem}.nlx-sb p{margin:.8rem 0}.nlx-sb a{color:var(--nlx-blue);text-decoration:underline}.nlx-sb button{border:1px solid var(--nlx-blue);border-radius:6px;padding:.7rem 1rem;color:#fff;background:var(--nlx-blue);font:inherit;cursor:pointer;min-height:44px}.nlx-sb button:disabled{opacity:.5;cursor:not-allowed}.nlx-sb :focus-visible{outline:3px solid #ed9d00;outline-offset:3px}.nlx-sb input,.nlx-sb select,.nlx-sb textarea{width:100%;min-height:44px;padding:.6rem;border:1px solid #8195a7;border-radius:5px;color:#14324b;background:#fff;font:inherit}.nlx-sb label{display:block;font-weight:500}.nlx-sb label>input,.nlx-sb label>select,.nlx-sb label>textarea{margin-top:.35rem}.nlx-sb textarea{min-height:100px}.nlx-sb small{display:block;font-size:.875rem;color:#52687b}.nlx-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0}.nlx-full{grid-column:1/-1}.nlx-sb .nlx-check{display:flex;gap:.7rem;align-items:baseline;flex-wrap:wrap;margin:1rem 0;font-weight:400}.nlx-sb .nlx-check input{width:20px;min-height:20px;margin:0;flex:none}.nlx-sb fieldset{border:1px solid var(--nlx-border);padding:1rem}.nlx-actions{display:flex;gap:.7rem;align-items:end;flex-wrap:wrap;margin:1rem 0}.nlx-actions>label{flex:1;min-width:200px}.nlx-notice{padding:1rem;background:#edf6ff;border:1px solid #c1d9ef;border-radius:6px}.nlx-error{background:#fff0f0;border-color:#f2b7b7;color:#9e2634}.nlx-price{font-size:1.25rem;font-weight:700}.nlx-legend{display:flex;gap:1rem;flex-wrap:wrap;font-size:.9rem;margin:1rem 0}.nlx-map-scroll{width:100%;overflow:auto;border:1px solid var(--nlx-border);border-radius:7px}.nlx-map{min-width:800px;width:100%}.nlx-map svg{width:100%;height:auto;display:block}.nlx-map [data-stand]{cursor:pointer}.nlx-map [data-state=held] rect,.nlx-map [data-state=held] polygon,.nlx-map [data-state=booked] rect,.nlx-map [data-state=booked] polygon,.nlx-map [data-state=blocked] rect,.nlx-map [data-state=blocked] polygon{fill:#7b8793!important}.nlx-map [data-selected=true] rect,.nlx-map [data-selected=true] polygon{fill:#16734b!important;stroke:#094b30!important;stroke-width:2!important}.nlx-map [aria-disabled=true]{cursor:not-allowed}.nlx-table{overflow:auto}.nlx-sb table{border-collapse:collapse;width:100%;font-size:.9rem}.nlx-sb th,.nlx-sb td{text-align:left;padding:.7rem;border-bottom:1px solid var(--nlx-border);vertical-align:top}.nlx-sb th{background:#edf3f8}.nlx-sb details{margin-top:1.5rem}.nlx-sb summary{cursor:pointer;font-weight:600}@media(max-width:650px){.nlx-sb{padding:1rem;margin:1rem 0}.nlx-grid{grid-template-columns:1fr}.nlx-sb h1,.nlx-sb h2{font-size:1.3rem}.nlx-actions button{flex:1}.nlx-sb .nlx-check{align-items:flex-start}}

/* Ticket checkout */
.nlx-steps{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;padding:1.25rem .5rem;margin:0 0 2rem;background:#f7f9fb;border-radius:8px;gap:.5rem}
.nlx-steps li{position:relative;text-align:center;color:#52687b;font-size:.9rem;z-index:0}
.nlx-steps li:not(:last-child)::after{content:"";height:2px;background:#c8d5e0;position:absolute;left:calc(50% + 24px);right:calc(-50% + 24px);top:22px;z-index:-1}
.nlx-steps li.is-active::after{background:#1671bd}
.nlx-steps span{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0 auto .5rem;border:1px solid #8195a7;border-radius:50%;background:#f7f9fb;font-weight:700}
.nlx-steps .is-active{color:#0867b2}.nlx-steps .is-active span{background:#0867b2;color:#fff;border-color:#0867b2}
.nlx-ticket-row{display:grid;grid-template-columns:minmax(0,1fr) 130px;gap:2rem;padding:1.75rem 0;border-bottom:1px solid var(--nlx-border)}
.nlx-ticket-row h3{margin:0 0 .35rem}.nlx-ticket-row p{margin:0}.nlx-ticket-description{white-space:pre-line;color:#52687b;font-size:.95rem}
.nlx-ticket-control{text-align:right}.nlx-ticket-control strong{font-size:1.15rem;white-space:nowrap}.nlx-ticket-control select{margin-top:.5rem}.nlx-fixed-quantity{display:block;text-align:center;border:1px solid var(--nlx-border);border-radius:5px;padding:.6rem;margin-top:.5rem}
.nlx-total-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.5rem 0;border-bottom:1px solid var(--nlx-border)}.nlx-total-row>span:last-child,.nlx-total-row>strong:last-child{white-space:nowrap}.nlx-total{font-size:1.2rem}
.nlx-summary{background:#f7f9fb;padding:1.5rem;margin:1.5rem 0 2rem;border-radius:8px}.nlx-summary h3{margin-top:0}.nlx-summary-line{display:grid;grid-template-columns:2rem minmax(0,1fr) auto;gap:1rem;padding:.5rem 0}.nlx-summary-line strong{white-space:nowrap}
.nlx-data-card{padding:1.5rem;margin:1rem 0;border:1px solid var(--nlx-border);border-radius:6px}.nlx-data-card h3:first-child{margin-top:0}.nlx-data-card summary{font-weight:500;font-size:1.1rem}.nlx-data-card summary small{margin-bottom:.35rem}
.nlx-sb .nlx-secondary{background:#fff;color:var(--nlx-blue)}.nlx-between{justify-content:space-between;margin-top:1.75rem}.nlx-review-person+.nlx-review-person{border-top:1px solid var(--nlx-border);padding-top:1rem}.nlx-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:650px){.nlx-steps{padding:1rem 0;gap:.25rem}.nlx-steps li{font-size:.75rem}.nlx-ticket-row{grid-template-columns:minmax(0,1fr) 105px;gap:1rem}.nlx-data-card,.nlx-summary{padding:1rem}.nlx-summary-line{grid-template-columns:1.5rem minmax(0,1fr);gap:.5rem}.nlx-summary-line strong{grid-column:2}.nlx-total{font-size:1rem}.nlx-between button{flex:auto}}

/* Hallenplan-Legende */
.nlx-legend>span{display:inline-flex;align-items:center;gap:.45rem}.nlx-legend-color{display:inline-block;width:1rem;height:1rem;border-radius:3px;flex:none}.nlx-legend-free{background:#034f8d}.nlx-legend-booked{background:#7b8793}


/* Breite Standauswahl mit feststehenden Zoom-Schaltflächen. */
.nlx-sb.nlx-sb-map-view{box-sizing:border-box;width:calc(100% - 2rem);max-width:1600px;padding:clamp(1rem,1.5vw,1.5rem);margin:1.5rem auto}
.nlx-map-frame{position:relative}
.nlx-map-frame .nlx-map-scroll{aspect-ratio:827.3/280.9;min-height:280px;border-radius:0}
.nlx-map-controls{position:absolute;top:.5rem;left:.5rem;z-index:2;display:flex;flex-direction:column;gap:.25rem}
.nlx-sb .nlx-map-controls button{display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-height:44px;padding:0;border:1px solid #aeb6bd;border-radius:4px;background:#fff;color:#14324b;font-size:1.6rem;font-weight:700;line-height:1;box-shadow:0 1px 3px #00000014}
.nlx-sb .nlx-map-controls button:hover:not(:disabled){background:#edf3f8}
.nlx-sb .nlx-map-controls button:disabled{opacity:1;color:#89949e;cursor:default}
@media(max-width:650px){.nlx-sb.nlx-sb-map-view{width:calc(100% - 1rem);padding:.75rem;margin:1rem auto}}

/* Mausrad-Zoom und Verschieben ohne versehentliche Standauswahl. */
.nlx-map-frame .nlx-map-scroll{overscroll-behavior:contain;user-select:none}
.nlx-map-scroll.is-pannable{cursor:grab}
.nlx-map-scroll.is-dragging,.nlx-map-scroll.is-dragging *{cursor:grabbing!important}

/* Ruhige Kartenansicht und zentrierte Standauswahl. */
.nlx-map-frame .nlx-map-scroll{scrollbar-width:none}
.nlx-map-frame .nlx-map-scroll::-webkit-scrollbar{display:none}
.nlx-sb [data-selection]:not(:empty){text-align:center;margin:1.5rem auto;scroll-margin-block:32px}
.nlx-checkout-content{max-width:1200px;margin:2rem auto 0}
.nlx-checkout-map [data-stand][aria-disabled=true]{cursor:inherit}

.nlx-legend-selected{background:#16734b;border:2px solid #094b30}

.nlx-sb .nlx-optional{color:#52687b;font-weight:400}

/* Rechnungsdaten mit klar getrennten Formularzeilen. */
.nlx-sb .nlx-copy-button{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;max-width:100%}
.nlx-copy-button svg{flex:none}

/* Halbe Feldbreite mit eigener Zeile für Titel und Organisation. */
.nlx-grid>.nlx-row-half{grid-column:1/-1;width:calc(50% - .5rem)}
@media(max-width:650px){.nlx-grid>.nlx-row-half{width:100%}}

/* Zentrierte Buchungsbestätigung mit Abstand zum Seitenende. */
.nlx-sb .nlx-confirmation{text-align:center;padding-bottom:3rem}
.nlx-sb .nlx-confirmation h2{text-align:inherit}

/* Wartehinweis direkt am Buchungsabschluss. */
.nlx-sb .nlx-submit-status:not(:empty){display:flex;align-items:center;gap:1rem;margin:1rem 0;padding:1rem;background:#edf6ff;border:1px solid #c1d9ef;border-radius:6px}
.nlx-sb .nlx-submit-spinner{display:inline-block;flex:0 0 auto;width:1.5rem;height:1.5rem;border:3px solid #c1d9ef;border-top-color:var(--nlx-blue);border-radius:50%;animation:nlx-submit-spin .8s linear infinite}
@keyframes nlx-submit-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.nlx-sb .nlx-submit-spinner{animation:none}}
