@media (max-width: 900px) {
    .hero-grid,
    .split-section {
        grid-template-columns: 1fr;
    }

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

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

@media (max-width: 700px) {
    .section {
        padding: var(--space-6) 0;
    }

    .header-inner {
        min-height: 64px;
    }

    .header-search {
        display: none;
    }

    .main-nav {
        display: none;
        position: absolute;
        inset: 64px 1rem auto 1rem;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: 0.5rem 1rem;
        border: 1px solid var(--color-border);
        border-radius: var(--radius-md);
        background: var(--color-white);
        box-shadow: var(--shadow-soft);
    }

    .main-nav.is-open {
        display: flex;
    }

    .nav-link {
        padding: 0.75rem 0;
        border-bottom: 1px solid var(--color-border);
    }

    .nav-link:last-child {
        border-bottom: 0;
    }

    .menu-toggle {
        display: block;
    }

    .hero-section {
        padding: var(--space-6) 0;
    }

    .hero-media,
    .content-placeholder {
        min-height: 260px;
    }

    .product-grid,
    .rates-grid {
        grid-template-columns: 1fr;
    }

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

    .footer-inner {
        flex-direction: column;
    }
}

@media (max-width: 420px) {
    .container {
        width: min(100% - 1.25rem, var(--container-width));
    }

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

    .category-image,
    .product-image {
        min-height: 190px;
    }
}

@media (max-width: 700px) {
    .listing-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .filter-group {
        overflow-x: auto;
        flex-wrap: nowrap;
        padding-bottom: 0.25rem;
    }

    .filter-button {
        flex: 0 0 auto;
    }
}

@media (max-width: 900px) {
    .product-detail-layout {
        grid-template-columns: 1fr;
    }

    .product-main-image {
        min-height: 420px;
    }
}

@media (max-width: 700px) {
    .product-main-image {
        min-height: 320px;
    }

    .product-specs {
        grid-template-columns: 1fr;
    }

    .product-actions {
        flex-direction: column;
    }

    .product-actions .button {
        width: 100%;
    }
}

@media (max-width: 900px) {
    .value-grid,
    .contact-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 700px) {
    .about-image {
        min-height: 260px;
    }

    .contact-form-card {
        padding: var(--space-4);
    }
}

@media (max-width: 900px) {
    .owner-app-shell {
        grid-template-columns: 1fr;
    }

    .owner-sidebar {
        position: fixed;
        inset: 0 auto 0 0;
        z-index: 50;
        width: min(280px, 88vw);
        transform: translateX(-105%);
        transition: transform 180ms ease;
    }

    .owner-sidebar.is-open {
        transform: translateX(0);
    }

    .owner-menu-toggle {
        display: block;
    }

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

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

@media (max-width: 600px) {
    .owner-topbar {
        padding: 0.85rem 1rem;
    }

    .owner-content {
        width: min(100% - 1.5rem, 1180px);
        padding: var(--space-5) 0;
    }

    .owner-stat-grid,
    .owner-action-grid {
        grid-template-columns: 1fr;
    }

    .owner-user-badge {
        display: none;
    }
}

@media (max-width: 1100px) {
    .owner-stat-grid {
        grid-template-columns: repeat(2, 1fr);
    }

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

    .owner-dashboard-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {
    .owner-welcome {
        align-items: stretch;
        flex-direction: column;
    }

    .owner-date-card {
        width: 100%;
        text-align: left;
    }

    .owner-topbar-actions {
        gap: 0;
    }

    .owner-preview-link {
        display: none;
    }
}

@media (max-width: 700px) {
    .owner-page-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .owner-page-toolbar .button {
        width: 100%;
    }

    .owner-product-tools {
        grid-template-columns: 1fr;
    }

    .owner-product-row {
        grid-template-columns: 1fr;
    }

    .owner-product-actions {
        width: 100%;
    }

    .owner-product-actions .owner-small-button {
        flex: 1;
    }

    .owner-form-grid {
        grid-template-columns: 1fr;
    }

    .owner-form-field-full {
        grid-column: auto;
    }

    .owner-form-actions {
        flex-direction: column-reverse;
    }

    .owner-form-actions .button {
        width: 100%;
    }
}


/* Phase 6.4 responsive product experience */
@media (max-width: 900px) {
    .product-detail-layout {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .product-gallery {
        position: static;
    }

    .product-main-image {
        min-height: 420px;
    }
}

@media (max-width: 560px) {
    .product-specs {
        grid-template-columns: 1fr;
    }

    .product-spec {
        border-right: 0;
        border-bottom: 1px solid var(--color-border);
    }

    .product-spec:last-child {
        border-bottom: 0;
    }

    .product-main-image {
        min-height: 330px;
    }

    .product-actions .button {
        width: 100%;
    }

    .rate-info-heading {
        flex-direction: column;
    }
}


@media (max-width: 650px) {
    .enquiry-form-grid {
        grid-template-columns: 1fr;
    }

    .enquiry-field-full {
        grid-column: auto;
    }

    .enquiry-actions .button {
        width: 100%;
    }
}


/* Phase 6.7 — mobile navigation and touch targets */
@media (max-width: 800px) {
    .site-header {
        position: sticky;
        top: 0;
        z-index: 40;
    }

    .main-nav.is-open {
        display: flex;
    }

    .menu-toggle {
        min-width: 44px;
        min-height: 44px;
    }

    .nav-link,
    .filter-button,
    .button {
        min-height: 44px;
    }

    .header-search {
        order: 3;
        flex-basis: 100%;
    }

    .header-search input {
        width: 100%;
    }
}

@media (max-width: 520px) {
    .back-to-top {
        right: 0.75rem;
        bottom: 0.75rem;
    }
}
