.group-booking-section{padding:2rem 0;min-height:60vh}.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{background-color:#fff;border-color:#0c0c0c;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{font-size:.875rem;color:#b7b8b8}.group-booking-form .auth-required-box{padding:2rem;background-color:#f8f9fa;margin:1.5rem auto}.group-booking-form .auth-required-box h3{margin-bottom:1.5rem;color:#212529}.group-booking-form .auth-required-box p{margin-bottom:2rem;color:#6c757d;font-size:1.1rem}.group-booking-form .form-section{background:#fff;border:1px solid #f4f4f4;padding:2rem;margin-bottom: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{display:grid;gap:1.5rem;grid-template-columns:repeat(2,1fr)}@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{display:flex;gap:1rem;justify-content:space-between;margin-top:2rem;padding-top:2rem;border-top:1px solid #f4f4f4}.group-booking-form .form-section .form-actions button:disabled{opacity:.5;cursor:not-allowed}.group-booking-form .info-box{background:#f4f4f4;padding:1rem 1.5rem;margin-bottom: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{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin:2rem 0}@media(max-width:768px){.group-booking-form .guide-options-grid{grid-template-columns:1fr}}.group-booking-form .guide-options-grid .guide-option-tile{border:2px solid #e5e5e5;border-radius:12px;padding:2rem;cursor:pointer;background:#fff;position:relative;overflow:hidden;width:100%;text-align:left;font-family:inherit;font-size:inherit;color:inherit}.group-booking-form .guide-options-grid .guide-option-tile:hover{border-color:#d0d0d0;box-shadow:0 4px 12px rgba(0,0,0,.08)}.group-booking-form .guide-options-grid .guide-option-tile.selected{border-color:#0c0c0c;background:linear-gradient(180deg,#fafafa,#f5f5f5)}.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:3px solid rgba(12,12,12,.2);outline-offset:2px}.group-booking-form .guide-options-grid .guide-option-tile:focus-visible{outline:3px solid rgba(12,12,12,.3);outline-offset:2px}.group-booking-form .guide-options-grid .guide-option-tile .guide-option-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.group-booking-form .guide-options-grid .guide-option-tile .guide-option-header h4{margin:0;font-size:1.125rem;font-weight:600;color:#0c0c0c}.group-booking-form .guide-options-grid .guide-option-tile .guide-option-radio .radio-outer{width:24px;height:24px;border:2px solid #0c0c0c;border-radius:50%;display:flex;align-items:center;justify-content:center}.group-booking-form .guide-options-grid .guide-option-tile .guide-option-radio .radio-inner{width:8px;height:8px;background:#fff;border-radius:50%;display:none}.group-booking-form .guide-options-grid .guide-option-tile .guide-option-description{color:#666;font-size:.95rem;line-height:1.5;margin:0 0 1.5rem}.group-booking-form .guide-options-grid .guide-option-tile .guide-option-price{border-top:1px solid #eee;padding-top:1rem;margin-top:auto}.group-booking-form .guide-options-grid .guide-option-tile .guide-option-price .price-amount{display:block;font-size:1.5rem;font-weight:700;color:#0c0c0c;margin-bottom:.25rem}.group-booking-form .guide-options-grid .guide-option-tile .guide-option-price .price-detail{font-size:.875rem;color:#666}.group-booking-form .pricing-summary{background:#f8f8f8;padding:1.5rem;margin:2rem 0}.group-booking-form .pricing-summary .pricing-info .pricing-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0}.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{font-weight:500;color:#333}.group-booking-form .pricing-summary .pricing-info .pricing-row .pricing-value{font-weight:600;font-size:1.125rem;color:#0c0c0c}.group-booking-form .pricing-options{display:grid;gap:1rem;margin-top:1.5rem}.group-booking-form .pricing-options .pricing-option{border:2px solid #f4f4f4;border-radius:8px;padding:1.5rem;cursor:pointer;transition:all .2s ease}.group-booking-form .pricing-options .pricing-option:hover{border-color:#0c0c0c}.group-booking-form .pricing-options .pricing-option.selected{border-color:#0c0c0c;background:rgba(244,244,244,.3)}.group-booking-form .pricing-options .pricing-option.recommended{position:relative}.group-booking-form .pricing-options .pricing-option.recommended .recommended-badge{position:absolute;top:-12px;right:1rem;background:#0c0c0c;color:#fefefe;padding:.25rem .75rem;font-size:.75rem;border-radius:4px;text-transform:uppercase}.group-booking-form .pricing-options .pricing-option .pricing-title{font-weight:500;margin-bottom:.5rem}.group-booking-form .pricing-options .pricing-option .pricing-amount{font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.group-booking-form .pricing-options .pricing-option .pricing-details{font-size:.875rem;color:#b7b8b8}.group-booking-form .availability-calendar{margin-top:1.5rem}.group-booking-form .availability-calendar .time-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.75rem;margin-top:1rem}.group-booking-form .availability-calendar .time-slots .time-slot{padding:.75rem;border:1px solid #f4f4f4;border-radius:4px;text-align:center;cursor:pointer;transition:all .2s ease}.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{background:#0c0c0c;color:#fefefe;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{display:grid;gap:1.5rem}.group-booking-form .summary-section .summary-grid .summary-item{display:flex;justify-content:space-between;padding-bottom:.75rem;border-bottom:1px solid #f4f4f4}.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{margin-top:2rem;padding-top:1.5rem;border-top:2px solid #0c0c0c}.group-booking-form .summary-section .total-section .total-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.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{font-size:.875rem;color:#b7b8b8;margin-top:.5rem}.group-booking-form .group-booking-completed{text-align:center;padding:3rem 2rem}.group-booking-form .group-booking-completed h3{font-size:2rem;margin-bottom:1rem}.group-booking-form .group-booking-completed p{font-size:1.125rem;color:#b7b8b8}.group-booking-form .error-message{background:rgba(246,62,62,.1);color:#f63e3e;padding:.75rem 1rem;border-radius:4px;margin-bottom:1rem;font-size:.875rem}.group-booking-form .loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(254,254,254,.9);display:flex;align-items:center;justify-content:center;z-index:10}