/* =====================================================
   TRONC COMMUN CSS POUR TOUS LES SLIDERS
   ================================================= */

/* ===== CONTENEUR GLOBAL ===== */
.slider-container {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2.5rem;
    margin: 2rem 0;
    width: 100%;
    min-height: 80px;
    box-sizing: border-box;
    background-color: rgba(40, 40, 50, 0.7); /* Gris orage semi-transparent */
    border-radius: 10px;
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
    transform: translateZ(0);
    will-change: opacity;
    position: relative;
}

.slider-content {
    /* Ce wrapper utilise tout l'espace et aligne les labels/slider. */
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    gap: 1.5rem;
}


/* =====================================================
   MARQUEURS CENTRAUX (HAUT ET BAS)
   ================================================= */

/*
 * --- Cas n°1 : SLIDER STANDARD (SANS EFFET VERRE) ---
 * Règles par défaut pour un slider standard.
*/

/* --- Marqueur HAUT (Standard) --- */
.slider-container::before {
    content: '';
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 2px;
    height: 15px;
    background-color: rgba(255, 0, 0, 0.6);
    box-shadow: -2px -2px 3px rgba(0, 0, 0, 0.6), 1px 2px 3px rgba(255, 215, 0, 0.4);
    z-index: 0;
    top: 1rem;
}

/* --- Marqueur BAS (Standard) --- */
/*.slider-container::after {*/
/*    content: '';*/
/*    position: absolute;*/
/*    left: 50%;*/
/*    transform: translateX(-50%);*/
/*    width: 2px;*/
/*    height: 10px;*/
/*    background-color: rgba(255, 0, 0, 0.3);*/
/*    box-shadow: -2px -2px 3px rgba(0, 0, 0, 0.6), 1px 2px 3px rgba(255, 215, 0, 0.4);*/
/*    z-index: 0;*/
/*    bottom: 0.4rem;*/
/*}*/


/*
 * --- Cas n°2 : SLIDER AVEC EFFET VERRE (VERSION ROBUSTE) ---
 * Règles spécifiques pour un slider AVEC la classe 'glass-effect'.
 * Le sélecteur plus précis garantit que ces règles l'emportent.
*/

/* --- Marqueur HAUT (Avec glass-effect) --- */
.slider-container.glass-effect::before {
    content: '';
    position: absolute;
    left: 50%;
    transform: translateX(-50%) translateZ(0);
    width: 2px;
    height: 15px;
    background-color: rgba(255, 0, 0, 1);
    box-shadow:
            -2px -2px 3px rgba(0, 0, 0, 0.8),
            1px 2px 3px rgba(255, 215, 0, 0.6);
    z-index: 0;
    
    background-image: none; /* Annule le conflit avec glass_effect.css */
    top: 1rem;
}

/* --- Marqueur BAS (Avec glass-effect) --- */
/*.slider-container.glass-effect::after {*/
/*    content: '';*/
/*    position: absolute;*/
/*    left: 50%;*/
/*    transform: translateX(-50%);*/
/*    width: 2px;*/
/*    height: 10px;*/
/*    background-color: rgba(255, 0, 0, 0.3);*/
/*    box-shadow: -2px -2px 3px rgba(0, 0, 0, 0.6), 1px 2px 3px rgba(255, 215, 0, 0.4);*/
/*    z-index: 0;*/
/*    */
/*    background-image: none; !* Annule le conflit avec glass_effect.css *!*/
/*    top: auto;*/
/*    bottom: 0.4rem;*/
/*}*/


/* =====================================================
   LABELS (TEXTE GAUCHE/DROITE)
   ================================================= */
.slider-container .word-label {
    width: 11.25rem;
    font-family: "MODERN TYPEWRITER", sans-serif;
    font-size: 1.1rem;
    color: rgba(255, 255, 200, 0.90);
	text-align: center;
	line-height: 1.2;
}

.slider-container .word-label:first-of-type {
    text-align: right;
}

.slider-container .word-label:last-of-type {
    text-align: left;
}

/* =====================================================
   SLIDER (CURSEUR)
   ================================================= */

/* ===== STYLE DU SLIDER ===== */
.slider {
    -webkit-appearance: none;
    appearance: none;
    width: 300px;
    background: transparent; /* Le fond DOIT être transparent */
    outline: none;
    cursor: pointer;
    transition: background-color 0.1s ease;
}

/* ===== PISTE DU SLIDER (TRACK) ===== */
/* Règle pour les navigateurs basés sur WebKit (Chrome, Safari, etc.) */
.slider::-webkit-slider-runnable-track {
    width: 100%;
    height: 0.5rem;
    cursor: pointer;
    background: rgb(40, 40, 50);
    border-radius: 1.25rem;
    border: 1px solid rgba(0, 0, 0, 0.4);
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.6),
                -2px -2px 5px rgba(0, 0, 0, 0.6),
                2px 2px 5px rgba(255, 215, 0, 0.25);
}

