:root{--color-primary: #1a1a1a;--color-primary-hover: #333333;--color-secondary: #c9a962;--color-secondary-hover: #b89a52;--color-background: #f5f5f5;--color-surface: #ffffff;--color-text: #1a1a1a;--color-text-muted: #666666;--color-border: #e0e0e0;--color-error: #dc3545;--color-success: #28a745;--font-display: "Playfair Display", Georgia, serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .15)}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:var(--font-body);font-size:16px;line-height:1.5;color:var(--color-text);background-color:var(--color-background);-webkit-font-smoothing:antialiased}.booking-page{min-height:100vh;display:flex;flex-direction:column}.booking-container{flex:1;max-width:40rem;margin:0 auto;padding:var(--spacing-lg);width:100%}.language-switcher{position:fixed;top:var(--spacing-md);right:var(--spacing-md);font-size:.875rem;z-index:100}.language-switcher a{color:var(--color-text-muted);text-decoration:none;padding:var(--spacing-xs) var(--spacing-sm);transition:color .2s}.language-switcher a:hover,.language-switcher a.active{color:var(--color-primary);font-weight:500}.language-switcher .divider{color:var(--color-border)}.booking-logo{text-align:center;margin-bottom:var(--spacing-md)}.booking-logo img{max-width:200px;height:auto}.booking-card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--spacing-xl);overflow:visible}.restaurant-hero{position:relative;height:280px;background-size:cover;background-position:center;background-color:#1a1a1a;border-radius:var(--radius-lg) var(--radius-lg) 0 0;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;margin-bottom:0}.restaurant-hero+.booking-card{border-radius:0 0 var(--radius-lg) var(--radius-lg);margin-top:0}.restaurant-hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,#000000bf,#00000059 40%,#00000026,#0000001a)}.restaurant-hero:not([style*=background-image]){background:linear-gradient(135deg,#1a1a1a,#2d2d2d,#1a1a1a)}.restaurant-hero:not([style*=background-image]):before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 20% 50%,rgba(201,169,98,.08) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(201,169,98,.05) 0%,transparent 40%),radial-gradient(circle at 50% 80%,rgba(201,169,98,.06) 0%,transparent 45%)}.restaurant-hero-content{position:relative;z-index:1;text-align:center;padding:var(--spacing-xl) var(--spacing-lg);width:100%}.restaurant-title{color:#fff;font-family:var(--font-display);font-size:2rem;font-weight:600;margin:0;text-shadow:0 2px 8px rgba(0,0,0,.4);letter-spacing:.02em}.restaurant-subtitle{color:#fffc;font-family:var(--font-body);font-size:.938rem;font-weight:300;margin:var(--spacing-xs) 0 0;text-shadow:0 1px 4px rgba(0,0,0,.3);letter-spacing:.05em;text-transform:uppercase}.booking-form-inline{display:flex;gap:var(--spacing-sm);align-items:flex-end;margin-bottom:var(--spacing-lg)}.form-inline-field{flex:1;min-width:0}.form-inline-field label{display:block;font-weight:500;margin-bottom:var(--spacing-xs);font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.form-inline-field input,.form-inline-field select{width:100%;padding:.625rem var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-body);font-size:.875rem;transition:border-color .2s,box-shadow .2s;background:var(--color-surface);height:42px}.form-inline-field input:focus,.form-inline-field select:focus{outline:none;border-color:var(--color-secondary);box-shadow:0 0 0 3px #c9a9621a}.form-inline-btn{flex-shrink:0}.booking-form-search{margin-bottom:var(--spacing-lg)}.btn-search{display:flex;align-items:center;justify-content:center;width:100%;padding:.75rem var(--spacing-xl);background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-family:var(--font-body);font-size:.938rem;font-weight:500;cursor:pointer;transition:background .2s;white-space:nowrap}.btn-search:hover{background:var(--color-primary-hover)}.no-availability-section{text-align:center;padding:var(--spacing-lg) 0}.no-availability-message{font-weight:500;color:var(--color-text);margin-bottom:var(--spacing-xs)}.try-other-time{color:var(--color-text-muted);font-size:.875rem;margin-bottom:var(--spacing-lg)}.other-restaurants-label{font-size:.875rem;color:var(--color-text-muted);margin-bottom:var(--spacing-md)}#other-restaurants-live{border-top:1px solid var(--color-border);margin-top:var(--spacing-lg);padding-top:var(--spacing-md)}.nearby-restaurant-card{display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;margin-bottom:var(--spacing-md);transition:border-color .2s}.nearby-restaurant-card:hover{border-color:var(--color-secondary)}.nearby-restaurant-header{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);text-decoration:none;color:var(--color-text)}.nearby-restaurant-img{width:72px;height:72px;border-radius:var(--radius-md);background-size:cover;background-position:center;background-color:#2d2d2d;background-image:linear-gradient(135deg,#1a1a1a,#333);flex-shrink:0}.nearby-restaurant-img[style*=background-image]{background-color:transparent}.nearby-restaurant-info{display:flex;flex-direction:column;gap:var(--spacing-xs);min-width:0}.nearby-restaurant-name{font-weight:600;font-size:.938rem;color:var(--color-text)}.nearby-no-availability{font-size:.813rem;color:var(--color-text-muted)}.nearby-restaurant-slots{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);padding:0 var(--spacing-md) var(--spacing-md)}.nearby-slot{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-xs) var(--spacing-md);border:1px solid var(--color-secondary);border-radius:999px;font-size:.813rem;font-weight:500;color:var(--color-secondary);text-decoration:none;transition:all .15s;white-space:nowrap}.nearby-slot:hover{background:var(--color-secondary);color:#fff}.nearby-check-btn{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-md);border:1px solid var(--color-border);border-radius:999px;font-size:.813rem;font-weight:500;color:var(--color-text-muted);text-decoration:none;transition:all .15s}.nearby-check-btn:hover{border-color:var(--color-secondary);color:var(--color-secondary)}.booking-steps{display:flex;justify-content:space-between;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border)}.step{display:flex;flex-direction:column;align-items:center;flex:1;position:relative}.step:not(:last-child):after{content:"";position:absolute;top:16px;left:calc(50% + 20px);right:calc(-50% + 20px);height:2px;background:var(--color-border)}.step.completed:not(:last-child):after{background:var(--color-secondary)}.step-number{width:28px;height:28px;border-radius:50%;background:var(--color-border);color:var(--color-text-muted);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.8rem;margin-bottom:var(--spacing-xs);position:relative;z-index:1}.step.active .step-number{background:var(--color-primary);color:#fff}.step.completed .step-number{background:var(--color-secondary);color:#fff}.step.completed .step-number svg{width:18px;height:18px}.step-label{font-size:.75rem;color:var(--color-text-muted);text-align:center;max-width:100px}.step.active .step-label,.step.completed .step-label{color:var(--color-text);font-weight:500}.form-group{margin-bottom:var(--spacing-md)}.form-group label{display:block;font-weight:500;margin-bottom:4px;font-size:.8rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.6rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.875rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-secondary);box-shadow:0 0 0 2px #c9a9621a}.form-group textarea{resize:vertical;min-height:80px}.form-error{display:block;color:var(--color-error);font-size:.813rem;margin-top:var(--spacing-xs)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-sm)}.phone-row{grid-template-columns:110px 1fr}.form-group-small{flex:0 0 auto}.form-group-large{flex:1}.time-slots-container{display:flex;flex-direction:column;gap:var(--spacing-sm);min-height:60px}.time-slots-placeholder{color:var(--color-text-muted);text-align:center;padding:var(--spacing-lg);font-size:.875rem}.time-slots-scroll{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);padding-bottom:var(--spacing-sm)}.time-slot{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);cursor:pointer;text-align:center;font-weight:500;white-space:nowrap;font-size:.875rem;transition:all .2s}.time-slot:hover{border-color:var(--color-secondary);background:#c9a9620d}.time-slot.preferred{border-color:var(--color-secondary);background:#c9a9621a;font-weight:600;box-shadow:0 0 0 1px var(--color-secondary)}.time-slot.selected{border-color:var(--color-secondary);background:var(--color-secondary);color:#fff}.time-slot.unavailable{opacity:.5;cursor:not-allowed;text-decoration:line-through}.time-slot.slot-loading{position:relative;color:transparent;pointer-events:none}.time-slot.slot-loading:after{content:"";position:absolute;top:50%;left:50%;margin-top:-8px;margin-left:-8px;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:slot-spin .6s linear infinite}@keyframes slot-spin{to{transform:rotate(360deg)}}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.6rem 1.25rem;border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;text-decoration:none}.btn-primary{background:var(--color-primary);color:#fff;width:100%;margin-top:var(--spacing-sm)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:transparent;color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-background)}.form-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-lg)}.form-actions .btn-secondary,.form-actions .btn-primary{padding:.6rem 1.25rem;font-size:.85rem;line-height:1.2;box-sizing:border-box;height:40px}.form-actions .btn-secondary{flex:0 0 auto}.form-actions .btn-primary{flex:1;margin-top:0}.alert{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg)}.alert-icon{width:24px;height:24px;flex-shrink:0}.alert-error{background:#dc35451a;color:var(--color-error)}.alert-success{background:#28a7451a;color:var(--color-success)}.slot-timer{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:.5rem .75rem;background:#c9a96214;border-radius:var(--radius-sm);margin-bottom:var(--spacing-md);font-size:.8rem}.slot-timer svg{width:16px;height:16px;color:var(--color-secondary)}.slot-timer.warning{background:#dc35451a}.slot-timer.warning svg{color:var(--color-error)}.form-hero{width:100%;height:200px;background-size:cover;background-position:center;border-radius:var(--radius-lg) var(--radius-lg) 0 0;margin-bottom:-1px}.form-summary{margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border)}.form-summary-header{display:flex;align-items:center;gap:var(--spacing-sm)}.form-summary-thumb{width:48px;height:48px;border-radius:var(--radius-sm);background-size:cover;background-position:center;flex-shrink:0}.form-summary-thumb-placeholder{background:linear-gradient(135deg,#2a2a2a,#444)}.form-summary-info{display:flex;flex-direction:column;gap:2px;min-width:0}.form-summary-name{font-weight:600;font-size:.95rem;color:var(--color-text)}.form-summary-meta{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);align-items:center}.form-summary-detail{display:inline-flex;align-items:center;gap:3px;font-size:.8rem;color:var(--color-text-muted)}.form-summary-detail svg{width:14px;height:14px;flex-shrink:0}.form-section-title{font-family:var(--font-display);font-size:.95rem;font-weight:600;margin:0 0 var(--spacing-md)}.form-group-phone{margin-bottom:var(--spacing-md)}.phone-input-wrapper{display:flex;align-items:stretch;border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:visible;transition:border-color .2s,box-shadow .2s;height:42px}.phone-input-wrapper:focus-within{border-color:var(--color-secondary);box-shadow:0 0 0 2px #c9a9621a}.phone-country-picker{position:relative;flex:0 0 auto}.phone-country-trigger{display:flex;align-items:center;gap:4px;height:100%;padding:0 .5rem;border:none;border-right:1px solid var(--color-border);border-radius:var(--radius-sm) 0 0 var(--radius-sm);background:var(--color-background);cursor:pointer;font-size:.85rem;color:var(--color-text);white-space:nowrap}.phone-country-trigger:hover{background:var(--color-border)}.phone-flag{width:20px;height:14px;-o-object-fit:cover;object-fit:cover;border-radius:1px;flex-shrink:0}.phone-chevron{width:12px;height:12px;color:var(--color-text-muted);flex-shrink:0}.phone-country-dropdown{display:none;position:absolute;top:calc(100% + 4px);left:0;z-index:300;width:280px;max-height:300px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 12px 36px #00000026;overflow:hidden;animation:datepicker-fade-in .15s ease-out}.phone-country-dropdown.open{display:flex;flex-direction:column}.phone-country-search{width:100%!important;padding:.5rem .75rem!important;border:none!important;border-bottom:1px solid var(--color-border)!important;border-radius:0!important;font-size:.813rem!important;outline:none;box-shadow:none!important;flex-shrink:0}.phone-country-list{overflow-y:auto;flex:1;scrollbar-width:thin}.phone-country-option{display:flex;align-items:center;gap:var(--spacing-sm);padding:.45rem .75rem;cursor:pointer;font-size:.813rem;transition:background .1s}.phone-country-option:hover,.phone-country-option.active{background:#c9a9621a}.phone-country-option.hidden{display:none}.phone-country-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text)}.phone-country-dial{color:var(--color-text-muted);flex-shrink:0}.phone-input-wrapper input[type=tel]{border:none!important;border-radius:0 var(--radius-sm) var(--radius-sm) 0!important;flex:1 1 auto;min-width:80px;padding:0 .75rem!important;font-size:.875rem;box-shadow:none!important;color:var(--color-text);background:var(--color-surface);height:100%;outline:none}.phone-input-wrapper input[type=tel]:focus{box-shadow:none!important;outline:none}.btn-complete{margin-top:var(--spacing-md);padding:.75rem;font-size:.9rem;font-weight:600;border-radius:var(--radius-sm)}.ot-agreement-bottom{margin-top:var(--spacing-md)}.ot-agreement-bottom .agreement-text{font-size:.7rem;color:var(--color-text-muted);line-height:1.5}.ot-agreement-bottom .agreement-text a{color:var(--color-secondary);text-decoration:underline}.form-back{text-align:center;margin-top:var(--spacing-md)}.form-back a{font-size:.8rem;color:var(--color-text-muted);text-decoration:none;transition:color .2s}.form-back a:hover{color:var(--color-text)}.confirmation-card{text-align:center}.confirmation-icon{width:80px;height:80px;margin:0 auto var(--spacing-lg);background:#28a7451a;border-radius:50%;display:flex;align-items:center;justify-content:center}.confirmation-icon svg{width:48px;height:48px;color:var(--color-success)}.confirmation-title{font-family:var(--font-display);font-size:1.75rem;margin:0 0 var(--spacing-lg)}.confirmation-number{background:var(--color-background);border-radius:var(--radius-md);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.confirmation-number .label{display:block;font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--spacing-xs)}.confirmation-number .number{font-family:var(--font-display);font-size:1.5rem;font-weight:600;letter-spacing:.1em}.email-notice{color:var(--color-text-muted);margin-bottom:var(--spacing-xl)}.reservation-details{text-align:left;border-top:1px solid var(--color-border);padding-top:var(--spacing-xl);margin-bottom:var(--spacing-xl)}.reservation-details h3{font-family:var(--font-display);font-size:1.125rem;margin:0 0 var(--spacing-lg);text-align:center}.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg)}.detail-item{display:flex;gap:var(--spacing-md)}.detail-item.full-width{grid-column:1 / -1}.detail-item svg{width:24px;height:24px;color:var(--color-secondary);flex-shrink:0}.detail-item div{display:flex;flex-direction:column}.detail-label{font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.detail-value{font-weight:500}.detail-sub{font-size:.875rem;color:var(--color-text-muted)}.confirmation-actions{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.calendar-links{padding-top:var(--spacing-lg);border-top:1px solid var(--color-border)}.calendar-label{font-size:.875rem;color:var(--color-text-muted);margin-right:var(--spacing-sm)}.calendar-link{color:var(--color-secondary);text-decoration:none;font-size:.875rem;margin:0 var(--spacing-sm)}.calendar-link:hover{text-decoration:underline}.btn-danger{background:var(--color-error);color:#fff;flex:1}.btn-danger:hover{background:#c82333}.btn-outline-danger{background:transparent;color:var(--color-error);border:1px solid var(--color-error)}.btn-outline-danger:hover{background:#dc35451a}.btn-text-danger{color:var(--color-error);text-decoration:none;font-size:.875rem;transition:opacity .2s}.btn-text-danger:hover{opacity:.8;text-decoration:underline}.cancel-link-section{text-align:center;padding-top:var(--spacing-md)}.cancel-title{font-family:var(--font-display);font-size:1.5rem;margin:0 0 var(--spacing-sm);text-align:center}.cancel-description{color:var(--color-text-muted);text-align:center;margin-bottom:var(--spacing-xl)}.cancel-icon{background:#dc35451a!important}.cancel-icon svg{color:var(--color-error)!important}.cancelled-title{color:var(--color-text)}.cancel-success-message{color:var(--color-text-muted);margin-bottom:var(--spacing-md)}.cancelled-details{opacity:.7}.cancel-actions{display:flex;gap:var(--spacing-md)}.cancel-actions .btn-secondary,.cancel-actions .btn-danger{flex:1}.textarea-wrapper{position:relative}.textarea-wrapper textarea{padding-bottom:1.4rem!important}.char-count{position:absolute;bottom:4px;right:8px;font-size:.65rem;color:var(--color-text-muted);pointer-events:none}.checkbox-group{margin-bottom:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-xs)}.checkbox-label{display:flex;align-items:flex-start;gap:var(--spacing-xs);cursor:pointer;font-size:.8rem;color:var(--color-text-muted);font-weight:400}.checkbox-label-highlight{color:var(--color-secondary)}.checkbox-label input[type=checkbox]{width:auto;margin-top:3px;accent-color:var(--color-secondary)}.agreement-text{font-size:.75rem;color:var(--color-text-muted);line-height:1.6}.agreement-text a{color:var(--color-secondary);text-decoration:underline}.powered-by{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);font-size:.813rem;color:var(--color-text-muted)}.opentable-logo{height:20px;width:auto}.time-slots-grid{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);padding-bottom:var(--spacing-sm)}.slots-section-header{padding:var(--spacing-md) 0 var(--spacing-sm);font-size:.875rem}.slots-section-header strong{font-family:var(--font-display)}.experience-header{padding:var(--spacing-md) 0 var(--spacing-sm);border-top:1px solid var(--color-border);margin-top:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-xs)}.experience-header strong{font-family:var(--font-display);color:var(--color-secondary)}.experience-header small{color:var(--color-text-muted);font-size:.813rem}.experience-price{font-weight:500;color:var(--color-secondary);font-size:.875rem}.time-slot.experience-slot{border-color:#c9a9624d}.time-slot.experience-slot:hover{border-color:var(--color-secondary);background:#c9a96214}.time-slot.experience-slot.selected{border-color:var(--color-secondary);background:var(--color-secondary);color:#fff}.booking-footer{text-align:center;padding:var(--spacing-lg);font-size:.813rem;color:var(--color-text-muted)}.loading{position:relative;pointer-events:none}.loading:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#fffc;display:flex;align-items:center;justify-content:center}.datepicker-wrapper{position:relative}.datepicker-trigger{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:.625rem var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-body);font-size:.875rem;background:var(--color-surface);cursor:pointer;height:42px;transition:border-color .2s,box-shadow .2s;color:var(--color-text);text-align:left}.datepicker-trigger:hover{border-color:var(--color-text-muted)}.datepicker-trigger:focus,.datepicker-trigger.active{outline:none;border-color:var(--color-secondary);box-shadow:0 0 0 3px #c9a9621a}.datepicker-icon{width:16px;height:16px;flex-shrink:0;color:var(--color-text-muted)}.datepicker-chevron{width:14px;height:14px;flex-shrink:0;color:var(--color-text-muted);margin-left:auto;transition:transform .2s}.datepicker-trigger.active .datepicker-chevron{transform:rotate(180deg)}#datepicker-display{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.datepicker-dropdown{display:none;position:absolute;top:calc(100% + 4px);left:0;z-index:200;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 12px 36px #00000026;padding:var(--spacing-sm);width:260px;animation:datepicker-fade-in .15s ease-out}.datepicker-dropdown.open{display:block}@keyframes datepicker-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.datepicker-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-xs);padding:0}.datepicker-month-year{font-weight:600;font-size:.85rem;color:var(--color-text);text-transform:capitalize}.datepicker-nav{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;border-radius:50%;cursor:pointer;color:var(--color-text);transition:background .15s;padding:0}.datepicker-nav:hover{background:var(--color-background)}.datepicker-nav:disabled{opacity:.3;cursor:not-allowed}.datepicker-nav:disabled:hover{background:transparent}.datepicker-nav svg{width:16px;height:16px}.datepicker-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:0;margin-bottom:var(--spacing-xs)}.datepicker-weekday{text-align:center;font-size:.65rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;padding:2px 0}.datepicker-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.datepicker-day{display:flex;align-items:center;justify-content:center;width:32px;height:32px;margin:0 auto;border:none;border-radius:50%;background:transparent;font-family:var(--font-body);font-size:.75rem;cursor:pointer;transition:all .15s;color:var(--color-text);padding:0}.datepicker-day:hover:not(:disabled):not(.selected){background:var(--color-background)}.datepicker-day.today:not(.selected){font-weight:700;color:var(--color-secondary)}.datepicker-day.selected{background:var(--color-secondary);color:#fff;font-weight:600}.datepicker-day:disabled{color:var(--color-border);cursor:not-allowed}.datepicker-day.other-month{color:var(--color-border)}.datepicker-day.other-month:disabled{color:var(--color-border);opacity:.5}@media(max-width:640px){.booking-container{padding:var(--spacing-md)}.booking-card{padding:var(--spacing-lg)}.booking-steps{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md)}.step-label{font-size:.688rem;max-width:70px}.booking-form-inline{flex-direction:column;align-items:stretch}.restaurant-hero{height:200px;border-radius:var(--radius-md) var(--radius-md) 0 0}.restaurant-title{font-size:1.5rem}.restaurant-subtitle{font-size:.813rem}.other-restaurants-grid{grid-template-columns:repeat(2,1fr)}.form-row{grid-template-columns:1fr}.form-hero{height:150px}.form-summary-meta{flex-direction:column;gap:2px}.details-grid{grid-template-columns:1fr}.confirmation-title{font-size:1.5rem}.datepicker-dropdown{left:0;width:260px}}
