:root{--booking-primary:#ff6b35;--booking-primary-dark:#e85a2a;--booking-primary-light:#ff8c5f;--booking-secondary:#f96;--booking-accent:#ffb84d;--booking-success:#10b981;--booking-warning:#f59e0b;--booking-error:#ef4444;--booking-dark:#212529;--booking-dark-light:#f8f9fa;--booking-gray-900:#212529;--booking-gray-800:#343a40;--booking-gray-700:#495057;--booking-gray-600:#6c757d;--booking-gray-500:#adb5bd;--booking-gray-400:#ced4da;--booking-gray-300:#dee2e6;--booking-gray-200:#e9ecef;--booking-gray-100:#f8f9fa;--booking-white:#fff;--booking-glass:hsla(0,0%,100%,.8);--booking-glass-border:rgba(255,107,53,.2);--booking-gradient:linear-gradient(135deg,#ff6b35,#f96);--booking-gradient-accent:linear-gradient(135deg,#ffb84d,#f96);--booking-shadow:0 4px 6px -1px rgba(255,107,53,.1),0 2px 4px -1px rgba(255,107,53,.06);--booking-shadow-lg:0 10px 15px -3px rgba(255,107,53,.15),0 4px 6px -2px rgba(255,107,53,.08);--booking-shadow-xl:0 20px 25px -5px rgba(255,107,53,.2),0 10px 10px -5px rgba(255,107,53,.1);--booking-shadow-glow:0 0 40px rgba(255,107,53,.3);--booking-radius:16px;--booking-radius-lg:20px;--booking-radius-xl:24px;--booking-transition:all 0.3s cubic-bezier(0.4,0,0.2,1)}.booking-page{min-height:100vh;background:linear-gradient(180deg,#fff,#fff5f0 30%,#ffe8dc 60%,#fff);color:var(--booking-gray-900);position:relative;overflow-x:hidden;font-family:var(--font-body)}.booking-page .navbar{position:fixed;top:0;left:0;right:0;z-index:1000;background:hsla(0,0%,100%,.95);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 2px 20px rgba(255,107,53,.1)}.booking-bg-effects{position:fixed;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:0;overflow:hidden}.bg-orb{position:absolute;border-radius:50%;filter:blur(100px);opacity:.4}.bg-orb-1{width:600px;height:600px;background:var(--booking-primary);top:-200px;left:-100px;animation:floatOrb 20s ease-in-out infinite;opacity:.08}.bg-orb-2{width:500px;height:500px;background:var(--booking-secondary);top:50%;right:-150px;animation:floatOrb 25s ease-in-out infinite reverse;opacity:.08}.bg-orb-3{width:400px;height:400px;background:var(--booking-accent);bottom:-100px;left:50%;transform:translateX(-50%);animation:floatOrb 15s ease-in-out infinite;opacity:.08}.bg-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,107,53,.03) 1px,transparent 0),linear-gradient(90deg,rgba(255,107,53,.03) 1px,transparent 0);background-size:60px 60px}@keyframes floatOrb{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-30px) scale(1.05)}66%{transform:translate(-20px,20px) scale(.95)}}.booking-container{position:relative;z-index:1;max-width:1100px;margin:0 auto;padding:50px 20px 160px}.booking-hero{text-align:center;margin-bottom:48px}.hero-badge{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:hsla(0,0%,100%,.9);border:2px solid var(--booking-glass-border);border-radius:100px;font-size:.9rem;font-weight:600;color:var(--booking-primary);margin-bottom:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--booking-shadow)}.badge-icon{color:var(--booking-accent)}.booking-title{font-family:var(--font-heading);font-size:clamp(2rem,5vw,3rem);font-weight:700;margin:0 0 12px;background:linear-gradient(135deg,var(--booking-primary) 0,var(--booking-secondary) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.booking-subtitle{color:var(--booking-gray-700);font-size:1.1rem;margin:0;font-weight:500}.steps-container{justify-content:center;gap:8px;margin-bottom:24px;padding:0 20px}.step-item,.steps-container{display:flex;align-items:center}.step-item{gap:10px;padding:12px 18px;background:hsla(0,0%,100%,.9);border:2px solid rgba(255,107,53,.2);border-radius:var(--booking-radius);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:var(--booking-transition);opacity:.6;box-shadow:var(--booking-shadow)}.step-item.active{opacity:1;background:rgba(255,107,53,.15);border-color:var(--booking-primary);box-shadow:var(--booking-shadow-lg)}.step-item.completed{background:rgba(16,185,129,.15);border-color:var(--booking-success)}.step-number{width:38px;height:38px;display:flex;align-items:center;justify-content:center;background:var(--booking-gray-300);color:var(--booking-gray-700);border-radius:50%;font-weight:700;font-size:.9rem;transition:all .35s cubic-bezier(.4,0,.2,1);border:2px solid transparent}.step-item.active .step-number{background:var(--booking-gradient);color:#fff;box-shadow:0 4px 16px rgba(255,107,53,.35);border-color:hsla(0,0%,100%,.5)}.step-item.completed .step-number{background:var(--booking-success);border-color:hsla(0,0%,100%,.4);box-shadow:0 3px 12px rgba(16,185,129,.3)}.step-content{display:flex;flex-direction:column;gap:1px}.step-label{font-weight:600;font-size:.9rem;color:var(--booking-gray-900)}.step-desc{font-size:.75rem;color:var(--booking-gray-600)}.step-connector{flex:0 0 50px}.connector-line{height:2px;background:var(--booking-gray-300);border-radius:2px;overflow:hidden}.connector-fill{height:100%;background:var(--booking-gradient);border-radius:2px}.booking-card{background:hsla(0,0%,100%,.95);border:2px solid var(--booking-glass-border);border-radius:var(--booking-radius-xl);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:28px;box-shadow:var(--booking-shadow-xl)}.booking-card.has-price-footer{padding-bottom:100px}.card-header{display:flex;align-items:center;gap:14px;padding-bottom:16px;border-bottom:1px solid var(--booking-glass-border);flex-wrap:wrap}.card-header.with-back{padding-left:0}.back-button{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:hsla(0,0%,100%,.9);border:2px solid var(--booking-glass-border);border-radius:var(--booking-radius);color:var(--booking-gray-700);cursor:pointer;transition:var(--booking-transition);box-shadow:var(--booking-shadow)}.back-button:hover{background:var(--booking-primary);border-color:var(--booking-primary);color:#fff;transform:translateX(-4px)}.card-icon{width:50px;height:50px;min-width:50px;display:flex;align-items:center;justify-content:center;background:var(--booking-gradient);border-radius:14px;color:#fff;box-shadow:0 6px 20px rgba(255,107,53,.3),inset 0 1px 0 hsla(0,0%,100%,.2);animation:none!important;transform:none!important;position:relative}.card-icon:after{content:"";position:absolute;inset:0;border-radius:14px;border:1px solid hsla(0,0%,100%,.15);pointer-events:none}.card-icon svg{width:22px;height:22px;animation:none!important;transform:none!important}.card-header-content{flex:1 1}.card-title{font-family:var(--font-heading);font-size:1.4rem;font-weight:700;margin:0 0 4px;color:var(--booking-gray-900)!important}.card-subtitle{color:var(--booking-gray-600)!important;font-size:.9rem;margin:0;font-weight:500}.header-session-info{display:flex;align-items:center;gap:12px;margin-left:auto;flex-wrap:wrap}.session-badge{display:flex;align-items:center;gap:8px;padding:10px 16px;background:hsla(0,0%,100%,.92);border:1.5px solid rgba(255,107,53,.15);border-radius:14px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px rgba(255,107,53,.06),0 1px 2px rgba(0,0,0,.04)}.session-badge:hover{background:rgba(255,107,53,.08);border-color:rgba(255,107,53,.3);transform:translateY(-1px);box-shadow:0 4px 12px rgba(255,107,53,.12),0 2px 4px rgba(0,0,0,.04)}.badge-icon{width:22px;height:22px;min-width:22px;color:var(--booking-primary);display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 1px 2px rgba(255,107,53,.2))}.badge-content{display:flex;flex-direction:column}.badge-label{font-size:.7rem;color:var(--booking-gray-600);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.badge-value{font-size:.95rem;font-weight:700;color:var(--booking-gray-900);font-family:var(--font-heading)}.badge-value.warning{color:var(--booking-warning);animation:warningPulse 2s ease-in-out infinite}.session-badge:has(.badge-value.warning){border-color:rgba(245,158,11,.4);background:rgba(245,158,11,.1)}.session-badge:has(.badge-value.warning) .badge-icon{color:var(--booking-warning)}@keyframes warningPulse{0%,to{opacity:1}50%{opacity:.7}}.alert{display:flex;align-items:flex-start;gap:12px;padding:16px;border-radius:var(--booking-radius);margin-bottom:24px}.alert-error{background:rgba(239,68,68,.1);border:2px solid rgba(239,68,68,.3);color:#dc2626}.alert-warning{background:rgba(245,158,11,.1);border:2px solid rgba(245,158,11,.3);color:#d97706}.alert-icon{font-size:1.2rem;flex-shrink:0}.alert strong{display:block;margin-bottom:4px}.alert p{margin:0;font-size:.9rem;opacity:.9}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:20px}.loader{position:relative;width:60px;height:60px}.loader-ring{position:absolute;inset:0;border:3px solid transparent;border-top:3px solid var(--booking-primary);border-radius:50%;animation:spinRing 1s cubic-bezier(.5,0,.5,1) infinite}.loader-ring:nth-child(2){inset:8px;border-top-color:var(--booking-secondary);animation-delay:-.15s}.loader-ring:nth-child(3){inset:16px;border-top-color:var(--booking-accent);animation-delay:-.3s}@keyframes spinRing{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-text{color:var(--booking-gray-400);font-size:.95rem}.slots-error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;gap:12px;text-align:center}.slots-error-icon{font-size:2.5rem;margin-bottom:4px}.slots-error-message{color:#ef4444;font-size:1rem;font-weight:600;max-width:360px;line-height:1.5}.slots-retry-btn{display:inline-flex;align-items:center;gap:8px;margin-top:8px;padding:12px 28px;background:linear-gradient(135deg,#ff6b35,#ff8f5e);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 14px rgba(255,107,53,.3)}.slots-retry-btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(255,107,53,.4)}.slots-retry-btn:active{transform:translateY(0)}.retry-icon{font-size:1.1rem}.slots-error-hint{color:#94a3b8;font-size:.82rem;max-width:320px;line-height:1.5;margin-top:4px}.step-content-wrapper{display:block;width:100%}.time-section-full{width:100%;background:#fff;border-radius:24px;padding:0;overflow:hidden;border:none;box-shadow:0 4px 24px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04)}.header-date-picker{display:flex;align-items:center;gap:12px;margin-left:auto;position:relative;z-index:20}.date-input-compact::-webkit-datetime-edit{color:var(--booking-gray-900);padding:0}.date-input-compact::-webkit-datetime-edit-fields-wrapper{background:transparent}.date-input-compact::-webkit-datetime-edit-day-field,.date-input-compact::-webkit-datetime-edit-month-field,.date-input-compact::-webkit-datetime-edit-year-field{color:var(--booking-gray-900)}.selected-date-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--booking-gradient);border-radius:14px;padding:10px 18px;min-width:75px;box-shadow:0 4px 15px rgba(255,107,53,.3);transition:var(--booking-transition);animation:none!important}.selected-date-badge:hover{transform:scale(1.05);box-shadow:0 6px 20px rgba(255,107,53,.3)}.badge-day{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--booking-gray-700)}.badge-date{font-size:1.5rem;font-weight:700;line-height:1;color:var(--booking-primary);font-family:var(--font-heading)}.badge-month{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--booking-gray-800)}.time-slots-header{display:flex;align-items:center;justify-content:space-between;padding:24px 28px 20px;background:#fff;border-bottom:none;gap:16px;flex-wrap:wrap}.header-left{gap:14px;flex-shrink:0}.header-icon,.header-left{display:flex;align-items:center}.header-icon{width:44px;height:44px;min-width:44px;justify-content:center;background:linear-gradient(135deg,#ff6b35,#f96);border-radius:12px;color:#fff!important;box-shadow:0 4px 14px rgba(255,107,53,.25),inset 0 1px 0 hsla(0,0%,100%,.2);animation:none!important;transform:none!important;position:relative}.header-icon:after{content:"";position:absolute;inset:0;border-radius:12px;border:1px solid hsla(0,0%,100%,.15);pointer-events:none}.header-icon svg{width:22px;height:22px;animation:none!important;transform:none!important;color:#fff!important}.header-text{display:flex;flex-direction:column;gap:2px}.header-title{font-size:1.25rem;font-weight:800;color:#1a1a2e!important;margin:0;font-family:var(--font-heading);line-height:1.2;letter-spacing:-.02em}.header-subtitle{font-size:.88rem;color:#6b7280;margin:0;line-height:1.3;font-weight:500}.slot-legend-bar{display:flex!important;opacity:1!important;gap:14px;margin-left:auto;flex-shrink:0;padding:8px 16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px}.legend-chip,.slot-legend-bar{visibility:visible!important;align-items:center}.legend-chip{display:inline-flex!important;gap:6px;padding:0;background:none;border:none;cursor:default;white-space:nowrap}.legend-dot{width:10px;height:10px;min-width:10px;min-height:10px;border-radius:50%;flex-shrink:0;background:#94a3b8;display:inline-block!important}.legend-label{font-size:.75rem;font-weight:700;letter-spacing:.01em;line-height:1;color:#64748b;display:inline!important}.legend-available .legend-dot{background:#22c55e}.legend-partial .legend-dot{background:#f59e0b}.legend-full .legend-dot{background:#ef4444}.legend-past .legend-dot{background:#cbd5e1}.legend-available .legend-label{color:#16a34a}.legend-partial .legend-label{color:#d97706}.legend-full .legend-label{color:#dc2626}.legend-past .legend-label{color:#94a3b8}.legend-divider,.legend-item,.legend-pill,.legend-text,.lp-dot,.slot-status-legend{display:none!important}.time-slots-scroll-wrapper{padding:4px 20px 20px;background:transparent}.time-slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(105px,1fr));grid-gap:10px;gap:10px}.ts-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:16px 8px 12px;border-radius:16px;border:2px solid #e2e8f0;background:#fff;font-family:inherit;font-size:inherit;color:inherit;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);overflow:hidden;outline:none;-webkit-tap-highlight-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;box-sizing:border-box;min-height:56px}.ts-dot{top:8px;right:8px;width:7px;height:7px;transition:all .2s ease}.ts-check,.ts-dot{position:absolute;border-radius:50%}.ts-check{top:6px;right:6px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:#ff6b35;color:#fff;font-size:.65rem;font-weight:800;box-shadow:0 2px 8px rgba(255,107,53,.4);z-index:2}.ts-time{font-size:.95rem;font-weight:700;letter-spacing:-.01em;line-height:1;transition:color .2s ease}.ts-label{font-size:.65rem;font-weight:600;letter-spacing:.03em;line-height:1;margin-top:2px;padding:2px 6px;border-radius:6px}.ts-available{background:linear-gradient(145deg,#f0fdf4,#ecfdf5);border-color:#bbf7d0}.ts-available .ts-dot{background:#22c55e;box-shadow:0 0 0 2px rgba(34,197,94,.15)}.ts-available .ts-time{color:#166534}.ts-available .ts-label-open{color:#15803d;background:rgba(34,197,94,.1)}.ts-available:hover:not(:disabled){border-color:#22c55e;background:linear-gradient(145deg,#dcfce7,#d1fae5);box-shadow:0 8px 25px rgba(34,197,94,.18),0 2px 6px rgba(34,197,94,.1)}.ts-partial{background:linear-gradient(145deg,#fffbeb,#fef3c7);border-color:#fde68a}.ts-partial .ts-dot{background:#f59e0b;box-shadow:0 0 0 2px rgba(245,158,11,.15)}.ts-partial .ts-time{color:#92400e}.ts-partial .ts-label-partial{color:#b45309;background:rgba(245,158,11,.12);font-weight:700}.ts-partial:hover:not(:disabled){border-color:#f59e0b;background:linear-gradient(145deg,#fef9c3,#fde68a40);box-shadow:0 8px 25px rgba(245,158,11,.18),0 2px 6px rgba(245,158,11,.1)}.ts-in-use{background:linear-gradient(145deg,#fefce8,#fef08a40);border-color:#facc15;position:relative;overflow:hidden}.ts-in-use:before{content:"";position:absolute;top:0;left:-50%;width:200%;height:100%;background:linear-gradient(90deg,transparent 40%,rgba(250,204,21,.12) 50%,transparent 60%);animation:ts-shimmer 2.5s ease-in-out infinite}@keyframes ts-shimmer{0%{transform:translateX(-50%)}to{transform:translateX(50%)}}.ts-in-use .ts-dot{background:#eab308;box-shadow:0 0 0 3px rgba(234,179,8,.25);animation:ts-pulse 1.5s ease-in-out infinite}@keyframes ts-pulse{0%,to{box-shadow:0 0 0 3px rgba(234,179,8,.25)}50%{box-shadow:0 0 0 6px rgba(234,179,8,.1)}}.ts-in-use .ts-time{color:#854d0e;font-weight:700}.ts-label-inuse{color:#a16207;background:rgba(234,179,8,.15);font-weight:700;font-size:.6rem;letter-spacing:.03em}.ts-in-use:hover:not(:disabled){border-color:#eab308;background:linear-gradient(145deg,#fef9c3,#fde047 30%);box-shadow:0 8px 25px rgba(234,179,8,.2),0 2px 6px rgba(234,179,8,.1)}.ts-has-active:not(.ts-in-use){border-color:#facc15;box-shadow:0 0 0 1px rgba(250,204,21,.3)}.ts-countdown{display:block;font-size:.55rem;font-weight:700;color:#b45309;letter-spacing:.02em;margin-top:1px;animation:ts-pulse 2s ease-in-out infinite}.ts-full{background:#fef2f2;border-color:#fecaca;cursor:not-allowed;opacity:.75}.ts-full .ts-dot{background:#ef4444;box-shadow:0 0 0 2px rgba(239,68,68,.15)}.ts-full .ts-time{color:#b91c1c;text-decoration:line-through;-webkit-text-decoration-color:#fca5a5;text-decoration-color:#fca5a5;text-decoration-thickness:2px}.ts-full .ts-label-full{color:#dc2626;background:rgba(239,68,68,.08);font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:.55rem}.ts-past{background:#f8fafc;border-color:#e2e8f0;pointer-events:none;opacity:.5}.ts-past .ts-dot{background:#cbd5e1}.ts-past .ts-time{color:#94a3b8;text-decoration:line-through;-webkit-text-decoration-color:#cbd5e1;text-decoration-color:#cbd5e1;text-decoration-thickness:1.5px}.ts-past .ts-label{color:#94a3b8;background:#f1f5f9;font-size:.58rem}.ts-closing-soon{background:#f8fafc;border-color:#e2e8f0;pointer-events:none;opacity:.55}.ts-closing-soon .ts-dot{background:#94a3b8}.ts-closing-soon .ts-time{color:#94a3b8}.ts-closing-soon .ts-label-warn{color:#b45309;background:#fef3c7;font-weight:700;font-size:.58rem}.ts-closed{background:#f1f5f9;border-color:#e2e8f0;pointer-events:none;opacity:.45}.ts-closed .ts-dot{background:#94a3b8}.ts-closed .ts-time{color:#94a3b8;text-decoration:line-through;-webkit-text-decoration-color:#cbd5e1;text-decoration-color:#cbd5e1}.ts-closed .ts-label{color:#64748b;background:#e2e8f0;font-size:.58rem}.ts-selected{border-color:#ff6b35!important;background:linear-gradient(145deg,#fff7ed,#ffedd5)!important;box-shadow:0 0 0 3px rgba(255,107,53,.15),0 8px 30px rgba(255,107,53,.2)!important;opacity:1!important}.ts-selected .ts-label,.ts-selected .ts-time{color:#ea580c!important}.ts-selected .ts-label{background:rgba(255,107,53,.1)!important}.ts-selected .ts-dot{display:none}.closing-time-notice{display:flex;align-items:center;gap:8px;padding:12px 16px;margin-top:16px;background:linear-gradient(135deg,#fffbeb,#fef3c7);border:1px solid hsla(48,97%,77%,.7);border-radius:12px;font-size:.8rem;color:#92400e;line-height:1.4;font-weight:500;box-shadow:0 2px 6px rgba(245,158,11,.06)}.closing-notice-icon{flex-shrink:0;color:#f59e0b;font-size:1.05rem;filter:drop-shadow(0 1px 3px rgba(245,158,11,.3))}.session-info-bar,.slot-capacity,.slot-closed-label,.slot-closing-label,.slot-past-label,.slot-selected-indicator,.slot-time,.time-slot{display:none}.info-divider{width:1px;height:40px;background:var(--booking-glass-border)}.devices-section{margin-top:8px;padding-bottom:0!important}.devices-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding:0}.section-title{display:flex;align-items:center;gap:10px;font-family:var(--font-heading);font-size:1.1rem;font-weight:600;color:var(--booking-gray-900)!important;margin:0}.section-title.driving-title{margin-top:32px}.section-icon{color:var(--booking-primary);font-size:1.15rem;filter:drop-shadow(0 1px 2px rgba(255,107,53,.25))}.devices-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:24px;gap:24px;margin-bottom:30px}.device-card{position:relative;background:hsla(0,0%,100%,.85);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1.5px solid rgba(255,144,93,.4);border-radius:18px;padding:16px;cursor:pointer;transition:all .3s cubic-bezier(.25,.8,.25,1);overflow:hidden;will-change:transform,box-shadow,border-color,background;box-shadow:0 2px 10px rgba(255,107,53,.06),0 1px 3px rgba(0,0,0,.04)}.device-card:before{content:"";position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent 0,rgba(255,107,53,.08) 50%,transparent);transform:skewX(-25deg);transition:none;pointer-events:none}.device-card:hover:before{left:150%;transition:left .7s ease-in-out}.device-card:not(.expanded){height:auto}.device-card.expanded{background:hsla(0,0%,100%,.95);border-color:var(--booking-primary);box-shadow:0 12px 32px rgba(0,0,0,.08);transform:scale(1.01);z-index:50}.device-card:hover:not(.unavailable):not(.expanded){background:hsla(0,0%,100%,.95);border-color:var(--booking-primary);transform:translateY(-2px);box-shadow:0 8px 20px rgba(255,107,53,.15)}.device-card.selected:not(.expanded){border-color:var(--booking-primary);background:linear-gradient(135deg,rgba(255,107,53,.08),rgba(255,153,102,.04));box-shadow:0 0 0 1.5px rgba(255,107,53,.2),0 8px 24px rgba(255,107,53,.12)}.device-header{display:flex;align-items:center;gap:14px;position:relative;z-index:2;width:100%}.device-details{flex:1 1;flex-direction:column}.device-details,.expand-icon{display:flex;justify-content:center}.expand-icon{margin-left:auto;align-items:center;width:24px;height:24px;transition:transform .3s ease,color .3s ease}.device-card:hover .expand-icon,.expand-icon,.expand-icon.rotated{color:var(--booking-primary)}.expand-icon.rotated{transform:rotate(180deg)}.device-icon-wrapper{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:linear-gradient(135deg,rgba(255,107,53,.1),rgba(255,153,102,.05));border:1px solid rgba(255,107,53,.1);color:var(--booking-primary);transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px rgba(255,107,53,.06)}.device-icon-wrapper.ps5{background:linear-gradient(135deg,rgba(255,107,53,.12),rgba(255,153,102,.05));border-color:rgba(255,107,53,.1)}.device-logo-img{width:28px;height:28px;object-fit:contain}.device-icon-wrapper.driving{color:var(--booking-primary);background:linear-gradient(135deg,rgba(255,107,53,.12),rgba(255,153,102,.05));border-color:rgba(255,107,53,.1)}.device-card:hover .device-icon-wrapper{background:linear-gradient(135deg,rgba(255,107,53,.18),rgba(255,153,102,.08));border-color:rgba(255,107,53,.18);transform:scale(1.06);box-shadow:0 4px 14px rgba(255,107,53,.12)}.device-card.selected .device-icon-wrapper{background:linear-gradient(135deg,#ff6b35,#f96);color:#fff;border-color:transparent;box-shadow:0 4px 16px rgba(255,107,53,.3)}.device-name{font-family:var(--font-body);font-weight:600;font-size:1.05rem;margin:0 0 2px;letter-spacing:-.01em;color:#212529!important}.device-unit{font-size:.8rem;font-weight:400;color:#6c757d!important;display:block}h4.device-name,span.device-unit{color:#212529!important}.player-buttons{display:flex;background:hsla(0,0%,100%,.6);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:6px;border-radius:16px;border:2px solid rgba(255,107,53,.1);margin-top:10px;gap:8px}.player-btn{flex:1 1;padding:10px 0;border-radius:12px;font-size:.95rem;font-weight:600;background:hsla(0,0%,100%,.5);border:1px solid transparent;color:var(--booking-gray-600);transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;z-index:1}.player-btn:hover{background:rgba(255,107,53,.1);color:var(--booking-primary);transform:translateY(-1px)}.player-btn.active{background:var(--booking-primary);color:#fff;box-shadow:0 4px 12px rgba(255,107,53,.3);border-color:rgba(255,107,53,.2);transform:scale(1.05);z-index:2}.duration-buttons{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px;margin-top:8px}.duration-btn{padding:10px 4px;border-radius:12px;background:hsla(0,0%,100%,.8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,107,53,.1);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;transition:all .2s ease;position:relative;overflow:hidden}.duration-btn:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(255,107,53,.05));opacity:0;transition:opacity .2s}.duration-btn:hover{border-color:var(--booking-primary);transform:translateY(-2px);background:hsla(0,0%,100%,.95);box-shadow:0 4px 12px rgba(255,107,53,.15)}.duration-btn:hover:after{opacity:1}.duration-btn .dur-value{font-size:1.25rem;font-weight:800;line-height:1;color:var(--booking-gray-900)}.duration-btn .dur-unit{font-size:.65rem;text-transform:uppercase;font-weight:700;letter-spacing:.05em;opacity:.6;color:var(--booking-gray-700)}.duration-btn.active{background:linear-gradient(135deg,var(--booking-primary) 0,var(--booking-secondary) 100%);border-color:transparent;color:#fff;box-shadow:0 4px 12px rgba(255,107,53,.3)}.duration-btn.active .dur-value{color:#fff}.duration-btn.active .dur-unit{opacity:.9;color:#fff}.option-group{margin-top:20px;margin-bottom:0;padding:0 4px;animation:slideDownFade .4s cubic-bezier(.16,1,.3,1) forwards}@keyframes slideDownFade{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.option-group:nth-child(2){animation-delay:.05s}.option-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--booking-gray-600);margin-bottom:8px;font-weight:700;display:flex;align-items:center;gap:8px}.option-label:after{content:"";flex:1 1;height:1px;background:rgba(255,107,53,.15)}.compact-options{display:flex;flex-direction:column;gap:14px;margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,107,53,.1)}.compact-option-row{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.compact-option-label{display:flex;align-items:center;gap:5px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#000;white-space:nowrap}.compact-option-label svg{color:var(--booking-primary);opacity:.7}.compact-pill-group{display:flex;gap:6px;width:100%}.compact-pill{flex:1 1;height:42px;padding:0 12px;border-radius:10px;font-size:.9rem;font-weight:700;background:rgba(0,0,0,.03);border:1.5px solid rgba(0,0,0,.08);color:var(--booking-gray-600);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center}.compact-pill:hover{border-color:rgba(255,107,53,.4);background:rgba(255,107,53,.06);color:var(--booking-primary);transform:translateY(-1px)}.compact-pill.active{background:var(--booking-primary);border-color:var(--booking-primary);color:#fff;box-shadow:0 3px 10px rgba(255,107,53,.3);transform:translateY(-1px)}.compact-pill.dur{font-size:.85rem;letter-spacing:-.01em}.compact-toggle{display:flex;align-items:center;gap:10px;cursor:pointer;padding:8px 14px;border-radius:10px;background:rgba(0,0,0,.02);border:1.5px solid rgba(0,0,0,.06);transition:all .25s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.compact-toggle:hover{border-color:rgba(255,107,53,.3);background:rgba(255,107,53,.03)}.compact-toggle.active{border-color:rgba(255,107,53,.4);background:rgba(255,107,53,.06)}.compact-toggle-track{width:36px;height:20px;border-radius:12px;background:rgba(0,0,0,.12);position:relative;transition:background .25s ease;flex-shrink:0}.compact-toggle.active .compact-toggle-track{background:var(--booking-primary)}.compact-toggle-thumb{width:16px;height:16px;border-radius:50%;background:#fff;position:absolute;top:2px;left:2px;transition:transform .25s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px rgba(0,0,0,.15)}.compact-toggle.active .compact-toggle-thumb{transform:translateX(16px)}.compact-toggle-text{font-size:.8rem;font-weight:600;color:var(--booking-gray-600);transition:color .2s ease}.compact-after-info,.compact-toggle.active .compact-toggle-text{color:var(--booking-primary)}.compact-after-info{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:8px;background:rgba(255,107,53,.08);border:1px solid rgba(255,107,53,.15);font-size:.75rem;font-weight:600;margin-top:2px}.compact-after-info svg{flex-shrink:0}.device-card.unavailable{opacity:.5;filter:grayscale(1);pointer-events:none;background:hsla(0,0%,100%,.4);border:1px dashed rgba(0,0,0,.1)}.selected-badge,.unavailable-badge{position:absolute;top:14px;right:14px;display:flex;align-items:center;justify-content:center;border-radius:50%;z-index:5}.unavailable-badge{width:28px;height:28px;background:#334155;color:#94a3b8;border:1px solid #475569;font-size:.65rem;letter-spacing:.05em;box-shadow:none;animation:none}.unavailable-badge.disabled-badge{width:auto;height:auto;padding:6px 12px;border-radius:8px;background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff;border:1px solid rgba(139,92,246,.4);font-size:.65rem;font-weight:600;letter-spacing:.04em;box-shadow:0 2px 8px rgba(124,58,237,.25);white-space:nowrap;max-width:180px;overflow:hidden;text-overflow:ellipsis}.unavailable-badge.disabled-badge span{display:flex;align-items:center;gap:3px}.device-card.admin-disabled{opacity:.55;border-style:dashed;border-color:rgba(124,58,237,.3);background:rgba(124,58,237,.03)}.device-card.admin-disabled:hover{transform:none;box-shadow:none}.selected-badge{background:var(--booking-gradient);color:#fff;width:28px;height:28px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:50%;box-shadow:0 4px 10px rgba(99,102,241,.4);font-size:0;margin:0;z-index:5}.selected-badge svg{font-size:1rem;display:block}.selected-badge:after{content:none}.price-footer-v2{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);width:auto;min-width:320px;max-width:90%;background:rgba(10,15,30,.85);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid hsla(0,0%,100%,.12);border-radius:100px;padding:8px 8px 8px 24px;display:flex;align-items:center;justify-content:space-between;gap:32px;box-shadow:0 24px 48px -12px rgba(0,0,0,.7),0 0 0 1px hsla(0,0%,100%,.05);z-index:1000;animation:slideUpFade .5s cubic-bezier(.16,1,.3,1)}@keyframes slideUpFade{0%{opacity:0;transform:translate(-50%,100px)}to{opacity:1;transform:translate(-50%)}}.price-info-container{display:flex;align-items:center;gap:16px}.price-label-simple{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:var(--booking-gray-400)}.total-price-display{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;color:#fff;line-height:1}.price-details-btn{background:transparent;border:none;color:var(--booking-gray-400);cursor:pointer;padding:4px;display:flex;align-items:center;transition:color .2s}.price-details-btn:hover{color:#fff}.action-btn-pill{padding:12px 32px;background:#fff;color:#0f172a;border-radius:100px;border:none;font-weight:700;font-size:1rem;letter-spacing:-.01em;cursor:pointer;transition:all .3s cubic-bezier(.34,1.56,.64,1);box-shadow:0 4px 15px hsla(0,0%,100%,.2);display:flex;align-items:center;gap:8px}.action-btn-pill:hover:not(:disabled){transform:scale(1.05);box-shadow:0 8px 25px hsla(0,0%,100%,.3)}.action-btn-pill:disabled{opacity:.5;cursor:not-allowed}.driving-layout-modern{display:flex;flex-direction:column;gap:20px}.driving-options-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px;margin-top:10px}.driving-option-card{background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.05);border-radius:16px;padding:16px}.price-footer{display:none!important}.device-card.driving-card{grid-column:1/-1}@media (max-width:768px){.price-footer-v2{width:95%;bottom:20px;padding:12px 16px;border-radius:20px}.driving-options-grid{grid-template-columns:1fr}}.checkout-layout-v2{display:grid;grid-template-columns:1.5fr 1fr;grid-gap:40px;gap:40px;background:transparent;width:100%;margin-top:20px}.checkout-form-v2{background:hsla(0,0%,100%,.85);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,107,53,.15);border-radius:24px;padding:40px}.form-title-v2{font-family:var(--font-heading);font-size:1.8rem;font-weight:700;margin-bottom:24px;background:linear-gradient(135deg,var(--booking-primary) 0,var(--booking-secondary) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.user-profile-card{display:flex;align-items:center;gap:16px;background:linear-gradient(135deg,rgba(255,107,53,.08),rgba(255,153,102,.04));border:1.5px solid rgba(255,107,53,.15);padding:24px;border-radius:20px;margin-bottom:32px;box-shadow:0 2px 12px rgba(255,107,53,.06)}.profile-avatar{width:50px;height:50px;background:var(--booking-gradient);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:#fff;box-shadow:0 4px 12px rgba(255,107,53,.25);border:2px solid hsla(0,0%,100%,.3)}.profile-info{flex:1 1;display:flex;flex-direction:column}.profile-greeting{font-size:.85rem;color:var(--booking-gray-600)}.profile-name{font-size:1.2rem;font-weight:700;color:#000}.form-group-v2{margin-bottom:24px}.form-label-v2{display:block;font-size:.9rem;font-weight:600;color:var(--booking-gray-700);margin-bottom:8px;margin-left:4px}.input-wrapper-v2{position:relative;height:58px;display:flex;align-items:center}.input-icon-v2{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--booking-gray-500);width:20px;height:20px;pointer-events:none;z-index:2;display:block;transition:color .3s cubic-bezier(.4,0,.2,1);filter:drop-shadow(0 1px 1px rgba(0,0,0,.06))}.form-input-v2{width:100%;padding:18px 20px 18px 56px;background:hsla(0,0%,100%,.8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,107,53,.15);border-radius:16px;color:var(--booking-gray-900);font-size:1.05rem;font-family:inherit;transition:all .2s ease;height:58px}.form-input-v2:focus{outline:none;background:hsla(0,0%,100%,.95);border-color:var(--booking-primary);box-shadow:0 0 0 4px rgba(255,107,53,.15)}.form-input-v2.filled{background:hsla(0,0%,100%,.9);border-color:rgba(16,185,129,.3);color:var(--booking-gray-900)}.summary-card-v2{background:hsla(0,0%,100%,.85);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,107,53,.15);border-radius:20px;padding:30px}.summary-title-v2{font-family:var(--font-heading);font-size:1.4rem;font-weight:700;color:var(--booking-gray-900);margin:0 0 24px}.summary-item-v2{display:flex;align-items:center;gap:16px;margin-bottom:20px}.summary-icon-v2{font-size:1.2rem;color:var(--booking-primary);background:linear-gradient(135deg,rgba(255,107,53,.12),rgba(255,153,102,.06));padding:10px;border-radius:12px;box-sizing:content-box;border:1px solid rgba(255,107,53,.12);box-shadow:0 2px 6px rgba(255,107,53,.08)}.summary-details-v2{display:flex;flex-direction:column}.summary-label-v2{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--booking-gray-600)}.summary-value-v2{font-size:1.1rem;font-weight:600;color:var(--booking-gray-900)}.items-list-v2{display:flex;flex-direction:column;gap:14px}.item-row-v2{padding:12px;background:hsla(0,0%,100%,.6);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;border:2px solid rgba(255,107,53,.1)}.item-icon-v2,.item-row-v2{display:flex;align-items:center}.item-icon-v2{width:36px;height:36px;border-radius:8px;justify-content:center;margin-right:12px;font-size:1.1rem}.item-icon-v2.ps5{background:linear-gradient(135deg,#0070d1,#00439c);color:#fff}.item-icon-v2.driving{background:linear-gradient(135deg,#f97316,#ea580c);color:#fff}.item-details-v2{flex:1 1;display:flex;flex-direction:column}.item-name-v2{font-weight:600;font-size:.95rem;color:var(--booking-gray-900)}.item-meta-v2{font-size:.8rem;color:var(--booking-gray-600)}.item-price-v2{font-weight:700;color:var(--booking-primary)}.summary-divider-v2{height:1px;background:linear-gradient(90deg,transparent,rgba(0,0,0,.08),transparent);margin:20px 0;border:none}.summary-total-v2{background:hsla(0,0%,100%,.8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:20px;border-radius:16px;margin-top:24px;margin-bottom:24px;border:2px dashed rgba(255,107,53,.2)}.total-row-v2{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.total-row-v2.final-total{margin-top:16px;padding-top:16px;border-top:2px solid rgba(255,107,53,.15)}.total-amount-v2{font-size:2rem;font-weight:800;background:var(--booking-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.submit-section{margin-top:32px}.punctuality-warning{display:flex;align-items:flex-start;gap:12px;margin-top:14px;padding:14px 16px;background:linear-gradient(135deg,rgba(251,191,36,.08),rgba(245,158,11,.06));border-radius:12px;border:1.5px solid rgba(245,158,11,.25);border-left:4px solid #f59e0b}.punctuality-warning-icon{font-size:1.3rem;flex-shrink:0;line-height:1;margin-top:1px}.punctuality-warning-content{display:flex;flex-direction:column;gap:4px}.punctuality-warning-content strong{font-size:.85rem;font-weight:700;color:#92400e}.punctuality-warning-content p{margin:0;font-size:.78rem;line-height:1.5;color:#a16207}.submit-btn-v2{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;padding:18px;background:var(--booking-gradient);border:none;border-radius:16px;color:var(--booking-white);font-size:1.1rem;font-weight:700;cursor:pointer;transition:var(--booking-transition);box-shadow:0 8px 24px rgba(255,107,53,.35)}.submit-btn-v2:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 32px rgba(255,107,53,.45)}.submit-btn-v2:disabled{opacity:.6;cursor:not-allowed}.mini-price-pill{display:flex;align-items:center;justify-content:space-between;gap:16px;background:hsla(0,0%,100%,.8);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:2px solid rgba(255,107,53,.2);border-radius:50px;padding:8px 8px 8px 24px;margin-top:0;height:auto;min-height:56px;box-shadow:0 4px 15px rgba(0,0,0,.08);transition:all .3s ease}.mini-price-pill:hover{border-color:var(--booking-primary);box-shadow:0 6px 20px rgba(255,107,53,.2);transform:translateY(-2px)}.mini-price-content{display:flex;flex-direction:column;align-items:flex-start;color:var(--booking-gray-900);margin-right:0;justify-content:center}.mini-price-label{font-size:.7rem;text-transform:uppercase;color:var(--booking-primary);letter-spacing:.1em;font-weight:600;margin-bottom:2px}.mini-price-amount{font-family:var(--font-heading);font-weight:700;color:var(--booking-gray-900);font-size:1.25rem;line-height:1}.mini-continue-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--booking-primary);color:#fff;border:none;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-size:1.2rem;box-shadow:0 4px 12px rgba(255,107,53,.35)}.mini-continue-btn:hover{background:var(--booking-secondary);color:#fff;transform:scale(1.1) rotate(-45deg);box-shadow:0 0 20px rgba(255,107,53,.5)}.mini-continue-btn:active{transform:scale(.95)}.pf-fixed-footer{position:fixed;bottom:0;left:0;width:100%;z-index:1000;pointer-events:none;padding:0 20px 20px;display:flex;justify-content:center;background:transparent}.pf-container{pointer-events:auto;background:hsla(0,0%,100%,.95);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:2px solid rgba(255,107,53,.2);border-radius:0 0 20px 20px!important;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:32px;box-shadow:0 8px 32px rgba(0,0,0,.1);min-width:400px;max-width:800px;width:100%}.pf-price-section{display:flex;flex-direction:column;gap:2px}.pf-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--booking-gray-600);font-weight:600}.pf-amount{font-family:var(--font-heading);font-size:1.75rem;font-weight:700;line-height:1;color:var(--booking-primary)}.pf-next-btn{background:linear-gradient(135deg,var(--booking-primary) 0,var(--booking-secondary) 100%);color:#fff;border:none;font-family:var(--font-body);font-size:1rem;font-weight:600;padding:14px 28px;border-radius:12px;cursor:pointer;display:flex;align-items:center;gap:10px;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px rgba(255,107,53,.35)}.pf-next-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(255,107,53,.45)}.pf-next-btn:active{transform:translateY(0)}.booking-container{padding-bottom:120px}@media (max-width:1024px){.booking-container{padding:80px 16px 140px}.booking-card{padding:20px}.steps-container{gap:6px;padding:0 12px;flex-wrap:wrap;justify-content:center}.step-item{padding:10px 14px}.step-connector{flex:0 0 30px}.checkout-layout-v2{grid-template-columns:1fr;gap:24px}.devices-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}}@media (max-width:768px){.booking-page{overflow-x:hidden}.booking-container{padding:70px 12px 130px;max-width:100%}.booking-hero{margin-bottom:24px}.hero-badge{padding:8px 14px;font-size:.8rem}.booking-title{font-size:1.6rem;line-height:1.2}.booking-subtitle{font-size:.95rem}.steps-container{gap:4px;padding:0 8px;margin-bottom:16px}.step-item{padding:8px 10px;border-radius:12px}.step-number{width:28px;height:28px;font-size:.8rem}.step-content{display:none}.step-item.active .step-content{display:flex}.step-label{font-size:.8rem}.step-desc{display:none}.step-connector{flex:0 0 20px}.booking-card{padding:16px;border-radius:16px}.card-header{flex-direction:column;align-items:flex-start;gap:12px;padding-bottom:12px}.card-header.with-back{flex-direction:row;align-items:center}.back-button{width:36px;height:36px}.card-icon{width:44px;height:44px;min-width:44px;border-radius:12px}.card-icon svg{width:18px;height:18px}.card-title{font-size:1.15rem}.card-subtitle{font-size:.8rem}.header-session-info{width:100%;margin-left:0;margin-top:8px;gap:8px}.session-badge{padding:8px 12px;border-radius:10px;flex:1 1;min-width:0}.badge-icon{width:16px;height:16px}.badge-label{font-size:.6rem}.badge-value{font-size:.85rem}.time-slots-header{flex-direction:column;align-items:stretch;padding:18px 16px 14px;gap:8px}.header-left{gap:10px}.header-icon{width:40px;height:40px;min-width:40px;border-radius:12px}.header-icon svg{width:18px;height:18px}.header-title{font-size:1.05rem}.header-subtitle{font-size:.75rem}.header-date-picker{display:none!important}.date-input-compact{flex:1 1;min-width:0;padding:10px 14px;font-size:.9rem}.selected-date-badge{padding:8px 14px;min-width:65px}.badge-day{font-size:.6rem}.badge-date{font-size:1.2rem}.badge-month{font-size:.65rem}.slot-legend-bar{gap:10px;margin-left:0;width:100%;justify-content:center;padding:8px 14px;border-radius:10px}.legend-chip{gap:5px}.legend-dot{width:8px;height:8px;min-width:8px;min-height:8px}.legend-label{font-size:.65rem}.slot-status-legend{display:none!important}.time-slots-scroll-wrapper{padding:4px 12px 14px}.time-slots-grid,.time-slots-grid.compact-horizontal{grid-template-columns:repeat(4,1fr);gap:10px}.time-slots-grid.compact-horizontal{display:grid;grid-gap:10px}.ts-card{padding:12px 6px 10px;border-radius:12px;gap:3px}.ts-dot{top:5px;right:5px;width:5px;height:5px}.ts-check{top:4px;right:4px;width:16px;height:16px;font-size:.5rem}.ts-time{font-size:.78rem;font-weight:700}.ts-label{font-size:.56rem;padding:1px 4px;border-radius:4px}.slot-closing-label,.slot-past-label,.time-slot{display:none}.devices-section{margin-top:4px}.devices-grid{grid-template-columns:1fr;gap:12px}.device-card{padding:14px;border-radius:14px}.device-header{gap:12px}.device-icon-wrapper{width:42px;height:42px;border-radius:10px}.device-logo-img{width:24px;height:24px}.device-name{font-size:.95rem}.device-unit{font-size:.75rem}.expand-icon{width:20px;height:20px}.player-buttons{padding:4px;border-radius:12px;gap:4px;margin-top:12px}.player-btn{padding:8px 0;border-radius:10px;font-size:.85rem}.duration-buttons{grid-template-columns:repeat(4,1fr);gap:6px;margin-top:10px}.duration-btn{padding:8px 2px;border-radius:10px}.duration-btn .dur-value{font-size:1.1rem}.duration-btn .dur-unit{font-size:.55rem}.option-group{margin-top:14px}.option-label{font-size:.7rem;margin-bottom:6px}.compact-options{gap:10px;margin-top:12px;padding-top:10px}.compact-option-label{font-size:.7rem}.compact-pill{height:38px;font-size:.8rem;border-radius:8px}.compact-pill.dur{font-size:.75rem}.checkout-layout-v2{grid-template-columns:1fr;gap:20px}.checkout-form-v2{padding:20px;border-radius:18px}.form-title-v2{font-size:1.4rem;margin-bottom:16px}.user-profile-card{padding:16px;border-radius:14px;margin-bottom:20px;gap:12px}.profile-avatar{width:44px;height:44px;font-size:1.2rem}.profile-greeting{font-size:.75rem}.profile-name{font-size:1.05rem}.form-group-v2{margin-bottom:16px}.form-label-v2{font-size:.8rem;margin-bottom:6px}.input-wrapper-v2{height:50px}.input-icon-v2{left:14px;width:18px;height:18px}.form-input-v2{padding:14px 16px 14px 48px;font-size:.95rem;height:50px;border-radius:12px}.summary-card-v2{padding:20px;border-radius:16px}.summary-title-v2{font-size:1.2rem;margin-bottom:16px}.summary-item-v2{gap:12px;margin-bottom:14px}.summary-icon-v2{font-size:1rem;padding:8px;border-radius:10px}.summary-label-v2{font-size:.65rem}.summary-value-v2{font-size:.95rem}.items-list-v2{gap:10px}.item-row-v2{padding:10px;border-radius:10px}.item-icon-v2{width:32px;height:32px;border-radius:6px;margin-right:10px;font-size:.95rem}.item-name-v2{font-size:.85rem}.item-meta-v2{font-size:.7rem}.item-price-v2{font-size:.9rem}.summary-total-v2{padding:16px;border-radius:12px;margin-top:16px}.total-amount-v2{font-size:1.6rem}.submit-section{margin-top:20px}.submit-btn-v2{padding:14px;font-size:1rem;border-radius:12px}.price-footer-v2{width:calc(100% - 24px);min-width:auto;bottom:12px;padding:10px 10px 10px 18px;gap:16px;border-radius:18px}.price-info-container{gap:10px}.price-label-simple{font-size:.7rem}.total-price-display{font-size:1.25rem}.action-btn-pill{padding:10px 20px;font-size:.9rem;border-radius:50px}.pf-fixed-footer{padding:0 12px 12px}.pf-container{min-width:auto;width:100%;padding:12px 16px;border-radius:16px;gap:16px}.pf-label{font-size:.65rem}.pf-amount{font-size:1.4rem}.pf-next-btn{padding:12px 20px;font-size:.9rem;border-radius:10px;gap:8px}.mini-price-pill{padding:6px 6px 6px 16px;min-height:48px;gap:10px;border-radius:40px}.mini-price-label{font-size:.6rem}.mini-price-amount{font-size:1.05rem}.mini-continue-btn{width:38px;height:38px;font-size:1rem}.alert{padding:12px;border-radius:12px;margin-bottom:16px}.alert-icon{font-size:1rem}.alert strong{font-size:.85rem}.alert p{font-size:.8rem}}@media (max-width:480px){.booking-container{padding:65px 8px 120px}.booking-hero{margin-bottom:16px}.hero-badge{padding:6px 12px;font-size:.75rem}.booking-title{font-size:1.35rem}.booking-subtitle{font-size:.85rem}.steps-container{gap:2px;margin-bottom:12px}.step-item{padding:6px 10px}.step-number{width:26px;height:26px;font-size:.75rem}.step-content{display:none!important}.step-connector{flex:0 0 12px}.connector-line{height:1px}.booking-card{padding:12px;border-radius:14px;border-width:1px}.card-header{gap:10px;padding-bottom:10px}.card-icon{width:38px;height:38px;min-width:38px;border-radius:10px}.card-icon svg{width:16px;height:16px}.card-title{font-size:1.05rem}.card-subtitle{font-size:.75rem}.time-slots-header{padding:10px 12px;gap:10px}.header-icon{width:36px;height:36px;min-width:36px}.header-icon svg{width:16px;height:16px}.header-title{font-size:.9rem}.header-subtitle{font-size:.7rem}.slot-status-legend{display:none!important}.slot-legend-bar{gap:8px;padding:6px 12px;justify-content:center;border-radius:8px}.legend-chip{gap:4px}.legend-dot{width:7px;height:7px;min-width:7px;min-height:7px}.legend-label{font-size:.6rem}.time-slots-scroll-wrapper{padding:4px 8px 12px}.time-slots-grid,.time-slots-grid.compact-horizontal{grid-template-columns:repeat(4,1fr);gap:10px}.ts-card{padding:10px 4px 8px;border-radius:10px;gap:2px}.ts-dot{top:4px;right:4px;width:4px;height:4px}.ts-check{top:3px;right:3px;width:14px;height:14px;font-size:.42rem}.ts-time{font-size:.68rem;font-weight:700}.ts-label{font-size:.5rem;padding:1px 3px;border-radius:3px}.slot-closing-label,.slot-past-label,.time-slot{display:none}.header-session-info{gap:6px}.session-badge{padding:6px 10px;border-radius:8px}.badge-label{font-size:.55rem}.badge-value{font-size:.75rem}.devices-grid{gap:10px}.device-card{padding:12px;border-radius:12px}.device-icon-wrapper{width:38px;height:38px;border-radius:8px}.device-logo-img{width:22px;height:22px}.device-name{font-size:.9rem}.device-unit{font-size:.7rem}.player-buttons{padding:3px;gap:3px}.player-btn{padding:7px 0;font-size:.8rem;border-radius:8px}.duration-buttons{gap:5px}.duration-btn{padding:7px 2px;border-radius:8px}.duration-btn .dur-value{font-size:1rem}.duration-btn .dur-unit{font-size:.5rem}.compact-pill-group{gap:4px}.compact-pill{height:34px;font-size:.75rem;border-radius:7px}.compact-pill.dur{font-size:.7rem}.compact-option-label{font-size:.65rem}.checkout-form-v2{padding:14px;border-radius:14px}.form-title-v2{font-size:1.2rem}.user-profile-card{padding:12px;gap:10px}.profile-avatar{width:38px;height:38px;font-size:1rem}.profile-name{font-size:.95rem}.form-input-v2{padding:12px 14px 12px 42px;font-size:.9rem;height:46px;border-radius:10px}.input-wrapper-v2{height:46px}.input-icon-v2{left:12px;width:16px;height:16px}.summary-card-v2{padding:14px;border-radius:14px}.summary-title-v2{font-size:1.1rem}.item-row-v2{padding:8px}.item-icon-v2{width:28px;height:28px;margin-right:8px}.item-name-v2{font-size:.8rem}.item-meta-v2{font-size:.65rem}.total-amount-v2{font-size:1.4rem}.submit-btn-v2{padding:12px;font-size:.95rem;border-radius:10px}.pf-fixed-footer{padding:0 8px 8px}.pf-container{padding:10px 12px;border-radius:14px;gap:12px}.pf-amount{font-size:1.25rem}.pf-next-btn{padding:10px 16px;font-size:.85rem;border-radius:8px}.price-footer-v2{width:calc(100% - 16px);bottom:8px;padding:8px 8px 8px 14px;gap:12px;border-radius:14px}.total-price-display{font-size:1.15rem}.action-btn-pill{padding:8px 16px;font-size:.85rem}}@media (max-width:360px){.booking-container{padding:60px 6px 110px}.booking-title{font-size:1.2rem}.booking-card{padding:10px}.time-slots-grid,.time-slots-grid.compact-horizontal{grid-template-columns:repeat(3,1fr);gap:10px}.ts-card{padding:10px 4px 8px;border-radius:10px}.ts-time{font-size:.68rem;font-weight:700}.ts-label{font-size:.48rem}.duration-buttons{grid-template-columns:repeat(2,1fr);gap:6px}.duration-btn{padding:10px 4px}.pf-container{flex-direction:column;gap:10px;text-align:center}.pf-next-btn{width:100%;justify-content:center}}@media (max-width:768px) and (orientation:landscape){.booking-container{padding-top:60px}.time-slots-grid,.time-slots-grid.compact-horizontal{grid-template-columns:repeat(6,1fr)}.devices-grid{grid-template-columns:repeat(2,1fr)}.pf-container{max-width:600px}}@media (hover:none) and (pointer:coarse){.time-slot{min-height:48px}.duration-btn,.player-btn{min-height:44px}.action-btn-pill,.pf-next-btn,.submit-btn-v2{min-height:48px}}.promo-code-section{margin-top:1.5rem;padding:1.5rem;background:linear-gradient(135deg,rgba(255,107,53,.05),rgba(255,153,102,.05));border-radius:var(--booking-radius);border:2px dashed var(--booking-primary)}.section-subtitle{font-size:1rem;font-weight:600;color:var(--booking-gray-800);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.promo-code-input-group{display:flex;gap:.75rem;align-items:flex-start}.btn-apply-promo,.btn-remove-promo{padding:.75rem 1.5rem;border-radius:12px;font-weight:600;font-size:.95rem;border:none;cursor:pointer;transition:var(--booking-transition);white-space:nowrap;min-width:100px;height:52px}.btn-apply-promo{background:var(--booking-gradient);color:#fff;box-shadow:var(--booking-shadow)}.btn-apply-promo:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--booking-shadow-lg)}.btn-apply-promo:disabled{opacity:.5;cursor:not-allowed}.btn-remove-promo{background:var(--booking-error);color:#fff;box-shadow:var(--booking-shadow)}.btn-remove-promo:hover{background:#dc2626;transform:translateY(-2px);box-shadow:var(--booking-shadow-lg)}.promo-code-error{background:#fee2e2;border:1px solid #fecaca;border-radius:8px;color:#991b1b}.promo-code-error,.promo-code-success{display:flex;align-items:center;gap:.5rem;margin-top:.75rem;padding:.75rem;font-size:.9rem}.promo-code-success{background:#d1fae5;border:1px solid #a7f3d0;border-radius:8px;color:#065f46;font-weight:500}.promo-code-success .success-icon{color:var(--booking-success);font-size:1.2rem}.promo-code-error .alert-icon{font-size:1.2rem}.detail-row.bonus-minutes{background:linear-gradient(135deg,#d1fae5,#a7f3d0);padding:.75rem;border-radius:8px;margin-top:.5rem;font-weight:600}.detail-row.bonus-minutes .detail-label{color:#065f46;font-size:.95rem}.detail-row.bonus-minutes .detail-value.bonus{color:#059669;font-size:1.1rem;font-weight:700}.modal-overlay{z-index:9998;background:rgba(0,0,0,.55)}.booking-success-overlay,.modal-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:20px}.booking-success-overlay{z-index:9999;background:rgba(0,0,0,.65)}.booking-success-modal{position:relative;background:var(--booking-white);color:var(--booking-gray-900);border-radius:var(--booking-radius-xl);max-width:440px;width:100%;overflow:hidden;box-shadow:0 24px 80px rgba(255,107,53,.18),0 8px 32px rgba(0,0,0,.12)}.booking-success-topbar{height:5px;background:var(--booking-gradient)}.booking-success-icon-wrap{position:relative;margin:32px auto 0;width:88px;height:88px}.booking-success-icon,.booking-success-icon-wrap{display:flex;align-items:center;justify-content:center}.booking-success-icon{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 8px 28px rgba(16,185,129,.3),0 4px 12px rgba(16,185,129,.15);z-index:2;border:2px solid hsla(0,0%,100%,.3)}.booking-success-check{color:#fff;font-size:2rem;stroke-width:3}.booking-success-ring{position:absolute;inset:0;border-radius:50%;border:2.5px solid rgba(16,185,129,.45);z-index:1}.booking-success-heading{text-align:center;font-family:var(--font-heading);font-size:1.65rem;font-weight:700;color:var(--booking-gray-900);margin:20px 0 6px}.booking-success-sub{text-align:center;font-size:.95rem;color:var(--booking-gray-600);margin:0 0 24px}.booking-success-card{margin:0 24px;padding:20px;background:var(--booking-gray-100);border-radius:var(--booking-radius);border:1px solid var(--booking-gray-200)}.booking-success-id-row{display:flex;align-items:center;justify-content:space-between}.booking-success-id-label{font-size:.85rem;font-weight:500;color:var(--booking-gray-600);text-transform:uppercase;letter-spacing:.05em}.booking-success-id-value{font-family:Plus Jakarta Sans,monospace;font-size:1.2rem;font-weight:700;color:var(--booking-primary)}.booking-success-divider{height:1px;background:var(--booking-gray-300);margin:14px 0}.booking-success-info-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.booking-success-info-item{display:flex;align-items:flex-start;gap:10px}.booking-success-info-icon{flex-shrink:0;margin-top:2px;color:var(--booking-primary);font-size:1.1rem}.booking-success-info-item>div{display:flex;flex-direction:column}.booking-success-info-label{font-size:.75rem;font-weight:500;color:var(--booking-gray-500);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px}.booking-success-info-value{font-size:.95rem;font-weight:600;color:var(--booking-gray-900)}.booking-success-devices{display:flex;flex-direction:column;gap:10px}.booking-success-device{display:flex;align-items:center;gap:8px;font-size:.9rem;font-weight:500;color:var(--booking-gray-800)}.booking-success-device-icon{color:var(--booking-primary);font-size:1rem;flex-shrink:0}.booking-success-device-detail{margin-left:auto;font-size:.8rem;font-weight:500;color:var(--booking-gray-500)}.booking-success-total-row{display:flex;align-items:center;justify-content:space-between}.booking-success-total-label{font-size:.95rem;font-weight:600;color:var(--booking-gray-800)}.booking-success-total-value{font-family:Plus Jakarta Sans,monospace;font-size:1.35rem;font-weight:800;background:var(--booking-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.booking-success-bonus{display:flex;align-items:center;gap:8px;margin-top:12px;padding:10px 14px;background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:1px solid #6ee7b7;border-radius:10px;font-size:.88rem;font-weight:600;color:#065f46}.booking-success-bonus-icon{font-size:1.15rem}.booking-success-note{text-align:center;font-size:.82rem;color:var(--booking-gray-500);margin:18px 24px 0}.booking-success-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:calc(100% - 48px);margin:18px 24px 28px;padding:14px 24px;background:var(--booking-gradient);border:none;border-radius:14px;color:#fff;font-size:1rem;font-weight:700;cursor:pointer;box-shadow:0 6px 24px rgba(255,107,53,.35);transition:var(--booking-transition)}.booking-success-btn:hover{box-shadow:0 8px 32px rgba(255,107,53,.45);transform:translateY(-1px)}.booking-success-btn:active{transform:translateY(0)}@media (max-width:600px){.booking-success-overlay{padding:16px;align-items:flex-end}.booking-success-modal{max-width:100%;border-radius:24px 24px 20px 20px;margin-bottom:0}.booking-success-icon-wrap{margin-top:28px;width:76px;height:76px}.booking-success-icon{width:62px;height:62px}.booking-success-check{font-size:1.7rem}.booking-success-heading{font-size:1.4rem;margin-top:16px}.booking-success-sub{font-size:.88rem;margin-bottom:20px}.booking-success-card{margin:0 16px;padding:16px;border-radius:14px}.booking-success-info-grid{grid-template-columns:1fr 1fr;gap:10px}.booking-success-total-value{font-size:1.2rem}.booking-success-note{margin:14px 16px 0}.booking-success-btn{width:calc(100% - 32px);margin:16px 16px 24px;padding:13px 20px;border-radius:12px}}@media (max-width:380px){.booking-success-info-grid{grid-template-columns:1fr;gap:8px}.booking-success-id-value{font-size:1.05rem}.booking-success-heading{font-size:1.25rem}}.selection-mode-tabs{display:flex;gap:8px;margin:20px 0;padding:6px;background:hsla(0,0%,100%,.75);border:1.5px solid rgba(255,107,53,.1);border-radius:16px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 2px 8px rgba(0,0,0,.03)}.mode-tab{flex:1 1;display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 20px;border:none;border-radius:12px;font-size:.95rem;font-weight:600;font-family:var(--font-body);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);background:transparent;color:var(--booking-gray-600);position:relative}.mode-tab:hover{background:rgba(255,107,53,.06);color:var(--booking-gray-800)}.mode-tab.active{background:var(--booking-gradient);color:#fff;box-shadow:0 4px 16px rgba(255,107,53,.3),0 2px 6px rgba(255,107,53,.15)}.mode-tab-icon{font-size:1.1rem;filter:drop-shadow(0 1px 1px rgba(0,0,0,.1))}.game-selection-section{margin-top:4px}.game-browser{margin-top:8px}.game-browser-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;flex-wrap:wrap}.game-search-box{position:relative;flex:0 1 320px;min-width:200px}.search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--booking-gray-500);font-size:1rem;pointer-events:none}.game-search-input{width:100%;padding:12px 40px 12px 42px;background:hsla(0,0%,100%,.9);border:2px solid rgba(255,107,53,.15);border-radius:14px;font-size:.95rem;font-family:var(--font-body);color:var(--booking-gray-900);transition:all .2s ease;box-sizing:border-box}.game-search-input:focus{outline:none;border-color:var(--booking-primary);box-shadow:0 0 0 4px rgba(255,107,53,.12);background:#fff}.game-search-input::placeholder{color:var(--booking-gray-500)}.search-clear{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:rgba(255,107,53,.1);border:none;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--booking-gray-600);transition:all .2s}.search-clear:hover{background:rgba(255,107,53,.2);color:var(--booking-primary)}.genre-filter-scroll{margin-bottom:20px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.genre-filter-scroll::-webkit-scrollbar{display:none}.genre-filter-pills{display:flex;gap:8px;padding:2px 0;min-width:max-content}.genre-pill{padding:8px 18px;border:2px solid rgba(255,107,53,.15);border-radius:100px;background:hsla(0,0%,100%,.8);color:var(--booking-gray-700);font-size:.85rem;font-weight:600;font-family:var(--font-body);cursor:pointer;transition:all .2s ease;white-space:nowrap}.genre-pill:hover{border-color:var(--booking-primary);background:rgba(255,107,53,.06);color:var(--booking-primary)}.genre-pill.active{background:var(--booking-gradient);border-color:transparent;color:#fff;box-shadow:0 2px 10px rgba(255,107,53,.3)}.games-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));grid-gap:12px;gap:12px;margin-bottom:16px}.game-card{position:relative;width:100%;border-radius:14px;overflow:hidden;background:#fff;border:2px solid transparent;cursor:pointer;transition:all .35s cubic-bezier(.25,.8,.25,1);box-shadow:0 2px 8px rgba(0,0,0,.06),0 1px 3px rgba(0,0,0,.04)}.game-card:hover:not(.game-unavailable){border-color:var(--booking-primary);box-shadow:0 12px 32px rgba(255,107,53,.22),0 4px 10px rgba(0,0,0,.08);transform:translateY(-6px)}.game-card.game-selected{border-color:var(--booking-primary);box-shadow:0 0 0 3px rgba(255,107,53,.18),0 8px 24px rgba(255,107,53,.15)}.game-card.game-unavailable{opacity:.45;cursor:not-allowed;filter:grayscale(.5)}.game-card-visual{position:relative;aspect-ratio:3/4;overflow:hidden;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a2e,#16213e)}.game-card-cover-img{object-fit:cover;transition:transform .5s cubic-bezier(.25,.8,.25,1)}.game-card-cover-fallback,.game-card-cover-img{width:100%;height:100%;position:absolute;inset:0;z-index:1}.game-card-cover-fallback{display:flex;align-items:center;justify-content:center}.game-card-gradient{position:absolute;inset:0;background:linear-gradient(180deg,transparent 0,transparent 25%,rgba(0,0,0,.02) 45%,rgba(0,0,0,.4) 70%,rgba(0,0,0,.85));z-index:2;pointer-events:none;transition:all .35s ease}.game-card:hover:not(.game-unavailable) .game-card-gradient{background:linear-gradient(180deg,transparent 0,transparent 30%,rgba(0,0,0,.25) 60%,rgba(0,0,0,.55))}.game-card.game-selected .game-card-gradient{background:linear-gradient(180deg,rgba(255,107,53,.08) 0,transparent 20%,rgba(0,0,0,.45) 70%,rgba(0,0,0,.88))}.game-card-emoji{font-size:2.2rem;z-index:1;filter:drop-shadow(0 4px 12px rgba(0,0,0,.25));transition:transform .4s cubic-bezier(.25,.8,.25,1)}.game-card:hover .game-card-emoji{transform:scale(1.1) translateY(-6px)}.game-selected-badge{position:absolute;top:6px;left:6px;width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:var(--booking-primary);color:#fff;border-radius:50%;font-size:.6rem;z-index:5;box-shadow:0 3px 10px rgba(255,107,53,.5);animation:popIn .3s ease}@keyframes popIn{0%{transform:scale(0)}70%{transform:scale(1.2)}to{transform:scale(1)}}.game-info-btn{position:absolute;top:6px;right:6px;display:flex;align-items:center;justify-content:center;width:24px;height:24px;min-width:24px;min-height:24px;max-width:24px;max-height:24px;padding:0;background:hsla(0,0%,100%,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:50%;border:none;color:var(--booking-gray-700);font-size:.65rem;cursor:pointer;z-index:5;box-shadow:0 2px 8px rgba(0,0,0,.15);transition:all .25s ease;opacity:0;transform:scale(.8) translateY(-4px);box-sizing:border-box;overflow:hidden}.game-info-btn svg{width:12px;height:12px;min-width:12px;min-height:12px;max-width:12px;max-height:12px;flex-shrink:0}.game-card:active .game-info-btn,.game-card:hover .game-info-btn{opacity:1;transform:scale(1) translateY(0)}.game-info-btn:hover{background:var(--booking-primary);color:#fff;transform:scale(1.1);box-shadow:0 4px 14px rgba(255,107,53,.4)}.game-card-title-overlay{position:absolute;bottom:0;left:0;right:0;padding:6px 8px;z-index:3;pointer-events:none;transition:opacity .25s ease,transform .25s ease}.game-card-title-overlay .game-card-name{font-family:var(--font-heading);font-size:.68rem;font-weight:700;color:#fff;margin:0;line-height:1.2;text-shadow:0 1px 6px rgba(0,0,0,.7);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.game-card-details{position:absolute;bottom:0;left:0;right:0;z-index:4;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(0deg,rgba(0,0,0,.92) 0,rgba(0,0,0,.78) 50%,rgba(0,0,0,.3) 80%,transparent);padding:0 7px;max-height:0;overflow:hidden;opacity:0;transition:max-height .35s cubic-bezier(.25,.8,.25,1),padding .35s cubic-bezier(.25,.8,.25,1),opacity .3s ease}.game-card:hover .game-card-details{max-height:70%;padding:14px 7px 7px;opacity:1}.game-card-detail-name{font-family:var(--font-heading);font-size:.66rem;font-weight:700;color:#fff;margin:0 0 4px;line-height:1.15;text-shadow:0 1px 3px rgba(0,0,0,.4);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.game-card:hover .game-card-title-overlay{opacity:0;transform:translateY(4px)}.game-card .game-card-title-overlay{transition:opacity .25s ease,transform .25s ease}.game-card-meta{display:flex;align-items:center;gap:4px;margin-bottom:4px;flex-wrap:nowrap}.game-genre-tag{background:rgba(255,107,53,.5);font-weight:700;color:#fff;letter-spacing:.02em;overflow:hidden;text-overflow:ellipsis;max-width:65%}.game-genre-tag,.game-players-tag{padding:1.5px 5px;border-radius:100px;font-size:.5rem;white-space:nowrap}.game-players-tag{display:inline-flex;align-items:center;gap:2px;font-weight:600;color:hsla(0,0%,100%,.92);background:hsla(0,0%,100%,.15);flex-shrink:0}.tag-icon{font-size:.42rem;opacity:.9}.game-card-units{display:flex;gap:3px;flex-wrap:wrap}.unit-chip{padding:1.5px 4px;border-radius:4px;font-size:.46rem;font-weight:700;letter-spacing:.02em;transition:transform .15s ease;white-space:nowrap;line-height:1.3}.unit-chip.available{background:rgba(16,185,129,.3);color:#6ee7b7;border:1px solid rgba(16,185,129,.45)}.unit-chip.booked{background:rgba(239,68,68,.18);color:#fca5a5;border:1px solid rgba(239,68,68,.3);text-decoration:line-through;opacity:.65}.unit-chip.driving-chip.available{background:rgba(99,102,241,.3);color:#a5b4fc;border:1px solid rgba(99,102,241,.45)}.unit-chip.driving-chip.booked{background:rgba(99,102,241,.15);color:#a5b4fc;opacity:.5}.game-unavail-overlay{position:absolute;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:3;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.game-unavail-overlay span{padding:4px 12px;background:rgba(0,0,0,.7);border-radius:100px;color:#fff;font-size:.6rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.game-info-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}.game-info-modal{position:relative;background:#fff;border-radius:20px;max-width:420px;width:100%;max-height:85vh;overflow-y:auto;box-shadow:0 25px 60px rgba(0,0,0,.3)}.game-info-modal-close{position:absolute;top:12px;right:12px;width:34px;height:34px;border-radius:50%;border:none;background:hsla(0,0%,100%,.9);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:5;font-size:1.1rem;color:var(--booking-gray-700);box-shadow:0 2px 8px rgba(0,0,0,.15);transition:all .2s ease}.game-info-modal-close:hover{background:var(--booking-primary);color:#fff;transform:scale(1.1)}.game-info-modal-cover{width:100%;height:280px;overflow:hidden;border-radius:20px 20px 0 0}.game-info-modal-img{width:100%;height:100%;object-fit:cover}.game-info-modal-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.game-info-modal-content{padding:20px 24px 24px}.game-info-modal-title{font-family:var(--font-heading);font-size:1.4rem;font-weight:800;color:var(--booking-gray-900);margin:0 0 12px}.game-info-modal-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.game-info-tag{display:flex;align-items:center;gap:4px;padding:4px 12px;border-radius:100px;font-size:.75rem;font-weight:600}.game-info-tag.genre{background:rgba(255,107,53,.1);color:var(--booking-primary)}.game-info-tag.year{background:rgba(99,102,241,.08);color:#6366f1}.game-info-tag.players{background:rgba(16,185,129,.08);color:#059669}.game-info-tag.rating{background:rgba(245,158,11,.1);color:#d97706}.game-info-modal-desc{font-size:.9rem;line-height:1.6;color:var(--booking-gray-600);margin:0 0 20px}.game-info-modal-availability h4{font-size:.8rem;font-weight:700;color:var(--booking-gray-700);text-transform:uppercase;letter-spacing:.06em;margin:0 0 10px}.game-info-modal-units{display:flex;flex-direction:column;gap:8px}.game-info-unit{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:12px;font-size:.82rem;font-weight:600}.game-info-unit.available{background:rgba(16,185,129,.06);color:#059669;border:1px solid rgba(16,185,129,.2)}.game-info-unit.booked{background:rgba(239,68,68,.05);color:#dc2626;border:1px solid rgba(239,68,68,.15)}.game-info-unit.sim.available{background:rgba(99,102,241,.06);color:#6366f1;border:1px solid rgba(99,102,241,.2)}.game-info-unit.sim.booked{background:rgba(99,102,241,.04);color:#6366f1;opacity:.6;border:1px solid rgba(99,102,241,.1)}.unit-status-dot{width:8px;height:8px;border-radius:50%;margin-left:auto}.game-info-unit.available .unit-status-dot{background:#10b981;box-shadow:0 0 6px rgba(16,185,129,.5)}.game-info-unit.booked .unit-status-dot{background:#ef4444;box-shadow:0 0 6px rgba(239,68,68,.4)}.game-info-unit.sim.available .unit-status-dot{background:#6366f1;box-shadow:0 0 6px rgba(99,102,241,.5)}.game-info-unit.sim.booked .unit-status-dot{background:#6366f1;opacity:.5}.no-games-found{grid-column:1/-1;text-align:center;padding:40px 20px;color:var(--booking-gray-600)}.no-games-emoji{font-size:2.5rem;display:block;margin-bottom:12px}.no-games-found p{margin:0 0 16px;font-size:1rem}.reset-filters-btn{padding:10px 24px;border:2px solid rgba(255,107,53,.3);border-radius:100px;background:transparent;color:var(--booking-primary);font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s}.reset-filters-btn:hover{background:var(--booking-primary);color:#fff;border-color:var(--booking-primary)}.selected-game-banner{margin-bottom:24px;border-radius:16px;overflow:hidden;background:linear-gradient(135deg,rgba(255,107,53,.08),rgba(255,153,102,.06));border:2px solid rgba(255,107,53,.2)}.sgb-content{gap:12px;padding:16px 20px}.sgb-content,.sgb-games-list{display:flex;flex-direction:column}.sgb-games-list{gap:8px}.sgb-game-item{display:flex;align-items:center;gap:12px;padding:8px 12px;background:hsla(0,0%,100%,.7);border-radius:10px;border:1px solid rgba(255,107,53,.1)}.sgb-game-icon{width:40px;height:40px;border-radius:8px;font-size:1.4rem}.sgb-info{flex:1 1;display:flex;flex-direction:column;gap:2px}.sgb-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--booking-primary)}.sgb-name{font-family:var(--font-heading);font-size:.95rem;font-weight:700;color:var(--booking-gray-900)}.sgb-meta{font-size:.75rem;color:var(--booking-gray-600)}.sgb-remove-game{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid rgba(239,68,68,.2);border-radius:50%;background:rgba(239,68,68,.06);color:#ef4444;font-size:.75rem;cursor:pointer;transition:all .2s;flex-shrink:0}.sgb-remove-game:hover{background:#ef4444;color:#fff;border-color:#ef4444}.sgb-actions{display:flex;align-items:center;justify-content:space-between;padding-top:4px;border-top:1px solid rgba(255,107,53,.1)}.sgb-count{font-size:.8rem;font-weight:600;color:var(--booking-primary)}.sgb-available{color:#059669;font-weight:600}.sgb-change{display:flex;align-items:center;gap:6px;padding:8px 16px;border:2px solid rgba(255,107,53,.2);border-radius:100px;background:hsla(0,0%,100%,.9);color:var(--booking-gray-700);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.sgb-change:hover{border-color:var(--booking-primary);background:rgba(255,107,53,.06);color:var(--booking-primary)}.post-game-device-select{margin-top:8px}.post-game-device-select .section-title{margin-bottom:16px}.recommended-units-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:20px;gap:20px}.recommended-tag{position:absolute;top:14px;right:14px;display:flex;align-items:center;gap:5px;padding:5px 12px;background:linear-gradient(135deg,#ff6b35,#f96);border-radius:100px;font-size:.7rem;font-weight:700;color:#fff;z-index:5;box-shadow:0 2px 8px rgba(255,107,53,.35);letter-spacing:.02em}.recommended-tag svg{font-size:.75rem}.device-card.recommended:not(.selected){border-color:rgba(255,107,53,.35);background:rgba(255,107,53,.04)}.device-games-preview{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,107,53,.1)}.mini-game-tag{padding:3px 10px;border-radius:100px;font-size:.7rem;font-weight:600;background:hsla(0,0%,100%,.7);border:1px solid rgba(255,107,53,.12);color:var(--booking-gray-700);white-space:nowrap;transition:all .2s}.mini-game-tag.highlight{background:rgba(255,107,53,.12);border-color:rgba(255,107,53,.3);color:var(--booking-primary);font-weight:700}.mini-game-tag.more{background:rgba(255,107,53,.06);color:var(--booking-primary);font-style:italic}.unit-games-list{display:flex;flex-direction:column;gap:8px;margin-top:8px;max-height:200px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,107,53,.2) transparent}.unit-games-list::-webkit-scrollbar{width:4px}.unit-games-list::-webkit-scrollbar-track{background:transparent}.unit-games-list::-webkit-scrollbar-thumb{background:rgba(255,107,53,.2);border-radius:4px}.unit-game-item{display:flex;align-items:center;gap:10px;padding:10px 14px;background:hsla(0,0%,100%,.7);border:2px solid rgba(255,107,53,.1);border-radius:12px;cursor:pointer;transition:all .2s ease}.unit-game-item:hover{border-color:rgba(255,107,53,.3);background:rgba(255,107,53,.04)}.unit-game-item.chosen{border-color:var(--booking-primary);background:rgba(255,107,53,.08);box-shadow:0 0 0 2px rgba(255,107,53,.1)}.unit-game-name{flex:1 1;font-size:.85rem;font-weight:600;color:var(--booking-gray-900)}.unit-game-genre{font-size:.7rem;font-weight:500;color:var(--booking-gray-500);padding:2px 8px;background:rgba(0,0,0,.04);border-radius:6px}.unit-game-rating{display:flex;align-items:center;gap:3px;font-size:.75rem;font-weight:700;color:var(--booking-gray-800)}.mini-star{color:#f59e0b;font-size:.65rem}.available-games-group{padding-top:4px}.unit-games-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));grid-gap:10px;gap:10px;margin-top:10px;max-height:220px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,107,53,.2) transparent}.unit-games-grid::-webkit-scrollbar{width:4px}.unit-games-grid::-webkit-scrollbar-track{background:transparent}.unit-games-grid::-webkit-scrollbar-thumb{background:rgba(255,107,53,.2);border-radius:4px}.unit-game-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 4px;background:hsla(0,0%,100%,.85);border:2px solid rgba(255,107,53,.08);border-radius:12px;cursor:pointer;transition:all .2s ease;text-align:center}.unit-game-card:hover{border-color:rgba(255,107,53,.3);background:rgba(255,107,53,.04);transform:translateY(-2px)}.unit-game-card.chosen{border-color:var(--booking-primary);background:rgba(255,107,53,.08);box-shadow:0 0 0 2px rgba(255,107,53,.12)}.unit-game-cover{width:52px;height:52px;border-radius:10px;overflow:hidden;flex-shrink:0;background:rgba(255,107,53,.06);display:flex;align-items:center;justify-content:center}.unit-game-cover-img{width:100%;height:100%;object-fit:cover;border-radius:10px}.unit-game-cover .unit-game-emoji{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;background:rgba(255,107,53,.06);border-radius:10px}.unit-game-title{font-size:.68rem;font-weight:600;color:var(--booking-gray-800);line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}.unit-game-card.chosen .unit-game-title{color:var(--booking-primary)}.summary-game-badge{display:flex;align-items:center;gap:10px;padding:10px 16px;background:rgba(255,107,53,.06);border:2px solid rgba(255,107,53,.15);border-radius:12px;margin-bottom:14px}.summary-game-label{font-size:.8rem;font-weight:600;color:var(--booking-gray-600)}.summary-game-name{font-size:.95rem;font-weight:700;color:var(--booking-primary);font-family:var(--font-heading)}.games-loading{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px 20px;color:var(--booking-gray-500)}.games-loading-spinner{width:36px;height:36px;border:3px solid rgba(255,107,53,.15);border-top:3px solid var(--booking-primary);border-radius:50%;animation:gamesSpin .8s linear infinite}@keyframes gamesSpin{to{transform:rotate(1turn)}}@media (max-width:1024px){.games-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px}.game-card{width:100%}.recommended-units-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}}@media (max-width:768px){.selection-mode-tabs{padding:4px;border-radius:14px;gap:4px;margin-bottom:16px}.mode-tab{padding:10px 12px;font-size:.8rem;border-radius:10px;gap:6px}.mode-tab-icon{font-size:.95rem}.game-browser-header{flex-direction:column;gap:12px}.game-search-box{flex:1 1 100%;min-width:100%}.game-search-input{padding:10px 36px 10px 38px;font-size:.9rem;border-radius:12px}.genre-filter-scroll{margin-bottom:14px;margin-left:-4px;margin-right:-4px;padding-left:4px;padding-right:4px}.genre-pill{padding:6px 14px;font-size:.78rem}.games-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px}.game-card{width:100%;border-radius:12px}.game-card-visual{aspect-ratio:3/4}.game-card-emoji{font-size:2rem}.game-card-details{max-height:none;padding:8px 6px 6px;opacity:1;background:linear-gradient(0deg,rgba(0,0,0,.88) 0,rgba(0,0,0,.7) 55%,rgba(0,0,0,.2) 85%,transparent)}.game-card .game-card-title-overlay{opacity:0}.game-card-title-overlay .game-card-name{font-size:.62rem}.game-card-detail-name{font-size:.62rem;margin-bottom:3px;-webkit-line-clamp:2;line-clamp:2}.game-genre-tag,.game-players-tag{font-size:.48rem;padding:1.5px 5px}.game-card-meta{gap:3px;margin-bottom:4px}.game-card-units{gap:2px}.unit-chip{padding:1.5px 4px;font-size:.44rem}.game-selected-badge{top:6px;left:6px;width:22px;height:22px;font-size:.6rem}.game-info-btn{opacity:1;transform:scale(1);width:20px;height:20px;min-width:20px;min-height:20px;max-width:20px;max-height:20px;font-size:.55rem;top:4px;right:4px;padding:0;box-sizing:border-box}.game-info-btn svg{width:10px;height:10px;min-width:10px;min-height:10px;max-width:10px;max-height:10px;flex-shrink:0}.game-info-modal{max-width:100%;max-height:90vh;border-radius:16px}.game-info-modal-cover{height:200px}.game-info-modal-title{font-size:1.2rem}.game-info-modal-content{padding:16px 18px 20px}.sgb-content{padding:12px 14px;gap:12px}.sgb-game-icon{width:36px;height:36px;font-size:1.2rem}.sgb-name{font-size:.85rem}.sgb-meta{font-size:.7rem}.sgb-change{padding:6px 12px;font-size:.8rem}.sgb-game-item{padding:6px 10px;gap:10px}.recommended-units-grid{grid-template-columns:1fr;gap:12px}.recommended-tag{font-size:.6rem;padding:4px 10px}.device-games-preview{margin-top:10px;padding-top:10px;gap:4px}.mini-game-tag{font-size:.62rem;padding:2px 8px}.unit-games-list{max-height:160px}.unit-game-item{padding:8px 10px;border-radius:10px;gap:8px}.unit-game-name{font-size:.8rem}.unit-game-genre{font-size:.6rem;padding:2px 6px}.unit-game-rating{font-size:.7rem}.unit-games-grid{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px;max-height:180px}.unit-game-card{padding:6px 3px;border-radius:10px}.unit-game-cover{width:44px;height:44px;border-radius:8px}.unit-game-title{font-size:.6rem}.summary-game-badge{padding:8px 12px;border-radius:10px;margin-bottom:10px}.summary-game-label{font-size:.75rem}.summary-game-name{font-size:.85rem}}@media (max-width:480px){.selection-mode-tabs{gap:3px;padding:3px}.mode-tab{padding:8px;font-size:.75rem;gap:5px}.games-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:6px}.game-card{width:100%;border-radius:10px}.game-card-visual{aspect-ratio:3/4}.game-card-emoji{font-size:1.8rem}.game-card-details{padding:6px 5px 5px}.game-card-detail-name{font-size:.56rem;margin-bottom:3px;-webkit-line-clamp:2;line-clamp:2}.game-card-title-overlay .game-card-name{font-size:.56rem}.game-card-title-overlay{padding:5px 6px}.game-card-meta{margin-bottom:3px;gap:3px}.game-genre-tag,.game-players-tag{font-size:.44rem;padding:1px 4px}.game-card-units{gap:2px}.unit-chip{padding:1px 3px;font-size:.42rem;border-radius:4px}.game-selected-badge{top:5px;left:5px;width:20px;height:20px;font-size:.55rem}.game-info-btn{width:18px;height:18px;min-width:18px;min-height:18px;max-width:18px;max-height:18px;font-size:.5rem;top:3px;right:3px;padding:0}.game-info-btn svg{width:9px;height:9px;min-width:9px;min-height:9px;max-width:9px;max-height:9px}.game-unavail-overlay span{padding:3px 10px;font-size:.52rem}.sgb-content{flex-wrap:wrap;gap:8px}.sgb-change{width:100%;justify-content:center}.no-games-found{padding:24px 12px}.no-games-emoji{font-size:2rem}.no-games-found p{font-size:.9rem}}@media (max-width:360px){.games-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:5px}.game-card{width:100%;border-radius:8px;border-width:1.5px}.game-card-emoji{font-size:1.5rem}.game-card-details{padding:5px 4px 4px}.game-card-detail-name{font-size:.5rem;margin-bottom:2px}.game-card-title-overlay .game-card-name{font-size:.5rem}.game-card-title-overlay{padding:4px 5px}.game-genre-tag,.game-players-tag{font-size:.4rem;padding:1px 3px}.game-card-meta{margin-bottom:3px;gap:2px}.unit-chip{padding:1px 3px;font-size:.38rem}.game-selected-badge{width:18px;height:18px;font-size:.5rem}.game-info-btn{width:16px;height:16px;min-width:16px;min-height:16px;max-width:16px;max-height:16px;font-size:.45rem;top:3px;right:3px;padding:0}.game-info-btn svg{width:8px;height:8px;min-width:8px;min-height:8px;max-width:8px;max-height:8px}}.game-card:hover .game-card-cover-img{transform:scale(1.08)}.game-card-cover-fallback .game-card-emoji{font-size:2.8rem;z-index:1;filter:drop-shadow(0 3px 8px rgba(0,0,0,.2))}.game-card-visual .game-card-gradient{z-index:2}.game-device-badge{position:absolute;top:8px;left:8px;display:flex;align-items:center;gap:3px;padding:3px 8px;border-radius:100px;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;z-index:3}.driving-sim-badge{background:rgba(99,102,241,.9);color:#fff;box-shadow:0 2px 6px rgba(99,102,241,.3)}.driving-sim-game .game-card-gradient{background:linear-gradient(135deg,rgba(99,102,241,.15),rgba(168,85,247,.1))!important}.sgb-game-icon{width:48px;height:48px;border-radius:10px;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:rgba(255,107,53,.1)}.sgb-cover-img{width:100%;height:100%;object-fit:cover;border-radius:10px}.unit-game-thumb{object-fit:cover;box-shadow:0 2px 4px rgba(0,0,0,.1)}.unit-game-emoji,.unit-game-thumb{width:32px;height:40px;border-radius:6px;flex-shrink:0}.unit-game-emoji{display:flex;align-items:center;justify-content:center;background:rgba(255,107,53,.08);font-size:1.2rem}.driving-sim-games-preview{display:flex;gap:8px;flex-wrap:wrap;padding:8px 16px 12px}.driving-sim-game-chip{display:flex;align-items:center;gap:6px;padding:4px 10px 4px 4px;background:rgba(99,102,241,.06);border:1px solid rgba(99,102,241,.15);border-radius:100px;font-size:.72rem;font-weight:600;color:var(--booking-gray-700);transition:all .2s ease}.driving-sim-game-chip:hover{background:rgba(99,102,241,.1);border-color:rgba(99,102,241,.3)}.driving-chip-thumb{object-fit:cover}.driving-chip-emoji,.driving-chip-thumb{width:22px;height:22px;border-radius:50%;flex-shrink:0}.driving-chip-emoji{display:flex;align-items:center;justify-content:center;background:rgba(99,102,241,.12);font-size:.7rem}@media (max-width:480px){.game-card-cover-fallback .game-card-emoji{font-size:2rem}.sgb-game-icon{width:40px;height:40px;border-radius:8px}.unit-game-thumb{width:28px;height:34px;border-radius:5px}.driving-sim-games-preview{padding:6px 12px 10px;gap:6px}.driving-sim-game-chip{font-size:.68rem;padding:3px 8px 3px 3px}.driving-chip-thumb{width:18px;height:18px}}.booking-type-toggle{display:flex;gap:.875rem;padding:20px 0}.booking-type-btn{flex:1 1;display:flex;align-items:center;gap:.875rem;padding:1rem 1.25rem;border-radius:16px;border:1.5px solid rgba(0,0,0,.08);background:hsla(0,0%,100%,.92);color:var(--booking-gray-600);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);text-align:left;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 2px 8px rgba(0,0,0,.04),0 1px 2px rgba(0,0,0,.02)}.booking-type-btn:hover{border-color:rgba(255,107,53,.25);background:rgba(255,107,53,.04);transform:translateY(-2px);box-shadow:0 4px 16px rgba(255,107,53,.1),0 2px 6px rgba(0,0,0,.04)}.booking-type-btn.active{border-color:var(--booking-primary);background:linear-gradient(135deg,rgba(255,107,53,.08),rgba(255,153,102,.04));color:var(--booking-gray-900);box-shadow:0 4px 20px rgba(255,107,53,.15),0 2px 8px rgba(255,107,53,.08)}.booking-type-btn.party.active{border-color:#f59e0b;background:linear-gradient(135deg,rgba(245,158,11,.1),rgba(255,107,53,.06));box-shadow:0 4px 20px rgba(245,158,11,.15),0 2px 8px rgba(245,158,11,.08)}.type-btn-icon{font-size:1.35rem;flex-shrink:0;color:var(--booking-gray-500);transition:all .3s cubic-bezier(.4,0,.2,1);filter:drop-shadow(0 1px 2px rgba(0,0,0,.08))}.booking-type-btn.active .type-btn-icon{color:var(--booking-primary)}.booking-type-btn.party.active .type-btn-icon{color:#f59e0b}.type-btn-content{display:flex;flex-direction:column;gap:.2rem}.type-btn-title{font-size:.9rem;font-weight:700;font-family:var(--font-heading);color:var(--booking-gray-800)}.type-btn-desc{font-size:.75rem;color:var(--booking-gray-600);font-weight:500}.party-config-section,.party-info-banner{margin-bottom:1.25rem}.party-info-banner{display:flex;align-items:center;gap:1rem;padding:1.125rem 1.5rem;border-radius:16px;background:linear-gradient(135deg,rgba(245,158,11,.08),rgba(255,107,53,.04));border:1.5px solid rgba(245,158,11,.18);box-shadow:0 4px 16px rgba(245,158,11,.06),0 2px 6px rgba(0,0,0,.02)}.party-info-icon{font-size:2.25rem;line-height:1;filter:drop-shadow(0 2px 4px rgba(245,158,11,.3))}.party-info-text h4{font-size:1rem;font-weight:700;color:#d97706;margin:0 0 .25rem;font-family:var(--font-heading)}.party-info-text p{font-size:.82rem;color:var(--booking-gray-600);margin:0;line-height:1.4}.party-hours-selector{margin-bottom:1.25rem}.party-hours-label{display:flex;align-items:center;gap:.5rem;font-size:.88rem;font-weight:700;color:var(--booking-gray-800);margin-bottom:.75rem;font-family:var(--font-heading)}.party-label-icon{color:#f59e0b}.party-hours-buttons{display:flex;gap:.875rem}.party-hour-btn{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:1.125rem .875rem;border-radius:var(--booking-radius);border:2px solid var(--booking-gray-300);background:hsla(0,0%,100%,.95);color:var(--booking-gray-600);cursor:pointer;transition:var(--booking-transition);box-shadow:0 2px 8px rgba(0,0,0,.04)}.party-hour-btn:hover{border-color:rgba(245,158,11,.4);background:rgba(245,158,11,.04);transform:translateY(-3px);box-shadow:0 8px 24px rgba(245,158,11,.1)}.party-hour-btn.active{border-color:#f59e0b;background:linear-gradient(135deg,rgba(245,158,11,.12),rgba(255,107,53,.06));color:var(--booking-gray-900);box-shadow:0 8px 30px rgba(245,158,11,.2);transform:translateY(-3px)}.party-hour-value{font-size:1.75rem;font-weight:800;font-family:var(--font-heading);color:var(--booking-gray-800);line-height:1}.party-hour-btn.active .party-hour-value{color:#d97706}.party-hour-unit{font-size:.72rem;text-transform:uppercase;letter-spacing:.5px;font-weight:600;color:var(--booking-gray-500)}.party-hour-price{font-size:.88rem;font-weight:700;color:#f59e0b;margin-top:.3rem;padding:.2rem .6rem;background:rgba(245,158,11,.08);border-radius:100px}.party-includes{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;padding:.875rem 1rem;background:hsla(0,0%,100%,.7);border-radius:12px;border:1px solid var(--booking-gray-200)}.party-includes-label{font-size:.75rem;color:var(--booking-gray-600);font-weight:700;text-transform:uppercase;letter-spacing:.5px}.party-includes-list{display:flex;flex-wrap:wrap;gap:.5rem}.party-include-item{font-size:.76rem;padding:.35rem .75rem;border-radius:100px;background:rgba(255,107,53,.06);border:1px solid rgba(255,107,53,.15);color:var(--booking-gray-800);font-weight:600;transition:var(--booking-transition)}.party-include-item:hover{background:rgba(255,107,53,.1);transform:translateY(-1px)}.party-step2{border:2px solid rgba(245,158,11,.25);background:hsla(0,0%,100%,.95);box-shadow:0 12px 40px rgba(245,158,11,.12)}.party-booking-layout{display:grid;grid-template-columns:1fr 1fr;grid-gap:1.75rem;gap:1.75rem;padding:1.75rem}.party-summary-card{background:linear-gradient(135deg,rgba(245,158,11,.04),rgba(255,107,53,.03));border:2px solid rgba(245,158,11,.15);border-radius:var(--booking-radius-lg);padding:1.75rem;position:relative;overflow:hidden}.party-summary-card:before{content:"";position:absolute;top:-40px;right:-40px;width:120px;height:120px;background:radial-gradient(circle,rgba(245,158,11,.08) 0,transparent 70%);border-radius:50%}.party-summary-title{font-size:1.15rem;font-weight:800;margin:0 0 1.5rem;color:#d97706;font-family:var(--font-heading);position:relative}.party-summary-details{display:flex;flex-direction:column;gap:.875rem;margin-bottom:1.5rem;position:relative}.party-detail-row{display:flex;align-items:center;gap:.75rem;padding:.625rem .875rem;background:hsla(0,0%,100%,.75);border-radius:12px;border:1px solid rgba(0,0,0,.06);transition:all .25s cubic-bezier(.4,0,.2,1)}.party-detail-row:hover{background:hsla(0,0%,100%,.95);border-color:rgba(245,158,11,.15);box-shadow:0 2px 8px rgba(245,158,11,.06)}.party-detail-icon{color:#f59e0b;font-size:1rem;flex-shrink:0;width:20px;text-align:center;filter:drop-shadow(0 1px 2px rgba(245,158,11,.25))}.party-detail-label{font-size:.82rem;color:var(--booking-gray-600);min-width:65px;font-weight:600}.party-detail-value{font-size:.9rem;font-weight:700;color:var(--booking-gray-900);margin-left:auto}.party-devices-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:.6rem;gap:.6rem;margin-bottom:1.5rem}.party-device-chip{display:flex;align-items:center;gap:.5rem;padding:.7rem .875rem;border-radius:12px;background:rgba(255,107,53,.06);border:1px solid rgba(255,107,53,.15);font-size:.82rem;font-weight:600;color:var(--booking-primary-dark);transition:var(--booking-transition)}.party-device-chip:hover{background:rgba(255,107,53,.1);transform:translateY(-2px)}.party-device-chip svg{color:var(--booking-primary);font-size:.9rem}.party-device-chip.driving{background:rgba(245,158,11,.08);border-color:rgba(245,158,11,.2);color:#b45309}.party-device-chip.driving svg{color:#f59e0b}.party-price-box{display:flex;flex-direction:column;align-items:center;padding:1.25rem 1rem;border-radius:var(--booking-radius);background:linear-gradient(135deg,rgba(245,158,11,.1),rgba(255,107,53,.06));border:2px solid rgba(245,158,11,.2);position:relative;overflow:hidden}.party-price-box:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at top,rgba(245,158,11,.05) 0,transparent 60%)}.party-price-label{font-size:.72rem;text-transform:uppercase;letter-spacing:1.5px;color:var(--booking-gray-600);margin-bottom:.35rem;font-weight:700;position:relative}.party-price-amount{font-size:2.5rem;font-weight:800;color:#d97706;line-height:1;font-family:var(--font-heading);position:relative}.party-price-breakdown{font-size:.78rem;color:var(--booking-gray-500);margin-top:.35rem;font-weight:600;position:relative}.party-form-section{display:flex;flex-direction:column;justify-content:center}.party-submit-btn{background:linear-gradient(135deg,#f59e0b,#ef4444)!important;font-size:1rem!important;font-weight:700!important;letter-spacing:.3px;box-shadow:0 4px 20px rgba(245,158,11,.25)!important}.party-submit-btn:hover{box-shadow:0 6px 30px rgba(245,158,11,.35)!important;transform:translateY(-2px)!important}.console-conflict-warning{margin:0 0 1rem;border:2px solid rgba(245,158,11,.35)!important;background:linear-gradient(135deg,rgba(245,158,11,.08),rgba(255,153,0,.04))!important;border-radius:var(--booking-radius)!important;padding:1rem 1.25rem!important;box-shadow:0 4px 16px rgba(245,158,11,.1)}.console-conflict-warning strong{color:#d97706;font-size:.88rem;font-family:var(--font-heading)}.console-conflict-warning p{font-size:.82rem;color:var(--booking-gray-700);margin:.3rem 0 0;line-height:1.5}.story-mode-section{padding:0 1.5rem;margin-bottom:1.25rem}.story-mode-card{position:relative;border-radius:var(--booking-radius-lg);padding:1.5rem;background:linear-gradient(135deg,rgba(139,92,246,.06),rgba(79,70,229,.04));border:2px solid rgba(139,92,246,.2);overflow:hidden;cursor:pointer;transition:var(--booking-transition)}.story-mode-card:hover{border-color:rgba(139,92,246,.35);transform:translateY(-2px);box-shadow:0 8px 30px rgba(139,92,246,.12)}.story-mode-card:before{content:"";position:absolute;top:-50px;right:-50px;width:150px;height:150px;background:radial-gradient(circle,rgba(139,92,246,.06) 0,transparent 70%);border-radius:50%}.story-mode-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.story-mode-icon{width:48px;height:48px;min-width:48px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#8b5cf6,#6d28d9);border-radius:14px;font-size:1.5rem;box-shadow:0 4px 16px rgba(139,92,246,.25)}.story-mode-title{font-family:var(--font-heading);font-size:1.05rem;font-weight:800;color:#6d28d9;margin:0 0 .15rem}.story-mode-subtitle{font-size:.78rem;color:var(--booking-gray-600);font-weight:500;margin:0}.story-mode-features{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.story-feature-tag{font-size:.72rem;padding:.3rem .7rem;border-radius:100px;background:rgba(139,92,246,.08);border:1px solid rgba(139,92,246,.15);color:#7c3aed;font-weight:600}.story-mode-pricing{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1rem;background:hsla(0,0%,100%,.7);border-radius:12px;border:1px solid rgba(139,92,246,.12)}.story-price-main{display:flex;flex-direction:column}.story-price-value{font-size:1.35rem;font-weight:800;color:#6d28d9;font-family:var(--font-heading);line-height:1}.story-price-period{font-size:.7rem;color:var(--booking-gray-500);font-weight:600}.story-play-rate{display:flex;align-items:center;gap:.4rem;padding:.4rem .75rem;background:linear-gradient(135deg,rgba(139,92,246,.1),rgba(79,70,229,.06));border-radius:100px;border:1px solid rgba(139,92,246,.2)}.story-play-rate span{font-size:.78rem;font-weight:700;color:#7c3aed}.story-mode-status{margin-top:.875rem;padding:.625rem 1rem;border-radius:12px;font-size:.82rem;font-weight:600;text-align:center}.story-mode-status.pending{background:rgba(245,158,11,.08);border:1px solid rgba(245,158,11,.2);color:#d97706}.story-mode-status.active{background:rgba(16,185,129,.08);border:1px solid rgba(16,185,129,.2);color:#059669}.story-mode-status.none{background:rgba(139,92,246,.06);border:1px solid rgba(139,92,246,.15);color:#7c3aed}.story-mode-booking-section{padding:0 1.5rem;margin-bottom:1.25rem}.story-booking-info{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:rgba(139,92,246,.06);border:2px solid rgba(139,92,246,.15);border-radius:var(--booking-radius);margin-bottom:1rem}.story-booking-badge{padding:.35rem .75rem;background:linear-gradient(135deg,#8b5cf6,#6d28d9);border-radius:100px;font-size:.72rem;font-weight:700;color:#fff;letter-spacing:.5px;text-transform:uppercase}.story-booking-text{font-size:.85rem;color:var(--booking-gray-700);font-weight:600}.story-booking-rate{margin-left:auto;font-size:1.1rem;font-weight:800;color:#6d28d9;font-family:var(--font-heading)}@media (max-width:768px){.booking-type-toggle{flex-direction:row;gap:.625rem}.booking-type-btn{padding:.875rem 1rem}.type-btn-title{font-size:.85rem}.type-btn-desc{font-size:.72rem}.party-config-section{padding:0 1rem}.party-info-banner{padding:1rem;gap:.75rem}.party-info-icon{font-size:1.75rem}.party-info-text h4{font-size:.9rem}.party-info-text p{font-size:.78rem}.party-hours-buttons{gap:.6rem}.party-hour-btn{padding:.875rem .5rem}.party-hour-value{font-size:1.35rem}.party-hour-price{font-size:.8rem}.party-includes{padding:.75rem;flex-direction:column;align-items:flex-start}.party-booking-layout{grid-template-columns:1fr;padding:1rem;gap:1.25rem}.party-summary-card{padding:1.25rem}.party-devices-grid{grid-template-columns:1fr 1fr;gap:.5rem}.party-price-amount{font-size:2rem}.party-detail-row{padding:.5rem .75rem}.console-conflict-warning{margin:0 0 .75rem}.story-mode-section{padding:0 1rem}.story-mode-card{padding:1.25rem}.story-mode-icon{width:42px;height:42px;min-width:42px;font-size:1.25rem;border-radius:12px}.story-mode-title{font-size:.95rem}.story-mode-pricing{flex-direction:column;gap:.625rem;align-items:flex-start}.story-play-rate{align-self:flex-start}.story-mode-booking-section{padding:0 1rem}.story-booking-info{flex-wrap:wrap;gap:.5rem;padding:.875rem}.story-booking-rate{margin-left:0}}@media (max-width:480px){.booking-type-toggle{gap:.5rem}.party-hours-buttons{gap:.4rem}.party-hour-btn{padding:.75rem .35rem;border-radius:12px}.party-hour-value{font-size:1.2rem}.party-devices-grid{grid-template-columns:1fr}.party-device-chip{padding:.6rem .75rem}.story-mode-features{gap:.35rem}.story-feature-tag{font-size:.68rem;padding:.25rem .6rem}}.closure-banner{display:flex;align-items:flex-start;gap:14px;background:linear-gradient(135deg,rgba(239,68,68,.12),rgba(220,38,38,.08));border:1.5px solid rgba(239,68,68,.35);border-radius:16px;padding:20px 24px;margin:16px 24px;animation:closurePulse 2s ease-in-out infinite}@keyframes closurePulse{0%,to{border-color:rgba(239,68,68,.35)}50%{border-color:rgba(239,68,68,.6)}}.closure-banner-icon{font-size:2rem;line-height:1;flex-shrink:0}.closure-banner-text{display:flex;flex-direction:column;gap:4px}.closure-banner-text strong{font-size:1.1rem;color:#dc2626;letter-spacing:-.02em}.closure-banner-text p{font-size:.9rem;color:#666;margin:0;line-height:1.5}.closure-banner-text p:last-child{color:#999;font-size:.82rem}.status-closed,.time-slot.closed,.time-slot.closed .slot-closed-label,.time-slot.closed .slot-time,.time-slot.closed:before{display:none}@media (max-width:768px){.closure-banner{margin:12px 16px;padding:16px 18px;gap:10px}.closure-banner-icon{font-size:1.6rem}.closure-banner-text strong{font-size:1rem}.closure-banner-text p{font-size:.82rem}}@media (max-width:480px){.closure-banner{margin:8px 12px;padding:14px;border-radius:12px}.closure-banner-icon{font-size:1.4rem}}@keyframes shimmerPulse{0%{background-position:-200% 0}to{background-position:200% 0}}.shimmer-img-wrap{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.shimmer-placeholder{position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,hsla(0,0%,100%,.04),hsla(0,0%,100%,.08) 40%,hsla(0,0%,100%,.04) 80%);background-size:200% 100%;animation:shimmerPulse 1.5s ease-in-out infinite;z-index:1}.shimmer-img-wrap.loaded .shimmer-placeholder{display:none}.game-cover-shimmer{position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,#1a1a2e,#1e1e3a 40%,#1a1a2e 80%);background-size:200% 100%;animation:shimmerPulse 1.5s ease-in-out infinite}