
            .gic-booking-wrapper {
                --gic-font-family: "DM Sans", system-ui, sans-serif;
                --gic-primary-color: #0e131f;
                --gic-hover-color: #38405f;
                --gic-focus-color: rgba(14, 19, 31, 0.1);
                --gic-background-color: rgba(14, 19, 31, 0.05);
                
                font-family: var(--gic-font-family);
                background-color: var(--gic-background-color);
                padding: 2rem;
                border-radius: 8px;
                box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
            }

            .gic-form-group {
                margin-bottom: 1.5rem;
            }

            .gic-label {
                display: block;
                margin-bottom: 0.5rem;
                font-family: var(--gic-font-family);
                font-weight: 600;
                color: #333;
            }

            .gic-input,
            .gic-select {
                width: 100%;
                padding: 0.75rem;
                border: 2px solid #e0e0e0;
                border-radius: 6px;
                font-family: var(--gic-font-family);
                font-size: 1rem;
                font-size: max(16px, 1rem);
                color: #333;
                background-color: #fff;
                transition: all 0.3s ease;
            }

            .gic-input:focus,
            .gic-select:focus {
                outline: none;
                border-color: var(--gic-primary-color);
                box-shadow: 0 0 0 3px var(--gic-focus-color);
            }

            .gic-button {
                background-color: var(--gic-primary-color);
                color: white;
                padding: 0.75rem 1.5rem;
                border: none;
                border-radius: 6px;
                font-family: var(--gic-font-family);
                font-weight: 600;
                cursor: pointer;
                transition: all 0.3s ease;
            }

            .gic-button:hover:not(:disabled) {
                background-color: var(--gic-hover-color);
            }

            .gic-button:disabled {
                opacity: 0.6;
                cursor: not-allowed;
            }

            .gic-booking-progress {
                display: flex;
                justify-content: space-between;
                margin-bottom: 2rem;
                padding: 0 1rem;
            }

            .gic-progress-step {
                position: relative;
                flex: 1;
                text-align: center;
                padding: 0.5rem;
                font-family: var(--gic-font-family);
                font-size: 0.875rem;
                color: #666;
                border-bottom: 3px solid #e0e0e0;
                transition: all 0.3s ease;
            }

            .gic-progress-step.gic-active {
                color: var(--gic-primary-color);
                border-bottom-color: var(--gic-primary-color);
                font-weight: 600;
            }

            @media (max-width: 768px) {
                .gic-booking-progress {
                    flex-direction: column;
                    gap: 0.5rem;
                    margin-bottom: 1.5rem;
                }

                .gic-progress-step {
                    text-align: left;
                    padding: 0.5rem 0;
                }
            }

            .gic-date-input::-webkit-calendar-picker-indicator {
                color: rgba(0, 0, 0, 0.4);
                cursor: pointer;
                padding: 5px;
            }

            .gic-date-input:invalid {
                border-color: #dc3545;
            }

            .gic-date-input:invalid:focus {
                border-color: #dc3545;
                box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.1);
            }

            .gic-time-slots-title {
                margin-bottom: 1.5rem;
                font-family: var(--gic-font-family);
                font-size: 1.25rem;
            }

            .gic-time-slot-groups {
                display: flex;
                flex-direction: column;
                gap: 1.5rem;
            }

            .gic-time-slot-group {
                background: #fff;
                border-radius: 8px;
                padding: 1rem;
                box-shadow: 0 2px 4px rgba(0,0,0,0.1);
            }

            .gic-time-slot-group-header {
                margin-bottom: 1rem;
                display: flex;
                align-items: center;
                gap: 0.5rem;
            }

            .gic-time-slot-group-header h4 {
                margin: 0;
                font-family: var(--gic-font-family);
                font-size: 1.1rem;
                color: #333;
            }

            .gic-time-slot-group-header span {
                font-size: 0.875rem;
                color: #666;
                position: relative;
                padding-left: 0.5rem;
            }

            .gic-time-slot-group-header span:before {
                content: '•';
                position: absolute;
                left: -0.1rem;
                color: #999;
            }

            .gic-time-slot-group-description {
                font-size: 0.875rem;
                color: #666;
            }

            .gic-booking-wrapper .gic-time-slot-buttons {
                display: grid;
                grid-template-columns: repeat(auto-fill, minmax(112px, 1fr));
                gap: 0.875rem;
            }

            .gic-booking-wrapper button.gic-time-slot-button {
                background: #f5f5f5;
                border: 1px solid #e0e0e0;
                border-radius: 6px;
                padding: 0.65rem 0.5rem;
                font-family: var(--gic-font-family);
                color: #333;
                cursor: pointer;
                transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
                text-align: center;
                box-sizing: border-box;
                appearance: none;
                -webkit-appearance: none;
                display: flex;
                flex-direction: column;
                align-items: center;
                justify-content: center;
                gap: 5px;
                width: 100%;
                min-height: 0;
                min-width: 0;
                line-height: 1;
                margin: 0;
            }

            .gic-booking-wrapper button.gic-time-slot-button span.gic-time {
                font-size: 0.75rem;
                line-height: 1.25;
                margin: 0;
                padding: 0;
                display: block;
            }

            .gic-booking-wrapper button.gic-time-slot-button span.gic-price {
                font-size: 0.75rem;
                line-height: 1.25;
                display: block;
            }

            .gic-booking-wrapper button.gic-time-slot-button:hover {
                background: #eee;
                border-color: var(--gic-primary-color);
            }

            .gic-booking-wrapper button.gic-time-slot-button.gic-selected {
                background: var(--gic-primary-color);
                border-color: var(--gic-primary-color);
                color: white;
            }

            @media (max-width: 768px) {
                .gic-booking-wrapper .gic-time-slot-buttons {
                    grid-template-columns: repeat(auto-fill, minmax(96px, 1fr));
                    gap: 0.75rem;
                }

                .gic-booking-wrapper button.gic-time-slot-button {
                    padding: 0.6rem 0.4rem;
                }
            }

            .gic-form-actions {
                display: flex;
                justify-content: space-between;
                margin-top: 2rem;
                gap: 1rem;
            }

            .gic-button.gic-prev-step {
                background-color: #-9f5-a46-a97;
                color: white;
                border: none;
                opacity: 0.8;
                transition: opacity 0.2s ease;
            }

            .gic-button.gic-prev-step:hover {
                opacity: 1;
            }

            .gic-button.gic-next-step {
                margin-left: auto;
            }

            .gic-progress {
                position: relative;
                margin-bottom: 2rem;
            }

            .gic-progress-bar {
                position: absolute;
                top: 1.25rem;
                left: 0;
                right: 0;
                height: 2px;
                background: #e0e0e0;
                z-index: 1;
            }

            .gic-progress-fill {
                position: absolute;
                top: 0;
                left: 0;
                height: 100%;
                background: var(--gic-primary-color);
                width: 0;
                transition: width 2s cubic-bezier(0.16, 1, 0.3, 1);
            }

            .gic-progress-steps {
                position: relative;
                display: flex;
                justify-content: space-between;
                z-index: 2;
            }

            .gic-progress-step {
                display: flex;
                flex-direction: column;
                align-items: center;
                gap: 0.5rem;
            }

            .gic-step-number {
                width: 2.5rem;
                height: 2.5rem;
                border-radius: 50%;
                background: #fff;
                border: 2px solid #e0e0e0;
                display: flex;
                align-items: center;
                justify-content: center;
                font-weight: 600;
                transition: all 0.3s ease;
            }

            .gic-progress-step.gic-active .gic-step-number {
                border-color: var(--gic-primary-color);
                background: var(--gic-primary-color);
                color: white;
            }

            .gic-step-label {
                font-size: 0.875rem;
                color: #666;
            }

            .gic-progress-step.gic-active .gic-step-label {
                color: var(--gic-primary-color);
            }
        