.bshBookingBlock {
    padding-block: var(--bsh-section-y);
    color: var(--bsh-color-headline);
    background: var(--bsh-color-white);
}

.bshBookingBlock__heading {
    text-align: center;
}

.bshBookingBlock__heading :is(h1, h2) {
    max-width: 1200px;
    margin: 0 auto;
    color: inherit;
    font-size: clamp(54px, 5.2vw, 84px);
    font-weight: 400;
    letter-spacing: -.065em;
    line-height: .92;
    text-wrap: balance;
}

.bshBookingBlock__heading .bshSubtitle {
    max-width: none;
    margin: clamp(22px, 2vw, 34px) 0 0 clamp(80px, 11vw, 210px);
    color: var(--bsh-color-pastel-2);
    font-size: var(--bsh-fs-subtitle);
    font-weight: 600;
    line-height: 1.05;
}

.bshBookingBlock__copy {
    max-width: 820px;
    margin: clamp(38px, 4vw, 64px) auto 0;
    color: var(--bsh-color-body);
    font-size: var(--bsh-fs-body);
    line-height: 1.75;
}

.bshBookingBlock__copy > *:first-child {
    margin-top: 0;
}

.bshBookingBlock__copy > *:last-child {
    margin-bottom: 0;
}

.bshBookingBlock__widget {
    margin-top: clamp(64px, 7vw, 120px);
}

.bshBookingBlock--withoutIntro .bshBookingBlock__widget {
    margin-top: 0;
}

.bshBookingBlock__rules {
    padding-top: clamp(80px, 9vw, 150px);
    margin-top: clamp(80px, 9vw, 150px);
    border-top: 1px solid var(--bsh-color-border);
}

.bshBookingBlock__rules .bshHouseRules__section {
    background: transparent;
}

@media (max-width: 767px) {
    .bshBookingBlock__heading :is(h1, h2) {
        font-size: clamp(44px, 13vw, 62px);
    }

    .bshBookingBlock__heading .bshSubtitle {
        margin-top: clamp(16px, 4.5vw, 24px);
        margin-left: clamp(36px, 14vw, 84px);
        font-size: var(--bsh-fs-subtitle);
    }

    .bshBookingBlock__copy {
        margin-top: 36px;
        text-align: left;
    }

    .bshBookingBlock__widget {
        margin-top: 54px;
    }

    .bshBookingBlock__rules {
        padding-top: 72px;
        margin-top: 72px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bshBookingBlock .bshRoomBookingWidget__spinner {
        animation: none;
    }
}
