﻿/**
 * JSU Floating Navigation Styles v4.0
 * Updated with JSU Navy/Blue branding
 * Colors: Navy #002147, Blue #008ED6, Light Blue #5BAADC
 */

.jsu-fnav-toggle{position:fixed;top:50%;right:0;transform:translateY(-50%);z-index:900;background:var(--navy,#002147);border:none;border-radius:8px 0 0 8px;padding:14px 9px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;box-shadow:-3px 0 16px rgba(0,33,71,0.22);transition:background 0.2s,opacity 0.25s,transform 0.35s cubic-bezier(0.4,0,0.2,1);}
.jsu-fnav-toggle[aria-expanded=true]{opacity:0;pointer-events:none;transform:translateY(-50%) translateX(100%);}
.jsu-fnav-toggle:hover{background:#00659E;}
.jsu-fnav-toggle:focus-visible{outline:3px solid #5BAADC;outline-offset:2px;}
.jsu-fnav-toggle__icon{color:#fff;font-size:18px;line-height:1;width:18px;height:18px;display:flex;align-items:center;justify-content:center;}
.jsu-fnav-toggle__label{writing-mode:vertical-rl;font-size:9px;letter-spacing:0.14em;text-transform:uppercase;color:#fff;font-family:var(--font-head,'Sora',sans-serif);user-select:none;}
.admin-bar .jsu-fnav-toggle{top:calc(50% + 16px);}
.jsu-fnav-overlay{position:fixed;inset:0;background:rgba(0,33,71,0.45);z-index:901;opacity:0;visibility:hidden;transition:opacity 0.3s ease,visibility 0.3s ease;}
.jsu-fnav-overlay.is-open{opacity:1;visibility:visible;}
.jsu-fnav-drawer{position:fixed;top:0;right:0;bottom:0;width:300px;max-width:90vw;z-index:902;background:var(--navy,#002147);display:flex;flex-direction:column;overflow:hidden;transform:translateX(100%);transition:transform 0.35s cubic-bezier(0.4,0,0.2,1);box-shadow:-6px 0 32px rgba(0,33,71,0.35);}
.jsu-fnav-drawer.is-open{transform:translateX(0);}
.admin-bar .jsu-fnav-drawer{top:32px;}
@media screen and (max-width:782px){.admin-bar .jsu-fnav-drawer,.admin-bar .jsu-fnav-toggle{top:46px;}}
.jsu-fnav-drawer__header{padding:1.25rem;border-bottom:0.5px solid rgba(91,170,220,0.2);display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-shrink:0;}
.jsu-fnav-drawer__eyebrow{font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:#5BAADC;font-family:var(--font-head,'Sora',sans-serif);display:block;margin-bottom:3px;opacity:0.8;}
.jsu-fnav-drawer__title{font-size:15px;font-weight:600;color:#fff;font-family:var(--font-head,'Sora',sans-serif);line-height:1.3;}
.jsu-fnav-close{background:#00659E;border:none;color:#fff;cursor:pointer;font-size:22px;line-height:1;padding:2px 6px;border-radius:6px;flex-shrink:0;transition:color 0.15s,background 0.15s;}
.jsu-fnav-close:hover{color:#00659E;background:#fff;}
.jsu-fnav-close:focus-visible{outline:3px solid #5BAADC;outline-offset:2px;}
.jsu-fnav-drawer__body{flex:1;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(91,170,220,0.3) transparent;}
.jsu-fnav-drawer__body::-webkit-scrollbar{width:4px;}
.jsu-fnav-drawer__body::-webkit-scrollbar-thumb{background:rgba(91,170,220,0.3);border-radius:2px;}
.jsu-fnav-group{padding:1rem 0 0.5rem;}
.jsu-fnav-group__label{font-size:9.5px;letter-spacing:0.15em;text-transform:uppercase;color:#fff;padding:0 1.25rem 0.6rem;font-family:var(--font-head,'Sora',sans-serif);display:block;}
.jsu-fnav-group__items{list-style:none;margin:0;padding:0;}
.jsu-fnav-item{display:flex;align-items:center;gap:10px;padding:0.65rem 1.25rem;color:rgba(255,255,255,0.75);font-size:13.5px;font-family:var(--font-body,'Crimson Pro',serif);text-decoration:none!important;border-left:3px solid transparent;transition:background 0.15s,color 0.15s,border-color 0.15s;line-height:1.4;}
.jsu-fnav-item:hover{background:rgba(255,255,255,0.05);color:#fff;border-left-color:rgba(91,170,220,0.5);}
.jsu-fnav-item.is-active,.jsu-fnav-item[aria-current=true]{background:rgba(0,142,214,0.14);color:#fff;border-left-color:var(--blue,#008ED6);}
.jsu-fnav-item__dot{width:6px;height:6px;border-radius:50%;background:rgba(91,170,220,0.4);flex-shrink:0;transition:background 0.15s;}
.jsu-fnav-item.is-active .jsu-fnav-item__dot,.jsu-fnav-item[aria-current=true] .jsu-fnav-item__dot{background:#5BAADC;}
.jsu-fnav-item__text{flex:1;}
.jsu-fnav-divider{height:0.5px;background:rgba(91,170,220,0.12);margin:0.25rem 1.25rem;}
.jsu-fnav-drawer__footer{flex-shrink:0;padding:0.85rem 1.25rem;border-top:0.5px solid rgba(91,170,220,0.12);}
.jsu-fnav-footer-link{display:flex;align-items:center;gap:8px;color:#fff;font-size:12px;text-decoration:none!important;font-family:var(--font-head,'Sora',sans-serif);letter-spacing:0.02em;transition:color 0.15s;}
.jsu-fnav-footer-link:hover{color:#5BAADC;}
@media (prefers-reduced-motion:reduce){.jsu-fnav-toggle,.jsu-fnav-drawer,.jsu-fnav-overlay,.jsu-fnav-item{transition-duration:0.01ms!important;}}
.jsu-fnav-item:focus-visible{outline:2px solid #5BAADC;outline-offset:-2px;}
@media (prefers-contrast:high){.jsu-fnav-drawer{border-left:2px solid currentColor;}.jsu-fnav-item.is-active{border-left-width:4px;}}