/* Règle pour les navigateurs basés sur Mozilla (Firefox) */
.slider::-moz-range-track {
    width: 100%;
    height: 0.5rem;
    cursor: pointer;
    background: rgb(40, 40, 50);
    border-radius: 1.25rem;
    border: 1px solid rgba(0, 0, 0, 0.4);
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.6),
                -2px -2px 5px rgba(0, 0, 0, 0.6),
                2px 2px 5px rgba(255, 215, 0, 0.25);
}

/* ===== POIGNÉE DU SLIDER (THUMB) ===== */
.slider::-webkit-slider-thumb {
    -webkit-appearance: none; /* Nécessaire pour annuler le style par défaut sur WebKit */
    appearance: none;
    width: 10px;
    height: 28px;
    margin-top: -10px; /* Recentrage vertical pour WebKit */
    background: linear-gradient(145deg, #b29653, #f5e7b8 60%, #a7874a);
    border-radius: 5px;
    border: 1px solid rgba(40, 30, 10, 0.6);
    cursor: grab;
    filter: drop-shadow(0 3px 3px rgba(0, 0, 0, 0.6));
    transition: transform 0.2s ease-out, filter 0.2s ease-out;
}

.slider::-moz-range-thumb {
    /* Pas besoin de -webkit-appearance ou margin-top pour Firefox */
    width: 10px;
    height: 28px;
    background: linear-gradient(145deg, #b29653, #f5e7b8 60%, #a7874a);
    border-radius: 5px;
    border: 1px solid rgba(40, 30, 10, 0.6);
    cursor: grab;
    filter: drop-shadow(0 3px 3px rgba(0, 0, 0, 0.6));
    transition: transform 0.2s ease-out, filter 0.2s ease-out;
}

/* ===== EFFETS AU SURVOL (HOVER) ===== */
.slider::-webkit-slider-thumb:hover,
.slider::-moz-range-thumb:hover {
    transform: scale(1.5);
    filter: drop-shadow(0 5px 5px rgba(0, 0, 0, 0.5));
}

/* =====================================================
   COMPOSANTS ADDITIONNELS (Instructions, etc.)
   ================================================= */

/* --- Conteneur global pour un slider et ses instructions --- */
.slider-component-wrapper {
    /* On réduit la marge inférieure pour resserrer l'espace
       avant l'élément suivant. */
    margin-bottom: 0.5rem;
}

/* =====================================================
   NOUVEAU : INSTRUCTIONS SOUS LE SLIDER
   ================================================= */
.slider-instructions {
    text-align: center;
    color: rgba(255, 255, 200, 0.8);
    font-size: 1.1rem;
    min-height: 1.5em; /* Réserve la hauteur même si le texte est vide */
    margin-bottom: 1rem;
    padding: 0 1rem;
    transition: opacity 300ms ease-in-out;
}

.slider-instructions.font-oceanside {
    font-family: 'oceanside_typewriter', sans-serif;
}

/* --- Bloc pour le texte d'instructions sous le slider --- */
.slider-instructions {
    font-family: var(--font-texte);
    font-style: italic;
    font-size: 1.3rem;
    text-align: center;
     margin-top: -3rem;
    background: linear-gradient(to right,
        rgba(255, 215, 0, 0.2),
        rgba(255, 215, 0, 0.9) 25%,
        rgba(255, 215, 0, 0.9) 75%,
        rgba(255, 215, 0, 0.2)
    );
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    text-shadow:
        0 0 5px rgba(255, 215, 0, 0.4),
        0 0 10px rgba(255, 165, 0, 0.2);

    /* Transitions (inchangées) */
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
    will-change: opacity, transform;
}

/* =====================================================
   MODIFICATEURS D'ÉTAT
   ================================================= */

/* ===== ANIMATION DE SORTIE ===== */
.slider-container.slide-out {
    opacity: 0;
    transform: translateY(15px);
    pointer-events: none;
}


.slider-container.slide-out + .slider-instructions {
    opacity: 0;
    transform: translateY(15px);
    pointer-events: none;
}

/* ===== NEUTRALISATION POUR L'EFFET "GLASS" ===== */
.slider-container.glass-effect {
    background: transparent;
    border: none;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

/* ==========================================================
   RESPONSIVE DESIGN (AJUSTEMENTS POUR MOBILES)
   ========================================================== */

@media (max-width: 560px) {
    .slider {
        flex-grow: 1;
        flex-shrink: 0;
        width: auto;
    }

    /* On réduit la taille des labels et leur largeur fixe */
    .slider-container .word-label {
        width: 90px;
        flex-shrink: 0;
        font-size: 0.8rem;
        overflow-wrap: break-word; /* Permet au texte de passer à la ligne s'il est trop long */
        
    }

    /* On réduit l'espace entre les éléments du slider */
    .slider-content {
        gap: 1rem; /* On réduit un peu l'espace entre les éléments */
        padding: 0 0.5rem;
        box-sizing: border-box;
    }
    
    /* On ajuste la taille de la police pour les instructions */
    .slider-instructions {
        font-size: 0.8rem;
    }
    
    .slider-container .word-label:first-of-type {
        text-align: right;
    }
    .slider-container .word-label:last-of-type {
        text-align: left;
    }
    
}