.booking-section {
    padding: 10.625rem 5rem;
    position: relative;
}

.booking-title {
    margin-bottom: 1rem;
    color: var(--dark-base);
}
.booking-title strong { color: var(--green-accent); font-weight: 400; }

.booking-subtitle {
    color: rgba(45, 45, 45, 0.6);
    max-width: 40.75rem;
}

.ticket-wrapper {
    position: relative;
    display: flex;
    margin-top: 3.75rem;
    height: 31.25rem;
    padding-left: 14.25rem;
}

.ticket-photo {
    width: 26.5625rem;
    background: var(--white);
    border-radius: 2.5rem;
    overflow: hidden;
    position: relative;
}

.ticket-photo img:not(.line-decor) {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


.ticket-form-side {
    position: relative;
    width: 74.1875rem;
    background-color: var(--green-accent);
    border-radius: 1.875rem;
}

.booking-section .form-grid {
    display: grid;
    width: 58.75rem;
    grid-template-columns: 1fr 1fr;
    gap: 2.5rem 3.75rem;
    margin-bottom: 4rem;
    padding: 3.9375rem 0px 0px 4.875rem;
}

.form-footer{
    padding-left: 4.875rem;
}
.ticket-submit-btn .ticket-text {
    display: none; 
}

.ticket-form-side input::placeholder {
    color: var(--white); 
    opacity: 1; 
    font-size: 2rem;
}

.ticket-barcode-side{
    padding: 2.5625rem 2.25rem 2.5625rem 0;
}

.ticket-barcode-side img {
    height: 100%;
}

.ticket-punch-hole {
    position: absolute;
    left: -1.625rem;
    bottom: 0;
    width: 3.25rem;
    height: 3.875rem;
    background-color: #FBF8F0;
    border-radius: 999px 999px 0 0;
}
.form-group{
    opacity: 0.8;
}
.booking-section .btn--ticket.btn--ticket--white:hover .btn__icon-svg{
    fill: #FF7A00;
}

.booking-section .btn.btn--ticket.btn--ticket--white:hover .btn__icon .icon-swiper-arrow,
.booking-section .btn.btn--ticket.btn--ticket--white:hover .btn__icon circle{
	fill: #FBF8F0;
}

.booking-section .btn--ticket.btn--ticket--white:hover .btn__text{
    background-color: #FF7A00;
	color: #FBF8F0;
}
@media screen and (min-width: 960px) {
    .booking-section:not(.booking-section--no-clouds)::after{
        display: block;
        content: "";
        width: 54.5rem;
        height: 10.875rem;
        position: absolute;
        right: 6.4375rem;
        top: 8.8125rem;
        background-image: var(--cloud-image, none);
        background-size: cover;
        background-repeat: no-repeat;
    }
    
    .booking-section.has-custom-cloud::after {
        width: 35.5rem;
    }

    .ticket-wrapper::before{
        display: block;
        content: "";
        width: 19.5625rem;
        height: 13.0625rem;
        position: absolute;
        left: -5rem;
        top: 10.4375rem;
        background-image: url('../../../assets/images/booking-form-line.svg'); 
        background-size: cover;
        background-repeat: no-repeat;
    }

    .form-group {
        display: flex;
        flex-direction: column;
        border-bottom: 1px solid rgba(255, 255, 255, 0.3);
    }
    .booking-section .btn.btn--ticket .btn__icon{
        height: 5rem;
        width: 5.625rem;
    }
    .booking-section .btn.btn--ticket .btn__icon .icon-swiper-arrow {
        top: 2rem;
        left: 2.5rem;
    }
    .booking-section .btn.btn--ticket.btn--ticket--white .btn__text{
        height: 5rem;
    }
}

@media screen and (max-width: 959px) {

    .booking-section {
        padding: 4rem 1.875rem 10.625rem ;
        position: relative;
    }
    .booking-title {
        text-align: center;
    }

    .booking-subtitle{
        text-align: center;
    }

    .booking-section .form-grid{
        width: 100%;
        gap: 0.625rem;
    }

    .ticket-wrapper{
        position: relative;
        flex-direction: column;
        height: auto;
		width: 100%;
        padding-left: 0;
    }

    .ticket-photo{
        width: 100%;
        height: 13rem;
    }

    .ticket-form-side{
        width: 100%;
        height: auto;
    }

    .ticket-barcode-side{
        position: absolute;
        padding: 0;
        top: 1.1875rem;
        left: 1.25rem;
        height: 10.3125rem;
    }

    .form-footer{
        padding-left: 0;
    }

    .ticket-form-side{
        position: static;
    }

    .booking-section .form-grid{
        padding: 0;
        grid-template-columns: 1fr;
    }

    .ticket-form-content{
        padding: 1.875rem;
        width: 100%;
    }
    
    .ticket-punch-hole {
        left: 0;
        top: 11.5rem;
        width: 1.875rem;
        height: 1.875rem;
        border-radius: 0 999px 999px 0;
    }
    .ticket-punch-hole-right{
        position: absolute;
        background-color: #FBF8F0;
        right: 0;
        top: 11.5rem;
        width: 1.875rem;
        height: 1.875rem;
        border-radius: 999px 0 0 999px;
    }
    select {
        -webkit-appearance: none; 
    }
    .booking-container .booking-header img{
        display: none;
    }
    .ticket-submit-btn{
        width: 100%;
    }
}