/**
 * Homepage hero — DBIM full-bleed carousel (flush under header, no letterbox gaps).
 */

#hero-container.tcl-home-hero-band,
.home #hero-container,
.home #dynamic-hero {
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
}

/* Homepage: hero sits flush under header — no linen band or double frame */
.home #main-content.tcl-home-page {
    margin: 0;
    padding: 0;
}

.home .stqc-hero-section.tcl-home-hero-band {
    margin: 0 !important;
    padding: 0 !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
    background: #0b4141 !important;
    overflow: hidden;
    position: relative;
    z-index: 1 !important;
    height: auto !important;
    min-height: 0 !important;
}

#hero-container.tcl-home-hero-band.tcl-home-hero-modern,
.tcl-home-hero-band.tcl-home-hero-modern .stqc-slider-container {
    background: #0b4141 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    box-shadow: none !important;
    height: auto !important;
    min-height: 0 !important;
}

.tcl-home-hero-band.tcl-home-hero-modern .stqc-slider-container::before {
    display: none !important;
}

.tcl-home-hero-band .stqc-slider-container {
    border: none;
    border-radius: 0;
    box-shadow: none;
    background: #0b4141;
    margin: 0 !important;
    padding: 0 !important;
}

.tcl-home-hero-band .stqc-slider-container::before {
    display: none;
}

/*
 * Size the slider from the banner image itself (1800×500 / 1920×500).
 * Fixed 500px + contain caused white letterbox; cover cropped edge text.
 */
.tcl-home-hero-band .stqc-slider {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0;
    overflow: hidden;
}

.tcl-home-hero-band .stqc-slider-wrapper {
    position: relative;
    width: 100%;
    height: auto;
}

/* Active slide sets height; inactive slides overlay the same box */
.tcl-home-hero-band .stqc-slide {
    width: 100%;
    margin: 0;
    padding: 0;
}

.tcl-home-hero-band .stqc-slide.active {
    position: relative !important;
    height: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 2;
}

.tcl-home-hero-band .stqc-slide:not(.active) {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    opacity: 0 !important;
    visibility: hidden !important;
    z-index: 1;
}

.tcl-home-hero-band .stqc-slide-image {
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    display: block !important;
    position: relative !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    object-fit: unset !important;
    min-width: 0 !important;
    min-height: 0 !important;
    vertical-align: top;
}

.tcl-home-hero-band .stqc-slide:not(.active) .stqc-slide-image {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
}

/* Clean banner: no gradient or title overlay — artwork carries the message */
.tcl-home-hero-clean .stqc-slide::before {
    display: none;
}

.tcl-home-hero-clean .stqc-slide-content--sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.tcl-home-hero-clean .stqc-slide-image-link {
    display: block;
    position: relative;
    z-index: 0;
    line-height: 0;
}

.tcl-home-hero-clean .stqc-slide-image-link .stqc-slide-image {
    position: relative;
    width: 100%;
    height: auto;
}

.tcl-home-hero-band .stqc-slide:not(.active) .stqc-slide-image-link,
.tcl-home-hero-band .stqc-slide:not(.active) .stqc-slide-image-link .stqc-slide-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

/* Arrows — white chevrons, always visible */
.tcl-home-hero-band .stqc-nav {
    opacity: 1 !important;
    visibility: visible !important;
    background: transparent !important;
    border: none !important;
    color: #fff !important;
    width: 44px;
    height: 44px;
    font-size: 1.75rem;
    font-weight: 300;
    line-height: 1;
    box-shadow: none !important;
    border-radius: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.tcl-home-hero-band .stqc-nav .stqc-nav-icon {
    font-size: 2.25rem;
    line-height: 1;
    font-weight: 300;
}

.tcl-home-hero-band .stqc-prev {
    left: 0.5rem;
}

.tcl-home-hero-band .stqc-next {
    right: 0.5rem;
}

.tcl-home-hero-band .stqc-nav:hover,
.tcl-home-hero-band .stqc-nav:focus {
    background: rgba(255, 255, 255, 0.1) !important;
    color: #fff !important;
    transform: translateY(-50%);
}

/* Do not paint aria-label as visible tooltip on focus */
.tcl-home-hero-band .stqc-nav[aria-label]:focus::after,
.tcl-home-hero-band .stqc-play-pause[aria-label]:focus::after {
    content: none !important;
    display: none !important;
}

/* Dots — bottom left, pill active state */
.tcl-home-hero-band .stqc-slider-dots {
    left: clamp(1.25rem, 4vw, 4rem);
    right: auto;
    bottom: 1.25rem;
    transform: none;
    background: transparent !important;
    border: none !important;
    padding: 0;
    gap: 6px;
    backdrop-filter: none;
}

.tcl-home-hero-band .stqc-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.75);
    background: transparent;
    margin: 0;
    box-shadow: none;
    transition: width 0.25s ease, background 0.25s ease;
}

.tcl-home-hero-band .stqc-dot.active {
    width: 28px;
    border-radius: 4px;
    background: #fff;
    border-color: #fff;
    transform: none;
    box-shadow: none;
}

/* Play/pause — show on hover/focus (cleaner clean default) */
.tcl-home-hero-band .stqc-play-pause {
    opacity: 0 !important;
    visibility: visible !important;
    background: rgba(0, 0, 0, 0.35) !important;
    border: 1px solid rgba(255, 255, 255, 0.4) !important;
    color: #fff !important;
    width: 36px;
    height: 36px;
    font-size: 0.8rem;
    box-shadow: none !important;
    transition: opacity 0.2s ease, background 0.2s ease;
}

.tcl-home-hero-band .stqc-slider-container:hover .stqc-play-pause,
.tcl-home-hero-band .stqc-slider-container:focus-within .stqc-play-pause,
.tcl-home-hero-band .stqc-play-pause:focus {
    opacity: 0.9 !important;
}

.tcl-home-hero-band .stqc-play-pause:hover,
.tcl-home-hero-band .stqc-play-pause:focus {
    background: rgba(0, 0, 0, 0.5) !important;
    color: #fff !important;
}

/* Beat generic hero-slider mobile height / spacing rules on homepage */
@media (max-width: 768px) {
    .tcl-home-hero-band.stqc-hero-section,
    .tcl-home-hero-band .stqc-slider-container {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    .tcl-home-hero-band .stqc-slider,
    .tcl-home-hero-band .stqc-slider-wrapper {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
    }

    .home .stqc-hero-section.tcl-home-hero-band + * {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    .tcl-home-hero-band .stqc-slider-dots {
        left: 1rem;
        bottom: 0.85rem;
    }
}

@media (min-width: 901px) {
    .tcl-home-hero-band .stqc-slider-dots {
        bottom: 1.5rem;
    }
}

/* Beat legacy hero-slider.css — fixed 500px / 60vh / white placeholder */
body.home .stqc-hero-section.tcl-home-hero-band,
body.home .tcl-home-hero-band .stqc-slider-container,
body.home .tcl-home-hero-band .stqc-slider,
body.home .tcl-home-hero-band .stqc-slider-wrapper {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    background-color: #0b4141 !important;
}
