@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600&display=swap');

/* ===== Layout général du header ===== */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html, body {
    margin: 0 !important;
    padding: 0 !important;
    height: 100%;
}

body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    background: transparent; /* transparent pour que hero prenne tout */
    padding-top: 0 !important; /* ZÉRO ESPACE */
}

.site-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    padding: 20px 0px;
    z-index: 50;
    pointer-events: none;            /* pour que seul le contenu interne capte les clics */
}

.header-inner {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: auto 1fr auto; /* logo / nav / boutons */
    align-items: center;
    gap: 32px;
    pointer-events: auto;
}

/* ===== Logo rond à gauche ===== */

.site-logo img {
    display: block;
    width: 80px;
    height: 80px;
}

/* ===== Barre de navigation « pill » en glass ===== */

.site-nav {
    flex: 1;
    display: flex;
    justify-content: center;
}

.site-nav ul {
    display: flex;
    align-items: center;
    gap: 40px;
    padding: 10px 40px;
    border-radius: 999px;
    background: rgba(15, 25, 40, 0.65);          /* couleur de fond sombre transparente [web:9] */
    box-shadow:
        0 18px 45px rgba(0, 0, 0, 0.45),
        0 0 0 1px rgba(255, 255, 255, 0.08);     /* halo et léger contour [web:9] */
    backdrop-filter: blur(18px);                 /* effet glass principal [web:3] */
    -webkit-backdrop-filter: blur(18px);
    font-family: 'Outfit', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
}

/* Liens de nav */

.site-nav li {
    list-style: none;
}

.nav-link {
    position: relative;
    font-weight: 300;               /* Light */
    font-size: 14px;                /* ajuste si tu veux plus grand/petit */
    letter-spacing: 0.06em;
    font-size: 14px;
    letter-spacing: 0.04em;
    text-transform: none;
    color: rgba(235, 242, 255, 0.75);
    text-decoration: none;
    padding: 8px 0;
    transition: color 0.25s ease;
}

/* Soulignement fluide au survol / actif */

.nav-link::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -4px;
    width: 0;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, #ffffff, #c5e4ff);
    transform: translateX(-50%);
    transition: width 0.25s ease;
}

.nav-link:hover,
.nav-link:focus {
    color: rgba(255, 255, 255, 1);
}

.nav-link:hover::after,
.nav-link:focus::after,
.nav-link.active::after {
    width: 22px;
}

/* ===== Boutons « glass » à droite ===== */

.header-actions {
    display: flex;
    align-items: center;
    gap: 14px;
}

/* Boutons icône circulaires façon glassmorphism [web:12] */

.glass-icon-btn {
    position: relative;
    width: 38px;
    height: 38px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    background: radial-gradient(circle at 0% 0%, rgba(255, 255, 255, 0.35), rgba(255, 255, 255, 0.03))
                rgba(10, 20, 35, 0.75);
    box-shadow:
        0 16px 35px rgba(0, 0, 0, 0.55),
        0 0 0 1px rgba(255, 255, 255, 0.06);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #ffffff;
    padding: 0;
    outline: none;
    transition:
        transform 0.18s ease,
        box-shadow 0.18s ease,
        background 0.18s ease,
        border-color 0.18s ease;
}

.sound-toggle img {
    width: 20px;
    height: 20px;
}

.favorite-toggle img {
    width: 20px;
    height: 20px;
}

.glass-icon-btn:hover {
    transform: translateY(-1px);
    box-shadow:
        0 22px 40px rgba(0, 0, 0, 0.65),
        0 0 0 1px rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.22);
    background: radial-gradient(circle at 0% 0%, rgba(255, 255, 255, 0.45), rgba(255, 255, 255, 0.06))
                rgba(10, 20, 35, 0.85);
}

/* Petit point pour le switch NB/couleur */

.color-switch .switch-dot {
    width: 14px;
    height: 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, #ffffff, #ffe7b9);
    box-shadow: 0 0 8px rgba(255, 255, 255, 0.7);
}



/* ===== Fond de page sombre pour bien voir l’effet ===== */

body.is-desaturated {
    background-color: #0B0F14;
    min-height: 100vh;
    padding-top: 80px; /* espace pour le header fixe */
}

/* Hamburger button (mobile) */
.hamburger-btn {
    display: none; /* caché sur grand écran */
    flex-direction: column;
    justify-content: space-between;
    width: 28px;
    height: 22px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
}

.hamburger-line {
    width: 100%;
    height: 3px;
    background: #fff;
    border-radius: 2px;
    transition: all 0.3s ease;
}

/* Media query mobile */
@media (max-width: 768px) {

    /* Header intérieur full width mais avec padding */
    .header-inner {
        display: flex;
        justify-content: space-between; /* logo à gauche, hamburger à droite */
        align-items: center;
        width: 100%;
        padding: 0 16px; /* <-- padding sur gauche et droite */
        box-sizing: border-box;
    }

    /* Hamburger visible */
    .hamburger-btn {
        display: flex;
        position: relative; /* reste dans le flux flex */
        z-index: 1000;
    }

    /* Nav mobile cachée par défaut */
    .site-nav {
        display: none;
        position: fixed;
        top: 80px; /* juste sous le header */
        left: 0;
        width: 100%; /* prend toute la largeur de l'écran */
        background: rgba(10, 20, 35, 0.95);
        flex-direction: column;
        align-items: center;
        padding: 20px 0;
        gap: 20px;
        z-index: 999;
        box-sizing: border-box;
    }

    .site-nav.active {
        display: flex;
    }
}

/* Lorsque menu ouvert -> croix */
.hamburger-btn.open span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
}

.hamburger-btn.open span:nth-child(2) {
    opacity: 0; /* ligne du milieu disparaît */
}

.hamburger-btn.open span:nth-child(3) {
    transform: rotate(-45deg) translate(5px, -5px);
}
