/* Funmibi Couture — mobile hardening layer */
@media (max-width: 700px) {
    html, body { width: 100%; overflow-x: clip; }
    img, video { max-width: 100%; }
    input, select, textarea { font-size: 16px !important; }

    button, select,
    .shop-button, .primary-button, .place-order, .add-to-bag,
    .wishlist-button, .view-wishlist, .view-orders, .continue-shopping {
        min-height: 44px;
    }

    .header-links a, .shop-actions a, .confirmation-actions a,
    .bag-header-links a, .continue-link, .shop-link, .back-to-bag {
        display: inline-flex;
        min-height: 44px;
        align-items: center;
    }

    .shop-header, .product-header, .bag-header, .checkout-header, .confirmation-header,
    .account-header, .track-header, .desk-header, .info-header, .collection-header {
        min-width: 0;
    }

    .brand, .shop-logo, .bag-logo { font-size: 15px !important; white-space: nowrap; }

    .shop-actions, .header-links, .confirmation-actions, .bag-header-links {
        gap: 12px !important;
        min-width: 0;
    }

    .shop-actions a, .header-links a, .confirmation-actions a, .bag-header-links a,
    .continue-shopping, .continue-link, .shop-link, .back-to-bag {
        font-size: 8px !important;
        letter-spacing: 1px !important;
        white-space: nowrap;
    }

    /* Landing and shop */
    .header .nav {
        top: 24px !important;
        left: 12px !important;
        right: 12px !important;
        padding: 14px 16px !important;
        gap: 12px;
        flex-wrap: wrap;
    }
    .header .nav .logo { font-size: 17px !important; }
    .header .nav.scrolled {
        top: 16px !important;
        left: 12px !important;
        right: 12px !important;
        padding: 10px 14px !important;
    }
    .header .nav.scrolled .logo { transform: scale(.92); }
    .mobile-menu-toggle {
        display: block;
        margin-left: auto;
        border: 0;
        background: transparent;
        color: #fff;
        cursor: pointer;
        font: 500 9px Arial, Helvetica, sans-serif;
        letter-spacing: 1.6px;
    }
    .header .nav > ul,
    .header .nav > .right-menu { display: none; }
    .header .nav.menu-open > ul {
        display: grid;
        order: 3;
        width: 100%;
        gap: 0;
        padding-top: 8px;
        border-top: 1px solid rgba(255, 255, 255, .13);
    }
    .header .nav.menu-open > ul a {
        display: block;
        padding: 13px 0;
        font-size: 9px;
        letter-spacing: 1.5px;
    }
    .header .nav.menu-open > .right-menu {
        display: flex;
        order: 4;
        width: 100%;
        gap: 20px;
        padding: 12px 0 2px;
        border-top: 1px solid rgba(255, 255, 255, .13);
    }
    .header .nav.menu-open > .right-menu a { font-size: 9px !important; }
    /* One fixed viewport plus exactly one animation-length scroll—no tail. */
    /* Restore the original mobile landing scroll behavior. */
    .hero-scroll { height: 210svh !important; }
    /* Shop only: keep the brand, account and bag available while browsing. */
    .shop-header {
        position: fixed !important;
        top: 0;
        right: 0;
        left: 0;
        z-index: 1000;
        background: #f7f6f2;
    }
    .shop-page { padding-top: 69px; }
    .shop-nav { padding: 20px 5vw !important; gap: 10px; }
    .shop-nav-links { display: none !important; }
    .shop-actions a:first-child { display: none; }
    .shop-main { padding-left: 5vw !important; padding-right: 5vw !important; }
    .shop-intro { padding-top: 55px !important; padding-bottom: 35px !important; }
    .shop-intro h1 { font-size: clamp(52px, 18vw, 76px) !important; }
    .shop-categories { overflow-x: auto; justify-content: flex-start !important; padding-bottom: 8px; }
    .shop-categories .category { min-height: 44px; white-space: nowrap; }
    .shop-products {
        box-sizing: border-box;
        grid-template-columns: 1fr !important;
        gap: 46px !important;
        width: calc(100% - 44px) !important;
        max-width: 430px;
        margin-right: auto !important;
        margin-left: auto !important;
        padding: 0 !important;
    }
    .shop-products .product-image {
        height: auto !important;
        aspect-ratio: 4 / 5;
    }
    .shop-products .product-image img { object-fit: cover !important; }
    .product-info { gap: 12px !important; }
    .product-actions { flex-direction: column !important; }
    .product-actions button { width: 100% !important; }
    .shop-footer { align-items: flex-start !important; flex-direction: column; gap: 20px; line-height: 1.2; }
    .shop-footer-links { justify-content: flex-start; gap: 9px; width: 100%; }
    .shop-footer a { display: inline-flex; min-height: 40px; margin: 0 !important; padding: 0 14px; }

    /* Other customer pages: preserve their existing design, with navigation fixed above the scroll. */
    .product-header, .checkout-header, .confirmation-header, .account-header,
    .track-header, .desk-header, .info-header, .collection-header {
        position: fixed !important;
        top: 0;
        right: 0;
        left: 0;
        z-index: 1000;
        background: #fdfdfb;
    }
    .bag-header {
        position: fixed !important;
        top: 0;
        right: 0;
        left: 0;
        z-index: 1000;
        background: #f7f6f2;
    }
    .product-header + main, .bag-header + main, .checkout-header + main,
    .account-header + main, .track-header + main, .desk-header + main,
    .info-header + main, .collection-header + main { margin-top: 69px !important; }
    .confirmation-header + main { margin-top: 86px !important; }

    /* Bag */
    .bag-header { padding: 20px 5vw !important; }
    .bag-main { width: 90% !important; padding: 55px 0 75px !important; }
    .bag-heading h1 { font-size: 42px !important; }
    .bag-item { grid-template-columns: 82px minmax(0, 1fr) !important; gap: 14px !important; padding: 20px 0 !important; }
    .bag-product-image { width: 82px !important; height: 108px !important; grid-column: 1 !important; grid-row: 1 / span 3 !important; }
    .bag-item-info { grid-column: 2 !important; grid-row: 1 !important; }
    .bag-item-price { grid-column: 2 !important; grid-row: 2 !important; }
    .bag-quantity { grid-column: 2 !important; grid-row: 3 !important; }
    .bag-quantity button { min-width: 44px; min-height: 44px; }
    .remove-item { grid-column: 2 !important; grid-row: 4 !important; justify-self: start; }
    .bag-summary { width: 100% !important; }

    /* Product, checkout and customer pages */
    .product-page, .checkout-container, .confirmation-container, .account-main, .track-container,
    .order-desk, .info-main, .collection-main { width: 90% !important; }
    .product-gallery, .product-gallery img { min-height: 420px !important; height: 110vw !important; max-height: 560px; }
    .product-meta, .purchase-row { grid-template-columns: 1fr !important; }
    .quantity-control { width: 100%; }
    .checkout-intro h1, .confirmation-intro h1, .account-main h1, .track-intro h1,
    .desk-intro h1, .info-main h1, .collection-main h1 { font-size: 40px !important; }
    .payment-option { gap: 9px !important; }
    .payment-option small { max-width: 105px; }
    .summary-item { gap: 12px !important; }
    .summary-item h3 { font-size: 13px !important; }
    .confirmation-header { padding: 24px 5vw !important; }
    .confirmation-actions { flex-direction: column; align-items: flex-end; gap: 8px !important; }
    .account-header div { gap: 14px !important; }
    .search-row button, .search-form button, .primary-button { width: 100%; }

    /* Order tracking, forms, editorial and service pages */
    .status-progress { grid-template-columns: 1fr !important; gap: 12px !important; margin: 35px 0 !important; }
    .progress-line { display: none; }
    .progress-step { display: flex; align-items: center; gap: 12px; min-width: 0 !important; text-align: left; }
    .progress-step span { flex: 0 0 28px; margin: 0 !important; }
    .progress-step p { white-space: normal !important; }
    .lookbook-grid, .results { grid-template-columns: 1fr !important; }
    .look { min-height: 120vw !important; max-height: 560px; }
    .result-card img { height: min(128vw, 560px) !important; }
    .content-section h2 { font-size: 22px !important; }
    .measurements { display: block; overflow-x: auto; white-space: nowrap; }
    .collection-footer, .info-footer { gap: 12px; flex-direction: column; }
}
