/* L2 Amadeus information page — isolated visual layer */

body:has(.description) {
    color: #d9e2ea;
    background-color: #03070c;
    background-image:
        linear-gradient(180deg, transparent 0%, transparent 44rem, rgba(3, 7, 12, .45) 76rem),
        radial-gradient(circle at 68% 16rem, rgba(44, 151, 210, .12), transparent 34rem);
    background-position: center top;
    background-size: 100% 100%;
    background-repeat: no-repeat;
    background-attachment: scroll;
}

body:has(.description) .wrapper {
    position: relative;
    background: linear-gradient(180deg, transparent 0, transparent 44rem, rgba(3, 7, 12, .45) 70rem);
}

body:has(.description) .header {
    top: 0;
    border-bottom: 1px solid rgba(80, 170, 255, .1);
    background: linear-gradient(180deg, rgba(5, 15, 28, .3), rgba(5, 15, 28, .08));
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    box-shadow: 0 10px 28px rgba(0, 8, 16, .08);
}

body:has(.description) .header__logo-icon img {
    object-fit: contain;
    filter: drop-shadow(0 0 12px rgba(80, 192, 255, .18));
}

body:has(.description) .home {
    min-height: clamp(34rem, 72vh, 48rem);
    margin-bottom: 0;
    padding: 8rem 0 4.5rem;
    background-color: #03070c;
    background-image: url("../img/home/amadeus-hero-desktop.webp");
    background-position: 58% top;
    background-repeat: no-repeat;
    background-size: 110% auto;
}

body:has(.description) .home::before {
    background:
        linear-gradient(90deg, rgba(4, 9, 16, .45) 0%, rgba(4, 10, 18, .35) 40%, rgba(3, 8, 15, .18) 72%, rgba(3, 7, 13, .3) 100%),
        
        linear-gradient(180deg, rgba(2, 6, 12, .42) 0%, transparent 30%, rgba(3, 8, 15, .25) 72%, rgba(3, 7, 12, .62) 100%);
}

body:has(.description) .home::after {
    opacity: .2;
}

body:has(.description) .home__logo {
    top: auto;
    width: min(100%, 31rem);
    margin-bottom: 1.5rem;
    transform: none;
}

body:has(.description) .home__logo:hover {
    transform: scale(1.015);
}

body:has(.description) .home__info {
    max-width: 48rem;
    margin-bottom: 2rem;
}

body:has(.description) .home__info p {
    color: #b6c7d4;
    font-size: clamp(.95rem, 1.35vw, 1.15rem);
    font-weight: 400;
    line-height: 1.75;
    text-shadow: 0 2px 12px rgba(0, 0, 0, .88);
}

body:has(.description) .home__start {
    min-width: 13.75rem;
    min-height: 3.75rem;
    padding: .9rem 1.5rem;
    border: 1px solid transparent;
    color: #07111a;
    background-color: #79deff;
    background-image: linear-gradient(135deg, #a6edff 0%, #42c8ff 55%, #2797d0 100%);
    box-shadow: 0 10px 32px rgba(32, 159, 218, .2), inset 0 1px 0 rgba(255, 255, 255, .65);
    font-size: .9rem;
    letter-spacing: .1em;
    transition: transform 250ms ease, border-color 250ms ease, color 250ms ease, box-shadow 250ms ease, background-color 250ms ease;
}

body:has(.description) .home__start:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 38px rgba(66, 200, 255, .32), inset 0 1px 0 rgba(255, 255, 255, .7);
}

body:has(.description) .home__start:focus-visible {
    outline: 2px solid #79deff;
    outline-offset: 4px;
}

body:has(.description) .description {
    position: relative;
    padding: clamp(1.25rem, 2.5vw, 2rem) 0 clamp(5rem, 8vw, 8rem);
}

body:has(.description) .description__inner {
    grid-template-columns: minmax(17rem, 20rem) minmax(0, 1fr);
    gap: clamp(1.25rem, 2vw, 2rem);
    align-items: start;
}

body:has(.description) .sidebar,
body:has(.description) .description__body {
    overflow: hidden;
    border: 1px solid rgba(80, 170, 255, .18);
    border-radius: 10px;
    background:
        linear-gradient(145deg, rgba(7, 19, 34, .82), rgba(4, 12, 23, .74)),
        radial-gradient(circle at 100% 0%, rgba(66, 200, 255, .07), transparent 38%);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    box-shadow: 0 20px 48px rgba(0, 14, 28, .22), inset 0 1px 0 rgba(255, 255, 255, .035);
}

