/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Sep 16 2026 | 21:15:13 */
/* ==========================================================
   BOUSQUET — SUPERBLOCK ANNOTÉ
   VERSION FINALE
   ========================================================== */


/* ==========================================================
   1. BASE
   ========================================================== */

.bq-annotated {
    position: relative !important;
    overflow: hidden !important;
}

.bq-annotated > .elementor-container {
    position: relative !important;

    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;

    align-items: center !important;
}


/* ==========================================================
   2. DESKTOP / LAPTOP
   25% / 50% / 25%
   ========================================================== */

.bq-annotated .bq-copy-left {
    position: relative !important;
    z-index: 5 !important;

    width: 25% !important;
    max-width: 25% !important;
    flex: 0 0 25% !important;

    order: 1 !important;
}

.bq-annotated .bq-image-col {
    position: relative !important;
    z-index: 1 !important;

    width: 50% !important;
    max-width: 50% !important;
    flex: 0 0 50% !important;

    order: 2 !important;
}

.bq-annotated .bq-copy-right {
    position: relative !important;
    z-index: 5 !important;

    width: 25% !important;
    max-width: 25% !important;
    flex: 0 0 25% !important;

    order: 3 !important;
}


/* ==========================================================
   3. WRAPPERS DES COLONNES DE TEXTE
   ========================================================== */

.bq-annotated .bq-copy-left > .elementor-widget-wrap,
.bq-annotated .bq-copy-right > .elementor-widget-wrap {
    display: flex !important;
    flex-direction: column !important;

    justify-content: center !important;
    align-content: center !important;
}


/* ==========================================================
   4. TEXTES
   ========================================================== */

.bq-annotated .bq-note {
    position: relative !important;
    z-index: 5 !important;

    box-sizing: border-box !important;

    width: 100% !important;
    max-width: 100% !important;

    margin-top: 0 !important;
    margin-right: 0 !important;
    margin-bottom: clamp(28px, 3.5vw, 58px) !important;
    margin-left: 0 !important;

    /*
     * Padding permanent :
     * l'état actif ne modifiera donc jamais
     * les dimensions ou la position du texte.
     */
    padding: 9px 12px !important;

    border-radius: 4px !important;

    background-color: transparent !important;
    box-shadow: inset 0 0 0 transparent !important;

    text-align: left !important;

    cursor: pointer !important;

    transition:
        background-color 0.2s ease,
        box-shadow 0.2s ease,
        color 0.2s ease !important;
}

.bq-annotated .bq-note:last-child {
    margin-bottom: 0 !important;
}

.bq-annotated .bq-note p {
    margin: 0 !important;
}


/* ==========================================================
   5. MISE EN ÉVIDENCE DU TEXTE

   IMPORTANT :
   is-active est ajouté directement sur .bq-note par le JS.
   ========================================================== */

.bq-annotated .bq-note.is-active {
    background-color: rgba(244, 81, 30, 0.08) !important;

    box-shadow:
        inset 3px 0 0 #f4511e !important;
}


/*
 * On conserve la couleur typographique du site.
 * Tu peux enlever ce bloc si tu ne veux aucun changement
 * de couleur du texte.
 */

.bq-annotated .bq-note.is-active,
.bq-annotated .bq-note.is-active p,
.bq-annotated .bq-note.is-active strong {
    color: #003f67 !important;
}


/* ==========================================================
   6. FOCUS CLAVIER
   ========================================================== */

.bq-annotated .bq-note:focus-visible {
    outline: 2px solid #f4511e !important;
    outline-offset: 3px !important;
}


/* ==========================================================
   7. IMAGE
   ========================================================== */

.bq-annotated .bq-machine {
    position: relative !important;
    z-index: 1 !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
}

.bq-annotated .bq-machine .elementor-widget-container {
    width: 100% !important;
}

.bq-annotated .bq-machine img {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;

    margin: 0 auto !important;
}


/* ==========================================================
   8. WIDGET HTML
   Il contient uniquement le JS.
   Il ne doit pas influencer le layout.
   ========================================================== */

.bq-connectors-host {
    position: absolute !important;

    width: 0 !important;
    height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;

    pointer-events: none !important;
}


/* ==========================================================
   9. SVG
   ========================================================== */

.bq-annotated .bq-connectors {
    position: absolute !important;

    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;

    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;

    z-index: 3 !important;

    overflow: visible !important;

    pointer-events: none !important;
}


/* ==========================================================
   10. LIGNES DESKTOP / LAPTOP
   ========================================================== */

.bq-annotated .bq-connectors path {
    fill: none !important;

    stroke: #f4511e !important;
    stroke-width: 2 !important;

    stroke-linecap: round !important;
    stroke-linejoin: round !important;

    vector-effect: non-scaling-stroke !important;

    opacity: 0.9 !important;

    pointer-events: none !important;

    transition:
        stroke-width 0.2s ease,
        opacity 0.2s ease !important;

    /*
     * Protection contre toute ancienne
     * pointe de flèche.
     */
    marker-start: none !important;
    marker-mid: none !important;
    marker-end: none !important;
}


/* Ligne liée au texte/point actif */

