/*****Flight page hero section****/
.flight-image-container,
.image-container {
    position: relative;
    width: 100%;
    /* max-width: 1440px; */

    overflow: hidden;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
}

.image-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.flight-image-container img {
    width: 95%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.flight-image-container picture {
    width: 100%;
    /* max-width: 1440px; */

    overflow: hidden;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
}


.overlay-text {

    position: absolute;
    top: 46%;
    left: 50%;
    transform: translate(-50%, -50%) !important;

    text-align: center;
    font-size: var(--font-size-xxxl);
    white-space: nowrap;
    font-weight: 100;
    animation: typing 4s steps(40, end) forwards, blink 0.75s step-end infinite;


}

.typing-text {
    width: 0;
    border-radius: 10px;
    padding: 5px 10px;

    color: white;
    text-align: center;
    font-size: var(--font-size-xxxl);
    background: linear-gradient(to right, #E55820, #172A80);
    overflow: hidden;
    white-space: nowrap;
    border-right: 2px solid #000;
    animation: typing 2s steps(40, end) forwards;
}

@keyframes typing {
    from {
        width: 0
    }

    to {
        width: 100%
    }
}

@keyframes blink {
    50% {
        border-color: transparent
    }
}

.bounce {
    animation: bounceIn 1s ease-out forwards;
}



/* =====================flight content ================  */


.flight-content {
    text-align: center;
    justify-items: center;
}

.flight-content h3 {
    font-size: var(--font-size-xxl);
    background: #172A80;
    color: var(--white-color);
    /* font-family: inter; */
    font-weight: 100;
    padding: 12px;
    border-radius: 11px;
}

.flight-content p {
    font-size: var(--font-size-medium);
    line-height: 25px;
    font-family: revert;
    margin: 25px 0px 0px 0px;
}

/* ============= flight middle content =============== */

.flight-middle-content h3 {
    font-size: var(--font-size-xxl);
    color: #172A80;
    font-weight: bold;
    margin: 0px 0px 0px 0px;
}

.flight-middle-content p {
    font-size: var(--font-size-medium);
    /* line-height: 20px; */
}

/* ==================== infor box alert style ===================== */
.info-box {
    background-color: #D9D9D9;
    padding: 15px;
    border: 2px solid #ED1C24;
    margin: 20px auto;
}

.info-box h3 {
    color: #ED1C24;
    font-size: var(--font-size-xxl);
}

.info-box p {
    color: #333;
    line-height: 1.5;
    font-size: var(--font-size-medium);
}

#readMoreBtn {
    background-color: transparent;
    color: #ED1C24;
    border: none;
    cursor: pointer;
    font-weight: bold;
    font-size: var(--font-size-medium);
}

/* =============== Trip Cards Section =================== */
.trip-cards {
    margin: 20px 0px 0px 0px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px;
    justify-content: center;
    animation: fadeInUp 1s ease forwards;
}

/* Entrance animation */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.trip-card {
    border-radius: 15px;
    position: relative;
    overflow: hidden;
    transition: transform 0.4s ease, box-shadow 0.4s ease;
    cursor: pointer;
}

@keyframes zoomIn {
    from {
        opacity: 0;
        transform: scale(0.9);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

/* Always floating slowly */
@keyframes floatCard {
    0% {
        transform: translateY(0px) scale(1);
    }

    100% {
        transform: translateY(-8px) scale(1.02);
    }
}

.trip-card:hover {
    transform: translateY(-10px) scale(1.03);
    box-shadow: 0 7px 9px rgba(0, 0, 0, 0.5);
}

.trip-card:hover .trip-card-img img {
    transform: scale(1.1) rotate(1deg);
}

.trip-card-img {
    width: 100%;
    
}

.trip-card-img img {
    width: 100%;
   height: 100%;
    transition: transform 0.6s ease;
}

/* Always zooming subtly */
@keyframes imagePulse {
    0% {
        transform: scale(1);
    }

    100% {
        transform: scale(1.05);
    }
}

.trip-card:hover .trip-card-img img {
    transform: scale(1.1) rotate(1deg);
}

.trip-card-title {
    height: var(--icon-size-xlarge);
    position: relative;
    background-color: #D9D9D9;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: background-color 0.4s ease;
}

.trip-card-title h3 {
    font-size: var(--font-size-xl);
    font-weight: normal;
    margin: 0;
    transition: color 0.4s ease, letter-spacing 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Hover color effect */
.trip-card:hover .trip-card-title {
    background-color: #f5f5f5;
}

.trip-card:hover .trip-card-title h3 {
    color: #ED1C24;
    letter-spacing: 2px;
}



.flight-col {
    margin: 9px 0px;
    width: 49%;
}


/*================= flight card style section  ======================*/

.flight-plane-card {
    display: flex;
    margin: 20px auto;
}


.flight-track {
    position: relative;
    /* height: 60px; */
    width: 35%;
    /* max-width: 600px; */
    /* margin: 0 auto 1rem; */
}

.flight-icon,
.arrow-combine,
.arrow-right {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    transition: all 1s ease-in-out;
    z-index: 2;
    width: 45px;
}



.arrow-combine {
    left: 15%;
    width: 70%;
    z-index: 1;
    transition: all 0.5s ease-in-out, opacity 0.5s ease-in-out;
    opacity: 1;
}

.arrow-combine.fade-out {
    opacity: 0;
    transform: translateY(-50%) scaleX(-1);
}

.arrow-right {
    right: 15%;
    z-index: 1;
    opacity: 0;
    transition: all 0.5s ease-in-out;
}

.arrow-right.show {
    opacity: 1;
    right: 0;
}

.rotate-right {
    transform: translateY(-50%) scaleX(-1);
}

.hidden {
    opacity: 0;
    transition: opacity 0.5s ease-in-out;
}

.expand-full {
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 70%;
    object-fit: contain;
}

.flight-card:hover #planeIcon {
    animation: planeMove 1s ease-in-out forwards;
}

.flight-card:hover #arrowcombine {
    animation: arrowcombineMove 1s ease-in-out forwards;
}

@keyframes planeMove {
    0% {
        left: 0%;
    }


    100% {
        left: 80%;
    }
}

@keyframes arrowcombineMove {

    0%,
    49% {
        left: 5%;
    }
/* 
    50% {
        left: 50%;
        transform: translateY(-50%) scaleX(-1);
    } */

    100% {
        opacity: 0;
    }
}

@keyframes arrowRightMove {

    0%,
    50% {
        right: 5%;
    }

    75% {
        right: 20%;
    }

    100% {
        right: 50%;
    }
}


@media (max-width: 576px) {

    .arrow-combine,
    .arrow-right {
        width: 70px;
    }

    .flight-icon {
        width: 30px;
    }
}

/* ===============resnponsive card=========================== */

@media (max-width: 992px) {
    .flight-card {
        padding: 10px;
    }

    .flight-card>.airline-info,
    .flight-card>.flight-plane-price,
    .flight-card>.flight-plane-book {
        width: auto;
        flex: 0 0 auto;
    }

    .flight-card>.flight-plane-route {
        width: 100%;
        padding: 0 10px;
    }

    .flight-track {
        width: 100%;
        margin: 10px 0;
    }

    .airline-info img {
        width: clamp(60px, 10vw, 100px);
    }

    .flight-plane-price .price {
        font-size: clamp(1.2rem, 4.5vw, 2rem);
    }

    .flight-plane-book-btn {
        font-size: clamp(0.75rem, 1.8vw, 0.95rem);
        padding: 6px 12px;
    }

    .phone-num p {
        font-size: clamp(0.75rem, 1.5vw, 0.9rem);
    }

    .arrow-combine,
    .arrow-right {
        width: clamp(50px, 10vw, 100px);
    }

    .flight-icon {
        width: clamp(25px, 5vw, 40px);
    }

    .flight-plane-departure h3,
    .flight-plane-arrival h3,
    .flight-plane-departure span,
    .flight-plane-arrival span {
        font-size: clamp(1rem, 2.5vw, 1.15rem);
    }

    .flight-plane-departure p,
    .flight-plane-arrival p,
    .flight-plane-departure small,
    .flight-plane-arrival small {
        font-size: clamp(0.75rem, 2vw, 0.95rem);
    }
}


/* flight style section */


.flight-col {
    margin: 9px 0px;
    width: 49%;

}



.flight-logo {
    text-align: center;

}

.flight-logo img {
    margin: 0px;
    height: 35px;
    text-align: left;
}


.flight-logo p {
    font-size: 13px;
    margin: 11px 0px 0px 0px;
}

.flight-info h1 {
    font-size: 23px;
    text-align: center;
    font-weight: bold;
    margin: 0px 0px 6px 0px;
}

.flight-info {
    text-align: center;
}

.flight-info h5 {
    font-size: clamp(0.875rem, 1.2vw, 1rem);
    text-align: center;
    margin: 0px;
}

.flight-info h1 span {
    margin: 0px 20px;
}

.flight-info p {
    margin: 3px;
    font-size: 13px;
}

.flight-price {
    text-align: center;

}

.flight-price h3 {
    font-size: 17px;
    margin: 0px;
}

.flight-price p {
    font-size: 13px;
    margin: 5px 0px 0px 0px;

}

.flight-price button {
    color: white;
    border: none;
    border-radius: 5px;
    padding: 4px 17px;
    cursor: pointer;
    font-size: 13px;
    margin: 0px;
}




.flight-card {

    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 30px;
    border-radius: 10px;
    border: 2px solid #D9D9D9;
    /* box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); */
    /* transition: box-shadow 0.3s ease, background-color 0.3s ease; */
    /* margin-bottom: 20px; */
}

.flight-card:hover {
    /* transform: translateY(-4px); */
    transition: transform 0.3s ease;
    cursor: pointer;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
    background: #e9e9e9;
}

.airline-info img {
    width: 100px
}

.flight-plane-route {
    flex: 1;
    display: flex;
    justify-content: space-between;
}

.flight-plane-departure,
.flight-plane-arrival {
    text-align: left;
    padding: 0px 15px;
    width: 40%;

}

.flight-plane-departure h3,
.flight-plane-arrival h3 {
    margin: 0;
    font-size: clamp(1.0625rem, 1.5vw, 1.125rem);
    font-weight: normal;
}

.flight-plane-departure p,
.flight-plane-departure small,
.flight-plane-arrival p,
.flight-plane-arrival small {
    font-size: clamp(0.875rem, 1.2vw, 1rem);
}

.flight-plane-departure span,
.flight-plane-arrival span {
    font-weight: bold;
    font-size: clamp(1.0625rem, 1.5vw, 1.125rem);
}


.luggage {
    display: flex;
}

.luggage img {
    width: 30px;

    height: 30px;
}

.luggage p {
    font-size: 12px;
    color: #172A80;
    padding: 0px 5px;
}

.c-type {
    display: flex;
}

.c-type img {
    width: 30px;

    height: 30px;
}

.c-type p {
    font-size: 12px;
    color: #172A80;
    padding: 0px 5px;
}

.phone-num {
    display: flex;
    padding: 10px 0px 0px 0px;
}

.phone-num img {

    height: 27px;
}

.phone-num p {
    font-size: 13px;
    font-weight: bold;
}




.flight-plane-book {
    text-align: center;
    min-width: clamp(1.0625rem, 1.5vw, 1.125rem);
}


.flight-plane-price {
    text-align: center;
    min-width: clamp(1.0625rem, 1.5vw, 1.125rem);
}

.flight-plane-price .from {
    color: #ff6600;
    font-style: italic;
    margin: 0;
    font-size: clamp(1.0625rem, 1.5vw, 1.125rem);
}

.flight-plane-price .price {
    font-size: clamp(26px, 26px, 30px);
    font-weight: bold;
    margin: 5px 0px;
}

.flight-plane-book-btn {
    background: #ff6600;
    color: white;
    padding: 10px 20px;
    text-decoration: none;
    border-radius: 6px;
    display: inline-block;
    font-weight: bold;
}




.MobileView {
    display: none !important;
}


/* mobile view flight plane card  */
  .plane-card-mobile {
        display: none;
    }
.flight-plane-card-mobile {
   


    padding: 12px;
    background-color: #f5f5f5;
    border: 1px solid #ccc;
    border-radius: 16px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
    text-align: center;
    min-width: 250px
}
/* .flight-plane-airline-logo-mobile{
    margin:    0 auto 10px auto;
} */

.flight-plane-airline-logo-mobile img {
    width: var(--logo-size-xlarge);
    /* margin-bottom: 10px; */
}

.flight-plane-route-title-mobile {
 display: flex
;
    justify-content: space-between;
    align-items: center;
    /* gap: 12px; */
    font-size: var(--font-size-xl);
    font-weight: bold;
    margin: 0 auto;
}


.flight-plane-route-times-mobile {
       display: flex
;
    justify-content: space-between;
}

.flight-plane-route-times-mobile .time-block {

    display: flex;
}

.flight-plane-route-times-mobile .time-block .code {
    font-size: var(--font-size-xl);
        margin: 0px;

}

.flight-plane-route-times-mobile .time-block .time {
       font-size: var(--font-size-xl);
    font-weight: bold;
    margin: 0px 0px 0px 16px;
}

.flight-plane-book-mobile .btn-book {
    background-color: #e44d26;
    color: white;
    padding: 10px 24px;
    text-decoration: none;
    border-radius: 8px;
    display: inline-block;
    font-weight: bold;
}
.flight-plane-book-mobile .phone-num p {
    font-size: 12px;
    padding-left: 5px;
}
.flight-details {


    border-radius: 6px;
    background: white;
    padding: 20px 2px 0px 36px;
    /* border: 1px solid; */
    width: 40%;
    border-radius: 5px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}


@media (max-width: 870px) {
   

    .flight-plane-card {
        display: none;
    }

    .plane-card-mobile {
        display: block !important;
    }
.luggage img {
    width: 30px;
    margin-left: -8px;
    height: 30px;
}
.phone-num img {
    height: 20px;
}
.flight-plane-icon-mobile {
    width: 180px;
}

}

@media (max-width: 767px) {
    .flight-image-container img {
        width: 100%;
    }
.flight-plane-icon-mobile {
    width: 140px;
}
   


}@media (max-width: 480px) {
   
.flight-plane-icon-mobile {
    width: 70px;
}
   


}@media (max-width: 350px) {
   
.flight-plane-icon-mobile {
    width: 50px;
}
   


}