.booking-shell,.preview-shell,.preview-banner,.booking-standalone-page{--booking-primary: #9e2a2b;--booking-accent: #d89a37;--booking-bg: #f7f4ef;--booking-surface: #fffdfb;--booking-surface-soft: #fbf7f2;--booking-border: #e5d8cf;--booking-border-strong: #d8c6ba;--booking-text: #202522;--booking-muted: #68726c;--booking-danger: #932121;--booking-success-text: #1c6d39;--booking-success-bg: #ecf8ef;--booking-shadow-lg: 0 24px 70px rgba(40, 34, 28, .12);--booking-shadow-md: 0 16px 42px rgba(40, 34, 28, .1);--booking-shadow-sm: 0 8px 22px rgba(40, 34, 28, .08);--booking-radius-lg: 20px;--booking-radius-md: 14px;--booking-radius-sm: 10px}.booking-shell,.booking-shell *,.preview-shell,.preview-shell *,.preview-banner,.preview-banner *{box-sizing:border-box}.booking-standalone-page{margin:0;font-family:Avenir Next,Segoe UI,system-ui,sans-serif;color:var(--booking-text);background:linear-gradient(180deg,#ffffffc7,#f7f4eff5 42%,#efebe5),var(--booking-bg)}.booking-shell a,.preview-shell a,.preview-banner a{color:inherit}.booking-shell button,.booking-shell input,.booking-shell textarea,.booking-shell select,.preview-shell button,.preview-shell input,.preview-shell textarea,.preview-shell select,.preview-banner button{font:inherit}.booking-shell button,.preview-shell button,.preview-banner button{cursor:pointer}.booking-shell{min-height:100vh;padding:clamp(16px,4vw,40px)}.booking-shell.embedded{min-height:auto;padding:0}.booking-card{width:min(100%,1080px);margin:0 auto;padding:clamp(20px,4vw,42px);border:1px solid var(--booking-border);border-radius:var(--booking-radius-lg);background:#fffdfbf5;box-shadow:var(--booking-shadow-lg)}.booking-main-card{display:grid;gap:26px}.booking-missing-link-card{max-width:780px}.booking-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px}.booking-page-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;margin-bottom:26px}.booking-hero-copy{min-width:0}.booking-language-switcher{display:inline-flex;align-items:center;gap:3px;padding:4px;border:1px solid var(--booking-border);border-radius:999px;background:#f0f1ee}.booking-language-switcher button{min-width:42px;min-height:36px;border:0;border-radius:999px;background:transparent;color:#5f6862;font-size:13px;font-weight:800;line-height:1}.booking-language-switcher button.active{background:var(--booking-surface);color:var(--booking-primary);box-shadow:var(--booking-shadow-sm)}.booking-language-switcher button:focus-visible{outline:3px solid rgba(216,154,55,.38);outline-offset:2px}.booking-kicker{margin:0 0 12px;color:var(--booking-primary);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.booking-card h1{margin:0;max-width:13ch;color:var(--booking-text);font-size:clamp(40px,6.4vw,72px);font-weight:800;line-height:.98}.booking-copy{margin:16px 0 0;color:#776962;font-size:clamp(18px,2vw,22px);line-height:1.5}.booking-flow-switch{display:inline-grid;width:min(100%,430px);grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:6px;border:1px solid var(--booking-border);border-radius:var(--booking-radius-md);background:#f0f1ee}.booking-flow-switch button{min-height:52px;border:0;border-radius:calc(var(--booking-radius-md) - 5px);background:transparent;color:var(--booking-muted);font-weight:750;transition:background-color .15s ease,box-shadow .15s ease,color .15s ease}.booking-flow-switch button.active{background:#fff;color:var(--booking-text);box-shadow:var(--booking-shadow-sm)}.booking-panel{display:grid;gap:clamp(22px,3vw,34px);padding:clamp(18px,3vw,32px);border:1px solid var(--booking-border-strong);border-radius:var(--booking-radius-lg);background:#fff}.booking-wizard{position:relative;overflow:visible}.booking-request-panel{background:linear-gradient(180deg,#ffffff 0%,var(--booking-surface-soft) 100%)}.booking-stepper{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}.booking-stepper li{display:grid;gap:10px}.booking-stepper-line{height:4px;border-radius:999px;background:var(--booking-border)}.booking-stepper-label{color:#92867f;font-size:13px;font-weight:800;text-transform:uppercase}.booking-stepper li.active .booking-stepper-line,.booking-stepper li.done .booking-stepper-line{background:var(--booking-primary)}.booking-stepper li.active .booking-stepper-label,.booking-stepper li.done .booking-stepper-label{color:var(--booking-primary)}.booking-step-body{display:grid;gap:clamp(20px,3vw,30px)}.booking-step-header{display:grid;gap:8px}.booking-step-header span{color:var(--booking-muted);font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.booking-step-header h2{margin:0;color:var(--booking-text);font-size:clamp(30px,4.4vw,46px);font-weight:800;line-height:1.05}.booking-step-header p{max-width:56rem;margin:0;color:var(--booking-muted);font-size:16px;line-height:1.6}.booking-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.booking-grid-full{grid-column:1 / -1}.booking-card label{display:grid;gap:8px;color:#3e332f;font-size:15px;font-weight:750}.booking-card input,.booking-card select,.booking-card textarea{width:100%;min-height:56px;border:1px solid var(--booking-border);border-radius:var(--booking-radius-sm);background:#fff;color:var(--booking-text);font-size:17px;font-weight:700;padding:14px 16px;transition:border-color .14s ease,box-shadow .14s ease,background-color .14s ease}.booking-card textarea{min-height:122px;resize:vertical;font-weight:650}.booking-card input::placeholder,.booking-card textarea::placeholder{color:#a8a39f}.booking-card input:focus,.booking-card select:focus,.booking-card textarea:focus,.booking-date-field:focus-within,.booking-time-field:focus-within,.booking-flow-switch button:focus-visible,.booking-slot-card:focus-visible,.booking-actions button:focus-visible,.booking-link-button:focus-visible,.preview-form button:focus-visible,.preview-banner button:focus-visible{outline:none;border-color:#9e2a2b8c;box-shadow:0 0 0 4px #9e2a2b1f}.booking-time-field{position:relative;display:flex;width:100%;min-height:56px;align-items:center;justify-content:flex-start;border:1px solid var(--booking-border);border-radius:var(--booking-radius-sm);background:#fff;color:var(--booking-text);padding:14px 16px;transition:border-color .14s ease,box-shadow .14s ease,background-color .14s ease}.booking-native-field-value{display:inline-flex;width:100%;min-height:28px;align-items:center;border:0;background:transparent;color:var(--booking-text);cursor:pointer;font-size:17px;font-weight:800;line-height:1.2;padding:0;text-align:left}.booking-date-field{position:relative;display:flex;width:100%;min-height:56px;align-items:center;justify-content:flex-start;border:1px solid var(--booking-border);border-radius:var(--booking-radius-sm);background:#fff;color:var(--booking-text);padding:14px 16px;transition:border-color .14s ease,box-shadow .14s ease,background-color .14s ease}.booking-native-field-value:focus-visible{outline:none}.booking-date-sync-input,.booking-time-sync-input{position:absolute;width:1px;height:1px;min-height:0;opacity:0;pointer-events:none}.booking-time-popover{position:absolute;z-index:20;top:calc(100% + 8px);left:0;display:grid;width:min(100%,260px);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;border:1px solid var(--booking-border);border-radius:var(--booking-radius-sm);background:#fff;box-shadow:var(--booking-shadow);padding:12px}.booking-time-popover select{width:100%;min-height:46px;border:1px solid var(--booking-border);border-radius:8px;background:#fff;color:var(--booking-text);font-size:16px;font-weight:750;padding:10px}.booking-time-popover span{color:var(--booking-muted);font-weight:850}.booking-date-popover{position:absolute;z-index:20;top:calc(100% + 8px);left:0;width:min(100%,276px);border:1px solid var(--booking-border);border-radius:var(--booking-radius-sm);background:#fff;box-shadow:0 14px 34px #27201a29;color:var(--booking-text);padding:10px}.booking-date-popover-header{display:grid;grid-template-columns:30px 1fr 30px;align-items:center;gap:6px;margin-bottom:8px;text-align:center}.booking-date-popover-header strong{font-size:14px;font-weight:850;text-transform:capitalize}.booking-date-nav,.booking-date-day{border:0;background:transparent;color:var(--booking-text);cursor:pointer;font:inherit}.booking-date-nav{display:inline-flex;width:30px;height:30px;align-items:center;justify-content:center;border-radius:999px;font-size:20px;line-height:1}.booking-date-nav:hover:not(:disabled),.booking-date-day:hover:not(:disabled){background:#e9eee8;box-shadow:inset 0 0 0 1px #2f6f4e38;color:var(--booking-text)}.booking-date-nav:disabled{color:var(--booking-muted);cursor:not-allowed;opacity:.45}.booking-date-weekdays,.booking-date-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.booking-date-weekdays{margin-bottom:4px}.booking-date-weekdays span{color:var(--booking-muted);font-size:10px;font-weight:800;text-align:center;text-transform:uppercase}.booking-date-day{aspect-ratio:1;min-width:0;border-radius:999px;font-size:13px;font-weight:800}.booking-date-day.muted{color:var(--booking-muted)}.booking-date-day.selected{background:var(--booking-accent);color:#fff}.booking-date-day.selected:hover:not(:disabled){background:#275f43;box-shadow:0 5px 12px #275f433d;color:#fff}.booking-date-day:focus-visible,.booking-date-nav:focus-visible{outline:none;box-shadow:0 0 0 3px #9e2a2b2e}.booking-date-day:disabled{color:#c7c0b8;cursor:not-allowed;opacity:.5;text-decoration:line-through}.booking-summary-chips{display:flex;flex-wrap:wrap;gap:10px}.booking-chip{display:inline-flex;min-height:42px;align-items:center;gap:8px;padding:0 14px;border:1px solid var(--booking-border);border-radius:999px;background:var(--booking-surface-soft)}.booking-chip span{color:var(--booking-muted);font-size:12px;font-weight:750;text-transform:uppercase}.booking-chip strong{color:#6b5b54;font-size:17px;font-weight:800}.booking-selected-slot{display:inline-grid;width:fit-content;grid-template-columns:auto auto auto;align-items:center;gap:8px 12px;border:1px solid rgba(48,131,72,.28);border-radius:var(--booking-radius-md);background:#f0faf2;padding:12px 14px}.booking-selected-slot span{color:var(--booking-muted);font-size:12px;font-weight:750;text-transform:uppercase}.booking-selected-slot strong{color:#1c6d39;font-size:18px;font-weight:800}.booking-selected-slot small{color:#6b5b54;font-size:14px;font-weight:650}.booking-actions{display:flex;flex-wrap:wrap;gap:12px}.booking-actions button,.booking-link-button,.preview-form button,.preview-banner button{display:inline-flex;min-height:56px;align-items:center;justify-content:center;border:0;border-radius:var(--booking-radius-md);padding:0 24px;background:var(--booking-primary);color:#fff;font-weight:800;text-decoration:none;box-shadow:0 14px 32px #9e2a2b2e;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease,background-color .15s ease}.booking-actions button:hover:not(:disabled),.booking-link-button:hover,.preview-form button:hover,.preview-banner button:hover,.booking-slot-card:hover{transform:translateY(-1px)}.booking-actions button:disabled,.preview-form button:disabled{cursor:not-allowed;opacity:.5;transform:none}.booking-actions button.accent{background:var(--booking-accent);color:#2f220d}.booking-actions button.subtle,.booking-link-button.subtle{border:1px solid var(--booking-border);background:#fff;color:var(--booking-text);box-shadow:none}.booking-actions button.ghost{background:transparent;color:var(--booking-primary);box-shadow:none}.booking-message,.booking-error,.booking-success,.booking-result{margin:0;border-radius:var(--booking-radius-md);padding:15px 16px;line-height:1.55}.booking-message{background:#f6f1eb;color:var(--booking-muted)}.booking-guest-notice{margin:0;border:1px solid color-mix(in srgb,var(--booking-primary) 18%,transparent);border-radius:var(--booking-radius-md);background:color-mix(in srgb,var(--booking-primary) 7%,#ffffff);color:var(--booking-text);padding:15px 16px;line-height:1.55;white-space:pre-line;overflow-wrap:anywhere}.booking-error{background:#fde8e5;color:var(--booking-danger)}.booking-success{background:var(--booking-success-bg);color:var(--booking-success-text);font-size:clamp(18px,2.4vw,24px)}.booking-result.ok{background:var(--booking-success-bg);color:var(--booking-success-text)}.booking-result.nope{display:grid;gap:6px;background:#fff4e7;color:#925000}.booking-result strong{color:inherit}.booking-result p{margin:0}.booking-management-footer{display:grid;gap:8px;margin-top:8px}.booking-management-footer .booking-message{margin:0}.booking-management-footer .booking-actions{margin-top:0}.booking-slot-board{display:grid;gap:20px}.booking-slot-group{display:grid;gap:12px}.booking-slot-group h3{margin:0;color:var(--booking-muted);font-size:17px;font-weight:800}.booking-slot-group.alternative{border-top:1px solid #ead9c4;padding-top:16px}.booking-slot-group.alternative h3{color:#7b6041}.booking-slot-group-note{margin:-4px 0 0;color:#7b6041;font-size:14px;line-height:1.45}.booking-slot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.booking-slot-card{min-height:92px;display:grid;gap:8px;justify-items:start;align-content:center;border:1px solid #d8ded8;border-radius:var(--booking-radius-sm);background:#fff;padding:14px 16px;text-align:left;box-shadow:none}.booking-slot-card.selected{border-color:#308348;background:#f0faf2;box-shadow:0 12px 26px #30834824}.booking-slot-card.alternative{border-color:#e7d4b9;background:#fffaf2}.booking-slot-card.alternative.selected{border-color:#308348;background:#f0faf2}.booking-slot-card.alternative .booking-slot-meta{color:#7b6041;font-weight:700}.booking-slot-time{color:var(--booking-text);font-size:clamp(24px,3vw,32px);font-weight:800;font-variant-numeric:tabular-nums;line-height:1}.booking-slot-meta{color:var(--booking-muted);font-size:14px;line-height:1.25}.booking-slot-note{display:inline-flex;min-height:24px;align-items:center;border-radius:999px;background:#f7ead8;color:#7b6041;padding:0 8px;font-size:11px;font-weight:750;line-height:1}.booking-checkbox{display:flex!important;align-items:flex-start;gap:12px;color:var(--booking-muted)!important;font-weight:600!important}.booking-checkbox input{width:22px;min-height:22px;height:22px;margin-top:1px;padding:0}.booking-checkbox a{color:var(--booking-primary);text-decoration:underline;text-underline-offset:.18em}.booking-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:24px}.booking-summary-item{border:1px solid var(--booking-border);border-radius:var(--booking-radius-md);background:var(--booking-surface-soft);padding:16px 18px}.booking-summary-item span{display:block;color:var(--booking-muted);font-size:12px;font-weight:750;text-transform:uppercase}.booking-summary-item strong{display:block;margin-top:6px;color:var(--booking-text);font-size:16px;line-height:1.35}.booking-legal-footer{width:min(100%,1080px);display:flex;justify-content:center;gap:18px;margin:18px auto 0;color:var(--booking-muted);font-size:14px;font-weight:700}.booking-legal-footer a{text-decoration:underline;text-underline-offset:.22em}.booking-legal-page{display:grid;gap:24px}.booking-legal-page h1{max-width:16ch}.booking-legal-grid,.booking-legal-stack{display:grid;gap:12px}.booking-legal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-legal-note,.booking-legal-section{border:1px solid var(--booking-border);border-radius:var(--booking-radius-md);background:var(--booking-surface-soft);padding:18px}.booking-legal-note{background:#fff8e9}.booking-legal-note h2,.booking-legal-section h2{margin:0 0 10px;color:var(--booking-text);font-size:18px;line-height:1.25}.booking-legal-note p,.booking-legal-section p{margin:0;color:var(--booking-muted);line-height:1.65}.booking-legal-section p+p{margin-top:8px}.preview-shell{min-height:100vh;display:grid;place-items:center;padding:18px}.preview-shell-booking{background:linear-gradient(180deg,#fffdfa 0%,var(--booking-bg) 100%)}.preview-card{width:min(34rem,100%);border:1px solid var(--booking-border);border-radius:var(--booking-radius-lg);background:#fff;box-shadow:var(--booking-shadow-md);padding:30px}.preview-badge{display:inline-flex;min-height:34px;align-items:center;border-radius:999px;background:#fff4f2;color:var(--booking-primary);padding:0 14px;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.preview-card h1{margin:16px 0 0;color:var(--booking-text);font-size:clamp(30px,5vw,44px);line-height:1.05}.preview-card p,.preview-note{color:var(--booking-muted);line-height:1.6}.preview-form{display:grid;gap:14px;margin-top:22px}.preview-form label{display:grid;gap:8px;color:var(--booking-text);font-size:14px;font-weight:750}.preview-form input{min-height:52px;border:1px solid var(--booking-border);border-radius:var(--booking-radius-sm);padding:14px 16px}.preview-error{margin:0;color:var(--booking-danger);font-weight:700}.preview-banner{position:fixed;right:16px;bottom:16px;z-index:30;display:inline-flex;align-items:center;gap:14px;border:1px solid var(--booking-border);border-radius:var(--booking-radius-md);background:#fffffff5;box-shadow:var(--booking-shadow-md);padding:12px 14px}.preview-banner div{display:grid;gap:3px}.preview-banner strong{font-size:14px}.preview-banner span{color:var(--booking-muted);font-size:13px}@media(max-width:940px){.booking-card{padding:clamp(18px,4vw,28px)}.booking-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:720px){.booking-shell{padding:10px}.booking-card{padding:18px;border-radius:18px}.booking-card h1{max-width:12ch;font-size:clamp(32px,10.2vw,42px);font-weight:800}.booking-copy{margin-top:10px;font-size:16px}.booking-hero,.booking-page-header{grid-template-columns:1fr}.booking-language-switcher{justify-self:end}.booking-grid,.booking-summary,.booking-legal-grid{grid-template-columns:1fr}.booking-legal-footer{flex-wrap:wrap;gap:12px;margin-top:14px}.booking-flow-switch{width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;border-radius:16px;background:#eef0ec}.booking-flow-switch button{min-height:44px;border-radius:12px;padding:0 8px;font-size:14px;font-weight:750;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-shadow:none}.booking-flow-switch button.active{box-shadow:0 8px 18px #28221c14}.booking-panel{min-width:0;gap:18px;padding:18px}.booking-request-panel,.booking-request-panel *{min-width:0}.booking-stepper{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.booking-stepper li{display:grid;gap:7px;min-width:0}.booking-stepper-line{height:4px}.booking-stepper-label{overflow:hidden;font-size:10px;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap}.booking-step-header h2{overflow-wrap:anywhere;font-size:clamp(26px,7.8vw,34px)}.booking-step-header p{font-size:15px;line-height:1.45}.booking-grid{gap:13px}.booking-card label{min-width:0;font-size:14px}.booking-card input,.booking-card select,.booking-card textarea{min-width:0;min-height:50px;font-size:16px;padding:12px 14px}.booking-date-field,.booking-time-field{min-height:50px;padding:12px 14px}.booking-native-field-value{font-size:16px}.booking-date-popover,.booking-time-popover{width:100%}.booking-card textarea{min-height:96px}.booking-summary-chips{gap:8px}.booking-chip{min-height:36px;padding:0 11px}.booking-chip span{font-size:10px}.booking-chip strong{font-size:15px}.booking-selected-slot{width:100%;grid-template-columns:1fr auto;gap:4px 10px;padding:9px 11px}.booking-selected-slot span{grid-column:1 / -1;font-size:10px}.booking-selected-slot strong{font-size:17px}.booking-selected-slot small{justify-self:end;font-size:13px;text-align:right}.booking-slot-board{gap:12px}.booking-slot-group{gap:8px}.booking-slot-group h3{font-size:14px}.booking-slot-group.alternative{padding-top:12px}.booking-slot-group-note{font-size:13px;line-height:1.35}.booking-slot-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.booking-slot-card{min-width:0;min-height:40px;align-content:center;justify-items:center;border-radius:999px;overflow:hidden;padding:7px 5px;text-align:center}.booking-slot-time{max-width:100%;overflow:hidden;font-size:clamp(.9rem,4vw,1.02rem);font-weight:750;text-overflow:clip;white-space:nowrap}.booking-slot-meta,.booking-slot-note{display:none}.booking-actions{flex-direction:column;gap:10px}.booking-step-body-time.has-selection .booking-time-actions{order:3}.booking-step-body-time.has-selection .booking-slot-board{order:4}.booking-time-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.booking-actions button,.booking-link-button{width:100%;min-height:50px;padding:0 16px}.booking-time-actions button{min-height:46px}.booking-time-actions button.ghost{grid-column:1 / -1;min-height:42px}.booking-chip{max-width:100%;justify-content:space-between}.booking-request-panel .booking-chip{width:100%}.booking-request-panel>.booking-summary-chips{display:none}.booking-request-panel .booking-actions{width:100%}.preview-banner{left:12px;right:12px;bottom:12px;flex-direction:column;align-items:stretch}}@media(max-width:350px){.booking-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-slot-time{font-size:clamp(.92rem,4.5vw,1rem)}}