.bq-annotated .bq-connectors path.is-active {
    stroke-width: 3 !important;
    opacity: 1 !important;
}


/* ==========================================================
   11. POINTS
   ========================================================== */

.bq-annotated .bq-connectors circle {
    display: block !important;

    fill: #ffffff !important;
    stroke: #f4511e !important;
    stroke-width: 2 !important;

    vector-effect: non-scaling-stroke !important;

    pointer-events: auto !important;

    cursor: pointer !important;

    transform-box: fill-box !important;
    transform-origin: center !important;

    transition:
        fill 0.2s ease,
        stroke 0.2s ease,
        stroke-width 0.2s ease,
        transform 0.2s ease !important;
}


/* Survol direct du point */

.bq-annotated .bq-connectors circle:hover {
    fill: #f4511e !important;
    stroke: #ffffff !important;

    stroke-width: 2.5 !important;

    transform: scale(1.3) !important;
}


/* Point actif via texte ou clic */

.bq-annotated .bq-connectors circle.is-active {
    fill: #f4511e !important;
    stroke: #ffffff !important;

    stroke-width: 2.5 !important;

    transform: scale(1.3) !important;
}


/* Focus clavier du point */

.bq-annotated .bq-connectors circle:focus {
    outline: none !important;
}


/* ==========================================================
   12. ANCIENS MARKERS
   ========================================================== */

.bq-annotated .bq-connectors marker,
.bq-annotated .bq-connectors defs {
    display: none !important;
}


/* ==========================================================
   13. TABLETTE
   < 980px

   - image en haut
   - textes dessous en 2 colonnes
   - points seulement
   ========================================================== */

@media screen and (max-width: 979px) {

    .bq-annotated > .elementor-container {
        display: flex !important;

        flex-direction: row !important;
        flex-wrap: wrap !important;

        align-items: stretch !important;
    }


    /* Image */

    .bq-annotated .bq-image-col {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;

        order: 1 !important;
    }

    .bq-annotated .bq-machine {
        width: min(68vw, 560px) !important;
        max-width: 560px !important;

        margin: 24px auto 40px auto !important;
    }


    /* Textes 1-2 */

    .bq-annotated .bq-copy-left {
        width: 50% !important;
        max-width: 50% !important;
        flex: 0 0 50% !important;

        order: 2 !important;
    }


    /* Textes 3-4-5 */

    .bq-annotated .bq-copy-right {
        width: 50% !important;
        max-width: 50% !important;
        flex: 0 0 50% !important;

        order: 3 !important;
    }


    .bq-annotated .bq-note {
        width: 100% !important;
        max-width: 100% !important;

        margin-top: 0 !important;
        margin-right: 0 !important;
        margin-bottom: 18px !important;
        margin-left: 0 !important;

        padding: 9px 12px !important;
    }


    /* Aucune ligne en tablette */

    .bq-annotated .bq-connectors path {
        display: none !important;
    }


    /* Points toujours visibles */

    .bq-annotated .bq-connectors circle {
        display: block !important;
    }
}


/* ==========================================================
   14. MOBILE
   <= 767px

   - image en haut
   - textes 1-2
   - textes 3-4-5
   - points seulement
   ========================================================== */

@media screen and (max-width: 767px) {

    .bq-annotated > .elementor-container {
        display: flex !important;

        flex-direction: column !important;
        flex-wrap: nowrap !important;

        align-items: stretch !important;
    }


    /* Image en premier */

    .bq-annotated .bq-image-col {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;

        order: 1 !important;
    }


    /* Textes 1-2 */

    .bq-annotated .bq-copy-left {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;

        order: 2 !important;
    }


    /* Textes 3-4-5 */

    .bq-annotated .bq-copy-right {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;

        order: 3 !important;
    }


    /* Image mobile */

    .bq-annotated .bq-machine {
        width: min(76vw, 320px) !important;
        max-width: 320px !important;

        margin: 28px auto 32px auto !important;
    }


    /* Tous les textes */

    .bq-annotated .bq-note,
    .bq-annotated .bq-copy-left .bq-note,
    .bq-annotated .bq-copy-right .bq-note {
        width: 100% !important;
        max-width: 100% !important;

        margin-top: 0 !important;
        margin-right: 0 !important;
        margin-bottom: 14px !important;
        margin-left: 0 !important;

        padding: 9px 12px !important;

        text-align: left !important;
    }


    /* Aucune ligne en mobile */

    .bq-annotated .bq-connectors path {
        display: none !important;
    }


    /* Points seulement */

    .bq-annotated .bq-connectors circle {
        display: block !important;

        stroke-width: 2.2 !important;
    }


    /* État actif mobile */

    .bq-annotated .bq-note.is-active {
        background-color: rgba(244, 81, 30, 0.08) !important;

        box-shadow:
            inset 3px 0 0 #f4511e !important;
    }
}


/* ==========================================================
   15. PETITS MOBILES
   ========================================================== */

@media screen and (max-width: 480px) {

    .bq-annotated .bq-machine {
        width: min(74vw, 285px) !important;
        max-width: 285px !important;

        margin: 24px auto 28px auto !important;
    }

    .bq-annotated .bq-note {
        margin-bottom: 12px !important;
    }
}