/* ALIOKI 2026-10-07 : boutons natifs Elementor reproduisant le style des anciens boutons Qi */
.btn-mairie .elementor-button.elementor-button{
    line-height:2em;
    font-weight:500;
    font-size:16px;
    font-family:inherit;
    text-transform:none;
    letter-spacing:0;
    overflow:hidden;
}
.btn-mairie .elementor-button-content-wrapper{
    align-items:center;
}
.btn-mairie .elementor-button-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    line-height:0;
    font-size:16px;
    overflow:hidden;
    transition:color .25s ease-in-out,background-color .25s ease-in-out;
}
.btn-mairie .elementor-button-icon svg{
    width:1em;
    height:auto;
    fill:currentColor;
    stroke:currentColor;
}
.btn-mairie .elementor-button-icon i{
    font-size:1em;
}
/* Pastille ronde derriere l'icone */
.btn-mairie[class*="pastille-"] .elementor-button-icon{
    padding:10px;
    border-radius:50px;
}
.pastille-bleu .elementor-button-icon{ background-color:#61B5E5; }
.pastille-gris .elementor-button-icon{ background-color:#3C4D57; }
.pastille-rouge .elementor-button-icon{ background-color:#e5383b; }
.pastille-orange .elementor-button-icon{ background-color:#faa307; }
.pastille-violet .elementor-button-icon{ background-color:#a06cd5; }
.pastille-vert .elementor-button-icon{ background-color:#40916c; }
/* Couleur de l'icone */
.icone-sombre .elementor-button-icon{ color:#08151C; }
.icone-blanc .elementor-button-icon{ color:#FFFFFF; }
/* La couleur de l'icone ne suit pas la couleur de survol du texte (comportement Qi) */
.elementor-widget-button.icone-sombre .elementor-button:hover .elementor-button-icon,
.elementor-widget-button.icone-sombre .elementor-button:focus .elementor-button-icon,
.elementor-widget-button.icone-sombre .elementor-button:hover .elementor-button-icon svg,
.elementor-widget-button.icone-sombre .elementor-button:focus .elementor-button-icon svg{ color:#08151C; fill:#08151C; }
.elementor-widget-button.icone-blanc .elementor-button:hover .elementor-button-icon,
.elementor-widget-button.icone-blanc .elementor-button:focus .elementor-button-icon,
.elementor-widget-button.icone-blanc .elementor-button:hover .elementor-button-icon svg,
.elementor-widget-button.icone-blanc .elementor-button:focus .elementor-button-icon svg{ color:#FFFFFF; fill:#FFFFFF; }
/* Glissement de l'icone au survol (sortie puis retour) */
.glisse-h .elementor-button-icon svg,
.glisse-h .elementor-button-icon i,
.glisse-v .elementor-button-icon svg,
.glisse-v .elementor-button-icon i{
    will-change:transform;
}
.glisse-h:hover .elementor-button-icon svg,
.glisse-h:hover .elementor-button-icon i{
    animation:alk-glisse-h .55s cubic-bezier(.37,.08,.02,.93) forwards;
}
.glisse-v:hover .elementor-button-icon svg,
.glisse-v:hover .elementor-button-icon i{
    animation:alk-glisse-v .55s cubic-bezier(.37,.08,.02,.93) forwards;
}
@keyframes alk-glisse-h{
    0%{ transform:translateX(0); opacity:1; }
    45%{ transform:translateX(200%); opacity:0; }
    50%{ transform:translateX(-150%); opacity:0; }
    100%{ transform:translateX(0); opacity:1; }
}
@keyframes alk-glisse-v{
    0%{ transform:translateY(0); opacity:1; }
    45%{ transform:translateY(-150%); opacity:0; }
    50%{ transform:translateY(150%); opacity:0; }
    100%{ transform:translateY(0); opacity:1; }
}
/* Bouton pleine largeur, texte a gauche et icone a droite */
.btn-plein .elementor-button-wrapper,
.btn-plein .elementor-button{
    display:flex;
    width:100%;
}
.btn-plein .elementor-button-content-wrapper{
    width:100%;
    justify-content:space-between;
}
/* Texte sur une ligne */
.btn-nowrap .elementor-button-text{
    white-space:nowrap;
}
