.kb-floor-picker{padding:18px;border:1px solid var(--kb-border,#d8dfd3);border-radius:18px;background:var(--kb-surface,#fcfbf6);color:var(--kb-ink,#173f32)}
.kb-floor-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.kb-floor-heading h3{margin:5px 0!important;font-size:21px!important}.kb-floor-heading h3 small{font-size:12px;font-weight:400;opacity:.65}.kb-floor-heading .kb-eyebrow{font-size:9px!important;letter-spacing:1.2px}.kb-floor-badge{white-space:nowrap;font-size:11px;border:1px solid #cba670;border-radius:20px;padding:5px 9px;color:#80551f;background:#fff3d9}.kb-floor-disclaimer{font-size:12px!important;line-height:1.6!important;margin:8px 0 14px!important}
.kb-floor-stage{height:390px;position:relative;isolation:isolate;border-radius:15px;overflow:hidden;background:radial-gradient(ellipse at 50% 40%,#fdfaf2,#e4e9df);border:1px solid #d3dbce}.kb-floor-stage model-viewer{display:block;width:100%;height:100%;--progress-bar-color:#b48b4c;--min-hotspot-opacity:.6;touch-action:pan-y}.kb-floor-room{position:absolute;top:14px;left:16px;z-index:2;font-size:12px;font-weight:700;pointer-events:none;color:#173f32}.kb-floor-room span{font-weight:400;opacity:.75}.kb-floor-entrance{position:absolute;bottom:12px;left:14px;font-size:9px;letter-spacing:1px;pointer-events:none;color:#506455}.kb-floor-loading{position:absolute;top:45%;left:12%;right:12%;font-size:13px!important;text-align:center;pointer-events:none;background:#fffdf3e8;padding:12px;border-radius:10px;color:#173f32!important}
.kb-floor-controls{position:absolute;right:10px;bottom:10px;z-index:3;display:flex;gap:4px;padding:4px;background:#fffdf5ef;border:1px solid #cbd5c5;border-radius:12px;box-shadow:0 4px 12px #173f3214}.kb-floor-controls button{width:44px;height:44px;min-width:44px;padding:0!important;border:0!important;border-radius:8px!important;background:transparent!important;color:#173f32!important;font-size:22px!important;cursor:pointer}.kb-floor-controls button:hover{background:#e1eadb!important}.kb-floor-hint{font-size:11px!important;line-height:1.5!important;margin:8px 0 12px!important;opacity:.8}
.kb-floor-table-list{display:grid;grid-template-columns:repeat(6,1fr);gap:7px}.kb-floor-picker button.kb-floor-table{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:48px;padding:6px!important;border:1px solid #a9bba2!important;border-radius:10px!important;background:#f8f9f1!important;color:#173f32!important;cursor:pointer}.kb-floor-table strong{font-size:13px!important;color:inherit!important}.kb-floor-table span{font-size:10px!important;color:inherit!important}.kb-floor-picker button.kb-floor-hotspot{display:block;min-width:34px;min-height:30px;padding:4px 7px!important;border:1px solid #fffdf2!important;border-radius:9px!important;background:#174b3bed!important;color:#fffdf5!important;font-size:11px!important;font-weight:700;box-shadow:0 3px 10px #0003;cursor:pointer}.kb-floor-picker button[data-table][aria-pressed=true]{background:#bd8b36!important;border-color:#fff2c8!important;color:#172f23!important;box-shadow:0 0 0 3px #d9b46455}.kb-floor-picker button[data-table]:disabled{opacity:.35;cursor:not-allowed}.kb-floor-picker button:focus-visible{outline:3px solid #d9942e!important;outline-offset:3px}
.kb-floor-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;font-size:10px}.kb-floor-picker .kb-floor-any{min-height:44px;padding:9px 12px!important;border:1px solid #a9bba2!important;border-radius:10px!important;background:transparent!important;color:inherit!important;font-size:12px!important;cursor:pointer}.kb-floor-picker .kb-floor-any[aria-pressed=true]{background:#e1eadb!important;color:#173f32!important}.kb-floor-selection{font-size:12px!important;line-height:1.5!important;font-weight:600;margin:10px 0 0!important;min-height:20px}.kb-floor-expanded .kb-floor-stage{height:min(65vh,650px)}
html[data-kb-theme=dark] .kb-floor-picker{background:#1a2922;color:#f2efdf;border-color:#405348}html[data-kb-theme=dark] .kb-floor-stage{background:radial-gradient(ellipse at 50% 40%,#44554a,#1c3027);border-color:#52634e}html[data-kb-theme=dark] .kb-floor-room,html[data-kb-theme=dark] .kb-floor-entrance{color:#f2efdf}html[data-kb-theme=dark] .kb-floor-badge{background:#3d341f;color:#f4d9a3}
.kb-reservation-scroll{overflow-y:auto;overscroll-behavior:contain;min-height:0;scrollbar-width:none!important;scroll-padding-block:18px}.kb-reservation-scroll::-webkit-scrollbar{display:none!important}.kb-reservation-panel #kb-booking-form .kb-reservation-layout{overflow:visible;flex:none}.kb-reservation-scroll>.kb-floor-picker{margin:0 30px 24px}.kb-reservation-panel #kb-booking-form .kb-reservation-bottom{flex:none}
@media(max-width:600px){.kb-floor-picker{padding:12px}.kb-reservation-scroll>.kb-floor-picker{margin:0 16px 20px}.kb-floor-heading h3{font-size:17px!important}.kb-floor-heading .kb-eyebrow{font-size:8px!important}.kb-floor-stage{height:330px}.kb-floor-table-list{grid-template-columns:repeat(3,1fr)}.kb-floor-room{font-size:10px;left:10px}.kb-floor-room span{display:block}.kb-floor-controls button{width:44px;min-width:44px}.kb-floor-entrance{display:none}.kb-floor-actions>span{max-width:130px;line-height:1.5}.kb-floor-expanded .kb-floor-stage{height:65vh}}
html[data-kb-theme] .kb-reservation-panel .kb-floor-picker button.kb-floor-table strong,html[data-kb-theme] .kb-reservation-panel .kb-floor-picker button.kb-floor-table span{color:#173f32!important}html[data-kb-theme] .kb-reservation-panel .kb-floor-picker button.kb-floor-table[aria-pressed=true] strong,html[data-kb-theme] .kb-reservation-panel .kb-floor-picker button.kb-floor-table[aria-pressed=true] span{color:#172f23!important}
.kb-floor-view-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}.kb-floor-picker .kb-floor-view-tabs button{min-height:42px;padding:9px 14px!important;border:1px solid #b5c4ad!important;border-radius:30px!important;background:transparent!important;color:inherit!important;font-size:12px!important;cursor:pointer}.kb-floor-picker .kb-floor-view-tabs button[aria-pressed=true]{background:#174b3b!important;border-color:#174b3b!important;color:#fffdf5!important}.kb-floor-view-tabs button:disabled{opacity:.4;cursor:not-allowed}.kb-floor-stage{height:430px;background:radial-gradient(ellipse at 50% 40%,#fffbef,#dfdaca)}.kb-floor-stage:fullscreen{width:100vw;height:100dvh;border:0;border-radius:0;background:radial-gradient(ellipse at 50% 35%,#fff8e8,#cbc5b6)}.kb-floor-stage:fullscreen model-viewer{width:100%;height:100%}.kb-floor-stage:fullscreen .kb-floor-room{top:24px;left:28px;font-size:17px;background:#fffdf3eb;padding:12px 18px;border-radius:12px;color:#173f32}.kb-floor-stage:fullscreen .kb-floor-controls{bottom:26px;right:26px}.kb-floor-fullscreen-note{display:none}.kb-floor-stage:fullscreen .kb-floor-fullscreen-note{display:block;position:absolute;bottom:34px;left:28px;font-size:12px;background:#fffdf3eb;color:#173f32;padding:9px 14px;border-radius:8px;pointer-events:none}.kb-floor-stage:fullscreen .kb-floor-entrance{display:none}.kb-floor-stage:fullscreen .kb-floor-hotspot{min-width:44px;min-height:40px;font-size:13px!important}.kb-floor-expanded .kb-floor-stage{height:min(76vh,760px)}
html[data-kb-theme=dark] .kb-floor-view-tabs button[aria-pressed=true]{background:#bc9858!important;color:#142e22!important}html[data-kb-theme=dark] .kb-floor-stage:fullscreen{background:radial-gradient(ellipse at 50% 35%,#415348,#13261d)}
@media(max-width:600px){.kb-floor-stage{height:360px}.kb-floor-picker .kb-floor-view-tabs button{padding:8px 11px!important;font-size:11px!important}.kb-floor-view-tabs{gap:5px}.kb-floor-stage:fullscreen .kb-floor-room{top:15px;left:15px;font-size:13px;padding:8px 12px}.kb-floor-stage:fullscreen .kb-floor-controls{right:12px;bottom:16px}.kb-floor-stage:fullscreen .kb-floor-fullscreen-note{left:15px;right:15px;bottom:80px;font-size:10px;text-align:center}.kb-floor-expanded .kb-floor-stage{height:76vh}}
.kb-floor-controls .kb-floor-immersive{display:none}.kb-floor-stage:fullscreen .kb-floor-controls .kb-floor-immersive{display:block}.kb-floor-controls button:disabled{opacity:.35;cursor:not-allowed}
