.booking-form{display:flex;flex-direction:column;height:100%;gap:var(--spacing-sm)}.form-content{flex:1;display:flex;flex-direction:column;min-height:0;height:100%}.form-wrapper{display:flex;flex-direction:column;gap:var(--booking-gap);flex:1}.form-section{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-section h3{font-size:var(--font-size-lg);color:var(--color-primary);margin:0;line-height:var(--lh-heading);letter-spacing:var(--ls-heading)}.form-section label{color:var(--color-primary);font-size:var(--font-size-sm);line-height:var(--lh-body)}.form-section input[type=number],.form-section select{padding:var(--spacing-sm);border:var(--inputs-border-width) solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-base);transition:var(--transition-colors);max-height:60px}.form-section input[type=number]:focus,.form-section select:focus{outline:none;border-color:var(--color-accent)}.course-selection{display:flex;flex-direction:column;gap:var(--spacing-xs)}.course-selection-group{display:grid;row-gap:var(--spacing-xs)}.course-option{padding:var(--spacing-sm);border:var(--inputs-border-width) solid var(--color-border);cursor:pointer;transition:var(--transition-colors);background:transparent;opacity:.5;display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:var(--spacing-xs)}.course-option:hover,.course-option.selected{border-color:var(--color-primary);background:var(--color-white);opacity:1}.course-option h4{margin:0;font-size:var(--font-size-sm);color:var(--color-primary);grid-column:2;line-height:var(--lh-heading);letter-spacing:var(--ls-heading)}.course-option .price{color:var(--color-accent);font-weight:var(--font-heading-weight-medium)}.course-option p{margin:0;font-size:var(--font-size-sm);grid-column:2;line-height:var(--lh-body)}.course-option__radio{width:var(--icon-size-sm);height:var(--icon-size-sm);border:var(--inputs-border-width) solid var(--color-border);border-radius:50%;position:relative;align-self:center}.course-option.selected .course-option__radio{border-color:var(--color-primary)}.course-option.selected .course-option__radio:after{content:"";position:absolute;top:2px;right:2px;bottom:2px;left:2px;background:var(--color-primary);border-radius:50%}.date-button,#book-course{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-accent);color:var(--color-white);border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-base);font-family:var(--font-heading-family);font-weight:var(--font-heading-weight-medium);transition:var(--transition-colors);text-align:center;width:100%}.date-button:hover:not(:disabled),#book-course:hover:not(:disabled){background:var(--color-accent-hover)}.date-button:disabled,#book-course:disabled{background:var(--color-border);cursor:not-allowed;opacity:.5}#book-course{background:var(--color-primary)}#book-course:hover:not(:disabled){background:var(--color-primary-dark)}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--color-backdrop);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-booking);opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--transition-base),visibility var(--transition-base);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.modal.is-open{opacity:1;visibility:visible;pointer-events:auto}.modal-content{background:var(--color-white);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);max-width:90vw;max-height:90vh;overflow:hidden;transform:scale(.9);transition:transform var(--transition-base)}.modal.is-open .modal-content{transform:scale(1)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) var(--spacing-lg);position:relative}.modal-header h3{margin:0;font-size:var(--font-size-xl);color:var(--color-primary)}.modal-back{position:absolute;left:var(--spacing-md);background:none;border:none;font-size:var(--font-size-2xl);cursor:pointer;color:var(--color-primary);padding:var(--spacing-sm);z-index:1;width:var(--touch-target-min);height:var(--touch-target-min);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:var(--transition-colors)}.modal-back:hover{color:var(--color-primary-dark);background:var(--color-surface-1)}.modal-close{background:none;border:none;font-size:var(--font-size-2xl);cursor:pointer;color:var(--color-primary);padding:0;width:var(--touch-target-min);height:var(--touch-target-min);display:flex;align-items:center;justify-content:center;border-radius:50%;transition:var(--transition-base);outline:none;position:absolute;right:var(--spacing-md);top:50%;transform:translateY(-50%)}.modal-close:focus{outline:2px solid var(--color-primary);outline-offset:2px}.modal-close:hover{background:var(--color-border);color:var(--color-primary)}.modal-body{padding:0 var(--spacing-lg) 0;overflow-y:auto;max-height:70vh}.wizard-wrapper{position:relative;display:flex;flex-direction:column;gap:var(--booking-gap);min-height:100%}.step-panel{display:none}.step-panel.is-active{display:block}.step-title{margin-top:var(--spacing-md);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-sm)}.step-title h2{margin:0;font-size:var(--font-size-3xl);color:var(--color-primary);font-weight:var(--font-heading-weight-medium)}.wizard-summary{margin-bottom:var(--spacing-lg)}.summary-item{margin-bottom:var(--spacing-lg);padding:0;background:transparent;border:none}.summary-item:last-child{margin-bottom:0}.summary-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.summary-label strong{font-size:var(--font-size-lg);margin:0;color:var(--color-text);font-weight:var(--font-heading-weight-medium)}.summary-edit{background:none;border:1px solid var(--color-primary);color:var(--color-primary);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-size-sm);cursor:pointer;transition:var(--transition-colors)}.summary-edit:hover{background:var(--color-primary);color:var(--color-white)}.summary-value{font-size:var(--font-size-base);color:var(--color-text);line-height:1.4}.summary-value ul,.summary-value ol{list-style:none;padding:0;margin:0}.summary-value li{position:relative;padding-left:1.5em;margin-bottom:var(--spacing-xs)}.summary-value li:before{content:"\2022";position:absolute;left:0;color:var(--color-primary);font-weight:var(--font-heading-weight)}.product__sidebar-deposit ul,.product__sidebar-deposit ol{list-style:none;padding:0;margin:0}.product__sidebar-deposit li{position:relative;padding-left:1.5em;margin-bottom:var(--spacing-xs);font-size:var(--font-size-base);color:var(--color-text);line-height:1.4}.product__sidebar-deposit li:before{content:"\2022";position:absolute;left:0;color:var(--color-primary);font-weight:var(--font-heading-weight)}.cart__subtotal .selling-plan-fieldset{margin-top:var(--spacing-md);margin-bottom:var(--spacing-md)}.cart__subtotal .purchase-option{margin-bottom:var(--spacing-xs)}.date-list{display:flex;flex-direction:column}.date-item{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) 0;border-bottom:1px solid var(--color-border-subtle);font-size:var(--font-size-base);color:var(--color-text);line-height:var(--lh-body)}.date-item:last-child{border-bottom:none;padding-bottom:0}.date-item-text{flex:1;font-weight:var(--font-body-weight);letter-spacing:var(--ls-body)}.spots-badge{display:inline-flex;align-items:center;padding:.25rem .625rem;margin-left:var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-text-light);background:transparent;border:1px solid var(--color-border-subtle);border-radius:999px;font-weight:var(--font-body-weight);white-space:nowrap;line-height:1}.wizard-nav{display:flex;justify-content:space-between;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.wizard-nav .date-button{flex:1;padding:var(--spacing-md);font-size:var(--font-size-base);font-weight:var(--font-heading-weight-medium);min-height:var(--touch-target-min);display:flex;align-items:center;justify-content:center}@media screen and (max-width: 749px){#mobileBookingModal .modal-content{max-width:100vw;width:100vw;border-radius:0;box-shadow:none;display:flex;flex-direction:column;height:100svh;max-height:100svh;padding-top:env(safe-area-inset-top);position:relative}#mobileBookingModal .modal-body{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;padding:var(--spacing-md);padding-bottom:calc(var(--spacing-md) + 70px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch;position:relative}#mobileBookingModal .wizard-nav{position:fixed;bottom:0;left:0;right:0;width:100vw;max-width:100vw;z-index:var(--z-modal-calendar);background:var(--color-white);padding:var(--spacing-md);padding-bottom:calc(var(--spacing-md) + env(safe-area-inset-bottom,0px));border-top:1px solid var(--color-border);box-shadow:0 -2px 8px #0000001a;margin:0;display:flex;justify-content:space-between;gap:var(--spacing-sm);transform:translateZ(0);-webkit-transform:translate3d(0,0,0);opacity:1;visibility:visible}@supports (-webkit-touch-callout: none){#mobileBookingModal .wizard-nav{position:sticky;width:100%}}.modal .course-selection-group h3{font-size:var(--font-size-lg);margin-bottom:var(--spacing-md);color:var(--color-text);font-weight:var(--font-heading-weight-medium)}.modal .course-selection{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.modal .course-option{flex:1;min-width:0;padding:var(--spacing-md);border:var(--inputs-border-width) solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-colors);background:var(--color-white);text-align:center}.modal .course-option:hover{border-color:var(--color-primary);background:var(--color-surface-1)}.modal .course-option.selected{border-color:var(--color-primary);background:var(--color-surface-1);box-shadow:0 0 0 2px var(--color-primary-a8)}.modal .course-option__radio{width:18px;height:18px;border:var(--inputs-border-width) solid var(--color-border);border-radius:50%;position:relative;flex-shrink:0;margin-right:var(--spacing-sm)}.modal .course-option.selected .course-option__radio{border-color:var(--color-primary);background:var(--color-primary)}.modal .course-option.selected .course-option__radio:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:6px;height:6px;background:var(--color-white);border-radius:50%}.modal .course-option h4{margin:0 0 var(--spacing-xs) 0;font-size:var(--font-size-md);color:var(--color-text);display:block}.modal .course-option p{margin:0;font-size:var(--font-size-sm);color:var(--color-text-light)}.modal .form-section h3{font-size:var(--font-size-lg);margin-bottom:var(--spacing-md);color:var(--color-text);font-weight:var(--font-heading-weight-medium)}.modal select{width:100%;padding:var(--spacing-sm);border:var(--inputs-border-width) solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-base);background:var(--color-white)}.modal-header{padding:var(--spacing-md)}.modal-header h3{font-size:var(--font-size-lg);margin:0 auto}.modal-back{left:var(--spacing-md);top:50%;transform:translateY(-50%)}.modal-body{padding:0 var(--spacing-md) 0;max-height:calc(100vh - 100px);height:calc(100vh - 100px)}.modal-close{width:var(--icon-size-md);height:var(--icon-size-md);font-size:var(--font-size-xl)}.course-selection{display:flex;flex-direction:row;gap:var(--spacing-xs);line-height:var(--lh-snug)}.course-option{padding:var(--spacing-sm);flex:1}.course-option h4{font-size:var(--font-size-sm);margin-bottom:var(--spacing-xs)}.course-option p{font-size:var(--font-size-sm)}.booking-form,.form-section{gap:var(--spacing-sm)}.form-section h3{font-size:var(--font-size-md)}.date-button{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm)}#book-course{padding:var(--spacing-md);font-size:var(--font-size-base)}}@media screen and (max-width: 479px){.course-selection{flex-direction:column;gap:var(--spacing-xs)}.course-option{flex:none}.modal-header,.modal-body{padding:var(--spacing-sm)}.modal-body{max-height:calc(100vh - var(--header-height));height:calc(100vh - var(--header-height))}}@media (hover: none) and (pointer: coarse){.course-option:hover,.date-button:hover,#book-course:hover:not(:disabled),.modal-close:hover{transform:none}.course-option:active,.date-button:active,#book-course:active:not(:disabled),.modal-close:active{transform:scale(.98)}.date-button,#book-course,.modal-close{min-width:var(--touch-target-min);min-height:var(--touch-target-min)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms;animation-iteration-count:1;transition-duration:.01ms;scroll-behavior:auto}}
/*# sourceMappingURL=/cdn/shop/t/7/assets/product-booking.css.map */
