/**
 * B2C Site Footer — Flighta (Figma "Filghta": desktop 1440 frame, mobile 430 frame)
 * Scoped to footer.flighta-footer so legacy new_style.css `footer …` rules don't leak in.
 * Vertical offsets are derived from Kumbh Sans metrics (ascent .986, descent .254, cap .732)
 * so cap tops land where the design puts them.
 */
@import url("https://fonts.googleapis.com/css2?family=Kumbh+Sans:wght@100..900&display=swap");

footer.flighta-footer {
    --ftr-bg: #000000;
    --ftr-text: #FFFFFF;
    --ftr-link: #E1E1E1;
    --ftr-muted: #A7A7A7;
    --ftr-accent: #F3AD59;
    --ftr-social-bg: #262D28;
    --ftr-icon-bg: #292929;
    --ftr-placeholder: #82828A;
    --ftr-font: "Kumbh Sans", "Segoe UI", system-ui, -apple-system, sans-serif;

    background: var(--ftr-bg);
    padding: 54px 114px;
    font-family: var(--ftr-font);
    color: var(--ftr-text);
}

footer.flighta-footer *,
footer.flighta-footer *::before,
footer.flighta-footer *::after {
    box-sizing: border-box;
}

footer.flighta-footer .flighta-footer__inner {
    display: grid;
    grid-template-columns: 331fr 230fr 406fr 245fr;
    max-width: 1212px;
    margin: 0 auto;
}

footer.flighta-footer .flighta-footer__col {
    min-width: 0;
}

/* Headings — cap top 80px from the footer's top edge */
footer.flighta-footer .flighta-footer__title {
    margin: 21px 0 0;
    padding: 0;
    font-family: var(--ftr-font);
    font-size: 19px;
    font-weight: 725;
    line-height: 24px;
    text-align: left;
    color: var(--ftr-text);
}

footer.flighta-footer .flighta-footer__col--newsletter .flighta-footer__title {
    font-size: 20px;
    font-weight: 640;
}

footer.flighta-footer .flighta-footer__col--contact .flighta-footer__title {
    margin-top: 22.5px;
}

/* Brand */
footer.flighta-footer .flighta-footer__logo {
    display: inline-block;
    line-height: 0;
}

footer.flighta-footer .flighta-footer__logo img {
    display: block;
    width: 130px;
    height: 68px;
    max-width: none;
}

footer.flighta-footer .flighta-footer__desc {
    max-width: 255px;
    margin: 5px 0 0;
    font-family: var(--ftr-font);
    font-size: 16px;
    font-weight: 325;
    line-height: 28.8px;
    text-align: left;
    color: var(--ftr-text);
}

footer.flighta-footer .flighta-footer__social {
    display: flex;
    align-items: center;
    gap: 9.5px;
    margin: 36px 0 0;
    padding: 0;
}

footer.flighta-footer .flighta-footer__social li {
    margin: 0;
}

footer.flighta-footer .flighta-footer__social a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 39.5px;
    height: 39.5px;
    border-radius: 50%;
    background: var(--ftr-social-bg);
    color: #FEFEFF;
    font-size: 13px;
    line-height: 1;
    text-decoration: none;
    transition: background 0.15s ease, color 0.15s ease;
}

footer.flighta-footer .flighta-footer__social a:hover,
footer.flighta-footer .flighta-footer__social a:focus {
    background: var(--ftr-accent);
    color: var(--ftr-bg);
}

/* Pages */
footer.flighta-footer .flighta-footer__links {
    display: block;
    margin: 21.3px 0 0;
    padding: 0;
}

footer.flighta-footer .flighta-footer__links li {
    margin: 0;
}

footer.flighta-footer .flighta-footer__links a {
    display: inline-block;
    font-family: var(--ftr-font);
    font-size: 15.5px;
    font-weight: 370;
    line-height: 36.75px;
    color: var(--ftr-link);
    text-decoration: none;
    transition: color 0.15s ease;
}

footer.flighta-footer .flighta-footer__links a:hover,
footer.flighta-footer .flighta-footer__links a:focus {
    color: var(--ftr-accent);
}

/* Newsletter */
footer.flighta-footer .flighta-footer__lead {
    max-width: 331px;
    margin: 23.9px 0 0;
    font-family: var(--ftr-font);
    font-size: 16px;
    font-weight: 235;
    line-height: 27px;
    text-align: left;
    color: var(--ftr-text);
    opacity: 1;
}

footer.flighta-footer .flighta-footer__form {
    display: flex;
    align-items: stretch;
    width: 100%;
    max-width: 331px;
    height: 60.5px;
    margin: 29.6px 0 0;
    border-radius: 8px;
    overflow: hidden;
}

footer.flighta-footer .flighta-footer__input {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
    height: 100%;
    margin: 0;
    padding: 0 12px 0 18px;
    border: 0;
    border-radius: 0;
    background: #FFFFFF;
    font-family: var(--ftr-font);
    font-size: 14px;
    font-weight: 380;
    color: #000000;
    box-shadow: none;
    outline: none;
}

footer.flighta-footer .flighta-footer__input::placeholder {
    color: var(--ftr-placeholder);
    opacity: 1;
}

footer.flighta-footer .flighta-footer__submit {
    flex: 0 0 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: var(--ftr-accent);
    color: #FFFFFF;
    font-size: 16px;
    line-height: 1;
    cursor: pointer;
    transition: background 0.15s ease;
}

