/* Responsive Styles for Kilifi PMTS */

/* Large screens (desktops) */
@media (min-width: 1200px) {
    .container {
        max-width: 1140px;
    }
}

/* Medium screens (tablets) */
@media (max-width: 992px) {
    .hero-section h1 {
        font-size: 2.5rem;
    }
    
    .hero-section .lead {
        font-size: 1.1rem;
    }
    
    .stat-item .number {
        font-size: 2rem;
    }
    
    .navbar-nav {
        padding: 12px 0;
    }
    
    .navbar-nav .nav-link {
        padding: 8px 0;
    }
    
    .project-card .card-img-top {
        height: 180px;
    }
    
    #project-map {
        height: 350px;
    }
}

/* Small screens (phones) */
@media (max-width: 768px) {
    /* Typography */
    h1 { font-size: 1.8rem; }
    h2 { font-size: 1.5rem; }
    h3 { font-size: 1.25rem; }
    
    /* Hero Section */
    .hero-section {
        padding: 40px 0;
        text-align: center;
    }
    
    .hero-section h1 {
        font-size: 1.8rem;
    }
    
    .hero-section .btn {
        width: 100%;
        margin-bottom: 8px;
    }
    
    /* Stats */
    .stats-section {
        padding: 20px 0;
    }
    
    .stat-item {
        margin-bottom: 16px;
    }
    
    .stat-item .number {
        font-size: 1.5rem;
    }
    
    /* Project Cards */
    .project-card .card-img-top {
        height: 150px;
    }
    
    .project-card .card-body {
        padding: 16px;
    }
    
    .project-card .card-title {
        font-size: 1rem;
    }
    
    /* Map */
    #project-map {
        height: 250px;
    }
    
    /* Forms */
    .form-control {
        font-size: 16px; /* Prevents zoom on iOS */
    }
    
    /* Tables */
    .table-responsive {
        font-size: 0.85rem;
    }
    
    /* Navigation */
    .navbar-brand {
        font-size: 1.2rem;
    }
    
    .navbar-brand img {
        height: 35px;
    }
    
    /* Footer */
    footer {
        text-align: center;
    }
    
    footer .social-links {
        justify-content: center;
    }
    
    /* Feedback */
    .feedback-item {
        padding: 16px;
    }
    
    .feedback-item .user-info {
        flex-wrap: wrap;
    }
    
    /* Project Details */
    .project-details .project-info {
        padding: 16px;
    }
    
    .project-gallery img {
        height: 150px;
    }
    
    /* Budget Charts */
    .chart-container {
        padding: 12px;
    }
}

/* Extra small screens */
@media (max-width: 576px) {
    .container {
        padding-left: 12px;
        padding-right: 12px;
    }
    
    .hero-section h1 {
        font-size: 1.5rem;
    }
    
    .stat-item .number {
        font-size: 1.2rem;
    }
    
    .project-card .card-img-top {
        height: 120px;
    }
    
    .card-body {
        padding: 12px;
    }
    
    .btn {
        font-size: 0.9rem;
        padding: 8px 16px;
    }
    
    .badge {
        font-size: 0.7rem;
        padding: 4px 10px;
    }
    
    /* Admin Panel */
    .admin-body {
        padding: 12px;
    }
    
    .admin-header {
        padding: 8px 12px;
        flex-wrap: wrap;
    }
    
    .admin-header .page-title h4 {
        font-size: 1.1rem;
    }
    
    .stat-card {
        padding: 16px;
    }
    
    .stat-card .stat-number {
        font-size: 1.2rem;
    }
    
    .admin-table {
        font-size: 0.75rem;
    }
    
    .admin-table th,
    .admin-table td {
        padding: 6px 8px;
    }
}

/* Print Styles */
@media print {
    .navbar,
    .admin-sidebar,
    .admin-header,
    .btn,
    .no-print {
        display: none !important;
    }
    
    .admin-content {
        margin-left: 0 !important;
    }
    
    .card {
        box-shadow: none !important;
        border: 1px solid #ddd !important;
    }
}

/* Landscape phones */
@media (max-height: 500px) and (orientation: landscape) {
    .hero-section {
        padding: 20px 0;
    }
    
    .hero-section h1 {
        font-size: 1.5rem;
    }
    
    #project-map {
        height: 200px;
    }
}

/* High DPI Screens */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    /* Retina specific styles */
}

/* Dark Mode Support */
@media (prefers-color-scheme: dark) {
    /* Dark mode styles if needed */
}