body:has(.description) .sidebar {
    position: sticky;
    top: 6.5rem;
}

body:has(.description) .sidebar__body {
    padding: 1rem;
}

body:has(.description) .sidebar-column {
    gap: .45rem;
}

body:has(.description) .sidebar-column__item {
    justify-content: stretch;
}

body:has(.description) .sidebar-column__item:not(:last-child)::after {
    display: none;
}

body:has(.description) .sidebar-column__link {
    width: 100%;
    min-height: 5.25rem;
    margin: 0;
    padding: .65rem .75rem;
    border: 1px solid transparent;
    border-radius: 8px;
    color: #b9c8d3;
    background: transparent;
    transition: color 220ms ease, border-color 220ms ease, background-color 220ms ease, transform 220ms ease;
}

body:has(.description) .sidebar-column__link:hover {
    border-color: rgba(80, 170, 255, .17);
    color: #eef8ff;
    background: rgba(80, 170, 255, .055);
    transform: translateX(.2rem);
}

body:has(.description) .sidebar-column__link.active {
    border-color: rgba(199, 161, 96, .3);
    color: #fff;
    background: linear-gradient(90deg, rgba(199, 161, 96, .12), rgba(80, 170, 255, .055));
    box-shadow: inset 2px 0 0 rgba(199, 161, 96, .78);
}

body:has(.description) .sidebar-column__icon {
    width: 100%;
    gap: .85rem !important;
}

body:has(.description) .sidebar__icon {
    width: 3.8rem;
    height: 3.8rem;
    flex: 0 0 3.8rem;
    margin: 0;
    padding: .35rem;
    overflow: hidden;
    border: 1px solid rgba(80, 170, 255, .2);
    border-radius: 50%;
    background: rgba(4, 13, 24, .72);
    box-shadow: inset 0 0 18px rgba(66, 200, 255, .045), 0 8px 20px rgba(0, 0, 0, .2);
}

body:has(.description) .sidebar__icon::before {
    display: none;
}

body:has(.description) .sidebar__icon img {
    border-radius: 50%;
    object-fit: cover;
    filter: saturate(.88) contrast(1.04);
}

body:has(.description) .sidebar-column__info-heading {
    color: #eef4f8;
    font-size: .9rem;
    letter-spacing: .07em;
}

body:has(.description) .sidebar-column__info-bottom {
    color: #8299aa;
    font-size: .72rem;
    line-height: 1.4;
}

body:has(.description) .description__heading-block {
    position: relative;
    margin-bottom: 1.25rem;
    padding: 1.35rem 1.75rem;
    border-bottom: 1px solid rgba(80, 170, 255, .12);
    border-radius: 9px 9px 0 0;
    background: linear-gradient(90deg, rgba(13, 31, 49, .86), rgba(6, 17, 29, .58));
}

body:has(.description) .description__heading-block::before {
    content: "";
    position: absolute;
    top: 0;
    left: 1.75rem;
    width: 7rem;
    height: 1px;
    background: linear-gradient(90deg, rgba(199, 161, 96, .82), transparent);
}

body:has(.description) .description__heading-icon {
    width: 4.75rem;
    height: 4.75rem;
    padding: .4rem;
    overflow: hidden;
    border: 1px solid rgba(80, 170, 255, .18);
    border-radius: 50%;
    background: rgba(4, 13, 24, .7);
}

body:has(.description) .description__heading-icon img {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
}

body:has(.description) .description__heading-text {
    color: #edf4f9;
    line-height: 1.05;
}

body:has(.description) .description__heading-text span {
    color: #8ea4b4;
}

body:has(.description) .description__content {
    display: flex;
    flex-direction: column;
}

body:has(.description) .description__banner {
    order: 2;
    align-self: center;
    width: min(calc(100% - 3rem), 38.875rem);
    margin: 1.25rem 1.5rem 2rem;
}

body:has(.description) .news__poster {
    width: 100%;
    min-height: 0;
    max-height: 21.875rem;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border: 1px solid rgba(80, 170, 255, .14);
    border-radius: 8px;
    background: #06101b;
}

body:has(.description) .news__poster::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(4, 12, 22, .03), rgba(4, 11, 20, .12) 58%, rgba(3, 8, 15, .5));
}

body:has(.description) .news__poster img,
body:has(.description) .news__poster picture {
    display: block;
    width: 100%;
    height: auto;
    max-height: 21.875rem;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    filter: saturate(.9) contrast(1.05) brightness(1.14);
}

body:has(.description) .news__poster-heading {
    z-index: 2;
    color: #f0f4f7;
}

