/* -- BOOKING FORM — ZUM / VOM FLUGHAFEN -- */

.booking-form-full-section {
    padding: 4rem 0;
    background: var(--gray-50);
}

.booking-form-full-section .form-outer {
    max-width: 900px;
    margin: 0 auto;
}

.booking-form-full-section .form-outer .form-main-card {
    position: relative;
    background: var(--white);
    border-radius: var(--radius);
    padding: 2.5rem;
    box-shadow: var(--shadow-xl);
    border: 1px solid var(--gray-200);
}

.booking-form-full-section .form-outer .form-main-card .form-main-title {
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--primary);
    margin-bottom: 2rem;
}

.booking-form-full-section .form-outer .form-main-card .form-section-block {
    background: var(--gray-50);
    border-radius: 0.75rem;
    padding: 1.75rem;
    border: 1px solid var(--gray-200);
    margin-bottom: 1.5rem;
}

.booking-form-full-section .form-outer .form-main-card .form-section-block .form-section-block-title {
    font-size: 1.2rem;
    font-weight: 500;
    color: var(--primary);
    margin-bottom: 1.25rem;
}

.form-section-block .wrapper-additional-address-title{
    margin-bottom: 1rem;
}

.booking-form-full-section .form-outer #row-additional-address-1, 
.booking-form-full-section .form-outer #row-additional-address-2, 
.booking-form-full-section .form-outer #row-additional-address-3{
    display: none;
}

.booking-form-full-section .form-outer #additional-address-part .form-single-row{
    display: flex;
    align-items: center;
    gap: 1rem;
}

.booking-form-full-section .form-outer #additional-address-part .form-single-row label{
    white-space: nowrap;
    margin-bottom: 0;
}

.booking-form-full-section .form-outer #additional-address-part .form-single-row .dropdown-search-additional-place{
    flex: 0 1 120px;
}

.booking-form-full-section .form-outer .form-main-card .form-flex-row {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 1rem;
}

.booking-form-full-section .form-outer .form-main-card .form-flex-row:last-child {
    margin-bottom: 0;
}

.booking-form-full-section .form-outer .form-main-card .form-flex-row .form-field {
    flex: 1 1 250px;
}

.booking-form-full-section .form-outer .form-main-card .form-flex-row .form-field-md {
    flex: 1 1 calc(33.33% - 1rem);
}

.booking-form-full-section .form-outer .form-main-card .form-flex-row .form-field-sm {
    flex: 1 0 calc(25% - 1rem);
}

.booking-form-full-section .form-outer .form-main-card .form-flex-row .form-field label,
.booking-form-full-section .form-outer .form-main-card .form-flex-row .form-field-sm label,
.booking-form-full-section .form-outer .form-main-card .form-flex-row .form-field-md label{
    display: block;
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--primary);
    margin-bottom: 0.4rem;
}

.booking-form-full-section .form-outer .form-main-card .form-flex-row .form-field label .req,
.booking-form-full-section .form-outer .form-main-card .form-flex-row .form-field-sm label .req,
.booking-form-full-section .form-outer .form-main-card .form-flex-row .form-field-md label .req {
    color: #ef4444;
}

.booking-form-full-section .form-outer .form-main-card .form-single-row {
    margin-bottom: 1rem;
}

.booking-form-full-section .form-outer .form-main-card .form-single-row label {
    display: block;
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--primary);
    margin-bottom: 0.4rem;
}

/* Toggle switch */
.toggle-row {
    display: flex;
    align-items: center;
    gap: 0.875rem;
    margin-bottom: 1rem;
}

.toggle-switch {
    position: relative;
    display: inline-block;
    width: 3.5rem;
    height: 1.75rem;
    flex-shrink: 0;
}

.toggle-switch input {
    opacity: 0;
    width: 0;
    height: 0;
    position: absolute;
}

.toggle-slider {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: var(--gray-200);
    border-radius: 50px;
    cursor: pointer;
    transition: background-color 0.3s;
}

