/* Phone refinement only. Existing navigation, selection and purchase handlers remain authoritative. */
@media (max-width: 639px) {
    .nv-header .nv-header__row {
        grid-template-columns: minmax(88px, 1fr) minmax(0, 128px) minmax(88px, 1fr);
        gap: 4px;
        min-height: 58px;
        padding-inline: 12px;
    }
    .nv-header .nv-logo { min-width: 0; max-width: 100%; }
    .nv-header .nv-logo img { max-width: 100%; max-height: 34px; object-fit: contain; }
    .nv-header .nv-logo__word { font-size: 1.25rem; overflow-wrap: anywhere; }
    .nv-header .nv-iconbtn { width: 44px; height: 44px; flex: none; }
    .nv-header .nv-header__actions { gap: 0; }
    .nv-header .nv-search { gap: .35rem; }
    .nv-header .nv-search input { font-size: 16px; }
    .nv-header .nv-search .nv-btn { min-height: 44px; padding-inline: .65rem; }

    /* Bellroy reference: continuous grey cards with a narrow white gutter, edge to edge. */
    .nv-home .nv-home__collection-section .nv-carousel__item,
    .nv-carousel .nv-carousel__item,
    .nv-rail__stage .nv-rail__item { flex-basis: calc(50% - 2px); }
    .nv-carousel .nv-carousel__track,
    .nv-rail__stage .nv-rail__track {
        gap: 4px;
        width: calc(100% + 2rem);
        max-width: none;
        margin-inline: -1rem;
        padding-inline: 0;
        scroll-padding-inline: 0;
    }
    [data-nv-product-grid],
    .nv-home [data-nv-range] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 4px;
        width: calc(100% + 2rem);
        max-width: none;
        margin-inline: -1rem;
        background: var(--nv-paper, #fff);
    }
    .nv-card {
        min-width: 0;
        overflow: hidden;
        border-radius: 0;
        background: var(--nv-well, #F7F7F7);
    }
    .nv-card .nv-card__media,
    .nv-home .nv-carousel .nv-card__media,
    .nv-home [data-nv-range] .nv-card__media { border-radius: 0; }
    .nv-card .nv-card__body { flex: 1; min-width: 0; align-content: start; gap: .2rem; padding: 12px; background: var(--nv-well, #F7F7F7); }
    .nv-card .nv-card__name { font-size: .875rem; font-weight: 400; line-height: 1.45; overflow-wrap: anywhere; }
    .nv-card .nv-card__price { font-size: .875rem; font-weight: 400; line-height: 1.45; overflow-wrap: anywhere; }
    .nv-card .nv-card__price .nv-price,
    .nv-card .nv-card__price .nv-price__from,
    .nv-card .nv-card__price .nv-price__was { font-size: inherit; font-weight: 400; }
    .nv-card .nv-card__capacity {
        display: block;
        min-height: 3em;
        max-height: 3em;
        margin: .25rem 0 0;
        font-size: .875rem;
        line-height: 1.5;
        font-weight: 400;
        white-space: normal;
        text-overflow: clip;
        overflow-wrap: anywhere;
        overflow: hidden;
        -webkit-line-clamp: unset;
    }
    .nv-card .nv-card__arrow,
    .nv-card .nv-card__pager,
    .nv-card .nv-card__bag { display: none !important; }
    .nv-card .nv-card__body .nv-dots {
        flex-wrap: nowrap;
        max-width: 100%;
        min-width: 0;
        margin: .3rem -2px .15rem;
        padding: 3px 2px;
        gap: 2px;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        scrollbar-width: none;
    }
    .nv-card .nv-dots::-webkit-scrollbar { display: none; }
    .nv-card .nv-dots li { flex: none; }
    .nv-card .nv-dots button.nv-dot { width: 28px; height: 28px; flex: none; }
    .nv-card .nv-dots button.nv-dot::before { inset: 5px; }
    .nv-carousel > .nv-section__foot { gap: .5rem; margin-top: 1rem; }
    .nv-carousel > .nv-section__foot .nv-btn { min-width: 0; white-space: normal; font-size: .75rem; padding-inline: .7rem; }
    .nv-product-rail__controls { gap: .1rem; }
    .nv-product-rail__controls .nv-product-rail__arrow { width: 44px; height: 44px; }
    .nv-section[data-nv-rail] .nv-section__head { gap: .5rem; }
    .nv-section[data-nv-rail] .nv-section__head .nv-h2 { font-size: 1.5rem; }

    /* A restrained category rail with the next category visible at rest. */
    .nv-home .nv-carry-section .nv-carry { scroll-padding-inline: 1rem; padding-bottom: .5rem; }
    .nv-home .nv-carry-section .nv-carry__tile,
    .nv-home .nv-carry-section .nv-carry__tile:first-child,
    .nv-home .nv-carry-section .nv-carry__tile:not(:first-child) { flex-basis: min(66vw, 15rem); }
    .nv-home .nv-carry-section .nv-carry__copy strong { font-size: .9375rem; }

    /* Keep filter and sort controls inside the listing column at narrow phone widths. */
    .nv-listing .nv-toolbar { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; gap: .6rem; }
    .nv-listing .nv-toolbar__left { min-width: 0; flex-wrap: wrap; gap: .35rem; }
    .nv-listing .nv-filter-toggle { min-height: 44px; }
    .nv-listing .nv-toolbar__count { flex-basis: 100%; font-size: .75rem; }
    .nv-listing .nv-toolbar__sort,
    .nv-listing .nv-toolbar__sort .nv-select { width: 100%; min-width: 0; }
    .nv-listing .nv-toolbar__sort select { width: 100%; max-width: 100%; min-height: 44px; font-size: 16px; text-overflow: ellipsis; }
    .nv-listing .nv-results { min-width: 0; }
    .nv-listing .nv-filter-panel { max-height: 86vh; max-height: 86dvh; padding-inline: 1rem; padding-bottom: max(1rem, env(safe-area-inset-bottom)); }
    .nv-listing .nv-filter-panel input:not([type="checkbox"]):not([type="radio"]) { min-width: 0; max-width: 100%; min-height: 44px; font-size: 16px; }
    .nv-listing .nv-facet__price { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .nv-listing .nv-facet__value { min-height: 44px; }
    .nv-listing .nv-facet__value span { min-width: 0; overflow-wrap: anywhere; }
    .nv-listing .nv-filter-panel__foot { padding-bottom: max(.5rem, env(safe-area-inset-bottom)); }

    /* One complete square per swipe; preserve the existing nearby-dot and video controls. */
    .nv-pdp .nv-pdp__top { min-width: 0; gap: 1.25rem; }
    .nv-pdp .nv-gallery__slides { margin-inline: 0; padding-inline: 0; gap: .5rem; scroll-padding-inline: 0; }
    .nv-pdp .nv-gallery__slide { flex-basis: 100%; border-radius: 4px; }
    .nv-pdp .nv-gallery__badges { left: .5rem; top: .5rem; }
    .nv-pdp .nv-gallery__pager { gap: .1rem; margin-top: .4rem; max-width: 100%; flex-wrap: wrap; }
    .nv-pdp .nv-gallery__pager button { width: 24px; height: 24px; padding: 0; background: transparent; }
    .nv-pdp .nv-gallery__pager button::after { content: ""; display: block; width: 6px; height: 6px; margin: auto; border-radius: 50%; background: var(--nv-line); }
    .nv-pdp .nv-gallery__pager button[aria-selected="true"]::after { background: var(--nv-ink); }
    .nv-pdp .nv-gallery__counter { right: .5rem; bottom: .5rem; font-size: .6875rem; }
    .nv-pdp .nv-buy { min-width: 0; gap: .85rem; }
    .nv-pdp .nv-buy__title { font-size: clamp(1.6rem, 7vw, 2rem); line-height: 1.15; }
    .nv-pdp .nv-buy__lead { font-size: .9375rem; line-height: 1.6; }
    .nv-pdp .nv-buy__price { flex-wrap: wrap; row-gap: .25rem; }
    .nv-pdp .nv-buy__price .nv-price--lg { font-size: 1.375rem; overflow-wrap: anywhere; }
    .nv-pdp .nv-option__legend { flex-wrap: wrap; row-gap: .2rem; }
    .nv-pdp .nv-option__values--tiles { flex-wrap: nowrap; overflow-x: auto; padding: 3px 2px .5rem; margin-inline: -2px; overscroll-behavior-x: contain; scrollbar-width: none; }
    .nv-pdp .nv-option__values--tiles::-webkit-scrollbar { display: none; }
    .nv-pdp .nv-option__values--tiles .nv-tile { flex: none; }
    .nv-pdp .nv-buy__row { grid-template-columns: auto minmax(0, 1fr); gap: .5rem; }
    .nv-pdp .nv-qty { height: 48px; }
    .nv-pdp .nv-qty button { width: 40px; }
    .nv-pdp .nv-qty input { width: 36px; font-size: 16px; }
    .nv-pdp .nv-buy__form .nv-btn { min-height: 48px; padding-inline: .75rem; font-size: .8125rem; white-space: normal; }
    .nv-pdp .nv-buy__notes div { grid-template-columns: minmax(5.5rem, .4fr) minmax(0, 1fr); gap: .6rem; }
    .nv-pdp .nv-buy__notes dd { overflow-wrap: anywhere; }
    .nv-sticky-bar { gap: .5rem; box-shadow: none; }
    .nv-sticky-bar .nv-btn { flex: none; min-height: 44px; padding-inline: .9rem; font-size: .75rem; }
    .nv-sticky-bar .nv-sticky-bar__price { font-size: .8125rem; overflow-wrap: anywhere; }
}
