/*
 * Styles pour les éléments d'interface communs
 * Ce fichier contient les styles pour les éléments UI partagés comme les séparateurs, scrollbars, etc.
 */

/*──────────────────
         Reset et styles de base
──────────────────*/

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300&display=swap');

:root{
        --main-background: #fff;
        --main-fonts-color: #5d4037;
        --main-decor-color: #a1887f;
        --main-header-background: #f5f5f5;
        --main-font-family: 'Poppins', sans-serif;
}

/* Styles globaux pour les liens */
a {
        color: var(--main-fonts-color);
        text-decoration: none;
        transition: color 0.3s ease;
}

a:hover {
        color: var(--main-decor-color);
}

/* Styles globaux pour les boutons */
button, .button {
        color: var(--main-fonts-color);
        transition: color 0.3s ease, background-color 0.3s ease;
}

button:hover, .button:hover {
        color: var(--main-decor-color);
}

*{
        margin: 0;
        padding: 0;
        scroll-behavior: smooth;
}

main{
        padding: 0;
        width: 100%;
        height: 100%;
        background: var(--main-background);
}

/*──── hr ─────*/

hr {
        background: var(--main-decor-color);
        margin: 2px;
        height: 3px;
        width: 150px;
        border-radius: 5px;
        border: hidden;
        margin-inline-start: auto;
        margin-inline-end: auto;
        transition: width 0.3s ease-in-out;
}

/* Effet d'élargissement de la barre de titre au survol */
h3:hover hr {
        width: 250px;
}

/*────────────────── 
         Scrollbar
──────────────────*/
::-webkit-Scrollbar{
        width: 5px; 
        background: rgba(248, 243, 233, 0.8);
}
::-webkit-Scrollbar-thumb{
        border-radius: 10px;
        background: var(--main-decor-color);
        box-shadow: inset 0 0 20px var(--main-decor-color);
}
::-webkit-Scrollbar-track{
        margin-top: 80px;
        border-radius: 10px;
}

/* Styles responsifs généraux pour les conteneurs et sections */
@media only screen and (max-width: 768px) {
        html, body {
                width: 100%;
                overflow-x: hidden;
                margin: 0;
                padding: 0;
                position: relative;
                max-width: 100vw;
        }

        .container {
                width: 100%;
                max-width: 100vw;
                overflow-x: hidden;
                box-sizing: border-box;
                margin: 0;
                padding: 0;
        }

        #home, #projects, #contact, #chakra-section {
                overflow-x: hidden;
                width: 100%;
                max-width: 100%;
                box-sizing: border-box;
                margin: 0 auto;
                padding: 0;
                display: flex;
                flex-direction: column;
                align-items: center;
                text-align: center;
                position: relative;
                left: 0; 
                right: 0;
                overflow-y: visible;
        }

        main {
                width: 100%;
                max-width: 100%;
                overflow-x: hidden;
                padding: 0;
                margin: 0;
        }
}
.scroll-up {
    width: 100%;
    text-align: center;
    margin: 20px auto;
    position: relative;
    left: 0;
    transform: none;
    overflow-x: hidden;
    display: flex;
    justify-content: center;
}

/* Correction pour grand écran */
@media only screen and (min-width: 1200px) {
    .scroll-up {
        left: 0;
        transform: none;
        width: 100%;
        margin: 20px auto;
    }
    
    .pixel-container {
        margin-left: auto;
        margin-right: auto;
        left: 0;
        transform: none;
    }
}

.scroll-up a {
    color: var(--main-fonts-color);
    text-decoration: none;
    transition: 0.3s;
}

.scroll-up a:hover {
    color: var(--main-decor-color);
    text-shadow: 0 0 5px var(--main-decor-color);
}

.scroll-up i {
    font-size: 2.2rem;
}
/* Styles pour le bouton de téléchargement du CV */
.cv-download-container {
    width: 100%;
    display: flex;
    justify-content: center;
    gap: 20px;
    margin: 20px 0;
    padding: 10px;
}

.cv-view-button {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 24px;
    background-color: var(--main-fonts-color);
    color: white;
    border-radius: 5px;
    font-family: var(--main-font-family);
    font-size: 1.1rem;
    transition: all 0.3s ease;
    border: 2px solid transparent;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

.cv-view-button:hover {
    background-color: white;
    color: var(--main-fonts-color);
    border-color: var(--main-fonts-color);
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

.cv-view-button i {
    font-size: 1.2rem;
}

.cv-download-button {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 24px;
    background-color: var(--main-decor-color);
    color: white;
    border-radius: 5px;
    font-family: var(--main-font-family);
    font-size: 1.1rem;
    transition: all 0.3s ease;
    border: 2px solid transparent;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

.cv-download-button:hover {
    background-color: white;
    color: var(--main-decor-color);
    border-color: var(--main-decor-color);
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

.cv-download-button i {
    font-size: 1.2rem;
}

/* Adaptation mobile */
@media only screen and (max-width: 768px) {
    .cv-download-button {
        padding: 10px 20px;
        font-size: 1rem;
    }
}

body {
    font-family: var(--main-font-family);
    color: var(--main-text-color);
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 100%;
    position: relative;
}

/* Correction globale des décalages horizontaux */
* {
    box-sizing: border-box;
}

.container, main, section {
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    left: 0;
    right: 0;
}

main {
    flex: 1 0 auto !important;
    margin-bottom: 0 !important;
    display: block !important;
    min-height: 0 !important;
}

.container {
    flex: 1 0 auto;
    display: flex;
    flex-direction: column;
}

#chakra-section {
    position: relative !important;
    z-index: 2 !important;
}

footer.copyright {
    margin: 0;
    padding: 0;
    width: 100%;
    position: relative;
}