/* ===========================
   RESPONSIVE DESIGN (Mobile-first overrides)
   =========================== */

/* Tablet: 1024px and below */
@media (max-width: 1024px) {
    .container {
        padding: 0 24px;
    }

    .section {
        padding: 80px 0;
    }

    .hero-inner {
        grid-template-columns: 1fr;
        gap: 40px;
        text-align: center;
    }

    .hero-desc {
        margin: 0 auto 32px;
    }

    .hero-ctas {
        justify-content: center;
    }

    .hero-stats {
        justify-content: center;
    }

    .hero-visual {
        display: none;
    }

    .hero-scroll-indicator {
        display: none;
    }

    .products-grid,
    .products-grid-full {
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;
    }

    .recipes-grid,
    .recipes-grid-full {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }

    .story-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .sustainability-bar {
        grid-template-columns: repeat(2, 1fr);
    }

    .events-layout {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .visit-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .contact-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .about-mission-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .values-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .team-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 32px;
    }

    .nav-main {
        display: none;
    }

    .menu-toggle {
        display: flex;
    }

    .header-actions .btn {
        display: none;
    }
}

/* Mobile: 768px and below */
@media (max-width: 768px) {
    .container {
        padding: 0 16px;
    }

    .section {
        padding: 60px 0;
    }

    .section-header {
        margin-bottom: 40px;
    }

    .products-grid,
    .products-grid-full {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }

    .recipes-grid,
    .recipes-grid-full {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .sustainability-bar {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
    }

    .sustain-stat strong {
        font-size: 1.4rem;
    }

    .hero {
        min-height: 85vh;
    }

    .hero-title {
        font-size: clamp(1.8rem, 7vw, 2.8rem);
    }

    .hero-stats {
        gap: 24px;
    }

    .hero-stat strong {
        font-size: 1.2rem;
    }

    .hero-ctas {
        flex-direction: column;
        align-items: center;
    }

    .hero-ctas .btn {
        width: 100%;
        max-width: 320px;
    }

    .story-image-secondary {
        width: 140px;
        bottom: -20px;
        right: -10px;
    }

    .event-card {
        flex-direction: column;
        align-items: flex-start;
    }

    .event-card-full {
        gap: 16px;
    }

    .event-action {
        width: 100%;
    }

    .event-action .btn {
        width: 100%;
    }

    .testimonial-card {
        padding: 0 16px;
    }

    .testimonial-card blockquote p {
        font-size: 1rem;
    }

    .form-row {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .form-group-inline {
        flex-direction: column;
    }

    .form-group-inline .btn {
        width: 100%;
    }

    .page-hero {
        min-height: 340px;
    }

    .page-hero-short {
        min-height: 280px;
    }

    .footer-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .press-row {
        gap: 24px;
    }

    .press-logo {
        font-size: 0.85rem;
    }

    .values-grid {
        grid-template-columns: 1fr;
    }

    .team-grid {
        grid-template-columns: 1fr;
    }

    .cart-sidebar {
        width: 100vw;
    }

    .farm-tour-teaser {
        flex-direction: column;
    }

    .tour-img {
        width: 100%;
        height: 140px;
    }
}

/* Small mobile: 480px and below */
@media (max-width: 480px) {
    .products-grid,
    .products-grid-full {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .hero-stats {
        flex-direction: column;
        gap: 16px;
        align-items: center;
    }

    .sustainability-bar {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .filter-btn {
        padding: 6px 14px;
        font-size: 0.78rem;
    }

    .btn-lg {
        padding: 14px 28px;
        font-size: 0.95rem;
    }
}

/* Print styles */
@media print {
    .header,
    .mobile-menu-overlay,
    .cart-sidebar,
    .cart-overlay,
    .hero-scroll-indicator,
    .floating-particles,
    .footer-socials,
    .btn {
        display: none !important;
    }

    body {
        color: #000;
        background: #fff;
    }

    .section {
        padding: 20px 0;
    }
}