.vbt {
  --vbt-primary: #7a4f3a; --vbt-accent: #c49a6c; --vbt-surface: #fffaf5; --vbt-text: #2f2925;
  --vbt-border: #e4e5e8; --vbt-muted: #777b84; --vbt-soft: color-mix(in srgb, var(--vbt-primary) 7%, #fff);
  --vbt-s1: 8px; --vbt-s2: 16px; --vbt-s3: 24px; --vbt-s4: 40px;
  --vbt-font-heading: system-ui, sans-serif; --vbt-font-body: system-ui, sans-serif;
  width: 100%; max-width: none; color: var(--vbt-text); font: 400 14px/1.45 var(--vbt-font-body);
}
.vbt *, .vbt *::before, .vbt *::after { box-sizing: border-box; }
.vbt [hidden] { display: none !important; }
.vbt fieldset { min-inline-size: 0; margin: var(--vbt-s2) 0 0; padding: 0; border: 0; }
.vbt h2, .vbt h3, .vbt h4, .vbt legend { font-family: var(--vbt-font-heading); }
.vbt label { display: block; margin: 0; font-weight: 650; }
.vbt .vbt__form { position: relative !important; display: block !important; width: 100% !important; max-width: 1240px !important; min-height: 0 !important; height: auto !important; margin: 0 auto !important; padding: 22px 34px 32px !important; gap: 0 !important; align-content: start !important; justify-content: start !important; overflow: visible !important; background: #fff; border: 1px solid var(--vbt-border); border-radius: 18px; box-shadow: 0 12px 42px rgba(26,30,38,.07); }

.vbt__mobile-head, .vbt__mobile-progress { display: none; }
.vbt .vbt__progress { display: grid !important; min-height: 48px !important; height: auto !important; margin: 0 0 var(--vbt-s2) !important; padding: 0 0 14px !important; gap: 0 !important; grid-template-columns: repeat(8,minmax(0,1fr)); align-items: center; border-bottom: 1px solid var(--vbt-border); list-style: none; }
.vbt__progress li { position: relative; display: flex; min-width: 0; gap: var(--vbt-s1); align-items: center; color: #83868e; font-size: 12px; font-weight: 500; white-space: nowrap; }
.vbt__progress li:not(:last-child)::after { position: absolute; z-index: 0; top: 15px; right: 10px; left: 38px; height: 1px; background: #d9dbe0; content: ""; }
.vbt__progress span { z-index: 1; display: grid; width: 30px; height: 30px; flex: 0 0 30px; place-items: center; color: #5e626b; background: #f5f5f6; border-radius: 50%; font-size: 12px; font-weight: 600; }
.vbt__progress .is-active, .vbt__progress .is-complete { color: var(--vbt-primary); }
.vbt__progress .is-active { font-weight: 700; }
.vbt__progress .is-active span, .vbt__progress .is-complete span { color: #fff; background: var(--vbt-primary); }
.vbt__progress .is-complete::after { background: var(--vbt-primary) !important; }
.vbt__progress li.is-clickable { cursor: pointer; }
.vbt__progress li.is-clickable:hover { color: var(--vbt-primary); }
.vbt__progress li[aria-disabled="true"] { opacity: .6; }

.vbt .vbt__layout { display: grid !important; min-height: 0 !important; height: auto !important; margin: 0 !important; padding: 0 !important; grid-template-columns: minmax(0,3fr) minmax(260px,1fr); gap: 30px !important; align-content: start !important; align-items: start !important; justify-content: stretch !important; }
.vbt .vbt__main, .vbt .vbt__step { position: static !important; display: block !important; min-width: 0 !important; min-height: 0 !important; height: auto !important; margin: 0 !important; padding: 0 !important; gap: 0 !important; align-content: start !important; align-items: start !important; justify-content: start !important; transform: none !important; }
.vbt .vbt__step[hidden],
.vbt form.vbt__form .vbt__step[hidden] { display: none !important; }
.vbt__step > :first-child { margin-top: 0; }
.vbt__step > :last-child { margin-bottom: 0; }
.vbt__step h3, .vbt__summary h3 { margin: 0 0 5px; color: #111216; font-size: 23px; font-weight: 750; line-height: 1.2; }
.vbt__subline { margin: 0 0 20px !important; padding: 0 !important; color: var(--vbt-muted); font-size: 14px; }
.vbt__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--vbt-s2); }
.vbt__grid-full { grid-column: 1/-1; }

.vbt .vbt__schedule-grid { display: grid !important; min-height: 0 !important; height: auto !important; margin: 0 !important; padding: 0 !important; grid-template-columns: minmax(350px,1.1fr) minmax(250px,.75fr); gap: 34px !important; align-content: start !important; align-items: start !important; }
.vbt form.vbt__form .vbt__date-field { display: block !important; min-width: 0 !important; min-height: 0 !important; height: auto !important; margin: 0 !important; padding: 0 !important; gap: 0 !important; align-content: start !important; justify-content: start !important; }
.vbt .vbt__schedule-fields { display: grid !important; min-height: 0 !important; height: auto !important; margin: 0 !important; padding: 0 !important; gap: 19px !important; align-content: start !important; }
.vbt__date-field > label, .vbt__schedule-fields > label { color: #202126; font-size: 13px; font-weight: 700; }
.vbt input:not([type=checkbox]):not([type=radio]), .vbt textarea, .vbt select { width: 100%; min-height: 44px; margin: var(--vbt-s1) 0 0; padding: 9px 12px; color: var(--vbt-text); background: #fff; border: 1px solid #dfe1e6; border-radius: 8px; box-shadow: none; font: 400 14px/1.4 var(--vbt-font-body); }
.vbt textarea { min-height: 84px; resize: vertical; }
.vbt input:focus, .vbt textarea:focus, .vbt select:focus { outline: 3px solid color-mix(in srgb,var(--vbt-accent) 35%,transparent); border-color: var(--vbt-primary); }
.vbt__persons-field small { display: block; max-width: 230px; margin-top: var(--vbt-s1); color: var(--vbt-muted); font-size: 12px; font-weight: 400; }
.vbt__number-control { display: grid; width: max-content; margin-top: var(--vbt-s1); grid-template-columns: 40px 64px 40px; overflow: hidden; border: 1px solid #dfe1e6; border-radius: 8px; }
.vbt__number-control button { display: grid; min-height: 44px; padding: 0; place-items: center; color: #70747d; background: #fff; border: 0; cursor: pointer; font: 400 20px/1 var(--vbt-font-body); }
.vbt__number-control button:hover { color: var(--vbt-primary); background: var(--vbt-soft); }
.vbt__number-control input { min-height: 44px !important; margin: 0 !important; padding: 0 4px !important; border: 0 !important; border-radius: 0 !important; text-align: center; appearance: textfield; }
.vbt__number-control input::-webkit-inner-spin-button, .vbt__number-control input::-webkit-outer-spin-button { margin: 0; appearance: none; }
.vbt .vbt__schedule-fields > .vbt__room-only { display: flex !important; min-height: 40px; padding: 0 !important; gap: 9px; align-items: center; color: #202126; border: 0 !important; font-size: 13px; font-weight: 500; cursor: pointer; }
.vbt__room-only input { width: 18px !important; height: 18px !important; min-height: 18px !important; margin: 0 !important; flex: 0 0 18px; accent-color: var(--vbt-primary); }

.vbt__calendar-value { position: absolute !important; width: 1px !important; height: 1px !important; margin: 0 !important; padding: 0 !important; clip: rect(0 0 0 0); clip-path: inset(50%); opacity: 0; }
.vbt__calendar { width: 100%; margin-top: 10px; padding: 13px 15px 16px; background: #fff; border: 1px solid #dfe1e6; border-radius: 10px; }
.vbt__calendar.is-invalid { border-color: #d00000; box-shadow: 0 0 0 2px rgba(208,0,0,.12); }
.vbt__calendar-header { display: grid; margin-bottom: var(--vbt-s1); grid-template-columns: 36px 1fr 36px; align-items: center; text-align: center; }
.vbt__calendar-header strong { font-size: 14px; font-weight: 750; }
.vbt__calendar-nav { display: grid; width: 32px; height: 32px; padding: 0; place-items: center; color: var(--vbt-primary); background: var(--vbt-soft); border: 0; border-radius: 8px; cursor: pointer; font-size: 21px; }
.vbt__calendar-nav:hover:not(:disabled) { color: #fff; background: var(--vbt-primary); }
.vbt__calendar-nav:disabled { opacity: .35; cursor: default; }
.vbt__calendar-grid { display: grid; grid-template-columns: repeat(7,1fr); gap: 5px 4px; }
.vbt__calendar-weekday { padding: 7px 0; color: #6f737c; text-align: center; font-size: 11px; font-weight: 600; }
.vbt__calendar-day { min-height: 36px; padding: 3px; color: var(--vbt-text); background: transparent; border: 0; border-radius: 7px; cursor: pointer; font: inherit; font-size: 13px; }
.vbt__calendar-day:hover:not(:disabled) { color: var(--vbt-primary); background: var(--vbt-soft); }
.vbt__calendar-day.is-selected { color: #fff; background: var(--vbt-primary); box-shadow: 0 5px 12px color-mix(in srgb,var(--vbt-primary) 22%,transparent); }
.vbt__calendar-day.is-outside { color: #b8bbc2; opacity: .7; }
.vbt__calendar-day:disabled:not(.is-blocked) { opacity: .42; cursor: not-allowed; }
.vbt__calendar-day.is-blocked { color: #b00000; background: #fff0f0; text-decoration: line-through 2px; opacity: .75; }

.vbt__seating { display: grid; margin-top: var(--vbt-s3); grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.vbt__seating legend { display: flex; margin: 0 0 var(--vbt-s2); grid-column: 1/-1; flex-direction: column; color: #17181c; }
.vbt__seating legend strong { font-size: 15px; }
.vbt__seating legend small { margin-top: 5px; color: var(--vbt-muted); font-size: 13px; font-weight: 400; }
.vbt__seating label { position: relative; display: grid; min-height: 112px; padding: 15px 10px; place-items: center; align-content: center; color: #4a4d55; background: #fff; border: 1px solid var(--vbt-border); border-radius: 9px; cursor: pointer; text-align: center; }
.vbt__seating input, .vbt__room input, .vbt__choice input, .vbt__payment-method input, .vbt-food__choice input { position: absolute; opacity: 0; }
.vbt__seating label > span { color: var(--vbt-primary); font-size: 32px; line-height: 1; }
.vbt__seating label > strong { margin-top: 10px; font-size: 13px; font-weight: 500; }
.vbt__seating label:has(input:checked), .vbt__room:has(input:checked) > span, .vbt__choice:has(input:checked) > span, .vbt__payment-method:has(input:checked) > span { background: var(--vbt-soft); border-color: var(--vbt-primary); box-shadow: 0 4px 16px color-mix(in srgb,var(--vbt-primary) 9%,transparent); }
.vbt__seating label:has(input:checked)::after, .vbt__room:has(input:checked)::after, .vbt__choice:has(input:checked)::after, .vbt__payment-method:has(input:checked)::after { position: absolute; z-index: 2; display: grid; top: -10px; right: -10px; width: 24px; height: 24px; place-items: center; color: #fff; background: var(--vbt-primary); border: 2px solid #fff; border-radius: 50%; content: "✓"; font-size: 12px; font-weight: 800; }
.vbt__seating label:has(input:focus-visible), .vbt__room:has(input:focus-visible) > span, .vbt__choice:has(input:focus-visible) > span, .vbt__payment-method:has(input:focus-visible) > span { outline: 3px solid var(--vbt-accent); outline-offset: 2px; }

.vbt__rooms, .vbt__choices, .vbt__payment-methods { display: grid; margin: var(--vbt-s2) 0; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--vbt-s2); }
.vbt__room, .vbt__choice, .vbt__payment-method { position: relative; }
.vbt__room > span, .vbt__choice > span, .vbt__payment-method > span { display: flex; min-height: 86px; padding: var(--vbt-s2); flex-direction: column; justify-content: flex-start; overflow: hidden; background: #fff; border: 1px solid var(--vbt-border); border-radius: 9px; cursor: pointer; }
.vbt__room > span { padding: 0; }
.vbt__room-image { display: block; width: 100%; height: 150px; object-fit: cover; }
.vbt__room-title { margin: 12px 14px 0; font-size: 16px; }
.vbt__room-description, .vbt__choice em { display: block; margin: 4px 14px; color: var(--vbt-muted); font-size: 12px; font-style: normal; font-weight: 400; white-space: pre-line; }
.vbt__choice em { margin-inline: 0; }
.vbt__room-meta { display: flex; margin: var(--vbt-s1) 14px 14px; justify-content: space-between; gap: var(--vbt-s1); color: var(--vbt-primary); font-size: 14px; }
.vbt__room small, .vbt__choice small, .vbt__payment-method small { margin-top: 4px; color: var(--vbt-muted); font-weight: 400; white-space: pre-line; }
.vbt legend { margin: 0 0 var(--vbt-s1); padding: 0; color: #17181c; font-size: 14px; font-weight: 700; }
.vbt__payment-note { margin: var(--vbt-s2) 0; padding: var(--vbt-s2); background: var(--vbt-soft); border-left: 3px solid var(--vbt-primary); border-radius: 6px; }
.vbt__payment-note p { margin: 4px 0 0; }
.vbt__consent { display: flex; gap: var(--vbt-s1); align-items: flex-start; margin-top: var(--vbt-s2); font-weight: 400; }
.vbt__consent input { margin-top: 3px; }
.vbt__hp { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

.vbt__buffer { display: flex; max-width: 560px; margin: var(--vbt-s3) 0 0; padding: 12px var(--vbt-s2); gap: 10px; align-items: center; color: #656973; background: var(--vbt-soft); border-radius: 8px; font-size: 11px; }
.vbt__buffer span { color: var(--vbt-primary); font-size: 20px; }
.vbt__nav { display: flex; margin-top: var(--vbt-s3); justify-content: space-between; align-items: center; gap: var(--vbt-s2); }
.vbt__nav--first { justify-content: flex-end; }
.vbt__button, .vbt__link { display: inline-flex; min-height: 44px; margin: 0; padding: 10px 20px; gap: var(--vbt-s2); align-items: center; justify-content: center; border-radius: 8px; cursor: pointer; font: 700 13px/1 var(--vbt-font-body); text-decoration: none; }
.vbt__button { color: #fff; background: var(--vbt-primary); border: 1px solid var(--vbt-primary); }
.vbt__link { color: var(--vbt-primary); background: transparent; border: 1px solid color-mix(in srgb,var(--vbt-primary) 45%,transparent); }
.vbt__button:hover { background: color-mix(in srgb,var(--vbt-primary) 88%,#000); }
.vbt__link:hover { background: var(--vbt-soft); }
.vbt__button:focus-visible, .vbt__link:focus-visible { outline: 3px solid var(--vbt-accent); outline-offset: 2px; }
.vbt__button:disabled, .vbt__link:disabled { opacity: .52; cursor: wait; }
.vbt__check { min-width: 220px; }

.vbt__notice { min-height: 0; margin: 0 0 var(--vbt-s2); padding: 12px var(--vbt-s2); border-radius: 7px; font-weight: 700; }
.vbt__notice:empty { display: none; }
.vbt__notice.is-error, .vbt__config-error { color: #8a1717; }
.vbt__notice.is-error { background: #fff0f0; border: 1px solid #d00000; }
.vbt__notice.is-success { color: #256b3f; background: #effaf3; border: 1px solid #69a87d; }

.vbt .vbt__summary { position: sticky !important; top: var(--vbt-s2); display: block !important; min-height: 0 !important; height: auto !important; max-height: calc(100vh - 32px); margin: 0 !important; padding: 20px !important; gap: 0 !important; align-content: start !important; overflow: auto; background: #fff; border: 1px solid var(--vbt-border); border-radius: 12px; }
.vbt__summary h3 { margin-bottom: 14px; font-size: 16px; }
.vbt .vbt__summary dl { display: block !important; min-height: 0 !important; height: auto !important; margin: 0 !important; padding: 0 !important; gap: 0 !important; }
.vbt .vbt__summary dl div { display: block !important; min-height: 0 !important; height: auto !important; margin: 0 !important; padding: 9px 0 !important; gap: 0 !important; border-bottom: 1px solid #eceef1; }
.vbt__summary dt { color: #858992; font-size: 11px; font-weight: 500; }
.vbt__summary dd { margin: 4px 0 0; color: #17181c; font-size: 14px; font-weight: 600; }
.vbt__summary-room, .vbt__summary-group ul { margin: 0; padding: 0; list-style: none; }
.vbt__summary-room:empty { display: none; }
.vbt__summary-room, .vbt__summary-group { padding: var(--vbt-s1) 0; border-bottom: 1px solid #eceef1; }
.vbt__summary-room li, .vbt__summary-group li { display: flex; padding: 2px 0; justify-content: space-between; gap: var(--vbt-s1); font-size: 12px; }
.vbt__summary-group h4 { margin: 0; padding-bottom: 5px; color: #17181c; font-size: 12px; }
.vbt__total { display: flex; margin-top: var(--vbt-s1); padding-top: 12px; justify-content: space-between; gap: var(--vbt-s1); font-family: var(--vbt-font-heading); font-size: 14px; }
.vbt__total span { display: flex; flex-direction: column; }
.vbt__total small { color: #858992; font: 400 11px/1.3 var(--vbt-font-body); }
.vbt__summary-reset { display: block; width: 100%; min-height: 40px; margin-top: 14px; padding: 8px 12px; color: var(--vbt-primary); background: #fff; border: 1px solid var(--vbt-border); border-radius: 8px; cursor: pointer; font: 600 12px/1.3 var(--vbt-font-body); }
.vbt__summary-reset:hover { background: var(--vbt-soft); }
.vbt__summary-reset:focus-visible { outline: 3px solid var(--vbt-accent); outline-offset: 2px; }

.vbt__completion { box-sizing: border-box; width: min(820px,100%); margin: 0 auto; padding: clamp(28px,5vw,58px); text-align: center; background: #fff; border: 1px solid var(--vbt-border); border-radius: 18px; box-shadow: 0 18px 46px rgba(20,24,32,.10); }
.vbt__completion[hidden] { display: none !important; }
.vbt__completion-icon { display: grid; width: 58px; height: 58px; margin: 0 auto 18px; place-items: center; color: #fff; background: var(--vbt-primary); border-radius: 50%; font-size: 30px; font-weight: 800; }
.vbt__completion-kicker { margin: 0 0 8px; color: var(--vbt-primary); font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.vbt__completion h2 { margin: 0; color: var(--vbt-text); font: 800 clamp(28px,4vw,42px)/1.15 var(--vbt-font-heading); }
.vbt__completion > p:not(.vbt__completion-kicker) { max-width: 620px; margin: 14px auto 26px; color: var(--vbt-muted); }
.vbt__completion-card { padding: 22px; text-align: left; background: var(--vbt-soft); border: 1px solid var(--vbt-border); border-radius: 12px; }
.vbt__completion-card h3 { margin: 0 0 14px; font-size: 20px; }
.vbt__completion-card dl { display: grid; margin: 0; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 24px; }
.vbt__completion-card dl > div { padding: 11px 0; border-bottom: 1px solid var(--vbt-border); }
.vbt__completion-card dt { color: var(--vbt-muted); font-size: 12px; font-weight: 700; }
.vbt__completion-card dd { margin: 3px 0 0; overflow-wrap: anywhere; font-size: 15px; font-weight: 700; }
.vbt__completion-selection { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--vbt-border); }
.vbt__completion-selection[hidden] { display: none !important; }
.vbt__completion-selection ul { display: grid; margin: 8px 0 0; padding: 0; gap: 6px; list-style: none; }
.vbt__completion-selection li { color: var(--vbt-muted); font-size: 13px; }
.vbt__completion-actions { display: flex; margin-top: 24px; justify-content: center; gap: 12px; flex-wrap: wrap; }
.vbt__completion-actions .vbt__button, .vbt__completion-home { display: inline-flex; min-height: 46px; padding: 11px 20px; align-items: center; justify-content: center; border-radius: 8px; text-decoration: none; font-weight: 750; }
.vbt__completion-home { color: var(--vbt-primary); background: #fff; border: 1px solid var(--vbt-primary); }

.vbt-food { display: grid; gap: var(--vbt-s2); }
.vbt-food h4 { margin: var(--vbt-s2) 0 0; color: var(--vbt-primary); }
.vbt-food__status { display: grid; gap: 4px; padding: 12px var(--vbt-s2); background: var(--vbt-soft); border-left: 4px solid var(--vbt-primary); border-radius: 7px; }
.vbt-food__status span { font-size: 12px; }
.vbt-food__status.is-error { color: #8a1717; background: #fff0f0; border-color: #d00000; }
.vbt-food__diet { display: flex; flex-wrap: wrap; gap: var(--vbt-s1); }
.vbt-food__diet legend { width: 100%; }
.vbt-food__diet label, .vbt-food__component { display: inline-flex; padding: 7px 10px; gap: 6px; align-items: center; background: var(--vbt-soft); border: 1px solid color-mix(in srgb,var(--vbt-primary) 25%,transparent); border-radius: 999px; cursor: pointer; }
.vbt-food__category, .vbt-food__legacy { background: #fff; border: 1px solid var(--vbt-border); border-radius: 8px; }
.vbt-food__category summary, .vbt-food__legacy summary { padding: 10px 12px; color: var(--vbt-primary); cursor: pointer; font-weight: 700; }
.vbt-food__choices, .vbt-food__variants { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--vbt-s1); padding: 0 10px 10px; }
.vbt-food__choice { position: relative; cursor: pointer; }
.vbt-food__choice > span { display: flex; min-height: 76px; padding: 10px; flex-direction: column; background: var(--vbt-soft); border: 1px solid transparent; border-radius: 7px; }
.vbt-food__choice input:checked + span { border-color: var(--vbt-primary); box-shadow: inset 0 0 0 1px var(--vbt-primary); }
.vbt-food__choice small { margin-top: 3px; color: var(--vbt-muted); }
.vbt-food__choice em { margin-top: auto; padding-top: 4px; color: var(--vbt-primary); font-size: 11px; font-style: normal; font-weight: 700; }
.vbt-food__variants { padding: 12px; background: var(--vbt-soft); }
.vbt-food__select { display: grid; gap: 4px; font-weight: 700; }
.vbt-food__components h5 { margin: var(--vbt-s1) 0; }
.vbt-food__component-choices { display: flex; flex-wrap: wrap; gap: var(--vbt-s1); }
.vbt-food__component { border-radius: 6px; }
.vbt-food__component.is-recommended { border-color: var(--vbt-accent); box-shadow: inset 0 0 0 1px var(--vbt-accent); }
.vbt-food__component.is-fixed { font-weight: 700; cursor: default; }
.vbt-food__legacy { margin-top: var(--vbt-s2); }

@media (max-width: 980px) {
  .vbt .vbt__form { padding-inline: var(--vbt-s3) !important; }
  .vbt .vbt__layout { grid-template-columns: 1fr; }
  .vbt .vbt__summary { position: static !important; max-height: none; margin-top: var(--vbt-s3) !important; }
  .vbt .vbt__progress { display: flex !important; margin-inline: calc(-1 * var(--vbt-s3)) !important; padding-inline: var(--vbt-s3) !important; overflow-x: auto; scrollbar-width: none; }
  .vbt__progress::-webkit-scrollbar { display: none; }
  .vbt__progress li { min-width: 104px; }
  .vbt__schedule-grid { grid-template-columns: minmax(330px,1fr) minmax(230px,.7fr); gap: var(--vbt-s3); }
}
@media (max-width: 760px) {
  .vbt__completion { padding: 28px 16px; border-radius: 14px; }
  .vbt__completion-card { padding: 16px; }
  .vbt__completion-card dl { grid-template-columns: 1fr; }
  .vbt__completion-actions { align-items: stretch; flex-direction: column; }
  .vbt__completion-actions > * { width: 100%; box-sizing: border-box; }
  .vbt .vbt__form { padding: 18px 14px 20px !important; border-radius: 18px; }
  .vbt__mobile-head { display: flex; min-height: 42px; align-items: center; justify-content: space-between; }
  .vbt__mobile-menu { display: grid; width: 32px; height: 32px; padding: 7px; place-content: center; gap: 4px; background: transparent; border: 0; cursor: pointer; }
  .vbt__mobile-menu span { display: block; width: 18px; height: 1.5px; background: #17181c; }
  .vbt__mobile-counter { font-size: 14px; }
  .vbt__mobile-counter strong { color: var(--vbt-primary); }
  .vbt__mobile-user { position: relative; display: grid; width: 32px; height: 32px; place-items: center; overflow: hidden; background: var(--vbt-primary); border-radius: 50%; font-size: 0; }
  .vbt__mobile-user::before { width: 8px; height: 8px; background: #fff; border-radius: 50%; content: ""; }
  .vbt__mobile-user::after { position: absolute; width: 14px; height: 8px; margin-top: 14px; background: #fff; border-radius: 9px 9px 4px 4px; content: ""; }
  .vbt__mobile-progress { display: grid; margin: 14px 0 28px; grid-template-columns: 1.7fr repeat(7,1fr); gap: 3px; }
  .vbt__mobile-progress span { height: 6px; background: #ececef; border-radius: 999px; }
  .vbt__mobile-progress .is-active, .vbt__mobile-progress .is-complete { background: var(--vbt-primary); }
  .vbt .vbt__progress { display: none !important; }
  .vbt.is-progress-open .vbt__progress { position: absolute; z-index: 20; display: grid !important; top: 62px; right: 14px; left: 14px; margin: 0 !important; padding: var(--vbt-s1) !important; grid-template-columns: 1fr; gap: 2px !important; overflow: visible; background: #fff; border: 1px solid var(--vbt-border); border-radius: 10px; box-shadow: 0 16px 30px rgba(22,25,32,.15); }
  .vbt.is-progress-open .vbt__progress li { min-height: 38px; padding: 4px var(--vbt-s1); font-size: 13px; }
  .vbt.is-progress-open .vbt__progress li::after { display: none; }
  .vbt.is-progress-open .vbt__progress span { width: 26px; height: 26px; flex-basis: 26px; }
  .vbt .vbt__summary { display: none !important; }
  .vbt__step h3 { max-width: 34ch; font-size: 22px; }
  .vbt__subline { max-width: 38ch; margin-bottom: 20px; }
  .vbt .vbt__schedule-grid { grid-template-columns: 1fr; gap: 14px !important; }
  .vbt__calendar { margin-top: var(--vbt-s1); padding: var(--vbt-s1) 9px 12px; }
  .vbt__calendar-header { grid-template-columns: 34px 1fr 34px; margin-bottom: 4px; }
  .vbt__calendar-day { min-height: 34px; font-size: 12px; }
  .vbt__calendar-weekday { padding: 5px 0; font-size: 10px; }
  .vbt .vbt__schedule-fields { gap: 10px !important; }
  .vbt__schedule-fields > label { display: grid; min-height: 46px; padding-left: 12px; grid-template-columns: 112px 1fr; align-items: center; border: 1px solid var(--vbt-border); border-radius: 8px; font-size: 12px; font-weight: 500; }
  .vbt__schedule-fields > label select { min-height: 44px; margin: 0; border: 0; border-left: 1px solid #eceef1; border-radius: 0; font-size: 12px; }
  .vbt__schedule-fields > .vbt__persons-field { display: grid; padding-left: 12px; grid-template-columns: 1fr auto; }
  .vbt__persons-field > small { display: none; }
  .vbt__number-control { width: auto; margin: 0; grid-template-columns: 34px 46px 34px; border: 0; border-left: 1px solid #eceef1; border-radius: 0; }
  .vbt__number-control button, .vbt__number-control input { min-height: 44px !important; }
  .vbt__seating { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .vbt__seating label { min-height: 84px; padding: 10px 6px; }
  .vbt__seating label > span { font-size: 26px; }
  .vbt__seating label > strong { margin-top: 5px; font-size: 12px; }
  .vbt__buffer { width: 100%; max-width: none; margin-top: 22px; padding: 13px 14px; }
  .vbt__grid, .vbt__rooms, .vbt__choices, .vbt__payment-methods, .vbt-food__choices, .vbt-food__variants { grid-template-columns: 1fr; }
  .vbt__nav { margin-top: var(--vbt-s2); }
  .vbt__check, .vbt__submit { width: 100%; min-width: 0; }
}
@media print {
  body * { visibility: hidden !important; }
  .vbt__completion, .vbt__completion * { visibility: visible !important; }
  .vbt__completion { position: absolute; inset: 0 auto auto 0; width: 100%; max-width: none; padding: 20px; border: 0; box-shadow: none; }
  .vbt__completion-actions { display: none !important; }
}
@media (max-width: 390px) {
  .vbt__schedule-fields > label { grid-template-columns: 98px 1fr; }
  .vbt__nav:not(.vbt__nav--first) { align-items: stretch; flex-direction: column-reverse; }
  .vbt__nav .vbt__button, .vbt__nav .vbt__link { width: 100%; }
}
