/* ═══════════════════════════════════════════
   SKY NAVBAR — v3 (UX & A11y Optimisé)
═══════════════════════════════════════════ */
:root {
    --nav-h: 64px;
    --navy: #252F52;
    --blue: #4a6cf7;
    --blue-lt: #6b8cff;
    --muted: #64748b;
    --border: rgba(37,47,82,0.1);
    --shadow: 0 4px 24px rgba(37,47,82,0.08);
}

*, *::before, *::after { box-sizing: border-box; }

/* ── ACCESSIBILITÉ CLAVIER ── */
:focus-visible {
    outline: 2px solid var(--blue);
    outline-offset: 2px;
    border-radius: inherit; /* S'adapte à la forme du bouton */
}

.sky-nav {
    position: fixed; top: 0; left: 0; right: 0; z-index: 99999;
    height: var(--nav-h);
    transform: translateZ(0);
    background: rgba(255,255,255,0.92);
    backdrop-filter: blur(20px) saturate(180%);
    -webkit-backdrop-filter: blur(20px) saturate(180%);
    border-bottom: 1px solid var(--border);
    transition: box-shadow 0.3s cubic-bezier(0.16, 1, 0.3, 1), background 0.3s ease;
    font-family: 'Poppins', sans-serif;
}
.sky-nav.scrolled {
    box-shadow: var(--shadow);
    background: rgba(255,255,255,0.97);
}
[data-theme="dark"] .sky-nav {
    background: rgba(13,18,36,0.92) !important;
    border-bottom-color: rgba(255,255,255,0.06) !important;
}
[data-theme="dark"] .sky-nav.scrolled {
    background: rgba(13,18,36,0.98) !important;
}

.sky-nav-progress {
    position: absolute; bottom: -1px; left: 0; height: 2px;
    background: linear-gradient(90deg, var(--blue), var(--blue-lt));
    width: 0%; transition: width 0.1s linear;
    border-radius: 0 2px 2px 0;
}

.sky-nav-inner {
    max-width: 1280px; margin: 0 auto;
    height: var(--nav-h);
    display: flex; align-items: center;
    padding: 0 24px; gap: 8px;
}

/* ── LOGO & BADGES ── */
.sky-nav-logo {
    display: flex; align-items: center; gap: 10px;
    text-decoration: none; flex-shrink: 0;
    margin-right: 8px;
    border-radius: 8px; /* Pour le contour :focus-visible */
}
.sky-nav-logo img { height: 36px; }
.sky-nav-logo-badges { display: flex; gap: 5px; }

.sky-eco-badge {
    display: inline-flex; align-items: center; gap: 5px;
    padding: 4px 9px 4px 7px; border-radius: 20px;
    background: rgba(34, 197, 94, 0.1);
    border: 1px solid rgba(34, 197, 94, 0.25);
    text-decoration: none; cursor: pointer;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    position: relative; white-space: nowrap;
}
[data-theme="dark"] .sky-eco-badge {
    background: rgba(34, 197, 94, 0.08); border-color: rgba(34, 197, 94, 0.2);
}
.sky-eco-badge:active { transform: scale(0.95); }

.sky-eco-tooltip {
    position: absolute; top: calc(100% + 8px); left: 50%;
    transform: translateX(-50%) translateY(-4px);
    background: #14532d; color: #dcfce7;
    font-size: 0.7rem; font-weight: 600;
    padding: 5px 10px; border-radius: 8px;
    white-space: nowrap; pointer-events: none;
    opacity: 0; transition: opacity 0.2s, transform 0.2s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}
.sky-eco-tooltip::after {
    content: ''; position: absolute; bottom: 100%; left: 50%;
    transform: translateX(-50%); border: 5px solid transparent;
    border-bottom-color: #14532d;
}

/* ── LIENS DESKTOP ── */
.sky-nav-links {
    display: flex; align-items: center; gap: 2px;
    list-style: none; margin: 0; padding: 0; flex: 1;
}
.sky-nav-links .nav-item { position: relative; }

