@font-face {
    font-family: 'Site-Bold';
    src: url('/assets/fonts/Site-Bold.woff2') format('woff2'),
         url('/assets/fonts/Site-Bold.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Site-BoldItalic';
    src: url('/assets/fonts/Site-BoldItalic.woff2') format('woff2'),
         url('/assets/fonts/Site-BoldItalic.woff') format('woff');
    font-weight: normal;
    font-style: italic;
}

/* Forcer la police Site-Bold-Italic pour les balises <em> et <i> */
em, i {
    font-family: 'Site-BoldItalic', sans-serif;
    font-style: normal;
}

/* Style global */
body {
    font-family: 'Site-Bold', sans-serif;
    margin: 0;
    padding: 0;
    background: linear-gradient(-45deg, #ee7752, #e73c7e, #23a6d5, #23d5ab);
    background-size: 400% 400%;
    animation: gradient 15s ease infinite;
    height: 100vh;
    color: #333;
    box-sizing: border-box;
    position: relative;
    z-index: 1;
}

/* Animation fond dégradé animé */
@keyframes gradient {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

.italic-text {
    font-family: 'Site-BoldItalic', sans-serif;
    font-style: italic;
}

/* Style pour les liens */
a {
    text-decoration: none;
    color: #333;
}

a:hover, a:focus, a:active {
    color: rgba(51, 51, 51, 0.5);
}

a:visited {
    color: #333;
}

/* Conteneur principal */
.content {
    max-width: 800px;
    padding: 0 20px;
    box-sizing: border-box;
    margin: 20px 0 0 20px;
}

/* Largeur pour écrans larges (> 1080px) */
@media (min-width: 1080px) {
    .content {
        width: 50%;
    }
}

/* Largeur pour écrans intermédiaires (768px à 1080px) */
@media (min-width: 768px) and (max-width: 1080px) {
    .content {
        width: 66.66%;
    }

    p {
        font-size: 16px;
        line-height: 20px;
    }
}

/* Largeur pour écrans mobiles (< 768px) */
@media (max-width: 768px) {
    .content {
        width: calc(100% - 40px);
        margin: 20px auto;
    }

    p {
        font-size: 16px;
        line-height: 22px;
    }
}

/* Paragraphes */
p {
    font-size: 18px;
    line-height: 24px;
    text-align: left;
    margin: 0 0 10px 0;
}

/* Gestion des exposants */
sup {
    font-size: 75%;
    vertical-align: super;
    line-height: 0;
}
