/* ===================================
   MOBILE MENU - CLEAN DESIGN
   Sıfırdan Yeniden Tasarlandı
   =================================== */

/* Body scroll lock when menu open */
body.menu-open {
    overflow: hidden !important;
    position: fixed !important;
    width: 100% !important;
    height: 100vh !important;
    top: 0 !important;
    left: 0 !important;
    padding-top: 0 !important;
}

/* Hide header when menu is open */
@media (max-width: 991px) {
    body.menu-open .header-wrapper {
        z-index: 999998;
    }
    
    body.menu-open {
        overflow: hidden !important;
        position: fixed !important;
        width: 100vw !important;
        height: 100vh !important;
        max-height: 100vh !important;
        padding-top: 0 !important;
    }
}

/* Hide all scrollbars */
* {
    scrollbar-width: none;
    -ms-overflow-style: none;
}

*::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
}

@media (max-width: 991px) {
    /* Mobile Menu Container */
    .navbar-collapse {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 100vw !important;
        max-width: 100vw !important;
        height: calc(100vh - 43.9px) !important;
        max-height: calc(100vh - 43.9px) !important;
        min-height: calc(100vh - 43.9px) !important;
        background: #ffffff;
        z-index: 10000 !important;
        display: none !important;
        flex-direction: column;
        overflow: hidden;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    .navbar-collapse.show {
        display: flex !important;
    }
    
    .navbar-collapse.collapsing {
        display: none !important;
        height: calc(100vh - 43.9px) !important;
        max-height: calc(100vh - 43.9px) !important;
        min-height: calc(100vh - 43.9px) !important;
    }
    
    /* Remove any bottom spacing */
    .navbar-collapse::after {
        display: none;
    }
    
    /* Mobile Menu Header */
    .mobile-menu-header {
        display: flex !important;
        align-items: center;
        justify-content: space-between;
        padding: 18px 0;
        background: #ffffff;
        border-bottom: 1px solid #e5e7eb;
        flex-shrink: 0;
        width: 100%;
        min-height: 84px;
    }
    
    .mobile-menu-header .container {
        max-width: 1600px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        padding-left: 12px;
        padding-right: 12px;
        margin: 0 auto;
    }
    
    .mobile-menu-header img {
        height: 48px !important;
        max-height: 48px !important;
        min-height: 48px !important;
        filter: drop-shadow(0 2px 4px rgba(8, 49, 100, 0.1));
    }
    
    .mobile-menu-close {
        width: 46px;
        height: 46px;
        background: #f3f4f6;
        border: none;
        border-radius: 8px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 22px;
        color: #1f2937;
        cursor: pointer;
        transition: all 0.2s;
        flex-shrink: 0;
    }
    
    .mobile-menu-close:active {
        background: #e5e7eb;
        transform: scale(0.95);
    }
    
    /* Menu Items Container */
    .navbar-nav {
        flex: 1 1 auto;
        overflow-y: auto;
        overflow-x: hidden;
        padding: 0;
        margin: 0;
        background: #ffffff;
        width: 100%;
        min-height: 0;
        -webkit-overflow-scrolling: touch;
    }
    
    .nav-item {
        width: 100%;
        border-bottom: 1px solid #f3f4f6;
    }
    
    .nav-item:last-child {
        border-bottom: none;
    }
    
    .nav-link {
        padding: 16px 20px;
        font-size: 16px;
        font-weight: 500;
        color: #1f2937;
        background: #ffffff;
        display: block;
        width: 100%;
        position: relative;
        transition: all 0.2s;
        text-align: left;
    }
    
    .nav-link::before {
        content: '';
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        width: 4px;
        background: linear-gradient(180deg, #083164, #0066cc);
        transform: scaleY(0);
        transition: transform 0.2s;
    }
    
    .nav-link:active,
    .nav-link.active {
        background: rgba(8, 49, 100, 0.05);
        color: #083164;
    }
    
    .nav-link:active::before,
    .nav-link.active::before {
        transform: scaleY(1);
    }
    
    .nav-link.active {
        font-weight: 600;
    }
    
    /* Menu Actions (Buttons) */
    .navbar-actions {
        padding: 16px 20px;
        padding-bottom: 20px;
        background: #ffffff;
        border-top: 1px solid #e5e7eb;
        display: flex;
        flex-direction: column;
        gap: 12px;
        flex-shrink: 0;
        width: 100%;
        min-height: 140px;
    }
    
    .btn-lang {
        width: 100%;
        padding: 14px 20px;
        background: #ffffff;
        border: 2px solid #e5e7eb;
        border-radius: 8px;
        font-size: 15px;
        font-weight: 600;
        color: #1f2937;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        transition: all 0.2s;
    }
    
    .btn-lang i {
        font-size: 18px;
    }
    
    .btn-lang:active {
        background: #f9fafb;
        border-color: #083164;
        color: #083164;
        transform: scale(0.98);
    }
    
    /* Rezervasyon Yap Button - Mobile Menu */
    .navbar-actions .btn-primary-custom {
        width: 100%;
        padding: 16px 20px;
        background: linear-gradient(135deg, #083164, #0066cc) !important;
        border: none !important;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 700;
        color: #ffffff !important;
        display: flex !important;
        align-items: center;
        justify-content: center;
        text-decoration: none !important;
        transition: transform 0.2s ease, box-shadow 0.2s ease;
        box-shadow: 0 4px 12px rgba(8, 49, 100, 0.25);
        margin-bottom: 10px;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }
    
    .navbar-actions .btn-primary-custom:hover,
    .navbar-actions .btn-primary-custom:focus,
    .navbar-actions .btn-primary-custom:active,
    .navbar-actions .btn-primary-custom:visited,
    .navbar-actions .btn-primary-custom:link {
        background: linear-gradient(135deg, #083164, #0066cc) !important;
        color: #ffffff !important;
        text-decoration: none !important;
        box-shadow: 0 6px 16px rgba(8, 49, 100, 0.35);
    }
    
    .navbar-actions .btn-primary-custom:active {
        transform: scale(0.98);
        box-shadow: 0 2px 6px rgba(8, 49, 100, 0.2);
    }
    
    /* Force text to be white in all states */
    .navbar-actions .btn-primary-custom *,
    .navbar-actions .btn-primary-custom:hover *,
    .navbar-actions .btn-primary-custom:focus *,
    .navbar-actions .btn-primary-custom:active *,
    .navbar-actions .btn-primary-custom:visited *,
    .navbar-actions .btn-primary-custom:link * {
        color: #ffffff !important;
    }
}

@media (max-width: 767px) {
    .mobile-menu-header {
        padding: 14px 0;
    }
    
    .mobile-menu-header .container {
        padding-left: 12px;
        padding-right: 12px;
    }
    
    .mobile-menu-header img {
        height: 48px !important;
        max-height: 48px !important;
        min-height: 48px !important;
        filter: drop-shadow(0 2px 4px rgba(8, 49, 100, 0.1));
    }
    
    .mobile-menu-close {
        width: 42px;
        height: 42px;
        font-size: 20px;
        border-radius: 8px;
    }
    
    .nav-link {
        padding: 15px 16px;
        font-size: 15px;
    }
    
    .navbar-actions {
        padding: 16px 16px;
        padding-bottom: 20px;
        min-height: 140px;
    }
    
    .btn-lang {
        padding: 13px 16px;
        font-size: 14px;
    }
    
    /* Rezervasyon Yap Button - Small Screens */
    .navbar-actions .btn-primary-custom {
        padding: 15px 16px;
        font-size: 15px;
    }
    
    /* Ensure full screen on small devices */
    .navbar-collapse {
        width: 100vw !important;
        max-width: 100vw !important;
        height: calc(100vh - 43.9px) !important;
        max-height: calc(100vh - 43.9px) !important;
        min-height: calc(100vh - 43.9px) !important;
    }
}
