/* Keep the existing desktop layout; give mobile controls and labels room. */
@media (max-width: 760px) {
    .checkout-form .input-icon-wrap { min-width: 0; width: 100%; }
    .checkout-form .input-icon-wrap > select:not(.checkout-search-select__native),
    .checkout-form .input-icon-wrap > input,
    .checkout-form .checkout-search-select__toggle {
        box-sizing: border-box;
        width: 100%;
        min-width: 0;
        min-height: 48px;
        padding: 12px 14px 12px 40px;
        border: 1px solid var(--line);
        border-radius: 10px;
        background: #fff;
        color: var(--ink);
        font-size: 16px;
        line-height: 1.4;
    }
    .checkout-form .checkout-search-select__toggle > span {
        white-space: normal;
        overflow-wrap: anywhere;
        text-overflow: clip;
    }
    .checkout-form .checkout-search-select__options button {
        min-height: 48px;
        font-size: 16px;
        line-height: 1.4;
        white-space: normal;
    }
    .checkout-form .checkout-search-select__search-wrap .checkout-search-select__search {
        font-size: 16px;
        min-height: 44px;
    }

    .hero-wide .hero-slide .hero-media::after {
        background: linear-gradient(to top, rgba(0,0,0,.92), rgba(0,0,0,.58) 48%, rgba(0,0,0,.08) 90%);
    }
    .hero-wide .hero-copy.overlay { width: calc(100% - 36px); bottom: 76px; }
    .hero-wide .hero-copy.overlay h1 {
        font-size: clamp(30px, 8vw, 42px);
        line-height: 1.12;
        margin: 6px 0;
        text-wrap: balance;
        overflow-wrap: anywhere;
        text-shadow: 0 2px 8px rgba(0,0,0,.65);
    }
    .hero-wide .hero-copy.overlay > .badge { margin-bottom: 2px; }
    .hero-wide .hero-copy.overlay p,
    .new-arrivals-video-section .new-arrivals-overlay p {
        font-size: 16px;
        line-height: 1.35;
        margin: 4px 0 10px;
        color: #fff;
        text-shadow: 0 2px 6px rgba(0,0,0,.75);
    }
    .hero-wide .hero-copy.overlay .hero-actions { margin-top: 4px; }
    .new-arrivals-video-section[data-tone] .new-arrivals-overlay {
        padding: 24px 20px;
        background: linear-gradient(180deg, rgba(0,0,0,.2), rgba(0,0,0,.66));
    }
    .new-arrivals-video-section .new-arrivals-overlay h2 {
        font-size: clamp(28px, 8vw, 40px);
        line-height: 1.15;
        text-wrap: balance;
        text-shadow: 0 2px 8px rgba(0,0,0,.65);
    }
    .hero-copy.overlay .hero-actions,
    .new-arrivals-overlay .banner-actions { flex-wrap: wrap; gap: 10px; }
    .hero-copy.overlay .btn,
    .new-arrivals-overlay .btn { min-height: 44px; font-size: 14px; }

    /* Stack labels in one shared area so promotion and category never overlap. */
    .product-card .product-card-labels {
        position: absolute;
        top: 8px;
        left: 8px;
        right: 8px;
        z-index: 8;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 3px;
        pointer-events: none;
    }
    .product-card .product-card-labels .badges {
        position: static;
        display: flex;
        flex-wrap: wrap;
        gap: 3px;
        max-width: 100%;
    }
    .product-card .product-card-labels .badge-cat,
    .product-card .product-card-labels .product-promotion-badge {
        position: static;
        max-width: 100%;
        box-sizing: border-box;
        padding: 3px 6px;
        font-size: 9px;
        line-height: 1.1;
        font-weight: 800;
        white-space: normal;
        overflow-wrap: anywhere;
        letter-spacing: 0;
    }
    .product-card .product-card-labels .badge-cat { background: #fff; }
    .product-card .product-card-labels .product-promotion-badge { pointer-events: auto; }
}
