.desktop-booking .page-layout{grid-template-columns:minmax(0,1fr) 380px;gap:32px;margin-top:32px;margin-bottom:64px;display:grid}@media (max-width:1100px){.desktop-booking .page-layout{grid-template-columns:minmax(0,1fr);gap:24px}}.desktop-booking .section-card{background:var(--bg-card);border-radius:var(--radius-3xl);border:1px solid var(--border-color);box-shadow:var(--shadow-card);margin-bottom:24px;transition:all .3s;overflow:hidden}.desktop-booking .section-card:hover{box-shadow:var(--shadow-card);border-color:#e5e7eb}.desktop-booking .section-head{align-items:center;gap:12px;padding:24px 24px 0;display:flex}.desktop-booking .section-head-icon{background:var(--sipo-red-light);border-radius:10px;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.desktop-booking .section-head h2{color:var(--text-1);font-size:20px;font-weight:700}.desktop-booking .booking-timezone-note{color:var(--text-3);margin-top:2px;font-size:12px;font-weight:700;line-height:1.25}.desktop-booking .section-body{padding:24px}.desktop-booking .step-indicator{justify-content:space-between;align-items:center;margin-bottom:24px;padding:0 5px;display:flex}.desktop-booking .step-item{z-index:2;align-items:center;gap:8px;display:flex;position:relative}.desktop-booking .step-dot{color:#9ca3af;background:#f3f4f6;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;font-weight:800;transition:all .3s;display:flex}.desktop-booking .step-item.active .step-dot,.desktop-booking .step-item.done .step-dot{background:var(--sipo-red);color:#fff}.desktop-booking .step-item span{color:#9ca3af;white-space:nowrap;font-size:11px;font-weight:700}.desktop-booking .step-item.active span{color:#374151}.desktop-booking .step-line{background:#e5e7eb;flex:1;height:1px;margin:0 8px}.desktop-booking .step-line.active{background:var(--sipo-red)}.desktop-booking .field-group{margin-bottom:24px}.desktop-booking .field-label{color:var(--text-2);margin-bottom:12px;font-size:14px;font-weight:600;display:block}.desktop-booking .form-input,.desktop-booking .form-textarea{border:1px solid var(--border-color);border-radius:var(--radius-xl);width:100%;color:var(--text-1);background:#fff;padding:12px 16px;font-family:inherit;font-size:16px;font-weight:500;transition:all .2s}.desktop-booking .form-input[readonly]{background:var(--surface-muted,#f3f4f6);color:var(--text-2,#6b7280);cursor:not-allowed}.desktop-booking .form-input:focus,.desktop-booking .form-textarea:focus{border-color:var(--sipo-red);box-shadow:0 0 0 4px var(--sipo-red-light);outline:none}.desktop-booking .input-row{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;display:grid}.desktop-booking .reservation-date-label{color:#4b5563;align-items:center;gap:8px;margin-bottom:16px;font-size:16px;font-weight:700;display:flex}.desktop-booking .reservation-date-box{background:#fff;border:1px solid #f3f4f6;border-radius:20px;align-items:center;margin-bottom:24px;padding:18px 20px;display:flex;box-shadow:0 2px 10px #00000005}.desktop-booking .res-date-icon{color:var(--sipo-red);align-items:center;margin-right:12px;display:flex}.desktop-booking .res-date-value{color:#1f2937;font-size:16px;font-weight:600}.desktop-booking .date-scroll{scrollbar-width:none;-ms-overflow-style:none;gap:12px;padding-bottom:12px;display:flex;overflow-x:auto}.desktop-booking .date-scroll::-webkit-scrollbar{display:none}.desktop-booking .date-chip{border:1px solid var(--border-color);cursor:pointer;background:#fff;border-radius:16px;flex-direction:column;align-items:center;min-width:60px;padding:12px 0;transition:all .2s;display:flex}.desktop-booking .date-chip.selected{background:var(--sipo-red);border-color:var(--sipo-red);color:#fff}.desktop-booking .dc-day{text-transform:uppercase;color:var(--text-3);margin-bottom:2px;font-size:9px;font-weight:900}.desktop-booking .dc-num{color:var(--text-1);font-size:15px;font-weight:900}.desktop-booking .dc-mon{color:var(--text-3);font-size:9px;font-weight:800}.desktop-booking .date-chip.selected .dc-day,.desktop-booking .date-chip.selected .dc-num,.desktop-booking .date-chip.selected .dc-mon{color:#fff}.desktop-booking .guest-stepper{background:var(--bg-app);border-radius:var(--radius-lg);align-items:center;gap:20px;width:fit-content;padding:6px;display:flex}.desktop-booking .gs-btn{cursor:pointer;width:36px;height:36px;color:var(--text-2);background:#fff;border:none;border-radius:8px;justify-content:center;align-items:center;display:flex}.desktop-booking .gs-btn:hover{background:var(--sipo-red);color:#fff}.desktop-booking .gs-val{text-align:center;min-width:20px;font-size:18px;font-weight:700}.desktop-booking .guest-hint{color:var(--text-3);margin-top:10px;font-size:13px}.desktop-booking .time-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:10px;display:grid}.desktop-booking .time-chip{border-radius:var(--radius-xl);border:1px solid var(--border-color);text-align:center;cursor:pointer;background:#fff;padding:12px;font-size:13px;font-weight:700;transition:all .2s}.desktop-booking .time-chip.selected{color:#fff;background:#000;border-color:#000}.desktop-booking .time-legend{color:var(--text-3);gap:16px;margin-top:16px;font-size:12px;display:flex}.desktop-booking .legend-dot{border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.desktop-booking .time-empty{text-align:center;color:var(--text-3);background:var(--bg-app);border-radius:var(--radius-xl);border:1px dashed var(--border-color);padding:20px}.desktop-booking .btn-primary{color:#fff;border-radius:var(--radius-2xl);cursor:pointer;background:#000;border:none;justify-content:center;align-items:center;gap:10px;width:100%;padding:16px;font-size:15px;font-weight:700;display:flex}.desktop-booking .btn-secondary{background:var(--bg-app);color:var(--text-2);border:1px solid var(--border-color);border-radius:var(--radius-lg);cursor:pointer;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:12px;padding:12px 20px;font-weight:600;display:flex}.desktop-booking .success-panel{padding:10px 0;display:none}.desktop-booking .success-panel.active{display:block}.desktop-booking .success-hero{text-align:center;margin-bottom:32px}.desktop-booking .sh-icon-wrap{width:80px;height:80px;margin:0 auto 24px;position:relative}.desktop-booking .sh-icon-bg{background:linear-gradient(135deg, #e8362a33, var(--sipo-red));border-radius:24px;position:absolute;inset:0;box-shadow:0 10px 30px #e8362a33}.desktop-booking .sh-icon-inner{background:var(--sipo-red);color:#fff;z-index:2;border-radius:20px;justify-content:center;align-items:center;display:flex;position:absolute;inset:8px;box-shadow:inset 0 2px 10px #0000001a}.desktop-booking .sh-title{color:var(--text-1);letter-spacing:-.02em;margin-bottom:8px;font-size:32px;font-weight:900}.desktop-booking .sh-subtitle{color:var(--text-3);max-width:80%;margin:0 auto;font-size:16px;font-weight:500;line-height:1.5}.desktop-booking .success-details-card{color:#fff;background:#111827;border-radius:32px;margin-bottom:32px;padding:32px;position:relative;overflow:hidden;box-shadow:0 20px 40px #0000001a}.desktop-booking .sdc-bg-glow{filter:blur(40px);background:#ffffff0d;border-radius:50%;width:150px;height:150px;position:absolute;top:-50px;right:-50px}.desktop-booking .sdc-content{z-index:2;position:relative}.desktop-booking .sdc-header{justify-content:space-between;align-items:flex-start;margin-bottom:32px;display:flex}.desktop-booking .sdc-label{color:#9ca3af;text-transform:uppercase;letter-spacing:.2em;margin-bottom:6px;font-size:11px;font-weight:900}.desktop-booking .sdc-ref{letter-spacing:-.02em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:36px;font-weight:900;line-height:1}.desktop-booking .sdc-ref--long{font-size:26px;line-height:1.15}.desktop-booking .sdc-status-badge{color:#10b981;text-transform:uppercase;letter-spacing:.1em;background:#10b98126;border-radius:100px;align-items:center;gap:6px;padding:8px 16px;font-size:11px;font-weight:900;display:flex;box-shadow:0 2px 10px #10b9811a}.desktop-booking .sdc-status-dot{background:#10b981;border-radius:50%;width:8px;height:8px}.desktop-booking .sdc-grid{border-top:1px solid #ffffff1a;grid-template-columns:repeat(3,1fr);gap:24px;padding-top:24px;display:grid}.desktop-booking .sdc-grid-label{color:#6b7280;text-transform:uppercase;letter-spacing:.2em;margin-bottom:8px;font-size:10px;font-weight:900}.desktop-booking .sdc-grid-val{color:#f9fafb;overflow-wrap:anywhere;font-size:15px;font-weight:700}.desktop-booking .success-actions{gap:16px;display:flex}.desktop-booking .sa-btn-primary{background:var(--sipo-red);color:#fff;cursor:pointer;border:none;border-radius:20px;flex:1;justify-content:center;align-items:center;gap:10px;padding:18px;font-size:15px;font-weight:800;text-decoration:none;transition:all .2s;display:flex;box-shadow:0 10px 25px #e8362a40}.desktop-booking .sa-btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 30px #e8362a59}.desktop-booking .sa-btn-secondary{color:var(--text-1);border:2px solid var(--border-color);cursor:pointer;background:#fff;border-radius:20px;flex:1;justify-content:center;align-items:center;gap:10px;padding:18px;font-size:15px;font-weight:800;text-decoration:none;transition:all .2s;display:flex}.desktop-booking .sa-btn-secondary:hover{border-color:var(--text-1);background:#f9fafb;transform:translateY(-2px)}.desktop-booking .booking-success-card{background:#fff;border:1px solid #1a141014;border-radius:28px;margin-bottom:24px;padding:28px;position:relative;overflow:hidden;box-shadow:0 28px 68px -46px #1a14108c}.desktop-booking .booking-success-card:before{content:"";background:linear-gradient(90deg, var(--primary), #e8553e38);height:4px;position:absolute;top:0;left:0;right:0}.desktop-booking .booking-success-head{align-items:flex-start;gap:16px;margin-bottom:22px;display:flex}.desktop-booking .booking-success-icon{color:#059669;background:#10b9811f;border:1px solid #10b9812e;border-radius:18px;flex:none;justify-content:center;align-items:center;width:54px;height:54px;display:inline-flex}.desktop-booking .booking-success-icon svg{width:27px;height:27px}.desktop-booking .booking-success-eyebrow{color:var(--primary);text-transform:uppercase;letter-spacing:0;margin:0 0 6px;font-size:10px;font-weight:900}.desktop-booking .booking-success-title{color:var(--text-1);margin:0;font-size:30px;font-weight:900;line-height:1.08}.desktop-booking .booking-success-copy{max-width:620px;color:var(--text-3);margin:8px 0 0;font-size:15px;font-weight:700;line-height:1.48}.desktop-booking .booking-success-summary{background:#fff7ed;border:1px solid #ffedd5;border-radius:20px;justify-content:space-between;align-items:center;gap:18px;margin-bottom:16px;padding:16px 18px;display:flex}.desktop-booking .booking-success-reference span,.desktop-booking .booking-success-item span{color:var(--text-4);text-transform:uppercase;letter-spacing:0;margin-bottom:6px;font-size:9px;font-weight:900;display:block}.desktop-booking .booking-success-reference strong,.desktop-booking .booking-success-reference .sdc-ref,.desktop-booking .booking-success-reference .sdc-ref--long{color:var(--text-1);overflow-wrap:anywhere;font-variant-numeric:tabular-nums;font-size:22px;font-weight:900;line-height:1.15;display:block}.desktop-booking .booking-success-status{color:#047857;text-transform:uppercase;letter-spacing:0;background:#ecfdf5;border:1px solid #d1fae5;border-radius:999px;flex:none;align-items:center;gap:8px;min-height:32px;padding:0 12px;font-size:10px;font-weight:900;display:inline-flex}.desktop-booking .booking-success-status-dot{background:currentColor;border-radius:999px;width:7px;height:7px}.desktop-booking .booking-success-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.desktop-booking .booking-success-item{background:#f9fafb;border:1px solid #f1f5f9;border-radius:16px;min-width:0;padding:13px 14px}.desktop-booking .booking-success-item strong{color:var(--text-1);overflow-wrap:anywhere;font-size:14px;font-weight:850;line-height:1.25;display:block}.desktop-booking .booking-success-qr{background:#fff;border:1px solid #f1f5f9;border-radius:20px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;margin-top:16px;padding:16px 18px;display:grid}.desktop-booking .booking-success-qr h2{color:var(--text-1);margin:0;font-size:19px;font-weight:900;line-height:1.15}.desktop-booking .booking-success-qr p:last-child{color:var(--text-3);margin:6px 0 0;font-size:13px;font-weight:700;line-height:1.4}.desktop-booking .booking-success-qr-frame{background:#fff;border:1px solid #e5e7eb;border-radius:18px;flex:none;width:124px;height:124px;padding:10px;box-shadow:0 16px 30px -24px #11182799}.desktop-booking .booking-success-qr-frame .reservation-qr-svg{width:100%;height:100%}.animate-scale-in{animation:.5s cubic-bezier(.16,1,.3,1) forwards scaleIn}.animate-bounce-in{opacity:0;animation:.6s cubic-bezier(.16,1,.3,1) .2s forwards bounceIn}.animate-slide-up{opacity:0;animation:.5s ease-out forwards slideUp}.animate-fade-in-delayed{opacity:0;animation:.5s ease-out .3s forwards fadeIn}.animate-pulse-soft{animation:2s ease-in-out infinite pulseSoft}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.5)}60%{opacity:1;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseSoft{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(.98)}}.desktop-booking .info-cards-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-top:32px;display:grid}.desktop-booking .info-card{cursor:pointer;background:#fff;border:1px solid #0000;border-radius:24px;flex-direction:column;align-items:center;gap:8px;padding:16px 12px;transition:transform .2s;display:flex;box-shadow:0 4px 20px #0000000a}.desktop-booking .info-card:hover{border-color:var(--sipo-red-light);transform:translateY(-4px)}.desktop-booking .info-card-icon{border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.desktop-booking .info-card-label{color:#4b5563;font-size:14px;font-weight:700}.desktop-booking .info-card-icon.blue{color:#3b82f6;background:#eff6ff}.desktop-booking .info-card-icon.emerald{color:#10b981;background:#ecfdf5}.desktop-booking .info-card-icon.orange{color:#f97316;background:#fff7ed}.desktop-booking .info-card-icon.red{color:#ef4444;background:#fef2f2}.desktop-booking .booking-sidebar{flex-direction:column;gap:24px;display:flex}.desktop-booking .sidebar-card{top:calc(var(--header-height) + 20px);position:sticky}.desktop-booking .reservation-card{border:1px solid var(--border-color);background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 4px 30px #0000000f}.desktop-booking .reservation-card-head{border-bottom:1px solid var(--border-color);align-items:center;gap:14px;padding:20px 24px;display:flex}.desktop-booking .reservation-icon-wrap{width:44px;height:44px;color:var(--primary);background:linear-gradient(135deg,#e8553e1f,#e8553e0a);border-radius:14px;justify-content:center;align-items:center;display:flex}.desktop-booking .reservation-card-title{color:var(--text-1);margin:0;font-size:16px;font-weight:800}.desktop-booking .reservation-card-sub{color:var(--text-3);text-transform:uppercase;margin:2px 0 0;font-size:11px;font-weight:600}.desktop-booking .reservation-card-body{padding:20px 24px}.desktop-booking .reservation-empty{text-align:center;padding:24px 16px}.desktop-booking .reservation-empty-icon{width:56px;height:56px;color:var(--text-4);background:#9ca3af1a;border-radius:16px;justify-content:center;align-items:center;margin:0 auto 16px;display:flex}.desktop-booking .reservation-empty-text{color:var(--text-3);font-size:13px;font-weight:500}.desktop-booking .reservation-success-badge{background:#10b98114;border:1px solid #10b9811f;border-radius:16px;align-items:center;gap:14px;padding:16px;display:flex}.desktop-booking .reservation-success-icon{width:40px;height:40px;color:var(--green);background:#10b98126;border-radius:12px;justify-content:center;align-items:center;display:flex}.desktop-booking .reservation-success-title{color:var(--green);font-size:15px;font-weight:800}.desktop-booking .reservation-details{flex-direction:column;gap:4px;display:flex}.desktop-booking .res-detail-row{border-radius:14px;align-items:center;gap:12px;padding:10px 12px;transition:background .15s;display:flex}.desktop-booking .res-detail-icon-wrap{border-radius:10px;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.desktop-booking .res-detail-icon-wrap.orange{color:#f97316;background:#f973161f}.desktop-booking .res-detail-icon-wrap.blue{color:#3b82f6;background:#3b82f61f}.desktop-booking .res-detail-icon-wrap.emerald{color:#10b981;background:#10b9811f}.desktop-booking .res-detail-icon-wrap.purple{color:#a855f7;background:#a855f71f}.desktop-booking .res-detail-content{flex-direction:column;display:flex}.desktop-booking .res-detail-label{color:var(--text-3);text-transform:uppercase;font-size:10px;font-weight:700}.desktop-booking .res-detail-value{color:var(--text-1);font-size:14px;font-weight:700}.desktop-booking .reservation-card-footer{border-top:1px solid var(--border-color);padding:16px 24px 24px}.desktop-booking .trust-badges{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.desktop-booking .trust-item{color:var(--text-3);align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex}.desktop-booking .sidebar-cta-btn{border-radius:14px;padding:14px;font-size:14px;box-shadow:0 6px 20px #0000001f}.desktop-booking .powered-by-sipo{text-align:center;color:var(--text-4);margin-top:16px;font-size:11px;font-weight:600}.desktop-booking .powered-by-sipo a{color:var(--primary);justify-content:center;align-items:center;gap:6px;margin-top:4px;font-weight:700;text-decoration:none;display:flex}.desktop-booking .powered-by-logo{width:auto;height:18px}.desktop-booking .err-msg{color:var(--sipo-red);margin-top:4px;font-size:12px;font-weight:500;display:none}.desktop-booking .err-msg.visible{display:block}.desktop-booking .form-input.err{border-color:var(--sipo-red);background:var(--sipo-red-light)}.desktop-booking .dietary-section{gap:10px}.desktop-booking .dietary-options{border:1px solid var(--border-color);background:#f9fafb;border-radius:16px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;padding:12px;display:grid}.desktop-booking .dietary-option{color:var(--text-2);cursor:pointer;align-items:center;gap:10px;font-size:13px;font-weight:700;line-height:1.35;display:flex}.desktop-booking .dietary-option input{width:16px;height:16px;accent-color:var(--sipo-red);flex:0 0 16px}.desktop-booking .more-dates-chip{border-color:var(--border-color)!important;color:var(--text-2)!important;background:#f9fafb!important}.desktop-booking .blocked-date-list{background:#f5b40014;border:1px solid #b453092e;border-radius:8px;gap:8px;margin-top:4px;margin-bottom:12px;padding:12px 14px;display:grid}.desktop-booking .blocked-date-title{color:#92400e;text-transform:uppercase;font-size:11px;font-weight:900}.desktop-booking .blocked-date-item{gap:2px;display:grid}.desktop-booking .blocked-date-item strong{color:var(--text-1);font-size:13px;font-weight:900}.desktop-booking .blocked-date-item span{color:#92400e;font-size:12px;font-weight:700;line-height:1.35}.desktop-booking .blocked-date-toggle{color:#92400e;cursor:pointer;background:0 0;border:none;justify-self:start;margin-top:2px;padding:0;font-size:12px;font-weight:800;text-decoration:underline}.desktop-booking .calendar-picker{border:1px solid var(--border-color);background:#fff;border-radius:20px;max-width:360px;margin-top:12px;padding:20px;box-shadow:0 10px 30px #00000014}.desktop-booking .calendar-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.desktop-booking .calendar-month-label{font-size:16px;font-weight:800}.desktop-booking .calendar-nav-btn{border:1px solid var(--border-color);cursor:pointer;background:#fff;border-radius:10px;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.desktop-booking .calendar-grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.desktop-booking .calendar-day-header{text-align:center;color:var(--text-4);padding-bottom:8px;font-size:11px;font-weight:800}.desktop-booking .calendar-day{aspect-ratio:1;cursor:pointer;background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.desktop-booking .calendar-day:hover:not(.past):not(.empty),.desktop-booking .calendar-day.blocked:hover{background:#f9fafb}.desktop-booking .calendar-day.selected{background:var(--sipo-red);color:#fff}.desktop-booking .calendar-day.past{opacity:.2;cursor:not-allowed}.desktop-booking .calendar-day.blocked{opacity:1;cursor:pointer;color:#b45309;background:#f5b40014}.desktop-booking .calendar-day.today:not(.selected){color:var(--sipo-red)}.desktop-booking .slots-message{color:#dc2626;text-align:center;background:#fef2f2;border:1px solid #fee2e2;border-radius:16px;margin-top:12px;padding:16px;font-size:14px;font-weight:600}.desktop-booking .date-notice{color:#92400e;background:#f5b40014;border-color:#f5b4003d}.desktop-booking .selection-summary-box{border:1px solid var(--border-color);background:#fff;border-radius:20px;flex-direction:column;gap:12px;margin-top:16px;padding:20px;display:flex;box-shadow:0 4px 15px #00000005}.desktop-booking .selection-item{align-items:center;gap:12px;display:flex}.desktop-booking .si-icon{background:var(--sipo-red-light);width:40px;height:40px;color:var(--sipo-red);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.desktop-booking .si-content{flex-direction:column;display:flex}.desktop-booking .si-label{color:var(--text-3);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:700}.desktop-booking .si-value{color:var(--text-1);font-size:18px;font-weight:800}.animate-fade-in{animation:.4s ease-out forwards fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
