section.hero {
    margin-bottom: var(--spacing-large);
    position: relative;
}

.hero-slide {
    position: relative;
}

.slide-media video, .slide-media img {
    display: flex;
    height: 880px;
    width: 100%;
    object-fit: cover;
}

.slide-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.32);
    z-index: 1;
}

.slide-content {
    display: flex;
    flex-direction: column;
    gap: 16px;
    position: absolute;
    padding-inline: var(--spacing-xl);
    top: calc(97px + 96px);
    z-index: 2;
}

.slide-title {
    color: var(--White);
    font-weight: 800;
    letter-spacing: 0;
}

.slide-text {
    color: var(--White);
    font-size: var(--body-text);
    font-weight: 500;
    line-height: 31.2px;
    letter-spacing: 0;
    max-width: var(--container-columns-6, 816px);
}

.hero-announcements {
    position: absolute;
    bottom: 260px;
    left: 0;
    right: 0;
    z-index: 4;
}

.announcements-toggle {
    display: inline-flex;
    padding: var(--spacing-block-sm, 16px);
    align-items: center;
    gap: var(--spacing-element-xs, 4px);
    border-radius: var(--border-radius-xs, 8px);
    border: none;
    background: rgba(0, 0, 0, 0.50);
    color: var(--White);
}

.announcements-toggle svg {
    width: 18px;
    height: 18px;
}

.announcements-toggle svg:first-child {
    width: 24px;
    height: 24px;
    min-width: 24px;
}

.announcements-toggle svg path {
    stroke: var(--White);
}

.announcements-toggle .label {
    font-size: var(--font-size-label, 12px);
    font-weight: var(--font-weight-type-label, 500);
    line-height: initial;
    display: -webkit-box;
    line-clamp: 1;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: left;
}

.announcements-toggle .extra-text {
    flex-shrink: 0;
    white-space: nowrap;
    margin-left: 16px;
    font-size: var(--font-size-link, 16px);
    line-height: var(--font-line-height-link, 20.8px); /* 130% */
}

.announcements-modal {
    display: none;
}

.announcements-modal.open {
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 999;
    background: rgba(0, 0, 0, 0.5);
}

.modal-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--spacing-block-xl, 48px);
    background: var(--BG);
    border-radius: var(--border-radius-sm, 16px);
    padding: var(--spacing-large);
    max-width: 1099px;
    width: 100%;
    max-height: 85vh;
    overflow-y: auto;
}
.modal-title {
    display: flex;
    justify-content: space-between;
    width: 100%;
}

.modal-close {
    background: none;
    border: none;
}

.modal-body {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.announcement-item {
    background: var(--White);
    border-radius: var(--border-radius-xs, 8px);
    border: var(--line-stroke-sm, 2px) solid var(--color-stroke-light, #E6E6E6);
    padding: var(--spacing-block-sm, 16px);
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px;
}

.announcement-icon, .announcement-icon span {
    display: flex;
}

.announcement-icon svg {
    width: 24px;
    height: 24px;
}

.warning-icon svg path {
    fill: #CC3232;
}

.announcement-content {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.announcement-text p {
    font-weight: var(--font-weight-type-body, 500);
    line-height: var(--font-line-height-body, 23.4px);
}

.announcement-text a {
    color: var(--primary-default);
    font-weight: 800;
}

.announcement-date {
    color: var(--color-font-secondary, #4C4C4C);
}

@media (min-width: 1200px) {

    .booking-wrapper .out-of-view {
        position: static;
    }

}

@media (max-width: 1500px) {

    .hero-announcements {
        bottom: 50%;
    }

}

@media (max-width: 1200px) {

}

@media (max-width: 768px) {

    .slide-media video, .slide-media img {
        height: 680px;
    }

    .slide-content {
        top: 80px;
    }

    .modal-content {
        max-height: 65vh;
        margin-inline: var(--spacing-medium);
    }

}



@media (max-width: 576px) {

    .slide-content {
        top: 60px;
    }

}