/* ============================================================
   RESPONSIVE STYLES - MOBILE FIRST
============================================================ */

/* Mobile styles (up to 767px) */
@media (max-width: 767px) {
    /* Logo adjustments */
    .logo-img {
        height: 50px !important;
        max-width: 100px;
    }

    /* Navbar mobile */
    .navbar {
        padding: 0.25rem 0;
    }

    .navbar-collapse {
        background: #fff;
        border-top: 1px solid #eee;
        margin-top: 0.5rem;
        padding-top: 1rem;
    }

    .navbar-nav .nav-link {
        padding: 0.75rem 1rem;
        text-align: center;
        border-bottom: 1px solid #f8f9fa;
    }

    .navbar-nav .nav-link:last-child {
        border-bottom: none;
    }

    /* Hero section mobile */
    .hero {
        min-height: 60vh;
        padding: 2rem 1rem;
        padding-top: 100px;
    }

    .hero h1 {
        font-size: 2rem;
        line-height: 1.2;
        margin-bottom: 1rem;
    }

    .hero p {
        font-size: 1.1rem;
        margin-bottom: 2rem;
    }

    /* Features mobile */
    .features {
        padding: 3rem 0;
    }

    .feature-card {
        margin-bottom: 2rem;
        padding: 1.5rem;
        min-height: auto;
    }

    .feature-icon {
        font-size: 2.5rem;
        margin-bottom: 1rem;
    }

    .feature-card h3 {
        font-size: 1.4rem;
        margin-bottom: 1rem;
    }

    .feature-card p {
        font-size: 0.95rem;
    }

    /* Page sections mobile */
    .page-section {
        padding: 2rem 0;
    }

    /* Cards mobile */
    .card {
        margin-bottom: 1.5rem;
    }

    /* Buttons mobile */
    .btn {
        padding: 0.75rem 1.5rem;
        font-size: 1rem;
    }

    /* Container mobile */
    .container {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    /* Footer mobile */
    footer {
        padding: 1.5rem 0;
        text-align: center;
    }
}

/* Tablet styles (768px to 991px) */
@media (min-width: 768px) and (max-width: 991px) {
    .hero {
        min-height: 55vh;
        padding-top: 80px;
    }

    .hero h1 {
        font-size: 2.5rem;
    }

    .feature-card {
        min-height: 250px;
        padding: 1.75rem;
    }

    .feature-icon {
        font-size: 2.8rem;
    }
}

/* Large mobile landscape (576px to 767px) */
@media (min-width: 576px) and (max-width: 767px) {
    .hero {
        min-height: 55vh;
    }

    .hero h1 {
        font-size: 2.2rem;
    }

    .feature-card {
        padding: 2rem;
    }
}

/* Very small screens (up to 575px) */
@media (max-width: 575px) {
    .hero h1 {
        font-size: 1.8rem;
    }

    .hero p {
        font-size: 1rem;
    }

    .feature-card {
        padding: 1.25rem;
    }

    .feature-icon {
        font-size: 2rem;
    }

    .feature-card h3 {
        font-size: 1.25rem;
    }

    .container {
        padding-left: 0.75rem;
        padding-right: 0.75rem;
    }
}

/* Touch device optimizations */
@media (hover: none) and (pointer: coarse) {
    .card:hover,
    .feature-card:hover {
        transform: none;
        box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    }

    .navbar-nav .nav-link {
        padding: 1rem;
        font-size: 1.1rem;
    }

    .btn {
        min-height: 44px; /* Minimum touch target size */
        min-width: 44px;
    }
}

/* Prevent horizontal scroll */
body {
    overflow-x: hidden;
}

.container-fluid {
    overflow-x: hidden;
}

/* Improve readability on small screens */
@media (max-width: 767px) {
    p {
        line-height: 1.6;
    }

    h1, h2, h3, h4, h5, h6 {
        line-height: 1.3;
    }

    /* Make images responsive */
    img {
        max-width: 100%;
        height: auto;
    }
}
  