.time-slot-grid-container{display:flex;flex-direction:column;gap:16px}.time-slot-grid-container .time-slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px}.time-slot-grid-container .expand-button{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:8px;background:transparent;border:none;color:#c7a46e;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.time-slot-grid-container .expand-button:hover{opacity:.8}.time-slot-grid-container .expand-button .hk-icon{font-size:16px}.time-slot-grid-container .time-slot{padding:10px 6px;border-radius:8px;border:1px solid #f5f1ef;background:#f5f1ef;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;color:#c7a46e}.time-slot-grid-container .time-slot.selected{background:#c7a46e;border-color:#c7a46e;color:#fff}.time-slot-grid-container .time-slot:disabled,.time-slot-grid-container .time-slot.notAvailable{opacity:.5;cursor:not-allowed;background:#f5f1ef;position:relative;overflow:hidden;color:#7f787b}.time-slot-grid-container .time-slot:disabled:after,.time-slot-grid-container .time-slot.notAvailable:after{content:"";position:absolute;top:50%;left:-2px;right:-2px;height:1px;background:#7f787b;transform:rotate(-20deg);transform-origin:center;opacity:.8}.time-slot-grid-container .time-slot:disabled:hover,.time-slot-grid-container .time-slot.notAvailable:hover{opacity:.6}.booking-info-page{--ion-background-color: white}.booking-info-page .content-container{padding:16px 16px 120px;max-width:800px;margin:0 auto}.booking-info-page.keyboard-visible .form-container .hk-input.ion-focused,.booking-info-page.keyboard-visible .form-container .hk-textarea.ion-focused{position:relative;z-index:5}.booking-info-page .content-section{animation:fadeIn .5s ease-out}.booking-info-page .content-section h2{font-size:20px;font-weight:700;margin:0 0 16px;color:var(--ion-color-dark);position:relative;display:inline-block}.booking-info-page .content-section h2:after{content:"";display:block;width:100%;height:3px;background:#c7a46e;margin-top:6px;border-radius:4px;opacity:.9}.booking-info-page .content-section h3{font-size:15px;color:var(--ion-color-medium);margin:20px 0 16px;font-weight:500;letter-spacing:.3px;display:flex;align-items:center;gap:8px}.booking-info-page .content-section h3:before{content:"";width:4px;height:4px;background:#c7a46e;border-radius:50%;opacity:.8}.booking-info-page .date-selector-wrapper{position:relative}.booking-info-page .date-selector-wrapper:after{content:"";position:absolute;right:0;top:0;height:100%;width:48px;background:linear-gradient(to right,rgba(255,255,255,0),var(--ion-background-color));pointer-events:none;z-index:1}.booking-info-page .date-selector-wrapper:before{content:"";position:absolute;left:0;top:0;height:100%;width:48px;background:linear-gradient(to left,rgba(255,255,255,0),var(--ion-background-color));pointer-events:none;z-index:1}.booking-info-page .date-scroll-container{padding:0 16px 4px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;position:relative;scroll-behavior:smooth}.booking-info-page .date-scroll-container::-webkit-scrollbar{display:none}.booking-info-page .date-scroll-container .dates-row{display:flex;gap:8px;padding:4px 48px}.booking-info-page .date-scroll-container .date-item{min-width:68px;padding:10px 6px;border-radius:14px;border:1px solid var(--ion-border-color);display:flex;flex-direction:column;align-items:center;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);position:relative;background:var(--ion-background-color)}.booking-info-page .date-scroll-container .date-item:not(.disabled):hover{transform:translateY(-2px);border-color:#c7a46e;box-shadow:0 4px 8px #0000000a}.booking-info-page .date-scroll-container .date-item.selected{background:#c7a46e;border-color:#c7a46e;transform:translateY(-2px);box-shadow:0 4px 12px #c7a46e26}.booking-info-page .date-scroll-container .date-item.selected .day-name,.booking-info-page .date-scroll-container .date-item.selected .day-number,.booking-info-page .date-scroll-container .date-item.selected .month{color:#fff}.booking-info-page .date-scroll-container .date-item.disabled{opacity:.5;cursor:not-allowed;background:#f5f1ef}.booking-info-page .date-scroll-container .date-item.disabled:hover{transform:none;border-color:#f5f1ef}.booking-info-page .date-scroll-container .date-item .day-name{font-size:12px;color:#655f62;margin-bottom:4px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.booking-info-page .date-scroll-container .date-item .day-number{font-size:20px;font-weight:700;color:#232122;line-height:1}.booking-info-page .date-scroll-container .date-item .month{font-size:12px;color:#655f62;margin-top:4px;font-weight:600}.booking-info-page .time-slots-container{opacity:0;animation:slideIn .4s ease-out forwards;margin-top:20px}.booking-info-page .time-slots-container .time-slots-wrapper{position:relative;margin-bottom:20px;min-height:150px}.booking-info-page .time-slots-container .no-slots-message{text-align:center;padding:28px 20px;color:#655f62;font-size:15px;background:#f5f1ef4d;border-radius:8px;border:1px solid rgba(245,241,239,.8);flex:1}.booking-info-page .time-slots-container .no-slots-message .hk-icon{font-size:24px;margin-bottom:10px;color:#655f62;opacity:.8}.booking-info-page .time-slots-container .no-slots-message p{margin:0 0 4px;font-weight:500}.booking-info-page .time-slots-container .no-slots-message small{opacity:.8;font-size:13px}.booking-info-page .time-slots-container .time-slots-loading-mask{position:absolute;top:0;left:0;right:0;bottom:0;background:#fff6;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;z-index:10;animation:fadeIn .15s ease-out;border-radius:16px}.booking-info-page .time-slots-container .time-slots-loading-mask .hk-spinner{--color: #c7a46e;transform:scale(1.2)}.booking-info-page .time-slots-container .time-slots-loading-mask span{color:var(--ion-color-dark);font-size:14px;font-weight:500}.booking-info-page .form-container{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.booking-info-page .form-container .hk-input,.booking-info-page .form-container .hk-textarea{--background: #f5f1ef;--padding-start: 10px;--padding-end: 10px;--border-width: 0;--border-radius: 8px;--highlight-height: 2px;--highlight-color: #c7a46e;--highlight-color-focused: #c7a46e;height:auto!important;margin:0!important;padding:6px 0!important;line-height:1.4!important;font-size:15px;font-weight:400;color:var(--ion-color-dark);border-bottom:1px solid var(--ion-border-color)}.booking-info-page .form-container .hk-input:focus,.booking-info-page .form-container .hk-textarea:focus{border-color:#c7a46e}.booking-info-page .form-container .hk-input.ion-focused,.booking-info-page .form-container .hk-input:focus,.booking-info-page .form-container .hk-textarea.ion-focused,.booking-info-page .form-container .hk-textarea:focus{--highlight-color: #c7a46e;box-shadow:0 0 0 1px #c7a46e1a,0 4px 12px #c7a46e14;transform:none!important;background-color:#c7a46e08;color:#c7a46e;font-weight:600}.booking-info-page .form-container .hk-input.ion-invalid,.booking-info-page .form-container .hk-textarea.ion-invalid{border-color:var(--ion-color-danger)}.booking-info-page .form-container .hk-input.ion-touched,.booking-info-page .form-container .hk-textarea.ion-touched{border-color:var(--ion-color-medium)}.booking-info-page .form-container .hk-textarea{min-height:100px;min-height:80px!important;padding:6px 0!important;line-height:1.5!important}.booking-info-page .form-container .error-message{margin-top:-18px!important;height:18px!important;line-height:18px!important;overflow:hidden;display:block!important;visibility:visible!important;color:var(--ion-color-danger);font-size:12px;font-weight:500;padding-left:0;opacity:.9}.booking-info-page .loading-spinner-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:36px 0;gap:12px;color:var(--ion-color-medium)}.booking-info-page .loading-spinner-container .hk-spinner{--color: #c7a46e}.booking-info-page .loading-spinner-container span{font-size:14px;opacity:.9}.booking-info-page .checkout-button{--background: #c7a46e;--border-radius: 16px;--box-shadow: none;margin:32px 20px;height:52px;font-size:16px;font-weight:600;letter-spacing:.3px;transition:all .25s cubic-bezier(.4,0,.2,1)}.booking-info-page .checkout-button:not([disabled]):hover{transform:translateY(-2px);--background: #c7a46e;box-shadow:0 4px 12px #c7a46e26}.booking-info-page .checkout-button[disabled]{--background: color-variant($dark-variants, 250);opacity:.6}@media (hover: none) and (pointer: coarse){html.keyboard-visible .booking-info-page .form-container{gap:12px!important;margin-bottom:32px!important}html.keyboard-visible .booking-info-page .form-container .hk-input,html.keyboard-visible .booking-info-page .form-container .hk-textarea{min-height:48px!important;margin:0!important;transform:none!important;transition:none!important;height:auto!important;min-height:20px!important;padding:6px 0!important}html.keyboard-visible .booking-info-page .form-container .hk-textarea{min-height:100px!important;min-height:80px!important}html.keyboard-visible .booking-info-page .content-container{padding-bottom:200px!important}}@supports (-webkit-touch-callout: none){html.keyboard-visible .booking-info-page .content-container{padding-bottom:260px!important}html.keyboard-visible .booking-info-page .form-container .hk-input,html.keyboard-visible .booking-info-page .form-container .hk-textarea{transform:none!important;margin:0!important}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.content-section:has(.form-container) h2{margin-bottom:24px;font-size:20px;font-weight:600;color:var(--ion-color-dark)}.initial-loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;z-index:100;background-color:#ffffffb3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease-out}.initial-loading-content{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;border-radius:16px;background-color:#ffffffe6;box-shadow:0 8px 24px #0000001a}.initial-loading-content .hk-spinner{--color: #c7a46e;transform:scale(1.5);margin-bottom:16px}.initial-loading-content p{font-size:16px;font-weight:500;color:#232122;margin:0}
