/* Responsive Styles for Elegancia Website */

/* Mobile-first approach */

/* Small devices (phones, 600px and down) */
@media only screen and (max-width: 600px) {
    body {
        font-size: 15px;
    }

    h1 { font-size: 2.5em; }
    h2 { font-size: 2em; }
    h3 { font-size: 1.5em; }

    .container {
        padding: 0 15px;
    }

    /* Header */
    .header-content {
        flex-direction: column;
        text-align: center;
    }

    .logo {
        margin-bottom: 15px;
    }

    nav ul {
        flex-direction: column;
        align-items: center;
        width: 100%;
    }

    nav ul li {
        margin: 10px 0;
    }

    /* Hero Section */
    .hero {
        height: 60vh;
    }

    .hero-content {
        padding: 20px;
    }

    .hero-content h1 {
        font-size: 2em;
    }

    .hero-content .btn {
        padding: 10px 20px;
        font-size: 0.9em;
    }

    /* Product Grid */
    .product-grid {
        grid-template-columns: 1fr; /* Single column for products */
    }

    .product-card img {
        height: 250px;
    }

    /* Why Elegancia Grid */
    .why-elegancia-grid {
        grid-template-columns: 1fr;
    }

    /* Testimonials Grid */
    .testimonials-grid {
        grid-template-columns: 1fr;
    }

    /* Footer */
    .footer-content {
        flex-direction: column;
        align-items: center;
    }

    .footer-section {
        margin: 20px 0;
        text-align: center;
    }

    .newsletter-form {
        width: 90%;
        max-width: 300px;
        margin: 15px auto 0;
    }
}

/* Medium devices (tablets, 601px to 992px) */
@media only screen and (min-width: 601px) and (max-width: 992px) {
    h1 { font-size: 3.5em; }
    h2 { font-size: 2.5em; }
    h3 { font-size: 1.8em; }

    .container {
        padding: 0 25px;
    }

    /* Header */
    nav ul li {
        margin-left: 20px;
    }

    /* Hero Section */
    .hero {
        height: 70vh;
    }

    .hero-content h1 {
        font-size: 3em;
    }

    /* Product Grid */
    .product-grid {
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    }

    /* Footer */
    .footer-content {
        justify-content: space-around;
    }

    .footer-section {
        flex: 0 0 45%; /* Two columns */
        margin: 20px;
    }
}

/* Large devices (desktops, 993px and up) - Base styles already cover this */
@media only screen and (min-width: 993px) {
    .container {
        padding: 0 20px;
    }
}