/* Public-Buchungsseite nach den Canvas-Entwürfen "Einseitig", "EinseitigMobil", "Mehrzimmer", "Dialoge", "Daten"
   (Spec 2026-11-02, Abschnitt 8). Schriften: Inter (Text), Fraunces (Überschriften), JetBrains Mono (Kennungen).
   Primär-Buttons Orange #EE901E mit dunkler Schrift #1A1815 - Weiß auf Orange erreicht WCAG 2.1 AA nicht. */

.lnx-bk { background: #FAF7F2; color: #1A1815; font-family: 'Inter', system-ui, sans-serif; min-height: 100vh; padding-bottom: 48px; }
.lnx-bk *, .lnx-bk *::before, .lnx-bk *::after { box-sizing: border-box; }
.lnx-bk a { color: #C77508; }
.lnx-bk a:hover { color: #8F5406; }
.lnx-bk button { font-family: 'Inter', sans-serif; }
.lnx-bk :focus-visible { outline: 2px solid #EE901E; outline-offset: 2px; }
.lnx-bk-wrap { max-width: 1280px; margin: 0 auto; padding: 0 48px; }
.lnx-bk-muted { color: #6B635A; }
.lnx-bk-mono { font: 500 11px 'JetBrains Mono', monospace; letter-spacing: .08em; color: #6B635A; text-transform: uppercase; }

/* Bühne */
.lnx-bk-stage { height: 300px; background: #3A3530 center / cover no-repeat; position: relative; }
.lnx-bk-stage::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(26, 24, 21, .45) 0%, rgba(26, 24, 21, 0) 45%); }
.lnx-bk-stage-top { position: relative; z-index: 1; max-width: 1280px; margin: 0 auto; padding: 20px 48px 0; display: flex; align-items: center; gap: 16px; }
.lnx-bk-stage-name { font: 500 26px 'Fraunces', serif; color: #FAF7F2 !important; text-decoration: none; flex-grow: 1; }
/* Logo aus der Bildverwaltung: in Originalproportion, nie hochskaliert; heller Grund, weil Logos meist für Weiß gemacht sind. */
.lnx-bk-stage-logo { max-height: 56px; max-width: 180px; width: auto; height: auto; background: #FFFFFF; border-radius: 6px; padding: 4px 8px; }

/* Buttons */
.lnx-bk-btn { font: 600 14px 'Inter', sans-serif; border-radius: 6px; padding: 10px 18px; cursor: pointer; min-height: 40px; border: 0; }
.lnx-bk-btn--primary { background: #EE901E; color: #1A1815; }
.lnx-bk-btn--primary:hover:not(:disabled) { background: #C77508; }
.lnx-bk-btn--primary:disabled { background: #E4DED4; color: #6B635A; cursor: not-allowed; }
.lnx-bk-btn--outline { background: #FFFFFF; color: #1A1815; border: 1px solid #1A1815; }
.lnx-bk-btn--ghost { background: none; color: #C77508; padding: 6px 0; min-height: 0; }
.lnx-bk-btn--book { font: 700 17px 'Inter', sans-serif; padding: 18px 28px; }
.lnx-bk-link { background: none; border: 0; padding: 0; font: 600 13px 'Inter', sans-serif; color: #C77508; cursor: pointer; }

/* Buchungszeile */
.lnx-bk-trips { display: flex; gap: 4px; padding-left: 12px; margin-top: 18px; }
.lnx-bk-trip { background: #F2EDE2; border: 0; border-radius: 10px 10px 0 0; padding: 8px 14px; font-size: 13px; color: #3A3530; cursor: pointer; }
.lnx-bk-trip.is-active { background: #FFFFFF; border: 1px solid #E4DED4; border-bottom: 0; font-weight: 600; color: #1A1815; }
.lnx-bk-trip--add { background: none; color: #C77508; font-weight: 600; }
.lnx-bk-bar { position: sticky; top: 0; z-index: 20; background: #FFFFFF; border: 1px solid #E4DED4; border-radius: 16px;
    box-shadow: 0 12px 32px rgba(26, 24, 21, .14); display: flex; align-items: stretch; height: 72px; }
.lnx-bk-bar--overlap { margin-top: -36px; }
.lnx-bk-seg { flex: 1; position: relative; padding: 12px 20px; border-right: 1px solid #E4DED4; display: flex; flex-direction: column;
    justify-content: center; text-align: left; min-width: 0; }
.lnx-bk-seg:first-child { border-radius: 16px 0 0 16px; }
.lnx-bk-seg.is-open { background: #FFF4E0; }
.lnx-bk-seg--rooms { flex: 1.1; }
.lnx-bk-seg--dates { flex: 1.3; }
.lnx-bk-seg--code { flex: .8; cursor: text; }
.lnx-bk-seg--cart { flex: .9; border-right: 0; flex-direction: row; align-items: center; gap: 12px; cursor: default; }
.lnx-bk-seg-toggle { all: unset; display: flex; flex-direction: column; justify-content: center; height: 100%; width: 100%; cursor: pointer; min-width: 0; }
.lnx-bk-seg-toggle:focus-visible { outline: 2px solid #EE901E; outline-offset: 2px; border-radius: 6px; }
.lnx-bk-seg-label { font-size: 11px; color: #6B635A; }
.lnx-bk-seg-value { font-weight: 600; font-size: 15px; color: #1A1815; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lnx-bk-seg-value--muted { font-weight: 400; color: #6B635A; }
.lnx-bk-code { border: 0; outline: 0; padding: 0; font: 400 15px 'Inter', sans-serif; color: #1A1815; background: transparent; width: 100%; }
.lnx-bk-code::placeholder { color: #6B635A; }
.lnx-bk-cart-total { display: flex; flex-direction: column; flex-grow: 1; }
.lnx-bk-cart-sum { font: 700 18px 'Inter', sans-serif; }
.lnx-bk-cart-badge { background: #EE901E; border-radius: 9999px; min-width: 22px; height: 22px; font-size: 12px; font-weight: 700;
    display: flex; align-items: center; justify-content: center; padding: 0 6px; }

/* Dropdowns der Buchungszeile */
.lnx-bk-drop { position: absolute; top: calc(100% + 8px); background: #FFFFFF; border: 1px solid #E4DED4; border-radius: 16px;
    box-shadow: 0 12px 32px rgba(26, 24, 21, .14); z-index: 30; cursor: default; text-align: left; }
.lnx-bk-drop, .lnx-bk-drop * { box-sizing: border-box; }
.lnx-bk-drop--cal { left: 0; width: 800px; padding: 18px 24px 16px; display: flex; flex-direction: column; gap: 14px; font-family: 'Inter', sans-serif; color: #1A1815; }
.lnx-bk-drop--rooms { left: 0; width: 360px; padding: 16px 18px; display: flex; flex-direction: column; gap: 12px; }
.lnx-bk-cal-hint { margin: 0; padding-bottom: 12px; border-bottom: 1px solid #E4DED4; font-size: 13px; color: #6B635A; }
.lnx-bk-cal-months { display: flex; gap: 32px; }
.lnx-bk-cal { flex: 1; min-width: 0; }
.lnx-bk-cal-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.lnx-bk-cal-title { font: 500 20px 'Fraunces', serif; text-transform: capitalize; }
.lnx-bk-cal-nav { background: none; border: 0; width: 32px; height: 32px; font: 400 24px 'Inter', sans-serif; line-height: 1; color: #1A1815; cursor: pointer; }
.lnx-bk-cal-nav:disabled { opacity: .25; cursor: default; }
.lnx-bk-cal-navspace { width: 32px; }
.lnx-bk-cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); row-gap: 2px; text-align: center; }
.lnx-bk-cal-dow { color: #6B635A; font-size: 12px; padding: 4px 0 8px; }
.lnx-bk-cal-day { border: 0; background: none; height: 52px; padding: 6px 0 4px; color: #1A1815; cursor: pointer; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 2px; }
.lnx-bk-cal-day:hover:not(:disabled) { background: #F2EDE2; }
.lnx-bk-cal-no { font: 400 16px 'Inter', sans-serif; }
.lnx-bk-cal-day small { font: 400 11px 'Inter', sans-serif; color: #6B635A; white-space: nowrap; }
.lnx-bk-cal-day:disabled { cursor: default; color: #B8AFA3; }
.lnx-bk-cal-day:disabled small { color: #B8AFA3; }
.lnx-bk-cal-day.is-off { background: #F2EDE2; color: #B8AFA3; }
.lnx-bk-cal-day.is-full, .lnx-bk-cal-mark--full { color: #B8AFA3;
    background: linear-gradient(to top right, transparent calc(50% - .6px), #B8AFA3 calc(50% - .6px), #B8AFA3 calc(50% + .6px), transparent calc(50% + .6px)),
        linear-gradient(to bottom right, transparent calc(50% - .6px), #B8AFA3 calc(50% - .6px), #B8AFA3 calc(50% + .6px), transparent calc(50% + .6px)); }
.lnx-bk-cal-day.is-nocheckin, .lnx-bk-cal-mark--nocheckin { background: linear-gradient(135deg, #E4DED4 0 16px, transparent 16px); }
.lnx-bk-cal-day.is-between { background: #FBE7CC; }
.lnx-bk-cal-day.is-start, .lnx-bk-cal-day.is-end { background: #EE901E; }
.lnx-bk-cal-day.is-start small, .lnx-bk-cal-day.is-end small { color: #1A1815; }
.lnx-bk-cal-foot { display: flex; align-items: center; gap: 22px; padding-top: 4px; font-size: 12px; color: #6B635A; }
.lnx-bk-cal-legend { display: inline-flex; align-items: center; gap: 8px; }
.lnx-bk-cal-mark { display: inline-block; width: 20px; height: 20px; border: 1px solid #E4DED4; }
.lnx-bk-cal-status { margin-left: auto; font-size: 13px; font-weight: 600; color: #1A1815; }
.lnx-bk-room-edit { border: 1px solid #E4DED4; border-radius: 10px; padding: 12px; display: flex; flex-direction: column; gap: 8px; font-size: 14px; }
.lnx-bk-room-edit.is-active { border: 2px solid #EE901E; }
.lnx-bk-room-edit-head { display: flex; justify-content: space-between; font-weight: 600; }
.lnx-bk-room-edit-head button { background: none; border: 0; color: #8C2F1E; font: 500 12px 'Inter', sans-serif; cursor: pointer; }
.lnx-bk-stepper-row { display: flex; justify-content: space-between; align-items: center; }
.lnx-bk-stepper { display: inline-flex; align-items: center; border: 1px solid #E4DED4; border-radius: 6px; }
.lnx-bk-stepper button { background: none; border: 0; width: 30px; height: 30px; font-size: 16px; cursor: pointer; color: #1A1815; }
.lnx-bk-stepper button:disabled { color: #B8AFA3; cursor: default; }
.lnx-bk-stepper span { min-width: 22px; text-align: center; font-weight: 600; }
.lnx-bk-select { font: 13px 'Inter', sans-serif; border: 1px solid #E4DED4; border-radius: 6px; padding: 4px 8px; background: #FFFFFF; color: #1A1815; }
.lnx-bk-hint { font-size: 12px; color: #6B635A; }

/* Abschnitte */
.lnx-bk-sections { padding-top: 28px; display: flex; flex-direction: column; gap: 22px; }
.lnx-bk-sec-head { display: flex; align-items: baseline; gap: 14px; margin-top: 10px; }
.lnx-bk-step { font: 500 12px 'JetBrains Mono', monospace; color: #C77508; }
.lnx-bk-sec-title { margin: 0; font: 500 30px 'Fraunces', serif; color: #1A1815; flex-grow: 1; }
.lnx-bk-sec-title:focus { outline: none; }
.lnx-bk-sec-aside { font-size: 13px; color: #6B635A; }
.lnx-bk-alert { border-radius: 10px; padding: 12px 16px; font-size: 14px; }
.lnx-bk-alert--info { background: #FFF4E0; color: #3A3530; }
.lnx-bk-alert--warn { background: #FBE7CC; color: #8F5406; }
.lnx-bk-alert--error { background: #F7E3DE; color: #8C2F1E; }
.lnx-bk-alert--ok { background: #DDEDDF; color: #1F4A2C; }
.lnx-bk-progress { height: 4px; border-radius: 9999px; background: #F2EDE2; overflow: hidden; }
.lnx-bk-progress::after { content: ""; display: block; height: 100%; width: 40%; background: #EE901E; animation: lnx-bk-progress 1.1s ease-in-out infinite; }
@keyframes lnx-bk-progress { from { transform: translateX(-100%); } to { transform: translateX(250%); } }

/* Zimmer-Reiter (Mehrzimmer) */
.lnx-bk-roomtabs { display: flex; gap: 10px; }
.lnx-bk-roomtab { flex: 1; background: #FFFFFF; border: 1px solid #E4DED4; border-radius: 10px; padding: 10px 14px; display: flex; align-items: center;
    gap: 10px; cursor: pointer; text-align: left; font-size: 13px; color: #1A1815; }
.lnx-bk-roomtab.is-active { background: #FFF4E0; border: 2px solid #EE901E; }
.lnx-bk-roomtab-no { width: 24px; height: 24px; border-radius: 9999px; background: #EE901E; display: flex; align-items: center; justify-content: center;
    font-size: 13px; font-weight: 700; flex-shrink: 0; }
.lnx-bk-roomtab.is-done .lnx-bk-roomtab-no { background: #2F6B40; color: #FFFFFF; font-weight: 400; }
.lnx-bk-roomtab-text { display: flex; flex-direction: column; }
.lnx-bk-roomtab-text span { color: #6B635A; }

/* Kategorien */
.lnx-bk-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.lnx-bk-card { background: #FFFFFF; border: 1px solid #E4DED4; border-radius: 16px; overflow: hidden; cursor: pointer; text-align: left; padding: 0;
    display: flex; flex-direction: column; align-items: stretch; font: inherit; color: inherit; }
.lnx-bk-card.is-open { border: 2px solid #EE901E; }
.lnx-bk-card.is-soldout { opacity: .55; cursor: default; }
.lnx-bk-card-img { height: 150px; background: #E4DED4 center / cover no-repeat; display: flex; justify-content: flex-end; align-items: flex-start; padding: 10px; }
.lnx-bk-card-wrap { position: relative; display: flex; }
.lnx-bk-card-wrap .lnx-bk-card { width: 100%; }
.lnx-bk-compare { position: absolute; top: 10px; left: 10px; background: #FFFFFF; border-radius: 6px; padding: 3px 8px; font: 500 12px 'Inter', sans-serif; color: #1A1815;
    display: inline-flex; align-items: center; gap: 6px; cursor: pointer; }
.lnx-bk-compare input { accent-color: #EE901E; margin: 0; }
.lnx-bk-compare-bar { background: #FFFFFF; border: 1px solid #E4DED4; border-radius: 10px; padding: 10px 16px; display: flex; align-items: center; gap: 16px; font-size: 13px; }
.lnx-bk-compare-bar span { flex-grow: 1; }
.lnx-bk-dialog.lnx-bk-dialog--wide { max-width: 860px; }
.lnx-bk-compare-scroll { overflow-x: auto; }
.lnx-bk-compare-table { width: 100%; border-collapse: collapse; font-size: 13px; color: #3A3530; }
.lnx-bk-compare-table th, .lnx-bk-compare-table td { padding: 10px 12px; border-bottom: 1px solid #E4DED4; text-align: left; vertical-align: top; }
.lnx-bk-compare-table thead th { font: 500 18px 'Fraunces', serif; color: #1A1815; min-width: 170px; }
.lnx-bk-compare-table tbody th { font-weight: 600; white-space: nowrap; }
.lnx-bk-compare-table tr:last-child td { border-bottom: 0; }
.lnx-bk-compare-img { display: block; height: 96px; border-radius: 10px; background: #E4DED4 center / cover no-repeat; margin-bottom: 8px; }
.lnx-bk-sort { font-size: 13px; color: #3A3530; white-space: nowrap; }
.lnx-bk-sort select { border: 0; background: transparent; font: 600 13px 'Inter', sans-serif; color: #1A1815; cursor: pointer; }
.lnx-bk-badge { background: #FFFFFF; border-radius: 6px; padding: 3px 8px; font: 600 12px 'Inter', sans-serif; color: #1A1815; }
.lnx-bk-badge--warn { color: #8C2F1E; }
.lnx-bk-badge--muted { color: #6B635A; }
.lnx-bk-card-body { padding: 14px 16px; display: flex; flex-direction: column; gap: 6px; flex-grow: 1; }
.lnx-bk-card-name { font: 500 21px 'Fraunces', serif; margin: 0; }
.lnx-bk-card-spec { font-size: 12px; color: #3A3530; }
.lnx-bk-card-foot { display: flex; align-items: flex-end; justify-content: space-between; margin-top: auto; padding-top: 4px; }
.lnx-bk-from { font-size: 12px; color: #6B635A; }
.lnx-bk-price { font: 700 20px 'Inter', sans-serif; }
.lnx-bk-arrow { font-size: 18px; }

/* Aufgeklappte Raten */
.lnx-bk-rates { background: #FFFFFF; border: 1px solid #E4DED4; border-radius: 16px; padding: 20px 24px; display: flex; flex-direction: column; gap: 14px; position: relative; }
.lnx-bk-rates-info { display: flex; gap: 24px; }
.lnx-bk-rates-text { flex: 1; font-size: 13px; color: #3A3530; display: flex; flex-direction: column; gap: 8px; }
.lnx-bk-rates-img { width: 360px; height: 140px; background: #E4DED4 center / cover no-repeat; border-radius: 10px; flex-shrink: 0; }
.lnx-bk-rate { border: 1px solid #E4DED4; border-radius: 10px; padding: 14px 18px; display: flex; align-items: center; gap: 16px; }
.lnx-bk-rate.is-chosen { border: 2px solid #EE901E; background: #FFF4E0; }
.lnx-bk-rate-main { flex-grow: 1; display: flex; flex-direction: column; gap: 6px; }
.lnx-bk-rate-name { font-weight: 600; }
.lnx-bk-rate-checks { font-size: 13px; color: #3A3530; }
.lnx-bk-rate-checks .is-cancel { color: #2F6B40; font-weight: 600; }
.lnx-bk-rate-price { text-align: right; white-space: nowrap; flex-shrink: 0; }
.lnx-bk-rate-price strong { display: block; font: 700 18px 'Inter', sans-serif; }
.lnx-bk-rate-price span { font-size: 12px; color: #6B635A; }

/* Zusammenfassung erledigter Zimmer */
.lnx-bk-done { background: #FFFFFF; border: 1px solid #E4DED4; border-radius: 16px; padding: 14px 20px; display: flex; align-items: center; gap: 16px; }
.lnx-bk-done-check { width: 26px; height: 26px; border-radius: 9999px; background: #2F6B40; color: #FFFFFF; display: flex; align-items: center;
    justify-content: center; font-size: 14px; flex-shrink: 0; }
.lnx-bk-done-thumb { width: 64px; height: 48px; background: #E4DED4 center / cover no-repeat; border-radius: 6px; flex-shrink: 0; }
.lnx-bk-done-text { flex-grow: 1; }
.lnx-bk-done-title { font-weight: 600; }
.lnx-bk-done-sub { font-size: 13px; color: #6B635A; }
.lnx-bk-done-list { display: flex; flex-direction: column; gap: 10px; }

/* Formulare */
.lnx-bk-panel { background: #FFFFFF; border: 1px solid #E4DED4; border-radius: 16px; padding: 20px 24px; display: flex; flex-direction: column; gap: 12px; }

/* Extras (Entwurf "Einseitig", Abschnitt 02) */
.lnx-bk-link--lg { font-size: 14px; }
.lnx-bk-extra-tabs { display: flex; gap: 8px; flex-wrap: wrap; }
.lnx-bk-extra-tab { background: #FFFFFF; border: 1px solid #E4DED4; border-radius: 9999px; padding: 7px 14px; font: 400 13px 'Inter', sans-serif; color: #1A1815; cursor: pointer; min-height: 36px; }
.lnx-bk-extra-tab.is-on { background: #1A1815; border-color: #1A1815; color: #FFFFFF; font-weight: 500; }
.lnx-bk-extra-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.lnx-bk-extra { background: #FFFFFF; border: 1px solid #E4DED4; border-radius: 16px; overflow: hidden; display: flex; flex-direction: column; }
.lnx-bk-extra.is-on { border: 2px solid #EE901E; }
.lnx-bk-extra-img { height: 90px; background: #E4DED4 center / cover no-repeat; padding: 8px; }
.lnx-bk-extra.is-included .lnx-bk-extra-img { background-color: #DDEDDF; }
.lnx-bk-extra-badge { background: #2F6B40; color: #FFFFFF; border-radius: 6px; padding: 3px 8px; font: 600 11px 'Inter', sans-serif; }
.lnx-bk-extra-body { padding: 12px; display: flex; flex-direction: column; gap: 4px; flex-grow: 1; }
.lnx-bk-extra-name { font-weight: 600; font-size: 14px; }
.lnx-bk-extra-unit { font-size: 12px; color: #6B635A; }
.lnx-bk-extra-foot { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-top: auto; padding-top: 6px; }
.lnx-bk-extra-price { font-weight: 700; white-space: nowrap; }
.lnx-bk-extra-add { background: #FFFFFF; border: 1px solid #1A1815; border-radius: 6px; padding: 4px 8px; font: 600 12px 'Inter', sans-serif; color: #1A1815; cursor: pointer; min-height: 32px; }
.lnx-bk-extra-chosen { background: none; border: 0; padding: 4px 0; font: 600 13px 'Inter', sans-serif; color: #2F6B40; cursor: pointer; min-height: 32px; }
.lnx-bk-extra-stepper { background: #FFF4E0; border-radius: 6px; display: inline-flex; align-items: center; gap: 4px; font: 600 12px 'Inter', sans-serif; }
.lnx-bk-extra-stepper button { background: none; border: 0; width: 30px; height: 32px; font: 600 14px 'Inter', sans-serif; color: #1A1815; cursor: pointer; }
.lnx-bk-extra-stepper button:disabled { color: #B8AFA3; cursor: default; }

/* Wünsche (Entwurf "Einseitig", Abschnitt 03) */
.lnx-bk-wishes { display: flex; gap: 10px; flex-wrap: wrap; }
.lnx-bk-wish { background: #FFFFFF; border: 1px solid #E4DED4; border-radius: 10px; padding: 10px 14px; font: 400 14px 'Inter', sans-serif; color: #1A1815; cursor: pointer; min-height: 44px; }
.lnx-bk-wish.is-on { background: #FFF4E0; border-color: #EE901E; font-weight: 500; }
.lnx-bk-wish--add { border-style: dashed; border-color: #B8AFA3; }
.lnx-bk-wish--select { display: inline-flex; align-items: center; padding: 0 10px 0 14px; }
.lnx-bk-wish--select select { border: 0; background: transparent; font: inherit; color: inherit; cursor: pointer; padding: 10px 0; }
.lnx-bk-wish-message { margin-top: 2px; }
.lnx-bk-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.lnx-bk-fields { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.lnx-bk-field { display: flex; flex-direction: column; gap: 6px; font-size: 12px; font-weight: 600; color: #3A3530; }
.lnx-bk-input { font: 400 15px 'Inter', sans-serif; border: 1px solid #E4DED4; border-radius: 6px; padding: 11px; color: #1A1815; background: #FFFFFF; width: 100%; }
.lnx-bk-input:focus { outline: 2px solid #EE901E; outline-offset: 0; border-color: #EE901E; }
.lnx-bk-input.is-invalid { border-color: #8C2F1E; }
.lnx-bk-field-error { font-weight: 400; color: #8C2F1E; }
textarea.lnx-bk-input { resize: vertical; min-height: 72px; }

/* Zahlung */
.lnx-bk-paygrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.lnx-bk-paycard { background: #FFFFFF; border: 1px solid #E4DED4; border-radius: 16px; padding: 16px 20px; display: flex; flex-direction: column; gap: 6px;
    font-size: 13px; color: #3A3530; }
.lnx-bk-paycard.is-active { background: #FFF4E0; border: 2px solid #EE901E; }
.lnx-bk-paycard.is-unavailable { background: #F2EDE2; border-style: dashed; color: #6B635A; }
.lnx-bk-paycard-title { font-weight: 600; font-size: 15px; color: #1A1815; }
.lnx-bk-paynote { background: #FFFFFF; border-radius: 6px; padding: 8px 10px; font-size: 12px; }
.lnx-bk-check { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; color: #3A3530; }
.lnx-bk-check input { margin-top: 2px; accent-color: #EE901E; width: 16px; height: 16px; flex-shrink: 0; }

/* Abschluss */
.lnx-bk-finish { background: #FFFFFF; border: 1px solid #E4DED4; border-radius: 16px; padding: 20px 24px; display: flex; align-items: center; gap: 24px; }
.lnx-bk-finish-lines { flex-grow: 1; display: flex; flex-direction: column; gap: 4px; font-size: 14px; }
.lnx-bk-line { display: flex; justify-content: space-between; max-width: 460px; gap: 16px; }
.lnx-bk-line--total { border-top: 1px solid #E4DED4; padding-top: 6px; margin-top: 4px; font-weight: 700; }
.lnx-bk-line--total strong { font-size: 20px; }
.lnx-bk-legal { font-size: 12px; color: #6B635A; margin-top: 6px; }
.lnx-bk-finish-action { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.lnx-bk-turnstile { min-height: 65px; }
.lnx-bk-finish-check { margin-top: 10px; max-width: 460px; }
.lnx-bk-pills { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; padding-bottom: 8px; }
.lnx-bk-pill { background: #FFFFFF; border: 1px solid #E4DED4; border-radius: 9999px; padding: 10px 16px; font: 500 13px 'Inter', sans-serif; color: #1A1815; cursor: pointer; }

/* Dialog (Angebot speichern) */
.lnx-bk-dialog-back { position: fixed; inset: 0; background: rgba(26, 24, 21, .45); z-index: 50; display: flex; align-items: center; justify-content: center; padding: 16px; }
.lnx-bk-dialog { background: #FFFFFF; border: 1px solid #E4DED4; border-radius: 24px; padding: 24px; width: 100%; max-width: 420px; display: flex;
    flex-direction: column; gap: 14px; box-shadow: 0 12px 32px rgba(26, 24, 21, .10); }
.lnx-bk-dialog-head { display: flex; align-items: center; }
.lnx-bk-dialog-title { margin: 0; font: 500 24px 'Fraunces', serif; flex-grow: 1; }
.lnx-bk-dialog-close { background: none; border: 0; font-size: 18px; color: #6B635A; cursor: pointer; }
.lnx-bk-dialog-box { background: #FAF7F2; border-radius: 10px; padding: 12px 14px; font-size: 13px; display: flex; flex-direction: column; gap: 4px; }

/* Abschlussseite */
.lnx-bk-complete { max-width: 560px; margin: 48px auto 0; background: #FFFFFF; border: 1px solid #E4DED4; border-radius: 24px; padding: 32px 24px;
    display: flex; flex-direction: column; align-items: center; gap: 12px; text-align: center; }
.lnx-bk-complete-icon { width: 56px; height: 56px; border-radius: 9999px; background: #DDEDDF; color: #2F6B40; display: flex; align-items: center;
    justify-content: center; font-size: 24px; }
.lnx-bk-complete-title { margin: 0; font: 500 26px 'Fraunces', serif; }

/* Variante A: Schritte mit Seitenleiste (Entwürfe "Zimmer", "Daten") */
.lnx-bk-stepper-nav { display: flex; gap: 18px; font-size: 13px; color: #6B635A; }
.lnx-bk-stepper-item { text-decoration: none; color: #6B635A; }
.lnx-bk-stepper-item.is-current { color: #1A1815; font-weight: 700; }
.lnx-bk-stepper-item.is-done { color: #2F6B40 !important; }
.lnx-bk-two { display: flex; gap: 24px; align-items: flex-start; }
.lnx-bk-two-main { flex-grow: 1; min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.lnx-bk-two-main .lnx-bk-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.lnx-bk-aside { width: 340px; flex-shrink: 0; display: flex; flex-direction: column; gap: 12px; position: sticky; top: 96px; }
.lnx-bk-aside-card { background: #FFFFFF; border: 1px solid #E4DED4; border-radius: 16px; overflow: hidden; box-shadow: 0 8px 28px rgba(26, 24, 21, .08); }
.lnx-bk-aside-img { height: 130px; background: #E4DED4 center / cover no-repeat; }
.lnx-bk-aside-body { padding: 16px 20px; display: flex; flex-direction: column; gap: 10px; font-size: 14px; }
.lnx-bk-aside-dates { font-weight: 600; }
.lnx-bk-aside-note { background: #FFFFFF; border: 1px solid #E4DED4; border-radius: 10px; padding: 14px 16px; font-size: 13px; color: #3A3530; display: flex; flex-direction: column; gap: 6px; }
@media (max-width: 960px) { .lnx-bk-two { flex-direction: column; } .lnx-bk-aside { width: 100%; position: static; } .lnx-bk-two-main .lnx-bk-grid { grid-template-columns: 1fr; } }

/* Mobile Leiste (EinseitigMobil) */
.lnx-bk-mobilebar { display: none; }

@media (max-width: 960px) {
    .lnx-bk-wrap, .lnx-bk-stage-top { padding-left: 16px; padding-right: 16px; }
    .lnx-bk-stage { height: 180px; }
    .lnx-bk-bar { height: auto; flex-wrap: wrap; position: static; }
    .lnx-bk-seg { flex: 1 1 50%; border-bottom: 1px solid #E4DED4; min-height: 60px; }
    .lnx-bk-seg:first-child { border-radius: 16px 0 0 0; }
    .lnx-bk-seg--cart { display: none; }
    .lnx-bk-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .lnx-bk-extra-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .lnx-bk-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .lnx-bk-drop--cal { width: min(800px, calc(100vw - 32px)); }
    .lnx-bk-cal-months { flex-direction: column; gap: 18px; }
    .lnx-bk-cal-foot { flex-wrap: wrap; gap: 10px 18px; }
    .lnx-bk-cal-status { margin-left: 0; width: 100%; }
    .lnx-bk-rates-img { display: none; }
    .lnx-bk-mobilebar { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 25; background: #FFFFFF; border-top: 1px solid #E4DED4;
        padding: 12px 16px 24px; align-items: center; gap: 12px; box-shadow: 0 -8px 24px rgba(26, 24, 21, .08); }
    .lnx-bk-mobilebar-sum { flex-grow: 1; display: flex; flex-direction: column; }
    .lnx-bk-mobilebar-sum strong { font: 700 18px 'Inter', sans-serif; }
    .lnx-bk-mobilebar .lnx-bk-btn { min-height: 48px; padding: 14px 20px; font-size: 15px; }
    .lnx-bk { padding-bottom: 110px; }
}

@media (max-width: 600px) {
    .lnx-bk-seg { flex: 1 1 100%; border-right: 0; }
    .lnx-bk-seg:first-child { border-radius: 16px 16px 0 0; }
    .lnx-bk-grid { grid-template-columns: 1fr; }
    .lnx-bk-roomtabs { flex-direction: column; }
    .lnx-bk-sec-title { font-size: 24px; }
    .lnx-bk-drop--rooms { width: calc(100vw - 32px); }
    .lnx-bk-rate { flex-wrap: wrap; }
    .lnx-bk-rate .lnx-bk-btn { width: 100%; min-height: 48px; }
    .lnx-bk-fields, .lnx-bk-paygrid { grid-template-columns: 1fr; }
    .lnx-bk-finish { flex-direction: column; align-items: stretch; }
    .lnx-bk-finish-action .lnx-bk-btn { width: 100%; }
    .lnx-bk-panel, .lnx-bk-finish, .lnx-bk-rates { padding: 16px; }
    .lnx-bk-done { flex-wrap: wrap; }
}
