.group-booking-section{min-height:60vh;padding:2rem 0}.group-booking-form{max-width:1200px;margin:0 auto;padding:0 1rem}.group-booking-form .group-booking-stepper{margin-bottom:3rem}.group-booking-form .group-booking-stepper .mantine-Stepper-step[data-completed] .mantine-Stepper-stepIcon{background-color:#0c0c0c;border-color:#0c0c0c}.group-booking-form .group-booking-stepper .mantine-Stepper-step[data-active] .mantine-Stepper-stepIcon{color:#0c0c0c;background-color:#fff;border-color:#0c0c0c}.group-booking-form .group-booking-stepper .mantine-Stepper-step[data-clickable=false]{cursor:not-allowed;opacity:.6}.group-booking-form .group-booking-stepper .mantine-Stepper-stepLabel{font-size:1rem;font-weight:500}.group-booking-form .group-booking-stepper .mantine-Stepper-stepDescription{color:#b7b8b8;font-size:.875rem}.group-booking-form .auth-required-box{background-color:#f8f9fa;margin:1.5rem auto;padding:2rem}.group-booking-form .auth-required-box h3{color:#212529;margin-bottom:1.5rem}.group-booking-form .auth-required-box p{color:#6c757d;margin-bottom:2rem;font-size:1.1rem}.group-booking-form .form-section{background:#fff;border:1px solid #f4f4f4;margin-bottom:2rem;padding:2rem}.group-booking-form .form-section h3{margin-bottom:1.5rem;font-size:1.5rem;font-weight:500}.group-booking-form .form-section .form-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem;display:grid}@media (max-width:768px){.group-booking-form .form-section .form-grid{grid-template-columns:1fr}}.group-booking-form .form-section .form-grid.full-width{grid-template-columns:1fr}.group-booking-form .form-section .form-actions{border-top:1px solid #f4f4f4;justify-content:space-between;gap:1rem;margin-top:2rem;padding-top:2rem;display:flex}.group-booking-form .form-section .form-actions button:disabled{opacity:.5;cursor:not-allowed}.group-booking-form .info-box{background:#f4f4f4;margin-bottom:1.5rem;padding:1rem 1.5rem}.group-booking-form .info-box p{margin:0;font-size:.875rem;line-height:1.5}.group-booking-form .info-box ul{margin:.5rem 0 0 1rem;padding:0}.group-booking-form .info-box ul li{font-size:.875rem;line-height:1.5}.group-booking-form .guide-options-grid{grid-template-columns:1fr 1fr;gap:1.5rem;margin:2rem 0;display:grid}@media (max-width:768px){.group-booking-form .guide-options-grid{grid-template-columns:1fr}}.group-booking-form .guide-options-grid .guide-option-tile{cursor:pointer;text-align:left;width:100%;font-family:inherit;font-size:inherit;color:inherit;background:#fff;border:2px solid #e5e5e5;border-radius:12px;padding:2rem;position:relative;overflow:hidden}.group-booking-form .guide-options-grid .guide-option-tile:hover{border-color:#d0d0d0;box-shadow:0 4px 12px #00000014}.group-booking-form .guide-options-grid .guide-option-tile.selected{background:linear-gradient(#fafafa,#f5f5f5);border-color:#0c0c0c}.group-booking-form .guide-options-grid .guide-option-tile.selected .guide-option-radio .radio-outer{background:#0c0c0c}.group-booking-form .guide-options-grid .guide-option-tile.selected .guide-option-radio .radio-inner{display:block}.group-booking-form .guide-options-grid .guide-option-tile:focus{outline-offset:2px;outline:3px solid #0c0c0c33}.group-booking-form .guide-options-grid .guide-option-tile:focus-visible{outline-offset:2px;outline:3px solid #0c0c0c4d}.group-booking-form .guide-options-grid .guide-option-tile .guide-option-header{align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.group-booking-form .guide-options-grid .guide-option-tile .guide-option-header h4{color:#0c0c0c;margin:0;font-size:1.125rem;font-weight:600}.group-booking-form .guide-options-grid .guide-option-tile .guide-option-radio .radio-outer{border:2px solid #0c0c0c;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.group-booking-form .guide-options-grid .guide-option-tile .guide-option-radio .radio-inner{background:#fff;border-radius:50%;width:8px;height:8px;display:none}.group-booking-form .guide-options-grid .guide-option-tile .guide-option-description{color:#666;margin:0 0 1.5rem;font-size:.95rem;line-height:1.5}.group-booking-form .guide-options-grid .guide-option-tile .guide-option-price{border-top:1px solid #eee;margin-top:auto;padding-top:1rem}.group-booking-form .guide-options-grid .guide-option-tile .guide-option-price .price-amount{color:#0c0c0c;margin-bottom:.25rem;font-size:1.5rem;font-weight:700;display:block}.group-booking-form .guide-options-grid .guide-option-tile .guide-option-price .price-detail{color:#666;font-size:.875rem}.group-booking-form .pricing-summary{background:#f8f8f8;margin:2rem 0;padding:1.5rem}.group-booking-form .pricing-summary .pricing-info .pricing-row{justify-content:space-between;align-items:center;padding:.75rem 0;display:flex}.group-booking-form .pricing-summary .pricing-info .pricing-row:not(:last-child){border-bottom:1px solid #e5e5e5}.group-booking-form .pricing-summary .pricing-info .pricing-row .pricing-label{color:#333;font-weight:500}.group-booking-form .pricing-summary .pricing-info .pricing-row .pricing-value{color:#0c0c0c;font-size:1.125rem;font-weight:600}.group-booking-form .pricing-options{gap:1rem;margin-top:1.5rem;display:grid}.group-booking-form .pricing-options .pricing-option{cursor:pointer;border:2px solid #f4f4f4;border-radius:8px;padding:1.5rem;transition:all .2s}.group-booking-form .pricing-options .pricing-option:hover{border-color:#0c0c0c}.group-booking-form .pricing-options .pricing-option.selected{background:#f4f4f44d;border-color:#0c0c0c}.group-booking-form .pricing-options .pricing-option.recommended{position:relative}.group-booking-form .pricing-options .pricing-option.recommended .recommended-badge{color:#fefefe;text-transform:uppercase;background:#0c0c0c;border-radius:4px;padding:.25rem .75rem;font-size:.75rem;position:absolute;top:-12px;right:1rem}.group-booking-form .pricing-options .pricing-option .pricing-title{margin-bottom:.5rem;font-weight:500}.group-booking-form .pricing-options .pricing-option .pricing-amount{margin-bottom:.5rem;font-size:1.5rem;font-weight:600}.group-booking-form .pricing-options .pricing-option .pricing-details{color:#b7b8b8;font-size:.875rem}.group-booking-form .availability-calendar{margin-top:1.5rem}.group-booking-form .availability-calendar .time-slots{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.75rem;margin-top:1rem;display:grid}.group-booking-form .availability-calendar .time-slots .time-slot{text-align:center;cursor:pointer;border:1px solid #f4f4f4;border-radius:4px;padding:.75rem;transition:all .2s}.group-booking-form .availability-calendar .time-slots .time-slot:hover:not(.unavailable){border-color:#0c0c0c}.group-booking-form .availability-calendar .time-slots .time-slot.selected{color:#fefefe;background:#0c0c0c;border-color:#0c0c0c}.group-booking-form .availability-calendar .time-slots .time-slot.unavailable{opacity:.5;cursor:not-allowed}.group-booking-form .summary-section .summary-grid{gap:1.5rem;display:grid}.group-booking-form .summary-section .summary-grid .summary-item{border-bottom:1px solid #f4f4f4;justify-content:space-between;padding-bottom:.75rem;display:flex}.group-booking-form .summary-section .summary-grid .summary-item .summary-label{font-weight:500}.group-booking-form .summary-section .summary-grid .summary-item .summary-value{text-align:right}.group-booking-form .summary-section .total-section{border-top:2px solid #0c0c0c;margin-top:2rem;padding-top:1.5rem}.group-booking-form .summary-section .total-section .total-row{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.group-booking-form .summary-section .total-section .total-row .total-label{font-size:1.25rem;font-weight:600}.group-booking-form .summary-section .total-section .total-row .total-amount{font-size:1.5rem;font-weight:700}.group-booking-form .summary-section .total-section .deposit-info{color:#b7b8b8;margin-top:.5rem;font-size:.875rem}.group-booking-form .group-booking-completed{text-align:center;padding:3rem 2rem}.group-booking-form .group-booking-completed h3{margin-bottom:1rem;font-size:2rem}.group-booking-form .group-booking-completed p{color:#b7b8b8;font-size:1.125rem}.group-booking-form .error-message{color:#f63e3e;background:#f63e3e1a;border-radius:4px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem}.group-booking-form .loading-overlay{z-index:10;background:#fefefee6;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}
