﻿/* =====================
   BASE
===================== */
body {
    margin: 0;
}

.navbar {
    background: #45d3d3;
    position: relative;
}

.navbar-brand {
    color: #fff !important;
    font-weight: 700;
}

.nav-link {
    color: #fff !important;
    white-space: nowrap;
}

.nav-item {
    position: relative
}

/* =====================
   TOGGLER
===================== */
.navbar-toggler {
    border: 0;
    font-size: 1.6rem;
    color: #fff;
    margin-left: auto;
    /* 🔥 모바일 중앙 문제 해결 */
}

/* =====================
   PC LAYOUT
===================== */
@media (min-width:768px) {
    #mainNav {
        display: flex !important;
        align-items: center;
        justify-content: space-between;
        width: 100%;
    }

    .nav-left,
    .nav-right {
        display: flex;
        align-items: center;
    }
}

/* =====================
   DROPDOWN
===================== */
.dropdown-menu {
    display: none;
    background: #45d3d3;
    border-radius: 18px;
    border: 0;
    padding: 6px 0;
    min-width: 240px;
    box-shadow: 0 14px 28px rgba(0, 0, 0, .18);
}

.dropdown-item {
    color: #fff !important;
    padding: 8px 14px;
    /* 간격 30% 축소 */
}

    .dropdown-item:hover {
        background: rgba(255, 255, 255, .2);
    }

/* =====================
   PC HOVER
===================== */
@media (min-width:768px) {
    .has-sub:hover > .nav-link {
        background: rgba(255, 255, 255, .25);
        border-radius: 14px;
    }
}

/* =====================
   RIGHT ICON MENU
===================== */
.nav-right {
    gap: 6px
}

.icon-btn {
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 1.25rem;
    transition: .18s;
}

    .icon-btn:hover {
        background: rgba(255, 255, 255, .25);
        transform: scale(1.08);
    }

/* =====================
   MOBILE
===================== */
@media (max-width:767.98px) {
    #mainNav {
        display: none;
        flex-direction: column;
        justify-content: flex-start !important;
        /* 🔥 핵심 */
        align-items: stretch;
        width: 100%;
        max-height: 85vh;
        overflow-y: auto;
    }

    .nav-left,
    .nav-right {
        width: 100%;
        flex-direction: column;
    }

    .nav-link {
        padding: 14px 18px;
        text-align: left;
    }

    .dropdown-menu {
        position: relative;
        border-radius: 14px;
        box-shadow: none;
        margin: 4px 0;
    }

    .icon-btn {
        width: 100%;
        height: auto;
        border-radius: 14px;
        justify-content: flex-start;
        padding: 14px 18px;
        gap: 10px;
    }
}

/* 로그인 상태별 메뉴 기본 숨김 */
.auth-guest,
.auth-user {
    display: none;
}

/* 회원가입 CTA */
.icon-btn.signup {
    border: 2px solid #ffffff;
    background: rgba(255, 255, 255, .15);
}

    .icon-btn.signup:hover {
        background: #ffffff;
        color: #45d3d3 !important;
        transform: scale(1.12);
    }

.icon-btn.settings:hover {
    transform: rotate(20deg) scale(1.1);
}

.fixed-top1 {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1030;
}
