/* =========================
FLOATING NAV
========================= */

.floating-nav{
position:fixed;
left:50%;
bottom:24px;
transform:translateX(-50%);
z-index:9999;
}

.menu-toggle{
width:68px;
height:68px;
border:none;
cursor:pointer;
border-radius:999px;
background:rgba(12,16,28,.92);
backdrop-filter:blur(25px);
border:1px solid rgba(255,255,255,.08);
box-shadow:0 25px 80px rgba(0,0,0,.45);
display:flex;
flex-direction:column;
justify-content:center;
align-items:center;
gap:5px;
transition:.35s;
}

.menu-toggle span{
width:24px;
height:2px;
background:#fff;
border-radius:999px;
transition:.35s;
}

.menu-toggle.active span:nth-child(1){
transform:translateY(7px) rotate(45deg);
}

.menu-toggle.active span:nth-child(2){
opacity:0;
}

.menu-toggle.active span:nth-child(3){
transform:translateY(-7px) rotate(-45deg);
}

/* =========================
MENU PANEL
========================= */

.floating-menu{
position:absolute;
bottom:85px;
left:50%;
transform:translateX(-50%) translateY(20px);

width:280px;

background:rgba(10,12,20,.96);
backdrop-filter:blur(35px);

border:1px solid rgba(255,255,255,.08);
border-radius:28px;

padding:16px;

opacity:0;
visibility:hidden;

transition:.4s;

box-shadow:0 40px 120px rgba(0,0,0,.55);
}

.floating-menu.active{
opacity:1;
visibility:visible;
transform:translateX(-50%) translateY(0);
}

.floating-menu a{
display:flex;
align-items:center;
gap:14px;
height:58px;
padding:0 18px;
border-radius:18px;
text-decoration:none;
color:#fff;
font-weight:600;
transition:.25s;
}

.floating-menu a svg{
width:20px;
height:20px;
flex-shrink:0;
opacity:.9;
}

.floating-menu a:hover{
background:rgba(255,255,255,.06);
}

.menu-divider{
height:1px;
background:rgba(255,255,255,.08);
margin:10px 0;
}

/* =========================
BACKDROP
========================= */

.menu-backdrop{
position:fixed;
inset:0;
background:rgba(0,0,0,.35);
backdrop-filter:blur(12px);
opacity:0;
visibility:hidden;
transition:.3s;
z-index:9990;
}

.menu-backdrop.active{
opacity:1;
visibility:visible;
}

body.menu-open{
overflow:hidden;
height:100vh;
touch-action:none;
}

@media (min-width:1024px){

.floating-nav{
bottom:40px;
}

.menu-toggle{
width:72px;
height:72px;
}

}



.floating-nav{
position:fixed;
left:50%;
bottom:24px;
transform:translateX(-50%);
z-index:9999;

transition:
opacity .35s ease,
transform .35s ease;
}

.floating-nav.hidden{
opacity:0;
pointer-events:none;

transform:
translateX(-50%)
translateY(120px);
}
