/* === Navigation — page d'accueil (landing) ===
   Styles dédiés au menu de la home. Ils surchargent landing.css pour le
   nouveau markup (logo .ca-logo, panneau .nav-menu-wrap, CTA mobile). */

/* Logo (cap + texte sur desktop, cap seul sur mobile/tablette) */
.ca-logo {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    font-family: 'Playfair Display', serif;
    font-size: 1.8rem;
    font-weight: 700;
    white-space: nowrap;
    margin-left: -16px;
}
.ca-logo-cap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #c0392b;
    font-size: 1.9rem;
    margin-right: 10px;
    transition: transform 0.3s ease;
}
.ca-logo:hover .ca-logo-cap { transform: rotate(-8deg) scale(1.05); }
.ca-logo-text { display: inline-flex; }
.ca-word-cerises { color: #c0392b; }
.ca-word-academy { color: rgba(255, 255, 255, 0.85); margin-left: 4px; }

.nav-bar-inner {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 20px;
    justify-content: flex-start;
}

.nav-links-inline {
    flex: 1 1 auto;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    min-width: 0;
    margin-left: 34px;
    margin-right: 24px;
}

.nav-links {
    display: flex !important;
    list-style: none;
    gap: 28px;
    align-items: center;
    margin: 0;
    padding: 0;
    position: static !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    background: transparent !important;
    flex-direction: row !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    box-shadow: none !important;
}
.nav-links a {
    color: white !important;
    text-decoration: none;
    font-weight: 500;
    font-size: 0.95rem;
    position: relative;
}
.nav-links a::after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 0;
    width: 0;
    height: 2px;
    background: rgba(255, 255, 255, 0.5);
    transition: width 0.3s ease;
}
.nav-links a:hover::after { width: 100%; }

.nav-cta-outline {
    padding: 8px 20px;
    font-size: 0.9rem;
    border: 2px solid rgba(255, 255, 255, 0.5);
    color: white !important;
    text-decoration: none;
    border-radius: 50px;
    font-weight: 600;
    transition: all 0.3s ease;
    background: transparent;
    cursor: pointer;
}
.nav-cta-outline:hover { background: rgba(255, 255, 255, 0.1); border-color: white; }
.nav-cta-solid {
    padding: 8px 20px;
    font-size: 0.9rem;
    background: #c0392b;
    color: white !important;
    text-decoration: none;
    border-radius: 50px;
    font-weight: 600;
    border: none;
    transition: background 0.3s ease;
}
.nav-cta-solid:hover { background: #a93226; }

.menu-toggle {
    display: none;
    background: none;
    border: none;
    color: white;
    font-size: 1.5rem;
    cursor: pointer;
    padding: 5px;
}

.nav-desktop-cta {
    flex-shrink: 0;
    display: flex !important;
    gap: 10px;
    align-items: center;
    margin-left: auto;
    white-space: nowrap;
}

.nav-menu-wrap {
    display: flex;
    align-items: center;
}
.nav-mobile-cta { display: none; }

/* Item de menu WP "Connexion / S'inscrire" (nav-cta-mobile) : remplacé par les
   CTA dédiés, on le masque partout (override landing.css qui le montrait en mobile). */
.nav-cta-mobile {
    display: none !important;
}

/* === Mobile / Tablette === */
@media (max-width: 1200px) {
    .menu-toggle { display: block !important; margin-left: auto; }
    .nav-desktop-cta { display: none !important; }
    .nav-links-inline { margin: 0; width: 100%; }

    .nav-menu-wrap {
        position: fixed !important;
        top: 70px;
        left: 0;
        right: 0;
        background: #ffffff !important;
        flex-direction: column;
        padding: 22px 22px 28px;
        box-shadow: 0 18px 40px rgba(0, 0, 0, 0.18) !important;
        transform: translateY(-120%) !important;
        opacity: 0 !important;
        visibility: hidden !important;
        transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), opacity 0.3s ease, visibility 0.3s;
        border-radius: 0 0 22px 22px;
        max-height: calc(100vh - 70px);
        overflow-y: auto;
        z-index: 999;
    }
    .nav-menu-wrap.active {
        transform: translateY(0) !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    .nav-links {
        position: static !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        flex-direction: column !important;
        width: 100%;
        gap: 0 !important;
        align-items: stretch !important;
        background: transparent !important;
        box-shadow: none !important;
        transform: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        padding: 0 !important;
    }
    .nav-links li {
        width: 100%;
        text-align: left;
        padding: 4px 0;
        border-bottom: 1px solid var(--light-gray);
        list-style: none;
    }
    .nav-links li:last-child { border-bottom: none; }
    .nav-links a {
        color: var(--primary) !important;
        display: block;
        padding: 13px 14px;
        border-radius: 10px;
        font-size: 1rem;
    }
    .nav-links a::after { display: none !important; }
    .nav-links a:hover { background: rgba(192, 57, 43, 0.08); color: #c0392b !important; }

    .nav-mobile-cta {
        display: flex !important;
        flex-direction: column;
        gap: 12px;
        margin-top: 20px;
    }
    .nav-mobile-cta .nav-cta-outline,
    .nav-mobile-cta .nav-cta-solid {
        text-align: center;
        padding: 13px 20px;
        font-size: 1rem;
        border-radius: 50px;
    }
    .nav-mobile-cta .nav-cta-outline {
        color: #c0392b !important;
        border: 2px solid #c0392b !important;
        background: transparent;
    }
    .nav-mobile-cta .nav-cta-solid { color: #ffffff !important; }

    /* Logo complet CERISES ACADEMY (cap + texte) aussi sur mobile/tablette */
    .ca-logo { margin-left: 0; font-size: 22px; }
    .ca-logo-cap { font-size: 26px; }
    /* landing.css force flex-wrap:wrap -> le logo trop large fait passer le
       hamburger à la ligne ; on empêche le wrap et on réduit le logo */
    .nav-bar-inner { flex-wrap: nowrap !important; }
}

@media (max-width: 600px) {
    .nav-menu-wrap { top: 66px; }
}

/* === Barre admin WP (connecte) : ne pas la laisser recouvrir le nav fixe === */
body.admin-bar .navbar { top: 32px; }
body.admin-bar .nav-menu-wrap { top: 102px; }
@media screen and (max-width: 782px) {
    body.admin-bar .navbar { top: 46px; }
    body.admin-bar .nav-menu-wrap { top: 116px; }
}
@media (max-width: 600px) {
    body.admin-bar .nav-menu-wrap { top: 112px; }
}
