/**
 * TINXY SLIDER - ADAPTIVE HEIGHT FIX v2.0
 * 
 * Questo file rimuove le altezze fisse dallo slider per permettere
 * l'adattamento automatico all'altezza delle immagini.
 * 
 * PROBLEMA RISOLTO:
 * - Spazio bianco sotto le slide
 * - Slider che non si adatta all'altezza delle immagini
 * - Dots posizionati fuori dall'immagine
 * 
 * COME FUNZIONA:
 * - Rimuove height: 100vh forzato (anche da Elementor inline styles)
 * - Permette allo slider di adattarsi al contenuto
 * - Mantiene i dots posizionati correttamente DENTRO l'immagine
 * 
 * VERSIONE 2.0 CHANGES:
 * - Selettori ultra-specifici per sovrascrivere Elementor inline styles
 * - Priorità massima con !important
 * - Supporto per tutti i possibili selettori Elementor
 */

/* ============================================================================
   RIMUOVI ALTEZZE FISSE - Permetti adattamento automatico
   ============================================================================ */

/**
 * Wrapper principale - rimuovi altezza fissa 100vh
 * Permetti che si adatti al contenuto
 * ULTRA-SPECIFIC SELECTORS per sovrascrivere Elementor inline styles
 */
.tinxy-basic-slider-wrapper,
.elementor-widget-tinxy-basic-slider .tinxy-basic-slider-wrapper,
div.elementor-widget-tinxy-basic-slider .tinxy-basic-slider-wrapper,
.elementor-element .tinxy-basic-slider-wrapper,
html .elementor-widget-tinxy-basic-slider .tinxy-basic-slider-wrapper {
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    overflow: visible !important;
}

/**
 * Slider principale - adattamento automatico
 * ULTRA-SPECIFIC SELECTORS per sovrascrivere Elementor inline styles
 */
.tinxy-basic-slider,
.elementor-widget-tinxy-basic-slider .tinxy-basic-slider,
div.elementor-widget-tinxy-basic-slider .tinxy-basic-slider,
.elementor-element .tinxy-basic-slider,
html .elementor-widget-tinxy-basic-slider .tinxy-basic-slider,
.tinxy-basic-slider.slick-slider,
.tinxy-basic-slider.slick-initialized,
.tinxy-basic-slider.slick-slider.slick-initialized,
div.tinxy-basic-slider.slick-slider.slick-initialized,
html .tinxy-basic-slider.slick-slider.slick-initialized {
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    overflow: visible !important;
}

/**
 * Slick List - deve adattarsi al contenuto
 */
.tinxy-basic-slider-wrapper .slick-list {
    height: auto !important;
    overflow: visible !important;
}

/**
 * Slick Track - deve adattarsi al contenuto
 */
.tinxy-basic-slider-wrapper .slick-track {
    height: auto !important;
    overflow: visible !important;
}

/**
 * Slick Slider - rimuovi altezze fisse
 */
.tinxy-basic-slider-wrapper .slick-slider,
.tinxy-basic-slider-wrapper > .slick-slider,
.tinxy-basic-slider-wrapper > .tinxy-basic-slider.slick-slider,
.tinxy-basic-slider-wrapper .slick-slider.slick-initialized {
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
}

/**
 * Slide individuale - adattamento automatico
 * ULTRA-SPECIFIC SELECTORS per sovrascrivere Elementor inline styles
 */
.tinxy-basic-slide,
.elementor-widget-tinxy-basic-slider .tinxy-basic-slide,
div.elementor-widget-tinxy-basic-slider .tinxy-basic-slide,
.elementor-element .tinxy-basic-slide,
html .elementor-widget-tinxy-basic-slider .tinxy-basic-slide,
.tinxy-basic-slider .tinxy-basic-slide,
.slick-slider .tinxy-basic-slide,
.slick-slide.tinxy-basic-slide,
html .tinxy-basic-slider .tinxy-basic-slide {
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
}

/**
 * Background della slide - adattamento all'immagine
 */
.tinxy-basic-slide-background {
    position: relative !important; /* Cambia da absolute a relative */
    height: auto !important;
}

/**
 * Immagine - mantieni proporzioni naturali
 */
.tinxy-basic-slide-background img {
    width: 100%;
    height: auto !important; /* Altezza automatica basata sulle proporzioni */
    object-fit: contain !important; /* Mostra l'immagine intera senza tagliarla */
    display: block;
}

/**
 * Overlay - deve coprire l'immagine
 * Torna ad essere absolute per sovrapporsi all'immagine
 */
