/* ───────────────────────────────────────────────────────────── NavMenu — bottom nav, soft UI I .nav-item sono resi da NavLink (componente figlio): vanno raggiunti con ::deep perché non ricevono l'attributo di scope. ───────────────────────────────────────────────────────────── */ .bottom-nav { display: flex; justify-content: space-around; align-items: center; position: fixed; bottom: calc(1rem + env(safe-area-inset-bottom, 0px)); left: 1rem; right: 1rem; height: 4.5rem; padding: 0 0.4rem; background: rgba(255, 255, 255, 0.92); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border: 1px solid rgba(31, 30, 90, 0.05); border-radius: 26px; box-shadow: 0 12px 34px rgba(31, 30, 90, 0.14), 0 2px 8px rgba(31, 30, 90, 0.06); z-index: 100; } .bottom-nav ::deep .nav-item { display: flex; flex-direction: column; align-items: center; justify-content: center; flex: 1; gap: 0.28rem; padding: 0.4rem 0; color: #9a9aae; text-decoration: none; transition: color 0.2s ease; cursor: pointer; -webkit-tap-highlight-color: transparent; } .bottom-nav ::deep .nav-item:hover { color: #6b6b7b; } .bottom-nav ::deep .nav-item.active { color: var(--primary-color); } .bottom-nav ::deep .nav-icon-wrap { display: flex; align-items: center; justify-content: center; width: 3.2rem; height: 2.3rem; border-radius: 100px; background: transparent; transition: background 0.22s ease, transform 0.22s ease; } .bottom-nav ::deep .nav-item.active .nav-icon-wrap { background: rgba(83, 82, 237, 0.12); transform: translateY(-2px); } .bottom-nav ::deep .nav-item:hover:not(.active) .nav-icon-wrap { background: rgba(31, 30, 90, 0.05); } .bottom-nav ::deep .nav-item i { font-size: 1.45rem; line-height: 1; display: flex; align-items: center; justify-content: center; transition: transform 0.22s ease; } .bottom-nav ::deep .nav-item.active i { transform: scale(1.05); } .bottom-nav ::deep .nav-label { font-size: 0.68rem; font-weight: 500; letter-spacing: 0.01em; line-height: 1; text-align: center; } .bottom-nav ::deep .nav-item.active .nav-label { font-weight: 700; }