/* Keep the extra 400/600 faces out of the site's legacy Roboto family.
   These are the same Google Fonts variable files already used by the site;
   only the aviation selectors below opt into the separate family. */
/* cyrillic-ext */
@font-face {
    font-family: 'Nordw Avia Roboto';
    font-style: normal;
    font-weight: 400 600;
    font-stretch: 100%;
    font-display: swap;
    src: url('https://fonts.gstatic.com/s/roboto/v51/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3GUBGEe.woff2') format('woff2');
    unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

/* cyrillic */
@font-face {
    font-family: 'Nordw Avia Roboto';
    font-style: normal;
    font-weight: 400 600;
    font-stretch: 100%;
    font-display: swap;
    src: url('https://fonts.gstatic.com/s/roboto/v51/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3iUBGEe.woff2') format('woff2');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* latin-ext, including the ruble sign */
@font-face {
    font-family: 'Nordw Avia Roboto';
    font-style: normal;
    font-weight: 400 600;
    font-stretch: 100%;
    font-display: swap;
    src: url('https://fonts.gstatic.com/s/roboto/v51/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3KUBGEe.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
    font-family: 'Nordw Avia Roboto';
    font-style: normal;
    font-weight: 400 600;
    font-stretch: 100%;
    font-display: swap;
    src: url('https://fonts.gstatic.com/s/roboto/v51/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Layout: every aviation section uses the site's responsive .container.
   Children stay in normal flow; no section-specific widths or offsets. */
.avia-route-page__top {
    margin-bottom: 40px;
}

/* The route container already provides the gap before the next section. */
.avia-route-page__top .disc-line--avia {
    margin-bottom: 0;
}

/* Closed off-canvas submenus must not enlarge the document at tablet widths. */
.menu-mobile.collapsed .submenu {
    display: none;
}

.avia-route-page__intro,
.avia-route-article__text,
.avia-route-content__text {
    color: #2b373d;
    font: 300 16px/26px Roboto, sans-serif;
    overflow-wrap: anywhere;
}

.avia-route-page__intro {
    margin-bottom: 8px;
}

.page-text.avia-route-page__intro,
.page-text.avia-route-article__text {
    padding-bottom: 0;
}

.page-text.avia-route-page__intro p,
.page-text.avia-route-article__text p,
.avia-route-content__text p {
    margin: 0;
    font-size: 16px;
    line-height: 30px;
}

.page-text.avia-route-page__intro p + p,
.avia-route-content__text p + p {
    margin-top: 26px;
}

.avia-route-content__block {
    padding: 38px 0 0;
    background: #fff;
}

.avia-route-content__block--schedule {
    padding: 0 0 40px;
}

.avia-route-content__block--delivery {
    padding: 44px 0 32px;
}

.avia-route-content__block--additional_services {
    padding: 32px 0;
}

.avia-route-content__block--additional_services:last-child {
    padding-bottom: 44px;
}

.avia-route-content__title,
.avia-route-tariffs__title {
    margin: 0 0 32px;
    color: #000;
    font: 600 24px/28px Roboto, sans-serif;
    text-align: left;
}

.avia-route-content__subtitle {
    margin-bottom: 16px;
    font: 400 18px/1.4 Roboto, sans-serif;
}

.avia-route-content__text + .avia-route-content__text {
    margin-top: 16px;
}

.avia-route-tariffs {
    padding: 0 0 40px;
    background: #fff;
}

/* Only the table has its own reading width and horizontal scroll area. */
.avia-route-tariffs__viewport {
    width: 100%;
    max-width: 934px;
    margin: 16px 0;
    overflow-x: auto;
    outline-offset: 3px;
    -webkit-overflow-scrolling: touch;
}

.avia-route-tariffs__viewport:first-child {
    margin-top: 0;
}

.avia-route-tariffs__viewport:last-child {
    margin-bottom: 0;
}

.avia-route-tariffs__viewport:focus-visible {
    outline: 2px solid #ec8b22;
}

.avia-route-tariffs__table {
    width: 934px;
    border-collapse: collapse;
    table-layout: auto;
    color: #000;
    font-family: Roboto, sans-serif;
}

.avia-route-tariffs__table th,
.avia-route-tariffs__table td {
    padding: 5px;
    font-size: 15px;
    line-height: 18px;
    text-align: center;
    vertical-align: middle;
    border: 1px solid #cfd9de;
}

.avia-route-tariffs__table th {
    height: 37px;
    font-weight: 600;
    overflow-wrap: normal;
    background: #dff1fb;
}

.avia-route-tariffs__table tbody tr {
    height: 28px;
}

.avia-route-tariffs__table td {
    height: auto;
    padding-top: 4px;
    padding-bottom: 4px;
    font-weight: 300;
    overflow-wrap: anywhere;
    background: #fff;
}

.avia-route-tariffs__table td:first-child {
    font-weight: 600;
}

.avia-route-tariffs__airline-name {
    display: block;
}

.avia-route-tariffs__table th:nth-child(1) {
    width: 32%;
}

.avia-route-tariffs__table th:nth-child(2),
.avia-route-tariffs__table th:nth-child(4),
.avia-route-tariffs__table th:nth-child(5) {
    width: 16%;
}

.avia-route-tariffs__table th:nth-child(3) {
    width: 20%;
}

.avia-route-tariffs__mobile-value {
    display: none;
}

.avia-route-article {
    padding: 40px 0 0;
}

.avia-route-request {
    min-height: 420px;
}

.avia-route-faq {
    margin-bottom: 40px;
    padding: 0;
    font-family: Roboto, sans-serif;
}

.avia-route-faq__panel {
    padding: 30px 34px 18px;
    background: #f4f7f8;
}

.avia-route-faq__title {
    margin: 0;
    color: #000;
    font-size: 24px;
    font-weight: 600;
    text-align: left;
}

.avia-route-faq__list {
    margin-top: 3px;
}

.avia-route-faq__item {
    border-bottom: 1px solid #cfd9de;
}

.avia-route-faq__item:last-child {
    border-bottom: 0;
}

.avia-route-faq__toggle {
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr);
    align-items: center;
    gap: 20px;
    width: 100%;
    min-height: 52px;
    padding: 6px 0;
    color: #265daf;
    font: inherit;
    text-align: left;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.avia-route-faq__toggle:focus-visible {
    outline: 2px solid #ec8b22;
    outline-offset: 4px;
}

.avia-route-faq__arrow {
    position: relative;
    width: 20px;
    height: 20px;
}

.avia-route-faq__arrow::before {
    position: absolute;
    top: 5px;
    left: 6px;
    width: 7px;
    height: 7px;
    content: '';
    border-right: 2px solid #839096;
    border-bottom: 2px solid #839096;
    transform: rotate(-45deg);
    transition: transform 180ms ease, top 180ms ease;
}

.avia-route-faq__toggle[aria-expanded='true'] .avia-route-faq__arrow::before {
    top: 3px;
    transform: rotate(45deg);
}

.avia-route-faq__question {
    color: #265daf;
    font-size: 16px;
    font-weight: 600;
    line-height: 20px;
}

.avia-route-faq__answer {
    padding: 0 0 16px 40px;
    color: #000;
    font-size: 16px;
    font-weight: 300;
    line-height: 20px;
}

.avia-route-faq__answer[hidden] {
    display: none;
}

.avia-route-faq__answer p {
    margin: 0 0 10px;
}

.avia-route-faq__answer p:last-child {
    margin-bottom: 0;
}

.avia-route-content__title,
.avia-route-content__subtitle,
.avia-route-tariffs__title,
.avia-route-tariffs__table th,
.avia-route-tariffs__table td:first-child,
.avia-route-faq__title,
.avia-route-faq__question {
    font-family: 'Nordw Avia Roboto', Roboto, sans-serif;
}

@media (min-width: 768px) {
    .avia-route-tariffs__table {
        width: 100%;
    }
}

@media (max-width: 767px) {
    .avia-route-page__intro,
    .avia-route-article__text,
    .avia-route-content__text {
        font-size: 14px;
    }

    .avia-route-content__block {
        padding: 48px 0 0;
    }

    .avia-route-content__block--schedule {
        padding: 0 0 30px;
    }

    .avia-route-content__block--delivery {
        padding: 38px 0 24px;
    }

    .avia-route-content__block--additional_services {
        padding: 24px 0;
    }

    .avia-route-content__block--additional_services:last-child {
        padding-bottom: 38px;
    }

    .avia-route-content__title,
    .avia-route-tariffs__title {
        margin-bottom: 24px;
        font-size: 24px;
    }

    .avia-route-tariffs {
        padding-bottom: 30px;
    }

    .avia-route-tariffs__desktop-value {
        display: none;
    }

    .avia-route-tariffs__mobile-value {
        display: inline;
    }

    .avia-route-page__top {
        margin-bottom: 30px;
    }

    .avia-route-article {
        padding-top: 30px;
    }

    .avia-route-faq {
        margin-bottom: 30px;
    }

    .avia-route-faq__panel {
        padding: 30px 34px 22px;
    }

    .avia-route-faq__toggle {
        align-items: start;
        padding: 12px 0;
    }
}

/* The calculator's own CSS switches radio layout at 768px while its columns
   switch at 767px. Close that one-pixel gap so both destination controls fit. */
@media (min-width: 768px) and (max-width: 768px) {
    .avia-route-page__top .app-avia .avia-form-cols {
        flex-wrap: wrap;
    }

    .avia-route-page__top .app-avia .avia-form-cols__item {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .avia-route-faq__arrow::before {
        transition: none;
    }
}
