/**
 * =============================================
 * YAN MENÜ STİLLERİ (Extracted)
 * =============================================
 */

/* Profil Kartı Stilleri */
.nb-menu__profileCard {
    background: white;
    border-radius: 12px;
    padding: 16px;
    margin-bottom: 20px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.nb-menu__profileLink {
    display: flex;
    align-items: center;
    gap: 14px;
    text-decoration: none;
    color: inherit;
}

.nb-menu__avatar {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

.nb-menu__avatarImg {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.nb-menu__avatarPlaceholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 24px;
    font-weight: 700;
}

.nb-menu__userInfo {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1;
}

.nb-menu__userName {
    font-size: 16px;
    font-weight: 600;
    color: #1e293b;
}

.nb-menu__userViewProfile {
    color: #64748b;
}

.nb-menu__balance {
    display: block;
    font-size: 13px;
    font-weight: 700;
    color: var(--nb-turq, #1aa0a3);
    margin-top: 2px;
}

.nb-menu__divider {
    height: 1px;
    background: #e2e8f0;
    margin: 12px 0;
}

.nb-menu__switchBtn {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    border-radius: 8px;
    background: #f1f5f9;
    color: #475569;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    transition: background 0.2s;
}

.nb-menu__switchBtn:hover {
    background: #e2e8f0;
}

/* Konum Butonları - Yan Yana */
.nb-menu__locationRow {
    display: flex;
    gap: 10px;
    margin-bottom: 20px;
}

.nb-menu__locBtn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 12px 10px;
    border-radius: 12px;
    background: linear-gradient(135deg, #062042, #0a3060);
    color: white;
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    transition: all 0.2s;
    box-shadow: 0 2px 8px rgba(6, 32, 66, 0.2);
}

.nb-menu__locBtn:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(6, 32, 66, 0.3);
}

.nb-menu__locBtn--secondary {
    background: linear-gradient(135deg, #1aa0a3, #22b8bb);
    box-shadow: 0 2px 8px rgba(26, 160, 163, 0.2);
}

.nb-menu__locBtn--secondary:hover {
    box-shadow: 0 4px 12px rgba(26, 160, 163, 0.3);
}

.nb-menu__locBtn i {
    font-size: 16px;
}

/* Aktif Konum Kartı Stilleri */
.nb-active-loc {
    display: flex;
    align-items: center;
    gap: 12px;
}

.nb-active-loc__icon {
    font-size: 24px;
    background: #f1f5f9;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
}

.nb-active-loc__info {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.nb-active-loc__city {
    font-size: 15px;
    font-weight: 700;
    color: #1e293b;
}

.nb-active-loc__district {
    font-size: 12px;
    color: #64748b;
}

.nb-active-loc__change {
    background: #062042;
    color: white;
    border: none;
    padding: 6px 12px;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s;
}

.nb-active-loc__change:hover {
    background: #1aa0a3;
}

.nb-menu__item--loc-sub {
    background: #f8fafc;
    margin-left: 10px;
    border-left: 2px solid #e2e8f0;
}

.nb-menu__item--active-check {
    border: 1px solid #1aa0a3;
    background: #f0fdfa;
}

.nb-menu__item--active-check::after {
    content: '✓';
    margin-left: auto;
    color: #1aa0a3;
    font-weight: bold;
}

/* Menü Temel Stiller */
.nb-menu {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 100000;
    pointer-events: none;
    visibility: hidden;
    transition: visibility 0.3s;
}

.nb-menu.is-open {
    visibility: visible;
    pointer-events: all;
}

.nb-menu__backdrop {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    opacity: 0;
    transition: opacity 0.3s;
}

.nb-menu.is-open .nb-menu__backdrop {
    opacity: 1;
}

.nb-menu__panel {
    position: absolute;
    top: 0;
    right: 0;
    width: 90%;
    max-width: 380px;
    height: 100%;
    background: #f8f9fa;
    transform: translateX(100%);
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    overflow-y: auto;
    box-shadow: -2px 0 10px rgba(0, 0, 0, 0.1);
}

.nb-menu.is-open .nb-menu__panel {
    transform: translateX(0);
}

.nb-menu__top {
    padding: 20px;
    background: white;
    border-bottom: 1px solid #e5e7eb;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: sticky;
    top: 0;
    z-index: 10;
}

.nb-menu__topTitle {
    font-size: 16px;
    font-weight: 700;
    color: #1e293b;
}

.nb-menu__close {
    background: none;
    border: none;
    font-size: 24px;
    cursor: pointer;
    color: #64748b;
    padding: 0;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: background 0.2s;
}

.nb-menu__close:hover {
    background: #f1f5f9;
}

.nb-menu__content {
    padding: 20px;
}

.nb-menu__section {
    margin-bottom: 24px;
}

.nb-menu__sectionTitle {
    font-size: 11px;
    font-weight: 700;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 12px;
    padding-left: 4px;
}

.nb-menu__card {
    background: white;
    border-radius: 12px;
    padding: 16px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.nb-menu__listCard {
    padding: 8px;
}

.nb-menu__item {
    display: flex;
    align-items: center;
    padding: 12px;
    border-radius: 8px;
    text-decoration: none;
    color: #334155;
    transition: background 0.2s;
    margin-bottom: 4px;
}

.nb-menu__item:hover {
    background: #f8fafc;
}

.nb-menu__itemIcon {
    font-size: 20px;
    margin-right: 12px;
}

.nb-menu__itemText {
    flex: 1;
    font-size: 14px;
    font-weight: 500;
}

.nb-menu__itemArrow {
    color: #cbd5e1;
    font-size: 18px;
}

/* BİLDİRİM ANİMASYONU */
.nb-menu-icon.has-notif .line:nth-child(2) {
    background-color: #ef4444 !important;
    width: 100% !important;
    height: 3px !important;
    animation: notifPulse 1s infinite alternate;
}

@keyframes notifPulse {
    from {
        box-shadow: 0 0 0 rgba(239, 68, 68, 0);
    }

    to {
        box-shadow: 0 0 8px rgba(239, 68, 68, 0.8);
    }
}

/* Guest Actions - Giriş/Kayıt Bölümü */
.nb-menu__guestActions {
    text-align: center;
    padding: 8px 0;
}

.nb-menu__guestText {
    font-size: 15px;
    font-weight: 600;
    color: #334155;
    margin-bottom: 16px;
    line-height: 1.4;
}

.nb-menu__guestBtns {
    display: flex;
    gap: 12px;
    justify-content: center;
}

/* Buton Base Stilleri */
.nb-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 24px;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    border: none;
    transition: all 0.25s ease;
    min-width: 110px;
    letter-spacing: 0.5px;
}

.nb-btn--primary {
    background: linear-gradient(135deg, #062042 0%, #0a3060 100%);
    color: white;
    box-shadow: 0 4px 12px rgba(6, 32, 66, 0.25);
}

.nb-btn--primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(6, 32, 66, 0.35);
}

.nb-btn--secondary {
    background: linear-gradient(135deg, #1aa0a3 0%, #0d8a8d 100%);
    color: white;
    box-shadow: 0 4px 12px rgba(26, 160, 163, 0.25);
}

.nb-btn--secondary:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(26, 160, 163, 0.35);
}

.nb-btn--full {
    width: 100%;
    display: block;
    margin-bottom: 12px;
}

.nb-menu__signatureBottom {
    padding: 20px;
    text-align: center;
    font-size: 12px;
    color: #94a3b8;
    border-top: 1px solid #e5e7eb;
}

.nb-menu__notifBtn {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #eff6ff;
    border: 2px solid #bfdbfe;
    color: #1e3a8a;
    text-decoration: none;
    font-size: 24px;
    transition: all 0.2s;
    margin-left: 12px;
    flex-shrink: 0;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.nb-menu__notifBtn:hover {
    background: #dbeafe;
    border-color: #93c5fd;
    color: #172554;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(30, 58, 138, 0.15);
}

/* Hesap Geçiş Bildirimi Overlay */
.nb-switch-overlay {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.7);
    backdrop-filter: blur(8px);
    z-index: 200000;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

.nb-switch-overlay.is-active {
    opacity: 1;
    visibility: visible;
}

.nb-switch-content {
    background: white;
    padding: 32px 48px;
    border-radius: 24px;
    text-align: center;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
    transform: scale(0.9);
    transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.nb-switch-overlay.is-active .nb-switch-content {
    transform: scale(1);
}

.nb-switch-icon {
    width: 64px;
    height: 64px;
    background: #f0fdf4;
    color: #15803d;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 32px;
    margin: 0 auto 16px;
}

.nb-switch-text {
    font-size: 18px;
    font-weight: 700;
    color: #0f172a;
}
/* =============================================
 * KONUM BÝLEÞENÝ — v2
 * ============================================= */

.nb-loc-wrap { margin-top: 4px; }

.nb-loc-card {
    display: flex;
    align-items: center;
    gap: 8px;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 8px 10px;
    transition: border-color 0.2s, box-shadow 0.2s;
}
.nb-loc-card:focus-within {
    border-color: #1aa0a3;
    box-shadow: 0 0 0 3px rgba(26,160,163,.12);
}

.nb-loc-btn {
    width: 38px; height: 38px; flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    border: none; border-radius: 10px; cursor: pointer;
    transition: all 0.2s; font-size: 18px;
}
.nb-loc-btn--left { background: linear-gradient(135deg,#062042,#0a3a6e); color:#fff; box-shadow:0 2px 6px rgba(6,32,66,.22); }
.nb-loc-btn--left:hover { transform:translateY(-2px); box-shadow:0 4px 10px rgba(6,32,66,.32); }
.nb-loc-btn--gps { background:linear-gradient(135deg,#1aa0a3,#0d7a7c); color:#fff; box-shadow:0 2px 6px rgba(26,160,163,.25); }
.nb-loc-btn--gps:hover { transform:translateY(-2px); box-shadow:0 4px 10px rgba(26,160,163,.35); }
.nb-loc-btn--gps.is-loading { pointer-events:none; opacity:.8; }

.nb-loc-info { flex:1; min-width:0; display:flex; flex-direction:column; align-items:center; gap:2px; background:none; border:none; cursor:pointer; padding:4px 0; border-radius:8px; transition:background .15s; }
.nb-loc-info:hover { background:#f8fafc; }
.nb-loc-city { font-weight:700; font-size:14px; color:#0f172a; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:120px; display:block; line-height:1.2; }
.nb-loc-district { font-size:11px; color:#94a3b8; display:block; line-height:1.2; }

.nb-loc-panel { margin-top:10px; background:#fff; border:1px solid #e2e8f0; border-radius:14px; overflow:hidden; max-height:0; opacity:0; pointer-events:none; transition:max-height .35s cubic-bezier(.4,0,.2,1),opacity .25s ease; }
.nb-loc-panel[data-open="1"] { max-height:450px; opacity:1; pointer-events:all; }

.nb-loc-panel__head { display:flex; align-items:center; justify-content:space-between; padding:10px 14px 8px; border-bottom:1px solid #f1f5f9; background:#fafbfc; gap:8px; }
.nb-loc-panel__title { font-size:12px; font-weight:700; color:#475569; text-transform:uppercase; letter-spacing:.5px; flex:1; text-align:center; }
.nb-loc-panel__back { display:flex; align-items:center; gap:2px; background:none; border:none; color:#64748b; font-size:12px; font-weight:600; cursor:pointer; padding:4px 6px; border-radius:6px; transition:background .15s,color .15s; white-space:nowrap; }
.nb-loc-panel__back:hover { background:#f1f5f9; color:#1aa0a3; }
.nb-loc-panel__close { width:28px; height:28px; display:flex; align-items:center; justify-content:center; background:none; border:none; color:#94a3b8; font-size:18px; cursor:pointer; border-radius:6px; transition:background .15s,color .15s; flex-shrink:0; }
.nb-loc-panel__close:hover { background:#fee2e2; color:#ef4444; }

.nb-loc-panel__search { display:flex; align-items:center; gap:8px; padding:8px 14px; border-bottom:1px solid #f1f5f9; }
.nb-loc-panel__search i { color:#94a3b8; font-size:16px; flex-shrink:0; }
.nb-loc-search-input { flex:1; border:none; outline:none; font-size:13px; color:#334155; background:transparent; min-width:0; }
.nb-loc-search-input::placeholder { color:#cbd5e1; }

.nb-loc-panel__list { max-height:310px; overflow-y:auto; overscroll-behavior:contain; }
.nb-loc-panel__list::-webkit-scrollbar { width:4px; }
.nb-loc-panel__list::-webkit-scrollbar-track { background:transparent; }
.nb-loc-panel__list::-webkit-scrollbar-thumb { background:#e2e8f0; border-radius:4px; }

.nb-loc-item { display:flex; align-items:center; gap:10px; padding:11px 14px; text-decoration:none; color:#334155; font-size:13px; font-weight:500; cursor:pointer; border:none; background:none; width:100%; text-align:left; border-bottom:1px solid #f8fafc; transition:background .15s; }
.nb-loc-item:hover { background:#f0fdfa; color:#0f766e; }
.nb-loc-item:last-child { border-bottom:none; }
.nb-loc-item__icon { font-size:16px; flex-shrink:0; width:20px; text-align:center; }
.nb-loc-item__text { flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.nb-loc-item__sub { font-size:11px; color:#94a3b8; margin-top:1px; display:block; font-weight:400; }
.nb-loc-item__arrow { color:#cbd5e1; font-size:16px; flex-shrink:0; }
.nb-loc-item--active { background:#f0fdfa; color:#0f766e; }
.nb-loc-item--active .nb-loc-item__arrow { color:#1aa0a3; }

.nb-loc-section-label { padding:6px 14px 4px; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.5px; color:#94a3b8; background:#f8fafc; border-bottom:1px solid #f1f5f9; border-top:1px solid #f1f5f9; }

.nb-loc-loading, .nb-loc-empty { padding:24px 16px; text-align:center; color:#94a3b8; font-size:13px; display:flex; flex-direction:column; align-items:center; gap:8px; }
.nb-loc-loading i { font-size:22px; }
.nb-loc-empty i { font-size:28px; opacity:.5; }
