/* ========== RESET COMPLET ========== */
html, body {
    margin: 0 !important;
    padding: 0 !important;
}

/* ========== BARRE ADMIN ========== */
#wpadminbar {
    position: fixed !important;
    width: 100%;
    z-index: 9999;
}

/* ========== STRUCTURE PRINCIPALE ========== */
.site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    width: 100%;
}

body.admin-bar .site-header {
    top: 32px;
}

@media screen and (max-width: 782px) {
    body.admin-bar .site-header {
        top: 46px;
    }
}

/* ========== MENU PRINCIPAL ========== */
.main-navigation {
    background: #2c3e50;
    width: 100%;
    margin: 0;
    padding: 0;
}

/* Correction ultime pour superposition */
.main-navigation {
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
    position: relative;
}

.primary-menu {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
}

.primary-menu li {
    margin: 0;
    padding: 0;
    position: relative;
}

.primary-menu a {
    color: white !important;
    text-decoration: none !important;
    padding: 15px 25px !important;
    display: block !important;
    font-weight: 500 !important;
    transition: all 0.3s ease !important;
    position: relative;
    overflow: hidden;
}

.primary-menu a:hover {
    background: #4d4d4d !important;
}

.primary-menu a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 0;
    height: 3px;
    background: #0f5791;
    transition: all 0.3s ease;
}

.primary-menu a:hover::after {
    left: 0;
    width: 100%;
}

.primary-menu li:focus-within,
.primary-menu li:hover {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* ========== BANNIÈRE ========== */
.site-banner {
    margin: 0;
    padding: 0;
    width: 100%;
    position: relative;
    top: 0;
    z-index: 1;
}

.banner-image {
    width: 100%;
    height: auto;
    display: block;
    vertical-align: bottom;
}

/* ========== VERSION MOBILE ========== */
@media (max-width: 768px) {
    .primary-menu {
        flex-direction: column;
    }
    
    .primary-menu a {
        padding: 15px 20px !important;
        border-bottom: 1px solid rgba(255,255,255,0.1);
    }
    
    .primary-menu a::after {
        display: none;
    }
}

/* Correction spécifique pour la première page */
.home .site-banner {
    margin-top: 0;
    position: relative;
}