/* ==============================================
   NAVIGATION SYSTEM v4 - Feature-Rich Topbar
   Desktop: multi-row nav + mega menus + quick links
   Mobile: compact bar with rich slide-in panel
   ============================================== */

/* ----- RESET & BASE ----- */
.nv-bar *,.nv-footer *{box-sizing:border-box}
.nv-bar{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif}

/* ----- TOP UTILITY BAR ----- */
.nv-bar-top{background:#0f1a3a;color:rgba(255,255,255,.85);font-size:.75rem;height:34px;display:flex;align-items:center;border-bottom:1px solid rgba(255,255,255,.06)}
.nv-bar-top .nv-inner{display:flex;align-items:center;justify-content:space-between;height:34px}
.nv-bar-top a{color:rgba(255,255,255,.7);text-decoration:none;margin-right:1.2rem;transition:color .15s}
.nv-bar-top a:hover{color:#fff}
.nv-bar-top .nv-top-right{display:flex;align-items:center;gap:1rem}
.nv-bar-top .nv-top-right a i{margin-right:4px}

/* ----- DESKTOP HEADER BAR ----- */
.nv-bar-main{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid #e4e7eb;box-shadow:0 1px 6px rgba(0,0,0,.04)}
.nv-inner{max-width:1320px;margin:0 auto;padding:0 1.5rem;display:flex;align-items:center;height:60px;gap:1.25rem}

/* Brand */
.nv-brand{display:flex;align-items:center;gap:9px;text-decoration:none;flex-shrink:0}
.nv-brand-icon{width:36px;height:36px;background:linear-gradient(135deg,#1a237e,#283593);color:#fff;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:800}
.nv-brand-text{font-family:'Merriweather',Georgia,serif;font-weight:900;font-size:1.05rem;color:#1a237e;letter-spacing:-.3px}
.nv-brand-text span{font-weight:400;font-size:.82rem;color:#555;letter-spacing:0}

/* Nav links container */
.nv-links{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0;height:60px}
.nv-links>li{position:relative;height:100%;display:flex;align-items:center}

/* Top-level nav link */
.nv-links>li>a,.nv-links>li>.nv-drop-trigger{display:flex;align-items:center;gap:5px;padding:8px 13px;border-radius:7px;color:#444;text-decoration:none;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap;height:36px;user-select:none}
.nv-links>li>a:hover,.nv-links>li>.nv-drop-trigger:hover{background:#f3f4f7;color:#1a237e}
.nv-links>li>a.active,.nv-links>li>.nv-drop-trigger.active{background:#eef1f9;color:#1a237e;font-weight:600}
.nv-drop-arrow{font-size:.5rem;margin-left:1px;color:#999;transition:transform .2s}
.nv-links>li:hover>.nv-drop-trigger .nv-drop-arrow{transform:rotate(180deg)}

/* ----- DROPDOWNS ----- */
.nv-dropdown{position:absolute;top:100%;left:0;min-width:240px;background:#fff;border-radius:10px;box-shadow:0 12px 40px rgba(0,0,0,.12),0 2px 8px rgba(0,0,0,.06);border:1px solid #e8ebf0;padding:.3rem 0;opacity:0;visibility:hidden;transform:translateY(6px);transition:all .18s ease;z-index:110}
.nv-links>li:hover>.nv-dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.nv-dropdown a{display:flex;align-items:center;gap:6px;padding:5px 16px;font-size:.82rem;color:#444;text-decoration:none;transition:all .1s;white-space:nowrap;line-height:1.2}
.nv-dropdown a:hover{background:#f5f7fb;color:#1a237e}
.nv-dropdown a i,.nv-dropdown a .nv-dd-icon{width:16px;text-align:center;color:#1a237e;opacity:.55;font-size:.8rem;flex-shrink:0}
.nv-dropdown .nv-dd-divider{height:1px;background:#eaecf0;margin:.25rem 12px}
.nv-dd-heading{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:#999;padding:8px 18px 4px;cursor:default}

/* Wide dropdown */
.nv-dropdown-wide{min-width:300px}

/* ----- MEGA MENU ----- */
.nv-mega{position:absolute;top:100%;left:50%;transform:translate(-50%,6px);width:760px;background:#fff;border-radius:12px;box-shadow:0 16px 48px rgba(0,0,0,.12),0 2px 8px rgba(0,0,0,.06);border:1px solid #e8ebf0;padding:1.5rem;opacity:0;visibility:hidden;transition:all .18s ease;z-index:110;display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.nv-links>li:hover>.nv-mega{opacity:1;visibility:visible;transform:translate(-50%,0)}
.nv-mega-column h4{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:#999;margin:0 0 .6rem;padding:0 10px}
.nv-mega-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px}
.nv-mega-grid a{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:6px;font-size:.8rem;color:#444;text-decoration:none;transition:all .12s}
.nv-mega-grid a:hover{background:#f5f7fb;color:#1a237e}
.nv-mega-grid a i{width:16px;text-align:center;color:#1a237e;opacity:.5;font-size:.78rem}
.nv-mega-links{display:flex;flex-direction:column;gap:1px}
.nv-mega-links a{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:6px;font-size:.8rem;color:#444;text-decoration:none;transition:all .12s}
.nv-mega-links a:hover{background:#f5f7fb;color:#1a237e}
.nv-mega-links a i{width:16px;text-align:center;color:#1a237e;opacity:.5;font-size:.78rem}

/* MEGA - 3 columns for wider menus */
.nv-mega-3col{grid-template-columns:1fr 1fr 1fr}

/* ----- HEADER ACTIONS (Right side) ----- */
.nv-actions{display:flex;align-items:center;gap:8px;margin-left:auto;flex-shrink:0}
.nv-search-toggle{width:38px;height:38px;border-radius:50%;border:1.5px solid #e0e3e8;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#555;font-size:.9rem;transition:all .15s}
.nv-search-toggle:hover{background:#f3f4f7;border-color:#c0c4cc}
.nv-search-box{position:absolute;top:0;left:0;right:0;height:60px;background:#fff;display:flex;align-items:center;padding:0 1.5rem;gap:12px;border-bottom:1px solid #e4e7eb;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .2s ease}
.nv-search-box.open{opacity:1;visibility:visible;transform:translateY(0)}
.nv-search-box input{flex:1;border:none;font-size:1rem;font-family:inherit;outline:none;color:#1a1a2e}
.nv-search-box input::placeholder{color:#aaa}
.nv-search-close{width:36px;height:36px;border-radius:50%;border:none;background:#f0f2f5;cursor:pointer;font-size:1rem;color:#666;display:flex;align-items:center;justify-content:center}

.nv-btn{padding:8px 18px;border-radius:8px;font-size:.82rem;font-weight:600;text-decoration:none;transition:all .15s;cursor:pointer;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-family:inherit}
.nv-btn-submit{background:linear-gradient(135deg,#1a237e,#283593);color:#fff;border:none;padding:9px 20px;border-radius:8px;font-weight:600;font-size:.82rem;box-shadow:0 2px 10px rgba(26,35,126,.28)}
.nv-btn-submit:hover{background:linear-gradient(135deg,#0d1b5e,#1a237e);box-shadow:0 4px 16px rgba(26,35,126,.38);transform:translateY(-1px)}

/* ----- SECONDARY QUICK LINKS BAR ----- */
.nv-bar-quick{background:#f8f9fb;border-bottom:1px solid #e9ecf0;height:38px;display:flex;align-items:center}
.nv-bar-quick .nv-inner{height:38px;justify-content:space-between;gap:.5rem}
.nv-quick-links{display:flex;align-items:center;gap:.25rem;overflow:hidden}
.nv-quick-links a{font-size:.76rem;color:#666;text-decoration:none;padding:4px 12px;border-radius:5px;white-space:nowrap;transition:all .12s}
.nv-quick-links a:hover{background:#e8ecf2;color:#1a237e}
.nv-quick-links a i{font-size:.7rem;margin-right:4px;opacity:.5}
.nv-quick-stats{display:flex;align-items:center;gap:1rem;font-size:.72rem;color:#999}
.nv-quick-stats span i{margin-right:3px;color:#1a237e;opacity:.4}

/* ----- MOBILE HAMBURGER ----- */
.nv-hamburger{display:none;width:40px;height:40px;border-radius:50%;border:1.5px solid #e0e3e8;background:#fff;cursor:pointer;flex-direction:column;align-items:flex-end;justify-content:center;gap:4px;padding-right:10px;z-index:200;flex-shrink:0}
.nv-hamburger span{display:block;height:2px;background:#1a237e;border-radius:2px;transition:all .25s cubic-bezier(.4,0,.2,1)}
.nv-hamburger span:nth-child(1){width:13px}.nv-hamburger span:nth-child(2){width:19px}.nv-hamburger span:nth-child(3){width:10px}
.nv-hamburger.open span:nth-child(1){width:20px;transform:translateY(6px) rotate(45deg)}
.nv-hamburger.open span:nth-child(2){opacity:0}
.nv-hamburger.open span:nth-child(3){width:20px;transform:translateY(-6px) rotate(-45deg)}

/* ----- MOBILE PANEL ----- */
.nv-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.45);z-index:140;display:none}
.nv-overlay.show{display:block}
.nv-panel{position:fixed;top:0;right:0;width:88%;max-width:380px;height:100vh;background:#fff;z-index:150;transform:translateX(110%);transition:transform .3s cubic-bezier(.4,0,.2,1);box-shadow:-8px 0 40px rgba(0,0,0,.15);display:flex;flex-direction:column;overflow-y:auto;-webkit-overflow-scrolling:touch}
.nv-panel.open{transform:translateX(0)}
.nv-panel-header{padding:18px 20px;border-bottom:1px solid #f0f0f0;display:flex;align-items:center;gap:12px}
.nv-panel-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#1a237e,#283593);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;flex-shrink:0}
.nv-panel-user{flex:1}.nv-panel-user .nv-name{font-weight:600;font-size:.92rem;color:#1a1a2e}.nv-panel-user .nv-role{font-size:.7rem;color:#999}
.nv-panel-close{width:34px;height:34px;border-radius:50%;border:none;background:#f0f2f5;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:#666;flex-shrink:0}
.nv-panel-search{padding:10px 20px 14px;border-bottom:1px solid #f0f0f0}
.nv-panel-search input{width:100%;padding:10px 14px;border:1.5px solid #e0e3e8;border-radius:10px;font-size:.9rem;font-family:inherit;background:#f8f9fb}
.nv-panel-search input:focus{outline:none;border-color:#1976d2;background:#fff}
.nv-panel-links{flex:1;padding:8px 0;overflow-y:auto}
.nv-panel-links a.nv-mobile-link{display:flex;align-items:center;gap:14px;padding:13px 20px;font-size:.9rem;color:#1a1a2e;text-decoration:none;font-weight:500;border-left:3px solid transparent;transition:all .15s}
.nv-panel-links a.nv-mobile-link:hover,.nv-panel-links a.nv-mobile-link:active{background:#f5f6fa}
.nv-panel-links a.nv-mobile-link.active{color:#1a237e;font-weight:700;border-left-color:#1a237e;background:#eef2f9}
.nv-panel-links a.nv-mobile-link i{width:20px;text-align:center;font-size:1rem;color:#1a237e;opacity:.6}

/* Mobile accordion */
.nv-mobile-accordion{border-bottom:1px solid #f0f0f0}
.nv-mobile-acc-trigger{display:flex;align-items:center;justify-content:space-between;padding:13px 20px;font-size:.9rem;font-weight:500;color:#1a1a2e;cursor:pointer;transition:all .15s;user-select:none}
.nv-mobile-acc-trigger:hover{background:#f5f6fa}
.nv-mobile-acc-trigger i.acc-arrow{font-size:.55rem;color:#999;transition:transform .2s}
.nv-mobile-accordion.open .nv-mobile-acc-trigger i.acc-arrow{transform:rotate(180deg)}
.nv-mobile-acc-content{display:none;background:#fafbfd;padding:4px 0}
.nv-mobile-accordion.open .nv-mobile-acc-content{display:block}
.nv-mobile-acc-content a{display:flex;align-items:center;gap:10px;padding:10px 20px 10px 50px;font-size:.82rem;color:#555;text-decoration:none;transition:all .12s}
.nv-mobile-acc-content a:hover{color:#1a237e;background:#f0f3f8}
.nv-mobile-acc-content .nv-sub-heading{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#999;padding:8px 20px 4px 50px;pointer-events:none}
.nv-panel-footer{padding:16px 20px;border-top:1px solid #eee;display:flex;gap:10px}
.nv-panel-footer a{flex:1;padding:13px;text-align:center;font-size:.84rem;font-weight:600;border-radius:10px;text-decoration:none;transition:all .15s}
.nv-panel-submit{background:#1a237e;color:#fff}
.nv-panel-submit:hover{background:#0d1b5e}

/* ----- FOOTER ----- */
.nv-footer{background:#0f1a3a;color:rgba(255,255,255,.75);font-size:.84rem;line-height:1.7;margin-top:auto}
.nv-footer-inner{max-width:1320px;margin:0 auto;padding:3rem 1.5rem}
.nv-footer-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:2.5rem}
.nv-footer-col h4{color:#fff;font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.8px;margin:0 0 1rem}
.nv-footer-col a{display:block;color:rgba(255,255,255,.6);text-decoration:none;padding:3px 0;font-size:.82rem;transition:color .15s}
.nv-footer-col a:hover{color:#fff}
.nv-footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding:1.25rem 1.5rem;max-width:1320px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem}
.nv-footer-copy{color:rgba(255,255,255,.4);font-size:.74rem}
.nv-footer-social{display:flex;gap:10px}
.nv-footer-social a{width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.5);text-decoration:none;font-size:.85rem;transition:all .15s}
.nv-footer-social a:hover{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.3)}
.nv-footer-email{display:flex;align-items:center;gap:8px;margin-top:1rem;color:rgba(255,255,255,.5);font-size:.8rem}

/* ----- RESPONSIVE ----- */
@media(max-width:1200px){
    .nv-links>li>a,.nv-links>li>.nv-drop-trigger{font-size:.78rem;padding:8px 10px}
    .nv-bar-quick{display:none}
}
@media(max-width:1024px){
    .nv-bar-top{display:none}
    .nv-links,.nv-actions{display:none}
    .nv-hamburger{display:flex}
    .nv-brand-text span{display:none}
    .nv-footer-grid{grid-template-columns:1fr 1fr 1fr;gap:1.5rem}
}
@media(max-width:768px){
    .nv-footer-grid{grid-template-columns:1fr 1fr;gap:1.25rem}
}
@media(max-width:600px){
    .nv-footer-grid{grid-template-columns:1fr;gap:1.25rem}
    .nv-footer-bottom{flex-direction:column;align-items:flex-start}
}

/* ----- NOTIFICATION BELL & DROPDOWN ----- */
.nv-notif-wrap{position:relative;display:flex;align-items:center}
.nv-notif-bell{background:none;border:none;cursor:pointer;font-size:1.15rem;color:#555;padding:.4rem;position:relative;line-height:1;transition:color .15s}
.nv-notif-bell:hover{color:#1a237e}
.nv-notif-badge{position:absolute;top:-2px;right:-4px;background:#e74c3c;color:#fff;border-radius:50%;min-width:18px;height:18px;font-size:.65rem;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 4px;line-height:1;font-family:Inter,sans-serif}
.nv-notif-dropdown{position:absolute;top:100%;right:0;width:360px;max-height:440px;overflow-y:auto;background:#fff;border-radius:10px;box-shadow:0 12px 40px rgba(0,0,0,.15);border:1px solid #e8ebf0;z-index:120;display:none}
.nv-notif-dropdown.open{display:block}
.nv-notif-hd{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #e8ebf0;font-weight:600;font-size:.85rem;color:#1a237e}
.nv-notif-hd button{background:none;border:none;color:#1976d2;font-size:.75rem;cursor:pointer;font-weight:500}
.nv-notif-hd button:hover{text-decoration:underline}
.nv-notif-item{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;border-bottom:1px solid #f0f2f5;text-decoration:none;color:inherit;transition:background .12s;cursor:pointer}
.nv-notif-item:hover{background:#f5f7fb}
.nv-notif-item.unread{background:#eef2f9}
.nv-notif-dot{width:8px;height:8px;border-radius:50%;margin-top:5px;flex-shrink:0}
.nv-notif-body{flex:1;min-width:0}
.nv-notif-title{font-size:.82rem;font-weight:600;color:#1a1a2e;margin-bottom:2px}
.nv-notif-msg{font-size:.76rem;color:#666;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nv-notif-time{font-size:.68rem;color:#999;margin-top:3px}
.nv-notif-empty{padding:30px 16px;text-align:center;color:#999;font-size:.82rem}
.nv-notif-foot{padding:10px 16px;text-align:center;border-top:1px solid #f0f2f5}
.nv-notif-foot a{font-size:.78rem;color:#1976d2;text-decoration:none;font-weight:500}
.nv-notif-foot a:hover{text-decoration:underline}
.nv-btn-login{display:inline-flex;align-items:center;gap:.35rem;padding:.5rem 1rem;border-radius:8px;font-weight:600;font-size:.8rem;text-decoration:none;cursor:pointer;transition:all .15s;font-family:inherit}
.nv-btn-login:hover{background:#eef1f9!important}

/* ===== SKIP TO CONTENT ===== */
.nv-skip-link{position:absolute;top:-40px;left:6px;background:#1a237e;color:#fff;padding:8px 16px;border-radius:0 0 8px 8px;z-index:9999;font-size:.85rem;font-weight:600;text-decoration:none;transition:top .2s}
.nv-skip-link:focus{top:0}

/* ===== FOCUS-VISIBLE OUTLINES (WCAG) ===== */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid #1565c0;outline-offset:2px}

/* ===== COOKIE CONSENT BANNER ===== */
#qv-cookie-bar{position:fixed;bottom:0;left:0;right:0;background:#1a1a2e;color:#fff;z-index:99999;padding:14px 0;transform:translateY(100%);transition:transform .4s ease;font-family:'Inter',-apple-system,sans-serif;box-shadow:0 -4px 20px rgba(0,0,0,.3)}
#qv-cookie-bar.show{transform:translateY(0)}
.qv-cookie-inner{max-width:1320px;margin:0 auto;padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.qv-cookie-text{font-size:.85rem;color:rgba(255,255,255,.85);display:flex;align-items:center;gap:.5rem;flex:1;min-width:200px}
.qv-cookie-actions{display:flex;align-items:center;gap:.75rem;flex-shrink:0}
.qv-cookie-accept{background:#1565c0;color:#fff;border:none;padding:8px 22px;border-radius:8px;font-weight:600;font-size:.82rem;cursor:pointer;transition:all .15s;font-family:inherit}
.qv-cookie-accept:hover{background:#0d47a1}
.qv-cookie-learn{color:rgba(255,255,255,.65);font-size:.8rem;text-decoration:underline;transition:color .15s}
.qv-cookie-learn:hover{color:#fff}
@media(max-width:600px){
    .qv-cookie-inner{flex-direction:column;text-align:center}
    .qv-cookie-actions{width:100%;justify-content:center}
}

@media(max-width:600px){
    .nv-notif-dropdown{width:300px;right:-80px}
}
