.book-banner {
    position: relative;
    z-index: 1;
    overflow: hidden;
    padding: 24rem 20rem 34rem;
    color: var(--color-white);
    background-image: url('../../img/book-banner/bg-mob.svg'), var(--gradient-primary);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.book-banner:has(.book-banner__contacts):has(.book-banner__img) .book-banner__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}

.book-banner:not(:has(.book-banner__img)) {
    background-image: url('../../img/book-banner/no-img-bg-mob.svg'), var(--gradient-primary);
}

.book-banner:not(:has(.book-banner__img)) .book-banner__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    max-width: 780rem;
    margin: 0 auto;
}

.book-banner:not(:has(.book-banner__img)) .book-banner__contacts {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 8rem 25rem;
    margin-top: 16rem;
}

.book-banner:not(:has(.book-banner__img)) .book-banner__title,
.book-banner:not(:has(.book-banner__img)) .book-banner__description {
    text-align: center;
}

.book-banner__img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}

.book-banner__img img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
    -o-object-position: bottom right;
       object-position: bottom right;
}

.book-banner__img img + img {
    display: none;
}

.book-banner__content {
    position: relative;
    z-index: 1;
    max-width: 75%;
}

.book-banner__title {
    font-size: 24rem;
    line-height: 1.3;
}

.book-banner__description {
    max-width: 260rem;
    margin-top: 16rem;
    font-size: 16rem;
    line-height: 1.3;
}

.book-banner__description:has(br + br) br {
    display: none;
}

.book-banner__contacts {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 8rem;
    font-size: 14rem;
    font-weight: 700;
    line-height: 1.3;
    gap: 6rem;
}

.book-banner__contacts-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.book-banner__contacts img {
    width: 14rem;
    min-width: 14rem;
    height: 14rem;
    -o-object-fit: contain;
       object-fit: contain;
    margin-right: 8rem;
}

.book-banner__button {
    margin-top: 16rem;
}

.book-banner__buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 9rem;
}

.book-banner__buttons:not(:first-child) {
    margin-top: 24rem;
}

.book-banner__buttons .button:nth-child(even) {
    background-color: transparent;
    color: var(--color-white);
}

.section > .container:has(> .book-banner) {
    padding-left: 0;
    padding-right: 0;
}

@media screen and (min-width: 576px) {
    .book-banner {
        border-radius: 24rem;
    }

    .section > .container:has(> .book-banner) {
        max-width: calc(var(--container-width) + var(--container-padding-x) * 2);
        padding-left: var(--container-padding-x);
        padding-right: var(--container-padding-x);
    }
}

@media screen and (min-width: 1024px) and (orientation: landscape) {
    .book-banner {
        padding: 64rem;
        background-image: url('../../img/book-banner/bg-pc.svg'), var(--gradient-primary);
    }

    .book-banner:has(.book-banner__contacts):has(.book-banner__img) .book-banner__contacts {
        -webkit-box-ordinal-group: 5;
            -ms-flex-order: 4;
                order: 4;
    }

    .book-banner:not(:has(.book-banner__img)) {
        background-image: url('../../img/book-banner/no-img-bg-pc.svg'), var(--gradient-primary);
    }

    .book-banner:not(:has(.book-banner__img)) .book-banner__contacts {
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        margin-top: 48rem;
        gap: 30rem;
    }

    .book-banner__img img + img {
        display: block;
    }

    .book-banner__img:has(img + img) > img:first-child {
        display: none;
    }

    .book-banner__content {
        max-width: 780rem;
    }

    .book-banner__title {
        font-size: 48rem;
    }

    .book-banner__description {
        max-width: unset;
        margin-top: 8rem;
        font-size: 18rem;
    }

    .book-banner__description:has(br + br) br + br {
        display: block;
    }

    .book-banner__contacts {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        margin-top: 44rem;
        font-size: 18rem;
        gap: 0 20rem;
    }

    .book-banner__contacts img {
        width: 24rem;
        min-width: 24rem;
        height: 24rem;
        position: relative;
        top: -2rem;
    }

    .book-banner__button {
        margin-top: 36rem;
    }

    .book-banner__buttons {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }

    .book-banner__buttons:not(:first-child) {
        margin-top: 48rem;
    }
}

@media (hover: hover) {
    .book-banner__buttons .button:nth-child(even):not([disabled]):hover {
        background-color: var(--color-gray-200);
        color: var(--color-primary);
    }
}