body:has(.description) .description__info {
    order: 1;
    padding: 0 clamp(1.25rem, 2.4vw, 2rem) clamp(1.25rem, 2vw, 2rem);
}

body:has(.description) .description__data-heading {
    margin-bottom: 1.4rem;
    color: #d2b272;
    font-size: clamp(1.05rem, 1.6vw, 1.35rem);
    letter-spacing: .035em;
}

body:has(.description) .description__data-text p {
    color: #aebdca;
    font-size: clamp(.9rem, 1.1vw, 1.02rem);
    line-height: 1.75;
}

body:has(.description) .description__notif-icon {
    border: 1px solid rgba(199, 161, 96, .2);
    border-radius: 8px;
    background: rgba(76, 31, 27, .55);
}

body:has(.description) .description__notif-text {
    color: #e6c9c4;
}

body:has(.description) .menu {
    border-left: 1px solid rgba(80, 170, 255, .16);
    background: rgba(4, 12, 22, .96);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
}

body:has(.description) .menu-nav__link:hover,
body:has(.description) .menu-nav__link.active {
    color: #d2b272;
}

@media only screen and (max-width: 90em) {
    body:has(.description) .header__navigation {
        display: none;
    }

    body:has(.description) .header__burger {
        display: grid;
    }

    body:has(.description) .header__wrapper-right {
        flex-direction: row;
    }
}

@media only screen and (max-width: 68.75em) {
    body:has(.description) .home {
        background-position: 58% top;
    }

    body:has(.description) .description__inner {
        min-height: 0;
        grid-template-columns: 5.75rem minmax(0, 1fr);
    }

    body:has(.description) .sidebar {
        top: 5.5rem;
        overflow: visible;
    }

    body:has(.description) .sidebar__body {
        padding: .7rem;
    }

    body:has(.description) .sidebar-column__link {
        min-height: 4.4rem;
        padding: .35rem;
    }

    body:has(.description) .sidebar__icon {
        width: 3.4rem;
        height: 3.4rem;
        flex-basis: 3.4rem;
    }

    body:has(.description) .sidebar-column__info {
        border: 1px solid rgba(80, 170, 255, .18);
        border-radius: 7px;
        background: rgba(4, 14, 25, .96);
        box-shadow: 0 12px 28px rgba(0, 0, 0, .32);
    }

    body:has(.description) .description__content,
    body:has(.description) .description__info {
        height: auto;
    }

    body:has(.description) .description__banner {
        width: min(calc(100% - 2rem), 33.333rem);
        margin-inline: 1rem;
    }

    body:has(.description) .news__poster,
    body:has(.description) .news__poster img,
    body:has(.description) .news__poster picture {
        max-height: 18.75rem;
    }
}

@media only screen and (max-width: 48em) {
    body:has(.description) {
        background-image: linear-gradient(180deg, rgba(3, 8, 15, .35), rgba(3, 7, 12, .68) 48rem);
        background-position: center top;
        background-size: 100% 100%;
        background-attachment: scroll;
    }

    body:has(.description) .home {
        min-height: auto;
        padding: 7rem 0 3.5rem;
        background-image: url("../img/home/amadeus-hero-mobile.webp");
        background-position: center top;
        background-size: cover;
    }

    body:has(.description) .home__logo {
        width: min(88vw, 25rem);
    }

    body:has(.description) .description {
        padding-top: 1.5rem;
    }

    body:has(.description) .description__inner {
        display: flex;
        min-height: 0;
        flex-direction: column;
    }

    body:has(.description) .sidebar {
        position: relative;
        top: auto;
        width: 100%;
    }

    body:has(.description) .sidebar-column {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: .45rem;
    }

    body:has(.description) .sidebar-column__link {
        display: flex;
        justify-content: center;
        min-height: 4.25rem;
        margin: 0;
    }

    body:has(.description) .sidebar-column__icon {
        justify-content: center;
    }

    body:has(.description) .sidebar-column__info {
        top: calc(100% + .35rem);
        left: 50%;
    }

    body:has(.description) .description__heading-block {
        padding: 1.15rem;
    }

    body:has(.description) .description__banner {
        width: calc(100% - 1.5rem);
        margin: 1rem .75rem 1.5rem;
    }

    body:has(.description) .news__poster,
    body:has(.description) .news__poster img,
    body:has(.description) .news__poster picture {
        max-height: 13.75rem;
        aspect-ratio: 16 / 9;
    }
}

@media only screen and (max-width: 25em) {
    body:has(.description) .sidebar-column {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}