/* Bouton CTA fixe, mobile uniquement.
   Reprend la palette des boutons de contenu (.btn-quotation, .btn-simulator...)
   définie dans style.css. */

.sticky-cta {
    display: none;
}

@media (max-width: 767px) {

    .sticky-cta {
        display: block;
        position: fixed;
        left: 0;
        right: 0;
        /* Décalé au-dessus du bandeau cookies tant qu'il est affiché : sa hauteur
           est renseignée par le script dans --sticky-cta-offset. */
        bottom: var(--sticky-cta-offset, 0px);
        z-index: 9000;
        padding: 8px 10px;
        /* Réserve à droite la place de la bulle de chat (Tidio), mesurée par le
           script : le bouton s'arrête avant elle au lieu de passer dessous. */
        padding-right: calc(10px + var(--sticky-cta-chat-gap, 0px));
        padding-bottom: calc(8px + env(safe-area-inset-bottom));
        background: rgba(255, 255, 255, 0.96);
        box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.18);
        transform: translateY(110%);
        transition: transform 0.3s ease;
    }

    .sticky-cta.is-visible {
        transform: translateY(0);
    }

    /* Menu ouvert : le bouton, en position fixe, resterait affiché par-dessus le
       menu déployé. Il redescend hors de l'écran tant que le menu est ouvert.
       Deux menus coexistent : les panneaux latéraux du thème (body.active-left /
       .active-right) et le menu mobile, dont l'état vit sur #offcanvas-top-bar
       et que le script recopie ici en .sticky-cta--menu-open. Les sélecteurs
       reprennent .is-visible pour passer devant la règle qui remonte le bouton. */
    body.active-left .sticky-cta.is-visible,
    body.active-right .sticky-cta.is-visible,
    .sticky-cta.sticky-cta--menu-open.is-visible {
        transform: translateY(110%);
    }

    .sticky-cta-link {
        display: block;
        box-sizing: border-box;
        max-width: 100%;
        padding: 13px 12px;
        border-radius: 12px;
        border: 1px solid;
        color: #fff !important;
        text-align: center;
        text-decoration: none !important;
        text-transform: uppercase;
        font-size: 14px;
        font-weight: 700;
        line-height: 1.2;
        transition: background 0.3s;
        /* Les libellés repris du contenu sont parfois longs : ils passent sur
           deux lignes plutôt que déborder. La césure automatique est désactivée
           — elle coupait les mots au milieu (« ges-tion », « photo-voltaïque ») ;
           la coupure se fait donc entre les mots. break-word ne sert que de
           filet pour un mot seul plus large que le bouton, et n'ajoute pas de
           tiret. */
        hyphens: manual;
        -webkit-hyphens: manual;
        overflow-wrap: break-word;
        word-break: normal;
        /* Répartit le texte de façon équilibrée entre les deux lignes. */
        text-wrap: balance;
    }

    /* Les libellés les plus longs restent lisibles sur les petits écrans. */
    @media (max-width: 360px) {
        .sticky-cta-link {
            font-size: 13px;
            padding: 12px 10px;
        }
    }

    .sticky-cta--vert .sticky-cta-link {
        background: #619e2b;
        border-color: #2b6b00;
    }
    .sticky-cta--vert .sticky-cta-link:hover,
    .sticky-cta--vert .sticky-cta-link:active {
        background: #2b6b00;
    }

    .sticky-cta--orange .sticky-cta-link {
        background: #e99320;
        border-color: #cd7704;
    }
    .sticky-cta--orange .sticky-cta-link:hover,
    .sticky-cta--orange .sticky-cta-link:active {
        background: #cd7704;
    }

    .sticky-cta--bleu-clair .sticky-cta-link {
        background: #287bbf;
        border-color: #155182;
    }
    .sticky-cta--bleu-clair .sticky-cta-link:hover,
    .sticky-cta--bleu-clair .sticky-cta-link:active {
        background: #155182;
    }

    .sticky-cta--bleu-fonce .sticky-cta-link {
        background: #0b2557;
        border-color: #06183a;
    }
    .sticky-cta--bleu-fonce .sticky-cta-link:hover,
    .sticky-cta--bleu-fonce .sticky-cta-link:active {
        background: #1c489c;
    }

    /* Réserve la hauteur du bouton pour que le bas de page reste atteignable. */
    body.has-sticky-cta #main-footer {
        padding-bottom: 80px;
    }


    /* Option « masquer le bouton d'origine » : le bouton du contenu repris en
       version fixe est marqué par le script, puis retiré sur mobile seulement. */
    .sticky-cta-source-hidden {
        display: none !important;
    }
}
