/**
 * SDMF Management System - Responsive Styles
 */

/* Extra small devices (phones, less than 576px) */
@media (max-width: 575.98px) {
    /* Adjust card padding */
    .card-body {
        padding: 1rem;
    }
    
    /* Make buttons full width */
    .btn {
        display: block;
        width: 100%;
        margin-bottom: 0.5rem;
    }
    
    /* Adjust stats cards for mobile */
    .stats-card .card-body {
        flex-direction: column;
        text-align: center;
    }
    
    .stats-card .icon {
        margin-right: 0;
        margin-bottom: 0.5rem;
    }
    
    /* Adjust form controls */
    .form-control, .form-select {
        font-size: 16px; /* Prevents iOS zoom on focus */
    }
    
    /* Adjust table display */
    .table-responsive {
        border: 0;
    }
    
    /* DataTables adjustments */
    .dataTables_length, 
    .dataTables_filter {
        text-align: left !important;
        margin-bottom: 0.5rem;
    }
}

/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) and (max-width: 767.98px) {
    /* Adjust button spacing */
    .btn-group .btn {
        padding: 0.375rem 0.75rem;
    }
    
    /* Adjust stats cards */
    .stats-card .stats-number {
        font-size: 1.5rem;
    }
}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) and (max-width: 991.98px) {
    /* Adjust navbar */
    .navbar-brand {
        font-size: 1.25rem;
    }
    
    .nav-link {
        padding: 0.5rem 0.75rem;
    }
}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
    /* Enhanced hover effects only on desktop */
    .card:hover {
        box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
    }
    
    /* Adjust navbar spacing */
    .navbar-nav .nav-link {
        padding-right: 1rem;
        padding-left: 1rem;
    }
}

/* Touch device optimizations */
@media (hover: none) {
    /* Remove hover effects on touch devices */
    .stats-card:hover {
        transform: none;
    }
    
    /* Increase touch targets */
    .nav-link, .btn, .form-check-label {
        padding: 0.5rem 1rem;
    }
    
    /* Adjust dropdown menus for touch */
    .dropdown-item {
        padding: 0.5rem 1.5rem;
    }
}

/* Print styles */
@media print {
    .navbar, .footer, .btn, .no-print {
        display: none !important;
    }
    
    .card {
        box-shadow: none;
        border: 1px solid #dee2e6;
    }
    
    body {
        font-size: 12pt;
    }
    
    /* Ensure tables print well */
    .table td, .table th {
        background-color: transparent !important;
    }
    
    /* Force page breaks */
    .page-break-after {
        page-break-after: always;
    }
    
    .page-break-before {
        page-break-before: always;
    }
}