        .w-100 { width: 100%; box-sizing: border-box; }
        .text-left { text-align: left !important; }
        .text-center { text-align: center !important; }
        
        .titre-centre-encart {
            display: flex;
            justify-content: space-between;
            align-items: center;
            cursor: pointer;
            width: 100%;
        }

        .fleche-plus {
            font-size: 1.2rem; 
            font-weight: bold;
            transition: transform 0.25s ease;
            color: var(--blue-amix) !important;
            line-height: 1;
            display: inline-block; 
        }

        .feature-card.open .fleche-plus {
            transform: rotate(180deg);
        }

        .pack-expand-content { display: none; margin-top: 15px; cursor: default; }

        .pack-card-cliquable,
        .maj-card-cliquable { cursor: pointer; }

        .filigrane-archives {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%) rotate(-10deg);
        font-size: 6rem;
        font-weight: 900;
        color: rgba(200, 0, 0, 0.35); 
        text-transform: uppercase;
        letter-spacing: 4px;
        pointer-events: none; /* Clics transmis à l'image dessous */
        white-space: nowrap;
        z-index: 10;
        user-select: none;
    }

        .grille-telechargement {
            display: flex;
            flex-wrap: wrap;
            gap: 20px; 
            width: 100%;
            box-sizing: border-box;
        }
        .telechargement-doc {
            flex: 0 0 calc(32% - 7.5px); 
            background: #fff url('../img/fond/fond3.png') center/cover no-repeat;
            padding: 15px 0px;
            border-radius: 10px;
            text-align: center;
            box-shadow: var(--shadow);
            transition: transform 0.3s;
            border: 1px solid rgba(26, 42, 90, 0.1);
            text-decoration: none;
            box-sizing: border-box;
        }
        .telechargement-doc:hover { transform: translateY(-5px); }
        /* Même hauteur pour toutes les icônes (libellés alignés) */
        .telechargement-doc img { display: block; width: 50px; height: 58px; object-fit: contain; margin: 0 auto; }
        .telechargement-doc span { 
            display: block; 
            margin-top: 10px; 
            font-size: 15px; 
            font-weight: bold; 
            color: var(--blue-amix);
        }

        .product-top-container {
            display: flex;
            flex-wrap: wrap;
            gap: 40px;
            margin: 40px 0;
            align-items: stretch; 
        }
        .photos-produit { 
            flex: 2; 
            min-width: min(300px, 100%);
            display: grid;
            grid-template-columns: minmax(0, 1fr);
            grid-template-rows: 1fr;
            justify-items: center;
            align-items: center;
            cursor: pointer; 
        }
        .photos-produit img { 
            grid-column: 1;
            grid-row: 1;
            width: auto;
            max-width: min(800px, 100%);
            height: auto;
            max-height: 500px;
            object-fit: contain; 
            border-radius: 10px; 
            transition: opacity 0.2s ease-in-out;
        }
        .hidden-face { opacity: 0; pointer-events: none; }

        .sidebar-cards { display: flex; flex-direction: column; width: 100%; }
        .feature-card { margin: 0; width: 100%; box-sizing: border-box; }
        .sidebar-cards > div, .sidebar-cards > form { margin-bottom: 15px; }
        .sidebar-cards > div:last-child, .sidebar-cards > form:last-child { margin-bottom: 0; }
        
        .feature-title-clean { font-size: 1.1rem; text-align: left; margin: 0; }


        .maj-title-flex { display: flex; align-items: center; gap: 12px; }
        .maj-title-flex img { width: 24px; height: auto; } 
        .maj-expand-content {
            display: none;
            cursor: default;
            background: #fff; 
            border-top: 1px solid rgba(26, 42, 90, 0.1); 
        }
        .version-row {
            padding: 15px;
            border-bottom: 1px solid #eee;
            display: flex;
            flex-direction: column;
            gap: 6px;
            text-align: left;
        }
        .version-row:last-child { border-bottom: none; }
        .version-top-line {
            display: flex;
            justify-content: space-between;
            align-items: center;
        }
        .version-badge {
            background: var(--blanc-bleu-clair);
            color: #137333;
            padding: 3px 8px;
            border-radius: 4px;
            font-weight: bold;
            font-size: 0.85rem;
        }
        .version-date { font-size: 0.8rem; color: var(--gris-clair); }
        .version-notes { font-size: 0.88rem; color: var(--noir-clair); line-height: 1.3; margin: 2px 0 6px 0; }
        
        .espacement-texte img, .plus img { max-width: 100%; height: auto; }
        .espacement-texte, .plus { line-height: 1.6; margin-top: 20px; text-align: justify; }
        .espacement-texte p { margin-top: 0; margin-bottom: 14px; line-height: 1.6; }
        .espacement-texte p:last-child { margin-bottom: 0; }
        .espacement-texte, .espacement-texte ol, .plus, .plus ul, .plus ol, .plus li { text-align: left !important; list-style-position: inside; }

        .carte-plus {
            background: #fff url('../img/fond/fond_encart.png') center/cover no-repeat;
            border-radius: 15px; 
            box-shadow: var(--shadow);
            padding: 20px; 
            flex: 0 1 calc(33.333% - 60px); 
            min-width: 450px; 
            max-width: 540px; 
            display: flex; 
            flex-direction: column; 
            justify-content: flex-start; 
            transition: 0.3s;
            box-sizing: border-box;
        }
        .plus { margin-top: 16px; font-size: 16px; color: var(--blue-amix); }

        .pack-composition-block h4 { color: var(--blue-amix); font-size: 0.95rem; border-bottom: 1px solid var(--blue-amix); padding-bottom: 8px; margin-bottom: 15px; text-transform: uppercase; font-weight: bold; text-align: left; }
        .pack-composition-grid { display: flex; flex-wrap: wrap; gap: 15px; justify-content: flex-start; }
        .pack-article-card { flex: 1; min-width: 120px; max-width: 150px; text-align: center; background: var(--blanc-bleu-clair); padding: 10px; border-radius: 8px; border: 1px solid #eee; box-sizing: border-box; }
        .pack-link { text-decoration: none; display: block; transition: transform 0.2s ease; }
        .pack-link:hover { transform: scale(1.02); }
        .pack-img-container { height: 80px; display: flex; align-items: center; justify-content: center; background: #fff; border-radius: 6px; padding: 5px; border: 1px solid #f0f0f0; }

        .assoc-section { margin-top: 30px; margin-bottom: 40px; clear: both; width: 100%; overflow: hidden; }
        .assoc-title { color: var(--blue-amix); border-bottom: 2px solid var(--blue-amix); padding-bottom: 10px; margin-bottom: 20px; display: inline-block; }
        

.assoc-carousel-container { width: 100%; background: transparent; padding: 10px 0; box-sizing: border-box; position: relative; overflow: hidden; }

/* Bande défilante */
.assoc-track { display: flex; gap: 30px; width: max-content; }

/* Défilement en mode "is-scrolling" */
.assoc-carousel-container.is-scrolling .assoc-track { 
    animation: defilementAuto 60s linear infinite; 
}

/* Pause au survol */
.assoc-carousel-container.is-scrolling .assoc-track:hover { 
    animation-play-state: paused; 
}

/* Fixe si 4 produits ou moins */
.assoc-carousel-container.is-static .assoc-track { 
    animation: none; 
}

.assoc-grid { display: flex; flex-wrap: wrap; gap: 20px; width: 100%; }
        
        .assoc-card {
            flex: 0 0 300px; 
            background: #fff url('../img/fond/fond_encart.png') center/cover no-repeat;
            border: 1px solid var(--blanc-bleu-clair);
            border-radius: 8px;
            padding: 14px;
            text-align: center;
            text-decoration: none;
            transition: transform 0.2s, box-shadow 0.2s;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            box-sizing: border-box;
        }
        .assoc-card:hover { transform: translateY(-4px); box-shadow: 0 6px 12px rgba(0,0,0,0.1); }
        .assoc-ref { font-size: 0.9rem; font-weight: bold; color: var(--blue-amix); margin-bottom: 4px; }
        .assoc-desi { font-size: 0.78rem; color: var(--gris-clair); line-height: 1.3; margin-bottom: 10px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
        .assoc-photo-box { height: 100px; display: flex; align-items: center; justify-content: center; }
        .assoc-photo-box img { max-width: 100%; max-height: 100%; object-fit: contain; }

        /* Boîte d'erreur */
        .certif-error-box {
            background-color: #f8d7da;
            color: var(--rouge-fonce);
            border: 1px solid #f5c6cb;
            padding: 12px;
            margin-bottom: 15px;
            border-radius: 6px;
            font-size: 0.9rem;
            font-weight: bold;
            display: none;
        }


        @media (max-width: 768px) {
            .carte-plus { min-width: 100%; max-width: 100%; }
            .photos-produit img { max-height: 350px; }
            .filigrane-archives { font-size: 3rem; }
            .telechargement-doc { flex: 0 0 100%; }
        }

        @keyframes defilementAuto {
            0% { transform: translateX(0); }
            100% { transform: translateX(-50%); }
        }