/* Responsive Design Utilities - DubnCo */

/* Navigation Responsive Design */
@media (max-width: 768px) {
    .burger-menu-container {
        top: 10px;
        right: 10px;
        gap: 4px;
        padding: 3px 4px;
    }
    
    .mini-logo {
        height: 39px; /* Increased by 50% from previous 26px */
    }
    
    .burger-menu-btn {
        width: 32px;
        height: 32px;
        padding: 5px;
    }
    
    .burger-line {
        width: 14px;
    }
    
    .slide-menu {
        width: 100%;
        right: -100%;
        top: 55px; /* Adjusted for mobile */
        height: calc(100vh - 75px); /* More compact height */
        max-height: none;
        border-radius: 15px 15px 0 0; /* Round corners on top for mobile */
    }
    
    .slide-menu-logo {
        height: 39px; /* Increased by 50% from previous 26px */
    }
    
    .slide-menu-link {
        padding: 15px 18px; /* Slightly reduced */
        font-size: 1.05rem; /* Slightly reduced */
    }
    
    .slide-menu-link i {
        font-size: 1.15rem; /* Maintain larger icon size */
        margin-right: 10px;
    }
    
    .slide-submenu-link {
        padding: 12px 18px 12px 45px; /* Adjusted */
        font-size: 0.9rem;
    }
}

@media (max-width: 480px) {
    .burger-menu-container {
        top: 10px;
        right: 10px;
        padding: 5px 8px; /* Further reduced */
    }
    
    .mini-logo {
        height: 36px; /* Increased by 50% from previous 24px */
    }
    
    .burger-menu-btn {
        width: 44px; /* Maintain good touch target on small screens */
        height: 44px; /* Maintain good touch target on small screens */
        padding: 12px; /* Increased padding for better touch experience */
    }
    
    .burger-line {
        width: 16px; /* Even smaller on very small screens */
        height: 2px;
    }
    
    .slide-menu {
        top: 50px; /* Adjusted */
        height: calc(100vh - 70px);
    }
    
    .slide-menu-logo {
        height: 30px; /* Increased by 50% from previous 20px */
    }
    
    .slide-menu-brand {
        font-size: 1.05rem; /* Slightly reduced */
    }
    
    .slide-menu-header {
        padding: 12px 16px; /* More compact */
    }
    
    .slide-menu-link {
        padding: 14px 16px; /* Adjusted for small screens */
        font-size: 1rem;
    }
    
    .slide-menu-link i {
        font-size: 1.1rem; /* Maintain good icon size */
    }
}

/* Admin Link Legacy Responsive */
@media (max-width: 991.98px) {
    .admin-link {
        margin: 4px 0 !important;
        display: block !important;
        text-align: center !important;
    }
}

/* Bootstrap Modal Z-Index Fix */
.modal { z-index: 5000 !important; }
.modal-backdrop { z-index: 4500 !important; }

/* Utilities for spacing */
.mb-8 {
    margin-bottom: 5rem !important;
}

.mt-8 {
    margin-top: 5rem !important;
}

/* Common responsive patterns */
@media (max-width: 1200px) {
    h1 { font-size: 2.2rem; }
    h2 { font-size: 1.8rem; }
    h3 { font-size: 1.4rem; }
}

@media (max-width: 992px) {
    h1 { font-size: 2rem; }
    h2 { font-size: 1.6rem; }
    h3 { font-size: 1.3rem; }
}

@media (max-width: 768px) {
    h1 { font-size: 1.8rem; }
    h2 { font-size: 1.5rem; }
    h3 { font-size: 1.2rem; }
    
    .container {
        padding-left: 1rem;
        padding-right: 1rem;
    }
}

@media (max-width: 576px) {
    h1 { font-size: 1.6rem; }
    h2 { font-size: 1.4rem; }
    h3 { font-size: 1.1rem; }
    
    .btn {
        padding: 0.5rem 1rem;
        font-size: 0.9rem;
    }
    
    .card {
        margin-bottom: 1rem;
    }
}