/* =========================================
   BOUTONS DU SITE - fichier centralisé
   Modifier ici pour changer le style de TOUS
   les boutons (menu + pages) en un seul endroit.
========================================= */

.btn-cta,
.cta {
    display: inline-block;
    background: transparent;
    color: #D0021B;
    border: 2px solid #D0021B;
    text-decoration: none;
    font-weight: 600;
    border-radius: 50px;
    box-shadow: 0 4px 14px rgba(0,0,0,0.12);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    text-align: center;
    position: relative;
    overflow: hidden;
}

/* Bouton principal des pages (grand, centré, uppercase) */
.btn-cta {
    display: block;
    width: fit-content;
    margin: 40px auto;
    padding: 18px 40px;
    font-size: 1.2rem;
    text-transform: uppercase;
    line-height: 1.3;
}

/* Bouton du menu (plus compact) */
.cta {
    padding: 8px 20px;
    text-transform: capitalize;
    min-width: 180px;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    line-height: 1.4;
}

.btn-cta::before,
.cta::before {
    content: '';
    position: absolute;
    top: 0;
    left: -75%;
    width: 50%;
    height: 100%;
    background: linear-gradient(120deg, transparent, rgba(208,2,27,.35), transparent);
    transform: skewX(-20deg);
    transition: left 0.6s ease;
}

.btn-cta:hover,
.cta:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 30px rgba(0,0,0,0.2);
}

.btn-cta:hover::before,
.cta:hover::before {
    left: 125%;
}

.cta::after {
    display: none;
}

.btn-cta .sous-texte {
    font-size: 20px;
    color: #000000;
    margin-top: 6px;
    line-height: 23px;
}

/* MOBILE */
@media (max-width: 800px) {
    .btn-cta {
        width: calc(100% - 40px);
        padding: 5px;
        font-size: 24px;
        line-height: 22px;
        box-shadow: none;
        border-radius: 30px;
        margin: 50px 20px;
    }

    .btn-cta:hover {
        transform: none;
    }

    .btn-cta .sous-texte {
        font-size: 14px;
    }
}
