/**
 * DimosTV Frontend 2.1 PASS 3 — Performance polish.
 * This file is intentionally additive and low-specificity: it improves rendering
 * cost without changing page structure or feature behaviour.
 */

:where(.dtv-section, .dtv-home-section, .dtv-archive-section, .dtv-legal-section, .dtv-contact-section, .dtv-complaints-section) {
    content-visibility: auto;
    contain-intrinsic-size: 1px 720px;
}

:where(.dtv-card, .dtv-video-card, .dtv-show-card, .dtv-municipality-card, .dtv-region-card, .dtv-search-result, .dtv-news-card) {
    contain: layout paint;
    transform: translateZ(0);
}

:where(.dtv-video-card img, .dtv-show-card img, .dtv-municipality-card img, .dtv-region-card img, .dtv-hero img, .dtv-archive-card img) {
    content-visibility: auto;
    decoding: async;
}

:where(.dtv-modal, .dtv-search-overlay, .dtv-menu-modal, .dtv-quick-live-modal, .dtv-video-modal) {
    will-change: opacity, transform;
}

:where(.dtv-btn, .dtv-search-trigger, .dtv-menu-trigger, .dtv-live-btn, .dtv-mini-player, .dtv-card) {
    backface-visibility: hidden;
}

:where(.dtv-mini-player, .dtv-sticky-mini-player) {
    contain: layout paint size;
}

:where(.dtv-filter-bar, .dtv-archive-filters, .dtv-search-filters) {
    contain: layout;
}

@media (prefers-reduced-motion: reduce) {
    :where(.dtv-modal, .dtv-search-overlay, .dtv-menu-modal, .dtv-mini-player, .dtv-card, .dtv-btn) {
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}
