/* =========================================
   HOTSPOT — LAYOUT & STACKING
   ========================================= */
.hs-btn a { display: none; }
.media-stack-container,
.media-stack-container .elementor-widget-hotspot .elementor-widget-container {
    position: relative !important; display: block; overflow: hidden;
}
/* Base (Baggrundsbillede - Niveau 1) */
.media-stack-container .elementor-widget-hotspot > .elementor-widget-container > img {
    position: relative; z-index: 1; display: block; width: 100%; height: auto;
}
/* Wrapper til Video/Overlay (Niveau 2) */
#hover-video-player {
    position: absolute !important; top: 0; left: 0; width: 100%; height: 100%;
    z-index: 10; pointer-events: none; opacity: 0;
    transition: opacity 0.4s ease-in-out;
}
#hover-video-player.active { opacity: 1; }
/* Fælles styling for video og overlay-billede */
#hover-video-player video,
#hover-video-player img.static-layer {
    width: 100%; height: 100%; object-fit: cover;
    display: block !important; position: absolute; top: 0; left: 0;
    opacity: 0;
    transition: opacity 0.4s ease-in-out;
    will-change: opacity;
}
/* --- Z-INDEX LOGIK --- */
#hover-video-player video { z-index: 5; }
#hover-video-player video.incoming { z-index: 20; opacity: 1; }
#hover-video-player video.outgoing { z-index: 10; opacity: 1; }
/* Billede Mode Logik */
#hover-video-player.mode-image img.static-layer { opacity: 1; z-index: 30; }
#hover-video-player.mode-video img.static-layer { opacity: 0; z-index: 5; }
/* Tilgængelig hotspot-knap */
.media-stack-container .e-hotspot { cursor: pointer; }

/* =========================================
   TEKST & KNAP STYLING
   ========================================= */
.hs-readmore-btn {
    display: none;
    margin-top: 10px; background: transparent !important; border: none; padding: 0;
    color: #000000 !important; font-weight: 700; text-decoration: underline;
    cursor: pointer; font-size: 14px; z-index: 10; position: relative;
    /* <button> arver ikke sidens font af sig selv — tving den til det */
    font-family: inherit !important;
}
@media (min-width: 1025px) {
    .hs-readmore-btn { display: none !important; }
    .hs-text-inner { display: block !important; height: auto !important; -webkit-line-clamp: unset !important; }
}
@media (max-width: 1024px) {
    .hs-text-inner.clamped {
        display: -webkit-box;
        -webkit-line-clamp: 4;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
        height: unset !important;
    }
    .hs-text-inner.expanded { display: block; overflow: visible; height: unset !important;}
}
/* Tekst Fade Effekt
   !important sikrer, at reglerne vinder over Elementors egne styles,
   uanset rækkefølgen filerne loades i (CSS ligger nu i <head>, ikke inline). */
.hs-left .hs-title, .hs-left .hs-subtitle, .hs-left .hs-text, .hs-left .hs-subtext, .hs-left .hs-btn {
    transition: opacity 0.15s ease-in-out !important;
    opacity: 1;
}
.hs-left.is-text-fading .hs-title, .hs-left.is-text-fading .hs-subtitle, .hs-left.is-text-fading .hs-text, .hs-left.is-text-fading .hs-subtext, .hs-left.is-text-fading .hs-btn {
    opacity: 0 !important;
}
/* Hotspots */
.media-stack-container .e-hotspot { z-index: 50 !important; }
.e-hotspot.is-active .e-hotspot__button { opacity: 0 !important; pointer-events: none; transition: opacity 0.2s; }