.toggle-slider::before {
    content: '';
    position: absolute;
    width: 1.375rem;
    height: 1.375rem;
    left: 0.2rem;
    top: 0.2rem;
    background: var(--white);
    border-radius: 50%;
    transition: transform 0.3s;
    box-shadow: 0 1px 4px rgba(0,0,0,0.2);
}

.toggle-switch input:checked + .toggle-slider {
    background: var(--accent);
}

.toggle-switch input:checked + .toggle-slider::before {
    transform: translateX(1.625rem);
}

.toggle-row .toggle-label {
    font-weight: 500;
    color: var(--primary);
    font-size: 0.95rem;
    cursor: pointer;
}

#meet-greet-info{
    margin-bottom: 0.5rem;
    line-height: 1.4;
    font-size: .85rem;
}

/* Collapsible sections */
.collapsible-section {
    display: none;
    margin-top: 1rem;
}

.collapsible-section.open {
    display: block;
}

/* Rückfahrt dashed block */
.form-section-block.dashed {
    border: 2px dashed var(--gray-200);
    background: var(--gray-50);
}

/* Price summary block */
.price-summary-block {
    background: var(--gray-50);
    border-radius: 0.75rem;
    padding: 1.75rem;
    border: 1px solid var(--gray-200);
    margin-bottom: 1.5rem;
}

.price-summary-block .price-line {
    font-size: 1.35rem;
    font-weight: 700;
    color: var(--primary);
    margin-bottom: 0.4rem;
}

.price-summary-block .price-line span {
    color: var(--accent);
}

.price-summary-block .price-total {
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--primary);
    margin-bottom: 0.75rem;
}

.price-summary-block .price-total span {
    color: var(--accent);
}

.price-summary-block .price-note {
    font-size: 0.85rem;
    color: var(--gray-600);
    margin-bottom: 0.75rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--gray-200);
}

.price-summary-block .price-agb {
    font-size: 0.8rem;
    color: var(--gray-600);
    line-height: 1.6;
}

.price-summary-block .price-agb a {
    color: var(--accent);
}

/* .loading-icon{
    display: none;
    animation-play-state: paused;
    position: relative;
    bottom: 5rem;
    left: 50%;
    transform: translateX(-50%) rotateZ(0deg);
    width: 3rem;
    z-index: 9999999;
    animation: rotate_loader 2s linear infinite;
} */

/* @keyframes rotate_loader {
    0%{
        transform: translateX(-50%) rotateZ(0deg);
    }
    100%{
        transform: translateX(-50%) rotateZ(360deg);
    }
} */

/* Info box blue */
.info-box-blue {
    background: #eff6ff;
    border-radius: var(--radius);
    padding: 2.5rem;
    border: 1px solid #bfdbfe;
}

.info-box-blue h2 {
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--primary);
    margin-bottom: 1.5rem;
}

.info-box-blue ul {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.info-box-blue ul li {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    color: var(--gray-700);
    line-height: 1.6;
}

.info-box-blue ul li svg {
    width: 1.5rem;
    height: 1.5rem;
    color: var(--accent);
    flex-shrink: 0;
    margin-top: 0.1rem;
}

.wichtige-info-section {
    padding: 4rem 0;
    background: var(--white);
}

.wichtige-info-section .info-inner {
    max-width: 900px;
    margin: 0 auto;
}

/* Responsive form */
@media screen and (max-width: 767px) {
    .booking-form-full-section .form-outer .form-main-card {
        padding: 1.5rem;
    }
    .booking-form-full-section .form-outer .form-main-card .form-section-block{
        padding: 1.2rem;
    }
    .booking-form-full-section .form-outer .form-main-card .form-flex-row .form-field-md{
        flex: 1 1 calc(50% - 1rem);
    }
}

@media screen and (max-width: 575px) {
    .booking-form-full-section .form-outer .form-main-card .form-flex-row .form-field-md{
        flex: 1 1 calc(100% - 1rem);
    }
}