/* Slideshow container */
.slideshow {
    position: relative !important;
    overflow: hidden !important;
    width: 100% !important;
    min-height: 300px !important;
    aspect-ratio: 16 / 6 !important;
    background: #f0f0f0 !important;
    margin-bottom: 20px !important; /* space between slideshow and subhead */
}

/* Each slide – hidden by default, crossfade on opacity */
.slideshow-banner {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 1 !important;
    display: block !important;
    visibility: visible !important;
    opacity: 0;
    transition: opacity 1.3s ease !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Active slide */
.slideshow-banner.active {
    opacity: 1 !important;
    z-index: 2 !important;
}

/* Image fallback */
.slideshow-banner__image {
    width: 100% !important;
    height: 100% !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #999;
    font-size: 14px;
}

/* Images – cover full slide */
.slideshow-banner img {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    z-index: 1 !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    visibility: visible !important;
}

/* Navigation dots */
.slideshow__nav {
    position: absolute !important;
    bottom: 20px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    z-index: 20 !important;
    display: flex !important;
    gap: 10px !important;
}
.slideshow__nav-item {
    color: rgba(255,255,255,0.5) !important;
    font-size: 14px !important;
    transition: color 0.3s !important;
}
.slideshow__nav-item.active {
    color: #fff !important;
}

/* Scroll indicator */
.slideshow__more-below-indicator {
    position: absolute !important;
    bottom: 60px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    z-index: 15 !important;
    color: #fff !important;
    font-size: 24px !important;
    animation: bounce 2s infinite !important;
}
@keyframes bounce {
    0%, 100% { transform: translateX(-50%) translateY(0); }
    50% { transform: translateX(-50%) translateY(10px); }
}

.slideshow__nav-item .fa,
.slideshow__more-below-indicator .fa {
    font-family: FontAwesome, sans-serif;
}

/* ----- Headlines below the slideshow ----- */
.slideshow-headlines {
    text-align: center;
    margin-top: 40px !important; /* space between slideshow and subhead */
    margin-bottom: 0;
    padding: 0 40px;
}
.slideshow-headlines h2,
.slideshow-headlines h3,
.slideshow-headlines h4 {
    margin: 5px 0;
}
.slideshow-headlines h2:empty,
.slideshow-headlines h3:empty,
.slideshow-headlines h4:empty {
    display: none;
}

/* ----- Buttons container (below subhead) ----- */
.slideshow-buttons-container {
    text-align: center;
    margin-top: 40px !important; /* space between subhead and buttons */
    padding: 0 40px;
}
.slideshow-buttons-container .wp-block-columns {
    margin-bottom: 0 !important;
}
.slideshow-buttons-container .wp-block-buttons {
    justify-content: center !important;
}



/* ===== FIXED HEIGHT for subhead container ===== */
.slideshow-headlines {
    height: 80px !important;          /* adjust as needed */
    min-height: 80px !important;      /* prevents collapse */
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-top: 40px !important;
    padding: 0 40px !important;
}

.slideshow-headlines h2,
.slideshow-headlines h3,
.slideshow-headlines h4 {
    margin: 0 !important;             /* kill all default spacing */
    padding: 0 !important;
    width: 100% !important;
    text-align: center !important;
    line-height: 1.4 !important;      /* consistent line-height */
}

/* ===== FIXED HEIGHT for buttons container ===== */
.slideshow-buttons-container {
    height: 80px !important;          /* adjust as needed */
    min-height: 80px !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-top: 40px !important;
    padding: 0 40px !important;
}

/* Reset inner WP blocks so they don't add extra spacing */
.slideshow-buttons-container .wp-block-columns,
.slideshow-buttons-container .wp-block-buttons {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

/* ===== OPTIONAL – stabilise top headline ===== */
[data-hook="headline-top"] {
    min-height: 60px !important;      /* adjust to match your font size */
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}