/* Mobile Responsive Styles for Masjid Management System */

/* Mobile Navbar Optimization */
@media (max-width: 991.98px) {
    .navbar-nav .nav-link {
        padding: 0.75rem 1rem;
        border-bottom: 1px solid rgba(255,255,255,0.1);
    }
    .navbar-nav .nav-link:last-child {
        border-bottom: none;
    }
    .navbar-nav .nav-link:hover {
        background-color: rgba(255,255,255,0.1);
    }
    .navbar-brand {
        font-size: 1.1rem;
    }
    .dropdown-menu {
        border: none;
        box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    }
}

@media (max-width: 576px) {
    .navbar-brand {
        font-size: 1rem;
    }
    .navbar-nav .nav-link {
        padding: 0.6rem 1rem;
        font-size: 0.9rem;
    }
    .dropdown-menu {
        font-size: 0.9rem;
    }
}

/* Mobile Form and Card Styles */
@media (max-width: 768px) {
    .card-body {
        padding: 0.75rem;
    }
    .form-control, .form-select {
        font-size: 0.875rem;
    }
    .btn {
        padding: 0.375rem 0.75rem;
        font-size: 0.875rem;
    }
    .table-responsive {
        font-size: 0.875rem;
    }
    .btn-sm {
        font-size: 0.75rem;
        padding: 0.25rem 0.5rem;
    }
    .input-group {
        margin-bottom: 1rem;
    }
    .member-card {
        margin-bottom: 1rem;
    }
    .btn-group .btn {
        font-size: 0.875rem;
        padding: 0.375rem 0.75rem;
    }
    .search-box {
        font-size: 0.875rem;
    }
}

@media (max-width: 576px) {
    .card-body {
        padding: 0.5rem;
    }
    .card-title {
        font-size: 0.75rem;
    }
    h4 {
        font-size: 1.25rem;
    }
    .h3 {
        font-size: 1.25rem;
    }
    .form-control, .form-select {
        font-size: 0.75rem;
    }
    .btn {
        padding: 0.25rem 0.5rem;
        font-size: 0.75rem;
    }
    .table-responsive {
        font-size: 0.75rem;
    }
    .btn-sm {
        font-size: 0.7rem;
        padding: 0.2rem 0.4rem;
    }
    .member-card .card-body {
        padding: 0.75rem;
    }
}

/* Mobile Modal Styles */
@media (max-width: 576px) {
    .modal-dialog {
        margin: 0.5rem;
        max-width: calc(100% - 1rem);
    }
    
    .modal-body {
        padding: 1rem;
    }
    
    .modal-header {
        padding: 0.75rem 1rem;
    }
    
    .modal-footer {
        padding: 0.75rem 1rem;
    }
}

/* Mobile Profile and Address Styles */
@media (max-width: 768px) {
    .profile-header {
        padding: 1.5rem 1rem;
    }
    .profile-avatar {
        width: 60px;
        height: 60px;
        font-size: 1.5rem;
    }
    .card-header {
        padding: 0.75rem 1rem;
    }
    .back-btn {
        padding: 0.5rem 1rem;
        font-size: 0.875rem;
    }
    .address-item, .family-item {
        margin-bottom: 1rem;
        padding: 0.75rem;
    }
}

@media (max-width: 576px) {
    .col-4 {
        margin-bottom: 0.5rem;
    }
    .profile-header h4 {
        font-size: 1.1rem;
    }
    .card-header h5 {
        font-size: 1rem;
    }
}

/* Mobile Button Utilities */
@media (max-width: 576px) {
    .btn-mobile-icon {
        padding: 0.375rem 0.5rem;
    }
    .btn-mobile-icon .btn-text {
        display: none;
    }
    .btn-mobile-full .btn-text {
        display: inline;
    }
}

/* Mobile Flexbox Utilities */
@media (max-width: 768px) {
    .flex-wrap-mobile {
        flex-wrap: wrap;
    }
    .justify-content-center-mobile {
        justify-content: center;
    }
}

/* Mobile Typography */
@media (max-width: 576px) {
    .fs-mobile-sm {
        font-size: 0.875rem;
    }
    .fs-mobile-xs {
        font-size: 0.75rem;
    }
}

/* Mobile Spacing Utilities */
@media (max-width: 576px) {
    .p-mobile-sm {
        padding: 0.5rem;
    }
    .m-mobile-sm {
        margin: 0.5rem;
    }
    .mb-mobile-1 {
        margin-bottom: 0.25rem;
    }
}