/* Otimizações de DOM para reduzir tamanho e complexidade */

/* Reduzir complexidade de seletores */
.select2-container {
    contain: layout style paint;
}

.select2-dropdown {
    contain: layout style paint;
}

/* Otimizar renderização de elementos ocultos */
.hidden-element {
    display: none !important;
    visibility: hidden !important;
    position: absolute !important;
    left: -9999px !important;
}

/* Lazy loading para elementos */
.lazy-load {
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
}

.lazy-load.loaded {
    opacity: 1;
}

/* Otimizar animações */
@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* Reduzir profundidade do DOM */
.choices__list {
    max-height: 200px;
    overflow-y: auto;
}

.choices__item {
    contain: layout style paint;
}

/* Otimizar carrosséis */
.tns-carousel {
    contain: layout style paint;
}

.tns-item {
    contain: layout style paint;
}

/* Reduzir complexidade de grids */
.row {
    contain: layout style paint;
}

.col, .col-* {
    contain: layout style paint;
}