footer.flighta-footer .flighta-footer__submit:hover,
footer.flighta-footer .flighta-footer__submit:focus {
    background: #E89A3C;
    outline: none;
}

footer.flighta-footer .flighta-footer__submit.is-loading,
footer.flighta-footer .flighta-footer__submit:disabled {
    opacity: 0.7;
    cursor: wait;
}

footer.flighta-footer .flighta-footer__agree {
    margin: 10px 0 0;
    padding-left: 24px;
    font-family: var(--ftr-font);
    font-size: 15px;
    font-weight: 520;
    line-height: 20px;
}

footer.flighta-footer .flighta-footer__agree a {
    color: var(--ftr-text);
    text-decoration: none;
}

footer.flighta-footer .flighta-footer__agree a:hover,
footer.flighta-footer .flighta-footer__agree a:focus {
    color: var(--ftr-accent);
}

/* Contact */
footer.flighta-footer .flighta-footer__contact {
    display: flex;
    flex-direction: column;
    gap: 25px;
    margin-top: 36.5px;
}

footer.flighta-footer .flighta-footer__contact-item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

footer.flighta-footer .flighta-footer__icon {
    flex: 0 0 43px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 43px;
    height: 43px;
    border-radius: 50%;
    background: var(--ftr-icon-bg);
    color: var(--ftr-accent);
    font-size: 15px;
    line-height: 1;
}

/* FA5 `fa-phone` is mirrored compared to the design's handset */
footer.flighta-footer .flighta-footer__icon .fa-phone {
    transform: scaleX(-1);
}

footer.flighta-footer .flighta-footer__contact-text {
    min-width: 0;
    margin-top: -3.25px;
}

footer.flighta-footer .flighta-footer__contact-text h6 {
    margin: 0 0 4.25px;
    padding: 0;
    font-family: var(--ftr-font);
    font-size: 13px;
    font-weight: 555;
    line-height: 16px;
    color: var(--ftr-muted);
}

footer.flighta-footer .flighta-footer__value {
    display: block;
    font-family: var(--ftr-font);
    font-size: 15px;
    line-height: 24px;
    color: var(--ftr-text);
    text-decoration: none;
    overflow-wrap: anywhere;
}

footer.flighta-footer .flighta-footer__value--phone { font-weight: 400; }
footer.flighta-footer .flighta-footer__value--email { font-weight: 600; }
footer.flighta-footer .flighta-footer__value--address { font-weight: 500; max-width: 245px; }

footer.flighta-footer a.flighta-footer__value:hover,
footer.flighta-footer a.flighta-footer__value:focus {
    color: var(--ftr-accent);
}

/* Narrower desktops / tablets */
@media (max-width: 1279px) {
    footer.flighta-footer {
        padding-left: 48px;
        padding-right: 48px;
    }
}

@media (max-width: 991px) and (min-width: 768px) {
    footer.flighta-footer .flighta-footer__inner {
        grid-template-columns: 1fr 1fr;
        row-gap: 40px;
        column-gap: 32px;
    }
}

/* Mobile — matches the 430px frame: centred single column, brand → pages → contact → newsletter */
@media (max-width: 767px) {
    footer.flighta-footer {
        padding: 54px 16px;
    }

    footer.flighta-footer .flighta-footer__inner {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    footer.flighta-footer .flighta-footer__col {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    footer.flighta-footer .flighta-footer__col--brand { order: 1; }
    footer.flighta-footer .flighta-footer__col--pages { order: 2; }
    footer.flighta-footer .flighta-footer__col--contact { order: 3; }
    footer.flighta-footer .flighta-footer__col--newsletter { order: 4; }

    /* Not part of the mobile design */
    footer.flighta-footer .flighta-footer__desc,
    footer.flighta-footer .flighta-footer__social,
    footer.flighta-footer .flighta-footer__agree {
        display: none;
    }

    footer.flighta-footer .flighta-footer__title {
        text-align: center;
    }

    footer.flighta-footer .flighta-footer__col--pages .flighta-footer__title {
        margin-top: 47.5px;
    }

    footer.flighta-footer .flighta-footer__links {
        margin-top: 5.85px;
    }

    footer.flighta-footer .flighta-footer__links a {
        line-height: 39.75px;
    }

    footer.flighta-footer .flighta-footer__col--contact .flighta-footer__title {
        margin-top: 44.4px;
    }

    footer.flighta-footer .flighta-footer__contact {
        align-items: center;
        gap: 19.5px;
        margin-top: 16.5px;
    }

    footer.flighta-footer .flighta-footer__contact-item {
        flex-direction: column;
        align-items: center;
        gap: 0;
    }

    footer.flighta-footer .flighta-footer__contact-text {
        margin-top: 15.25px;
        text-align: center;
    }

    footer.flighta-footer .flighta-footer__value--address {
        max-width: 186px;
        margin: 0 auto;
    }

    footer.flighta-footer .flighta-footer__col--newsletter .flighta-footer__title {
        margin-top: 49.4px;
    }

    footer.flighta-footer .flighta-footer__lead {
        margin-top: 11.5px;
        text-align: center;
    }

    footer.flighta-footer .flighta-footer__form {
        margin-top: 12.6px;
    }
}
