/* === Hamburger Navbar === */
.hamburger-navbar {
    display: flex;
    justify-content: space-between; /* flush left + right */
    align-items: center;
    padding: 0.5rem 1rem;
    background: rgba(0, 0, 0, 0.6);
    color: white;
    position: fixed;
    width: 100%;
    top: 0;
    z-index: 1000;
    font-family: 'Noto Sans JP', sans-serif;
}

/* Left side: logo + hamburger button inline */
.hamburger-navbar-left {
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

/* Logo size */
.hamburger-logo img {
    height: 40px;
}

/* Hamburger button */
.hamburger-btn {
    font-size: 28px;
    background: none;
    border: none;
    color: white;
    cursor: pointer;
}

/* Right-side buttons */
.hamburger-navbar-right {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-shrink: 0; /* prevent shrinking */
    white-space: nowrap;
    margin-right: 30px;
}

/* Prevent elements shrinking oddly */
.hamburger-balance-box,
.hamburger-logout-btn,
.hamburger-login-btn {
    flex-shrink: 0;
}

/* Balance box */
.hamburger-balance-box {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    background-color: rgba(0, 0, 0, 0.6);
    padding: 0.2rem 0.5rem;
    border-radius: 5px;
}

/* Top-up link */
.hamburger-top-up {
    color: #4caf50;
    text-decoration: none;
    font-weight: bold;
}

/* Login / Logout buttons */
.hamburger-logout-btn,
.hamburger-login-btn {
    color: white;
    text-decoration: none;
    padding: 0.3rem 0.6rem;
    background-color: rgba(0, 0, 0, 0.6);
    border-radius: 5px;
    font-weight: bold;
}

/* === Mobile menu === */
#hamburger-mobile-links {
    display: none;
    flex-direction: column;
    margin: 0;
    padding: 0;
    list-style: none;
    background: rgba(0, 0, 0, 0.6);
    position: absolute;
    top: 60px;   /* below navbar */
    left: 0;
    width: 100%;
    z-index: 900;
}

#hamburger-mobile-links li {
    margin: 0;
    padding: 0;
    width: 100%;
}

#hamburger-mobile-links li a {
    display: flex;
    padding: 1rem;
    width: 100%;
    color: white;
    text-decoration: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(0, 0, 0, 0.6);
    box-sizing: border-box;
    justify-content: center;
    padding-right: 40px;
}

#hamburger-mobile-links li a:hover {
    background-color: rgba(255, 255, 255, 0.7);
}

/* Dropdown inside mobile */
.hamburger-dropdown-content {
    display: none;
    flex-direction: column;
    background: rgba(0, 0, 0, 0.6);
}

.hamburger-dropdown:hover .hamburger-dropdown-content {
    display: flex;
}

/* Animate dropdown */
#hamburger-mobile-links.show {
    display: flex;
    animation: slideDown 0.3s ease-in-out;
}

@keyframes slideDown {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* === Responsive === */
@media (max-width: 768px) {
    #desktop-navbar { display: none; }
    #hamburger-navbar { display: flex; }  /* ✅ keep flex, not block */

    /* prevent content being hidden under fixed nav */
    body {
        padding-top: 60px;
    }
}