.sky-nav-link {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 7px 13px; border-radius: 10px;
    font-size: 0.82rem; font-weight: 600; font-family: 'Poppins', sans-serif;
    color: var(--navy); text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease, transform 0.15s cubic-bezier(0.4, 0, 0.2, 1);
    white-space: nowrap; border: none; background: transparent; cursor: pointer;
}
[data-theme="dark"] .sky-nav-link { color: #e2e8f0; }
.sky-nav-link i { font-size: 0.75rem; opacity: 0.7; }
.sky-nav-link:active { transform: scale(0.96); }

/* ── BOUTONS ACTIONS ── */
.sky-nav-actions {
    display: flex; align-items: center; gap: 4px; flex-shrink: 0;
    position: relative; z-index: 99999;
}
.sky-nav-cta {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 9px 18px; border-radius: 11px;
    font-size: 0.82rem; font-weight: 700;
    background: var(--navy); color: white !important;
    text-decoration: none; flex-shrink: 0;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: 0 3px 12px rgba(37,47,82,0.25);
}
.sky-nav-cta i { font-size: 0.75rem; }
.sky-nav-cta:active { transform: scale(0.96); box-shadow: 0 2px 8px rgba(37,47,82,0.15); }

.sky-dash-btn {
    display: inline-flex; align-items: center; gap: 7px;
    padding: 9px 16px; border-radius: 11px;
    font-size: 0.82rem; font-weight: 700;
    background: linear-gradient(135deg, #4a6cf7, #6b8cff);
    color: white !important; text-decoration: none; flex-shrink: 0;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: 0 3px 14px rgba(74,108,247,0.35);
    border: 1px solid rgba(255,255,255,0.15);
}
.sky-dash-btn:active { transform: scale(0.96); box-shadow: 0 2px 10px rgba(74,108,247,0.25); }
.sky-dash-btn i { font-size: 0.78rem; }

.sky-theme-btn {
    width: 36px; height: 36px; border-radius: 10px;
    border: none; background: transparent;
    display: flex; align-items: center; justify-content: center;
    cursor: pointer; color: var(--navy); font-size: 0.85rem;
    transition: background 0.2s, color 0.2s, transform 0.15s cubic-bezier(0.4, 0, 0.2, 1);
}
.sky-theme-btn:active { transform: scale(0.92); }
[data-theme="dark"] .sky-theme-btn { color: #fbbf24; }
.sky-theme-btn .fa-sun { display: none; }
.sky-theme-btn .fa-moon { display: block; }
[data-theme="dark"] .sky-theme-btn .fa-sun { display: block; }
[data-theme="dark"] .sky-theme-btn .fa-moon { display: none; }

.sky-lang-btn {
    width: 36px; height: 36px; border-radius: 10px;
    border: none; background: rgba(37,47,82,0.06);
    display: flex; align-items: center; justify-content: center;
    cursor: pointer; font-size: 1.2rem; line-height: 1;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: transform, background-color; flex-shrink: 0;
}
.sky-lang-btn:active { transform: scale(0.92); box-shadow: none; }
[data-theme="dark"] .sky-lang-btn { background: rgba(255,255,255,0.08); }

/* ── MEGA MENU DROPDOWN ── */
.sky-dropdown { position: relative; }
.sky-dropdown-toggle .chevron { font-size: 0.65rem; transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1); opacity: 0.6; }
.sky-dropdown.open .chevron { transform: rotate(180deg); }

.sky-dropdown-panel {
    position: absolute; top: calc(100% + 12px); right: 0;
    background: white; border: 1px solid rgba(37,47,82,0.1);
    border-radius: 18px; box-shadow: 0 20px 60px rgba(37,47,82,0.15);
    padding: 18px; min-width: 540px; /* Légèrement élargi pour respirer */
    opacity: 0; transform: translateY(-8px) scale(0.98);
    pointer-events: none;
    /* Animation ultra fluide Apple-like */
    transition: opacity 0.3s cubic-bezier(0.16, 1, 0.3, 1), transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    transform-origin: top right;
}
[data-theme="dark"] .sky-dropdown-panel {
    background: #1a2035; border-color: rgba(255,255,255,0.07); box-shadow: 0 20px 60px rgba(0,0,0,0.5);
}
.sky-dropdown.open .sky-dropdown-panel {
    opacity: 1; transform: translateY(0) scale(1); pointer-events: auto;
}

.sky-dropdown-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; /* Plus d'espace entre les colonnes */ }
.sky-dd-item {
    display: flex; align-items: center; gap: 12px;
    padding: 12px 14px; /* Loi de Fitts : Zones de clic élargies */
    border-radius: 12px;
    text-decoration: none; transition: background 0.15s, transform 0.15s cubic-bezier(0.4, 0, 0.2, 1);
}
.sky-dd-item:active { transform: scale(0.98); }
.sky-dd-icon {
    width: 36px; height: 36px; border-radius: 10px; flex-shrink: 0;
    display: flex; align-items: center; justify-content: center; font-size: 0.9rem;
}
.sky-dd-text { display: flex; flex-direction: column; }
.sky-dd-title { font-size: 0.85rem; font-weight: 700; color: var(--navy); line-height: 1.2; transition: color 0.2s; }
[data-theme="dark"] .sky-dd-title { color: #e2e8f0; }
.sky-dd-sub { font-size: 0.72rem; color: var(--muted); margin-top: 2px; transition: color 0.2s; }

.sky-dd-socials {
    display: flex; align-items: center; justify-content: center; gap: 10px;
    padding: 16px 12px 4px; border-top: 1px solid rgba(37,47,82,0.07); margin-top: 8px;
}
[data-theme="dark"] .sky-dd-socials { border-top-color: rgba(255,255,255,0.06); }
.sky-dd-social {
    width: 36px; height: 36px; border-radius: 10px;
    background: rgba(37,47,82,0.06);
    display: flex; align-items: center; justify-content: center;
    font-size: 0.9rem; color: var(--navy); text-decoration: none;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}
.sky-dd-social:active { transform: scale(0.92); }
[data-theme="dark"] .sky-dd-social { background: rgba(255,255,255,0.07); color: #e2e8f0; }

/* ── MENU MOBILE ── */
.sky-hamburger {
    display: none; width: 36px; height: 36px; border-radius: 10px;
    border: none; background: transparent; flex-direction: column;
    align-items: center; justify-content: center; gap: 5px;
    cursor: pointer; padding: 0; z-index: 100001; position: relative;
    transition: transform 0.2s;
}
.sky-hamburger:active { transform: scale(0.92); }
.sky-hamburger span {
    display: block; width: 20px; height: 2px;
    background: var(--navy); border-radius: 2px;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1); /* Animation plus réactive */
}
[data-theme="dark"] .sky-hamburger span { background: #e2e8f0; }
.sky-hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.sky-hamburger.open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.sky-hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.sky-drawer-overlay {
    display: none; position: fixed; inset: 0; z-index: 100001;
    background: rgba(0,0,0,0.45); backdrop-filter: blur(4px); /* Flou augmenté en fond */
    opacity: 0; transition: opacity 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.sky-drawer-overlay.open { display: block; opacity: 1; }

.sky-mobile-menu {
    position: fixed; top: 0; left: 0; bottom: 0;
    width: 300px; max-width: 85vw; background: white; z-index: 100001;
    display: flex; flex-direction: column;
    transform: translateX(-100%); transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: 4px 0 40px rgba(0,0,0,0.15); overflow: hidden;
}
[data-theme="dark"] .sky-mobile-menu { background: #0d1224; box-shadow: 4px 0 40px rgba(0,0,0,0.5); }
.sky-mobile-menu.open { transform: translateX(0); }

.sky-drawer-head {
    display: flex; align-items: center; justify-content: space-between;
    padding: 0 16px; height: var(--nav-h); border-bottom: 1px solid rgba(37,47,82,0.07); flex-shrink: 0;
}
[data-theme="dark"] .sky-drawer-head { border-bottom-color: rgba(255,255,255,0.06); }
.sky-drawer-head img { height: 32px; }
.sky-drawer-close {
    width: 32px; height: 32px; border-radius: 9px; border: none; background: rgba(37,47,82,0.06);
    display: flex; align-items: center; justify-content: center;
    cursor: pointer; font-size: 0.8rem; color: var(--navy); transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}
.sky-drawer-close:active { transform: scale(0.9); }
[data-theme="dark"] .sky-drawer-close { background: rgba(255,255,255,0.07); color: #e2e8f0; }

.sky-drawer-body { flex: 1; overflow-y: auto; padding: 12px; scroll-behavior: smooth; }
.sky-mobile-link {
    display: flex; align-items: center; gap: 12px;
    padding: 11px 12px; border-radius: 12px; text-decoration: none;
    font-size: 0.87rem; font-weight: 600; color: var(--navy); transition: background 0.15s, transform 0.15s;
}
.sky-mobile-link:active { transform: scale(0.98); }
[data-theme="dark"] .sky-mobile-link { color: #e2e8f0; }
.sky-mobile-link .sky-dd-icon { flex-shrink: 0; width: 32px; height: 32px; border-radius: 9px; }

.sky-mobile-section-label {
    font-size: 0.65rem; font-weight: 800; text-transform: uppercase;
    letter-spacing: 0.1em; color: var(--muted); padding: 10px 12px 4px;
}
.sky-mobile-divider { height: 1px; background: rgba(37,47,82,0.07); margin: 6px 0; }
[data-theme="dark"] .sky-mobile-divider { background: rgba(255,255,255,0.06); }

.sky-drawer-foot { padding: 12px; border-top: 1px solid rgba(37,47,82,0.07); flex-shrink: 0; }
[data-theme="dark"] .sky-drawer-foot { border-top-color: rgba(255,255,255,0.06); }
.sky-mobile-cta {
    display: flex; align-items: center; justify-content: center; gap: 8px;
    padding: 13px; border-radius: 13px; background: var(--navy); color: white !important;
    text-decoration: none; font-size: 0.88rem; font-weight: 700; margin-bottom: 10px;
    transition: transform 0.2s;
}
.sky-mobile-cta:active { transform: scale(0.97); }
.sky-mobile-socials { display: flex; justify-content: center; gap: 8px; }
.sky-mobile-social {
    width: 38px; height: 38px; border-radius: 10px; background: rgba(37,47,82,0.06);
    display: flex; align-items: center; justify-content: center;
    font-size: 0.88rem; color: var(--navy); text-decoration: none; transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}
.sky-mobile-social:active { transform: scale(0.92); }
[data-theme="dark"] .sky-mobile-social { background: rgba(255,255,255,0.07); color: #e2e8f0; }

/* ── NOTIFICATION TOAST ── */
.sky-toast {
    position: fixed; bottom: -60px; left: 50%; transform: translateX(-50%);
    background: var(--navy); color: white;
    padding: 12px 24px; border-radius: 50px;
    font-size: 0.85rem; font-weight: 600; font-family: 'Poppins', sans-serif;
    opacity: 0; transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    z-index: 100000; box-shadow: 0 8px 24px rgba(0,0,0,0.2);
    pointer-events: none; display: flex; align-items: center; gap: 8px;
}
[data-theme="dark"] .sky-toast { background: var(--blue); }
.sky-toast.show { bottom: 30px; opacity: 1; }

/* ── HOVER FIX (Empêche les hover bloqués sur mobile) ── */
@media (hover: hover) and (pointer: fine) {
    .sky-eco-badge:hover { background: rgba(34, 197, 94, 0.18); border-color: rgba(34, 197, 94, 0.5); transform: translateY(-2px); box-shadow: 0 4px 12px rgba(34, 197, 94, 0.2); }
    .sky-eco-badge:hover .sky-eco-tooltip { opacity: 1; transform: translateX(-50%) translateY(0); }
    .sky-nav-link:hover { background: rgba(37,47,82,0.06); color: var(--blue); }
    [data-theme="dark"] .sky-nav-link:hover { background: rgba(255,255,255,0.07); color: var(--blue-lt); }
    .sky-nav-cta:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(37,47,82,0.35); filter: brightness(1.1); }
    .sky-dash-btn:hover { transform: translateY(-2px); box-shadow: 0 6px 22px rgba(74,108,247,0.5); filter: brightness(1.08); }
    .sky-theme-btn:hover { background: rgba(37,47,82,0.07); }
    [data-theme="dark"] .sky-theme-btn:hover { background: rgba(255,255,255,0.07); }

    .sky-dd-item:hover { background: rgba(37,47,82,0.05); }
    .sky-dd-item:hover .sky-dd-title { color: var(--blue); } /* Effet de couleur sur le texte du dropdown */
    [data-theme="dark"] .sky-dd-item:hover { background: rgba(255,255,255,0.06); }
    [data-theme="dark"] .sky-dd-item:hover .sky-dd-title { color: var(--blue-lt); }

    .sky-dd-social:hover { background: var(--navy); color: white; transform: translateY(-3px); }
    [data-theme="dark"] .sky-dd-social:hover { background: var(--blue); }
    .sky-lang-btn:hover { background: rgba(37,47,82,0.13); transform: scale(1.05) translateY(-2px); box-shadow: 0 4px 12px rgba(37,47,82,0.1); }
    [data-theme="dark"] .sky-lang-btn:hover { background: rgba(255,255,255,0.15); box-shadow: 0 4px 12px rgba(0,0,0,0.3); }
    .sky-drawer-close:hover { background: rgba(37,47,82,0.12); }
    .sky-mobile-link:hover { background: rgba(37,47,82,0.06); }
    [data-theme="dark"] .sky-mobile-link:hover { background: rgba(255,255,255,0.06); }
    .sky-mobile-cta:hover { filter: brightness(1.15); }
    .sky-mobile-social:hover { background: var(--navy); color: white; transform: translateY(-2px); }
    [data-theme="dark"] .sky-mobile-social:hover { background: var(--blue); color: white; }
}

/* RESPONSIVE */
@media (max-width: 1024px) {
    .sky-nav-actions { margin-left: auto; display: flex; align-items: center; gap: 8px; }
    .sky-nav-logo { margin-right: 0; }
    .sky-nav-links, .sky-nav-cta { display: none; }
    .sky-hamburger { display: flex; }
}
@media (max-width: 480px) {
    .sky-nav-inner { padding: 0 16px; }
    .sky-nav-logo-badges { display: none; }
}

/* ── CORRECTION DU SOULIGNEMENT (Anti-Bootstrap) ── */
.sky-nav a:hover,
.sky-mobile-menu a:hover,
.sky-nav-link:hover,
.sky-dd-item:hover,
.sky-dash-btn:hover,
.sky-nav-cta:hover,
.sky-mobile-link:hover,
.sky-mobile-cta:hover,
.sky-mobile-social:hover,
.sky-dd-social:hover,
.sky-eco-badge:hover {
    text-decoration: none !important;
}