.tinxy-basic-slide-overlay {
    position: absolute !important;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/**
 * Contenuto - posizionamento assoluto sopra l'immagine
 */
.tinxy-basic-slide-content {
    position: absolute !important;
}

/* ============================================================================
   DOTS - Mantieni posizionamento corretto
   ============================================================================ */

/**
 * I dots devono rimanere posizionati in modo assoluto
 * ma relativi al wrapper dello slider
 */
.tinxy-basic-slider-wrapper .slick-dots,
.tinxy-basic-slider .slick-dots {
    position: absolute !important;
    bottom: 30px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    z-index: 9999 !important;
}

/* ============================================================================
   RESPONSIVE - Mantieni adattamento su tutti i dispositivi
   ============================================================================ */

@media (max-width: 768px) {
    .tinxy-basic-slider-wrapper,
    .elementor-widget-tinxy-basic-slider .tinxy-basic-slider-wrapper,
    .elementor-element .tinxy-basic-slider-wrapper {
        max-height: none !important;
        overflow: visible !important;
    }
    
    .tinxy-basic-slider,
    .elementor-widget-tinxy-basic-slider .tinxy-basic-slider {
        max-height: none !important;
        overflow: visible !important;
    }
    
    .tinxy-basic-slide,
    .elementor-widget-tinxy-basic-slider .tinxy-basic-slide {
        max-height: none !important;
        overflow: visible !important;
    }
    
    .tinxy-basic-slide-background,
    .elementor-widget-tinxy-basic-slider .tinxy-basic-slide-background {
        max-height: none !important;
        overflow: visible !important;
    }
    
    .tinxy-basic-slide-background img,
    .elementor-widget-tinxy-basic-slider .tinxy-basic-slide-background img {
        max-height: none !important;
    }
}

@media (max-width: 480px) {
    .tinxy-basic-slider-wrapper,
    .elementor-widget-tinxy-basic-slider .tinxy-basic-slider-wrapper,
    .elementor-element .tinxy-basic-slider-wrapper {
        max-height: none !important;
        overflow: visible !important;
    }
    
    .tinxy-basic-slider,
    .elementor-widget-tinxy-basic-slider .tinxy-basic-slider {
        max-height: none !important;
        overflow: visible !important;
    }
    
    .tinxy-basic-slide,
    .elementor-widget-tinxy-basic-slider .tinxy-basic-slide {
        max-height: none !important;
        overflow: visible !important;
    }
    
    .tinxy-basic-slide-background,
    .elementor-widget-tinxy-basic-slider .tinxy-basic-slide-background {
        max-height: none !important;
        overflow: visible !important;
    }
    
    .tinxy-basic-slide-background img,
    .elementor-widget-tinxy-basic-slider .tinxy-basic-slide-background img {
        max-height: none !important;
    }
    
    /* Dots più vicini al bordo su mobile */
    .tinxy-basic-slider-wrapper .slick-dots,
    .tinxy-basic-slider .slick-dots {
        bottom: 20px !important;
    }
}

/* ============================================================================
   SPECIFIC HEIGHT - Centred slider with cover image (MOBILE ONLY)
   ============================================================================ */

@media (max-width: 768px) {
    .tinxy-basic-slider-wrapper:has(> .tinxy-basic-slider.vertical-center.horizontal-center.slick-initialized.slick-slider.slick-dotted) {
        height: 250px !important;
        position: relative !important;
        overflow: hidden !important;
    }

    .tinxy-basic-slider.vertical-center.horizontal-center.slick-initialized.slick-slider.slick-dotted {
        height: 250px !important;
        position: relative !important;
        overflow: hidden !important;
    }

    .tinxy-basic-slider.vertical-center.horizontal-center.slick-initialized.slick-slider.slick-dotted .slick-list {
        height: 250px !important;
        overflow: hidden !important;
    }

    .tinxy-basic-slider.vertical-center.horizontal-center.slick-initialized.slick-slider.slick-dotted .slick-track {
        height: 250px !important;
    }

    .tinxy-basic-slider.vertical-center.horizontal-center.slick-initialized.slick-slider.slick-dotted .tinxy-basic-slide {
        height: 250px !important;
        min-height: 250px !important;
        position: relative !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .tinxy-basic-slider.vertical-center.horizontal-center.slick-initialized.slick-slider.slick-dotted .tinxy-basic-slide-background {
        height: 250px !important;
        width: 100% !important;
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        z-index: 1 !important;
    }

    .tinxy-basic-slider.vertical-center.horizontal-center.slick-initialized.slick-slider.slick-dotted .tinxy-basic-slide-background img {
        width: 100% !important;
        height: 250px !important;
        object-fit: cover !important;
        display: block !important;
    }

    .tinxy-basic-slider.vertical-center.horizontal-center.slick-initialized.slick-slider.slick-dotted .tinxy-basic-slide-overlay {
        display: block !important;
        background-color: rgba(0,0,0,0.5); /* Assicura un colore di base se non impostato */
        z-index: 2 !important;
    }

    .tinxy-basic-slider.vertical-center.horizontal-center.slick-initialized.slick-slider.slick-dotted .tinxy-basic-slide-content {
        text-align: center;
        padding-bottom: 45px !important;
        width: 95% !important;
        max-width: none !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .tinxy-basic-slider.vertical-center.horizontal-center.slick-initialized.slick-slider.slick-dotted .slick-dots {
        position: absolute !important;
        bottom: 5px !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        width: 100% !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        z-index: 10 !important;
    }
}

/* ============================================================================
   DEBUG (Decommentare per vedere i bordi)
   ============================================================================ */

/*
.tinxy-basic-slider-wrapper {
    border: 3px solid red !important;
}

.tinxy-basic-slider {
    border: 3px solid blue !important;
}

.tinxy-basic-slide {
    border: 3px solid green !important;
}

.tinxy-basic-slide-background {
    border: 3px solid yellow !important;
}

.tinxy-basic-slide-background img {
    border: 3px solid orange !important;
}
*/