﻿@media (max-width: 992px) {
    .hero-grid,
    .process-grid,
    .cta-panel {
        flex-direction: column;
        align-items: flex-start;
    }

    .hero-card {
        max-width: none;
        width: 100%;
    }

    .card-grid,
    .stats-grid,
    .footer-grid {
        grid-template-columns: 1fr 1fr;
    }

    .office-grid {
        grid-template-columns: 1fr;
    }

    .split-grid,
    .contact-grid,
    .origin-detail-card,
    .catalogue-layout,
    .product-detail-grid,
    .product-detail-layout {
        grid-template-columns: 1fr;
    }

    .contact-form__grid {
        grid-template-columns: 1fr;
    }

    .contact-form__footer {
        align-items: stretch;
        flex-direction: column;
    }

    .contact-form__submit {
        width: 100%;
    }

    .catalogue-filters {
        position: static;
    }

    .catalogue-filters__actions {
        grid-template-columns: 1fr;
    }

    .catalogue-filters__clear {
        width: 100%;
    }

    .product-grid {
        grid-template-columns: 1fr 1fr;
    }

    .origin-showcase-grid {
        grid-template-columns: 1fr;
    }

    .origin-process-card {
        grid-template-columns: 1fr;
    }

    .origin-process-card img,
    .origin-process-card__media,
    .origin-process-card__media img {
        min-height: 320px;
    }
}

@media (max-width: 768px) {
    .top-bar__inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
    }

    .navbar__inner {
        flex-wrap: wrap;
    }

    .brand__logo {
        height: 44px;
        max-width: min(190px, 58vw);
    }

    .nav-toggle {
        display: inline-flex;
    }

    .nav-menu {
        display: none;
        width: 100%;
        flex-direction: column;
        align-items: flex-start;
        padding: 0 0 18px;
    }

    .nav-menu.is-open {
        display: flex;
    }

    .hero-section {
        padding: 58px 0;
    }

    .page-hero--about {
        min-height: 520px;
        padding: 72px 0 64px;
        background-position: 62% center;
    }

    .page-hero--products {
        min-height: 480px;
        padding: 68px 0 60px;
        background-position: 58% center;
    }

    .page-hero--sustainability {
        min-height: 500px;
        padding: 70px 0 62px;
        background-position: 60% center;
    }

    .page-hero--traceability {
        min-height: 500px;
        padding: 70px 0 62px;
        background-position: 58% center;
    }

    .page-hero--contact {
        min-height: 480px;
        padding: 68px 0 60px;
        background-position: 55% center;
    }

    .section {
        padding: 54px 0;
    }

    .origin-hero {
        min-height: 560px;
    }

    .origin-hero__content {
        padding: 90px 0 64px;
    }
}

@media (max-width: 576px) {
    .container {
        width: min(100% - 24px, 1120px);
    }

    .office-grid {
        grid-template-columns: 1fr;
    }

    .footer-offices {
        grid-template-columns: 1fr;
    }

    .card-grid,
    .stats-grid,
    .footer-grid,
    .split-grid,
    .contact-grid,
    .origin-detail-card,
    .product-grid {
        grid-template-columns: 1fr;
    }

    .filter-actions,
    .catalogue-toolbar,
    .pagination-bar,
    .product-card__footer,
    .product-meta div,
    .spec-list div {
        align-items: flex-start;
        flex-direction: column;
    }

    .product-meta dd,
    .spec-list dd {
        text-align: left;
    }

    .hero-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .btn {
        width: 100%;
    }

    .btn-cta {
        width: auto;
        align-self: flex-start;
    }

    .origin-hero {
        min-height: 520px;
    }

    .origin-showcase-card img,
    .origin-process-card img,
    .origin-process-card__media,
    .origin-process-card__media img {
        min-height: 0;
        height: 230px;
    }

    .origin-showcase-card__body,
    .origin-process-card div {
        padding: 24px;
    }
}

