/* ==========================================================================
   SPORT PHOENIX - PREMIUM SPLIDE CAROUSEL (BRAND INTEGRATED)
   ========================================================================== */

.sport_slider_container {
    position: relative;
    padding: var(--fs-section-pad) !important;
}

/* Card del singolo modello */
.sport_model_box {
    position: relative;
    padding: 15px;
    box-sizing: border-box;
}

/* Wrapper dell'immagine per gestire lo zoom interno e il raggio */
.sport_img_wrapper {
    position: relative;
    overflow: hidden;
    border-radius: var(--fs-radius-md);
    aspect-ratio: 2/3;
    background-color: var(--fs-gray-light);
    box-shadow: 0 4px 15px rgba(6, 31, 56, 0.08); /* Ombra leggera basata sul navy */
}

/* Immagine con transizione fluida */
.sport_model_img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: var(--fs-transition);
}

/* HOVER EFFECT: Zoom professionale sull'immagine */
.sport_model_box:hover .sport_model_img {
    transform: scale(1.06);
}

/* PREMIUM LABEL CON TAGLIO A 45° SUI LATI */
.sport_model_label {
    position: absolute;
    bottom: 20px;
    left: 20px;
    right: 20px;
    background: rgba(6, 31, 56, 0.85); /* Navy profondo semi-trasparente */
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    
    /* Il padding verticale e orizzontale crea lo spazio per il testo */
    padding: 12px 25px; 
    text-align: center;
    z-index: 4;
    transition: var(--fs-transition);

    /* CLIP-PATH: Taglia gli angoli a 45° 
       I valori (10px) indicano quanto è profondo il taglio rispetto agli angoli */
    clip-path: polygon(
        10px 0%,           /* Angolo alto-sinistra tagliato */
        calc(100% - 10px) 0%, /* Angolo alto-destra tagliato */
        100% 100%,         /* Angolo basso-destra (lasciato dritto o adattalo se vuoi) */
        0% 100%            /* Angolo basso-sinistra (lasciato dritto per poggiare sulla base) */
    );

    /* Se preferisci il taglio simmetrico a 45° su TUTTI e 4 gli angoli, usa questa riga sotto: */
    /* clip-path: polygon(10px 0%, calc(100% - 10px) 0%, 100% calc(100% - 10px), calc(100% - 10px) 100%, 10px 100%, 0% calc(100% - 10px)); */

    /* Filtro ombra che segue la forma tagliata del clip-path */
    filter: drop-shadow(0 4px 8px rgba(6, 31, 56, 0.3)); 
}

.sport_model_label span {
    color: var(--fs-white);
    font-family: var(--fs-font-main);
    font-weight: 700;
    text-transform: uppercase;
    font-size: 13px;
    letter-spacing: 0.08em; /* Aumentato leggermente il tracking per un look più premium */
    display: block;
}

/* HOVER EFFECT: Transizione fluida sul cambio colore dello sfondo tagliato */
.sport_model_box:hover .sport_model_label {
    background: var(--fs-lime);
    transform: translateY(-3px);
    filter: drop-shadow(0 6px 15px rgba(25, 166, 77, 0.4));
}

/* ICONE CARATTERISTICHE (Slim Fit / Man) */
.sport_model_icons {
    position: absolute;
    top: 20px;
    right: 20px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    z-index: 5;
}
.sport_model_icons img {
    width: 28px;
    height: 28px;
    background: rgba(255, 255, 255, 0.95);
    padding: 5px;
    border-radius: var(--fs-radius-pill);
    box-shadow: 0 4px 10px rgba(6, 31, 56, 0.15);
}

/* FRECCE DI NAVIGAZIONE LATERALI */
.sport_arrows_wrapper .sport_control_btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: none !important;
    border: none !important;
    padding: 0 !important;
    z-index: 10;
    cursor: pointer;
}

.sport_arrows_wrapper .splide__arrow--prev { left: -25px; }
.sport_arrows_wrapper .splide__arrow--next { right: -25px; }

/* Nasconde le frecce se Splide le disattiva */
.sport_arrows_wrapper .sport_control_btn:disabled {
    display: none !important;
}

/* Cerchietti delle frecce (Neri/Navy di base, diventano Lime all'hover) */
.sport_control_circle {
    width: 48px;
    height: 48px;
    background-color: var(--fs-navy);
    color: var(--fs-white);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--fs-radius-pill);
    font-size: 16px;
    transition: var(--fs-transition-fast);
    box-shadow: 0 4px 12px rgba(6, 31, 56, 0.2);
}
.sport_control_circle:hover {
    background-color: var(--fs-lime);
    color: var(--fs-white);
    transform: scale(1.1);
}

/* INDICATORI (PALLINI SOTTO) */
.sport_slider_container .splide__pagination {
    bottom: 0px !important;
    gap: 8px;
}
.sport_slider_container .splide__pagination__page {
    width: 10px !important;
    height: 10px !important;
    background: var(--fs-gray-text) !important;
    border: 2px solid var(--fs-white) !important;
    opacity: 0.4 !important;
    transition: var(--fs-transition) !important;
}
.sport_slider_container .splide__pagination__page.is-active {
    background: var(--fs-lime) !important;
    width: 24px !important;
    border-radius: var(--fs-radius-pill) !important;
    opacity: 1 !important;
}