/* Boutique PEMBO 2.0 (specs/003-affichage-produits).
   Structure : bandeau (titre + recherche), colonne de filtres, grille de produits, pagination,
   recommandations, bloc d'appel. Les jetons et la carte produit viennent de pembo.css. */

.pb-shop { font-family: var(--f-text); color: var(--c-text); }
.pb-shop p { margin: 0; }
.pb-shop ul.browser-default { margin: 0; padding: 0; list-style: none; }
.pb-shop ul.browser-default > li { list-style: none; }

/* Bandeau ------------------------------------------------------------------ */

.pb-shop-hero {
    position: relative;
    overflow: hidden;
    padding: 22px 0 0;
    background: linear-gradient(120deg, #0B6B3A 0%, #0E7C44 55%, #128A4C 100%);
}

.pb-shop-hero .pb-container { position: relative; }

.pb-shop-hero__crumbs .pb-breadcrumb,
.pb-shop-hero__crumbs .pb-breadcrumb a { color: rgba(255, 255, 255, 0.82); }
.pb-shop-hero__crumbs .pb-breadcrumb a:hover { color: #FFFFFF; }
.pb-shop-hero__crumbs .pb-breadcrumb [aria-current="page"] { color: #FFFFFF; font-weight: 600; }
nav.pb-shop-hero__crumbs { position: relative; z-index: 1; background: transparent; }

/* Grand mot décoratif, à demi caché par la barre blanche. */
.pb-shop-hero__word {
    height: 150px;
    margin: 0;
    overflow: hidden;
    color: rgba(255, 255, 255, 0.16);
    font-family: var(--f-display);
    font-size: 190px;
    font-weight: 700;
    line-height: 190px;
    letter-spacing: -6px;
    text-align: center;
    white-space: nowrap;
    user-select: none;
}

.pb-shop-hero__bar {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px 32px;
    margin-top: -34px;
    padding: 18px 24px;
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
    background: var(--c-surface);
}

.pb-shop-hero__title {
    min-width: 0;
    margin: 0;
    color: var(--c-text);
    font-family: var(--f-display);
    font-size: 26px;
    font-weight: 600;
    line-height: 34px;
    letter-spacing: -0.3px;
}

.pb-shop-hero__search {
    display: flex;
    flex: 0 1 460px;
    align-items: center;
    gap: 8px;
    min-width: 0;
    padding: 4px 4px 4px 14px;
    border: 1px solid var(--c-border);
    border-radius: 999px;
    background: var(--c-surface);
    color: var(--c-text-muted);
}

.pb-shop-hero__search:focus-within { border-color: var(--c-primary); }

.pb-shop-hero__search input.browser-default {
    flex: 1 1 auto;
    min-width: 0;
    height: 38px;
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--c-text);
    font-family: var(--f-text);
    font-size: 14px;
}

.pb-shop-hero__search button,
.pb-shop-hero__search button:focus {
    flex: none;
    height: 38px;
    padding: 0 18px;
    border: 0;
    border-radius: 999px;
    background: var(--c-text);
    color: #FFFFFF;
    font-family: var(--f-text);
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
}

.pb-shop-hero__search button:hover { background: var(--c-primary); }

/* Mise en page : filtres à gauche, produits à droite ------------------------- */

.pb-shop__layout { padding: 28px 0 8px; }

@media (min-width: 1100px) {
    .pb-shop__layout {
        display: grid;
        grid-template-columns: 260px minmax(0, 1fr);
        gap: 28px;
        align-items: start;
    }
}

/* Filtres -------------------------------------------------------------------- */

.pb-filters__head { display: none; }

/* Sans JavaScript, « Voir les résultats » reste dans la colonne. Avec, chaque case applique le filtre. */
.pb-filters__actions { display: flex; flex-direction: column; gap: 10px; padding-top: 16px; }

@media (min-width: 1100px) {
    .pb-shop-js .pb-filters__actions { display: none; }
}

/* Pendant le rechargement : barre de progression en haut, liste et filtres estompés. */
.pb-shop.is-loading .pb-shop__results,
.pb-shop.is-loading .pb-filters__form { opacity: .45; pointer-events: none; transition: opacity .15s ease; }

.pb-shop.is-loading::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1300;
    width: 100%;
    height: 3px;
    background: var(--c-accent);
    transform-origin: left;
    animation: pb-shop-loading 1.6s ease-out forwards;
}

@keyframes pb-shop-loading {
    from { transform: scaleX(0.05); }
    to { transform: scaleX(0.9); }
}

@media (prefers-reduced-motion: reduce) {
    .pb-shop.is-loading::before { animation: none; }
}

.pb-filter { border-bottom: 1px solid var(--c-border); }
.pb-filter:first-of-type { border-top: 1px solid var(--c-border); }

.pb-filter__title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 48px;
    color: var(--c-text);
    font-family: var(--f-display);
    font-size: 15px;
    font-weight: 600;
    list-style: none;
    cursor: pointer;
}

.pb-filter__title::-webkit-details-marker { display: none; }
.pb-filter__title .pb-icon { color: var(--c-text-muted); transition: transform .2s ease; }
.pb-filter[open] > .pb-filter__title .pb-icon { transform: rotate(180deg); }

.pb-shop ul.pb-filter__list { padding-bottom: 14px; }
.pb-shop ul.pb-filter__list--scroll { max-height: 260px; overflow-y: auto; margin-bottom: 14px; padding-bottom: 0; }

.pb-filter__link,
.pb-check {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 36px;
    padding: 4px 8px;
    border-radius: var(--radius);
    color: var(--c-text);
    font-size: 14px;
    line-height: 20px;
    cursor: pointer;
}

.pb-filter__link > span:first-of-type,
.pb-check > span:first-of-type { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; }

.pb-filter__link:hover,
.pb-check:hover { background: var(--c-surface-alt); color: var(--c-primary); }

.pb-filter__link[aria-current="true"] { background: var(--c-primary-tint); color: var(--c-primary); font-weight: 600; }

/* Arborescence : catégorie, bouton pour replier, sous-catégories derrière un trait vertical. */
.pb-tree__row { display: flex; align-items: center; gap: 2px; }
.pb-tree__row > .pb-filter__link { flex: 1 1 auto; min-width: 0; }
.pb-tree__item--l1 > .pb-tree__row > .pb-filter__link { font-weight: 600; }

.pb-tree__toggle,
.pb-tree__toggle:focus {
    display: inline-flex;
    flex: none;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: var(--radius);
    background: transparent;
    color: var(--c-text-muted);
    cursor: pointer;
}

.pb-tree__toggle:hover { background: var(--c-surface-alt); color: var(--c-primary); }
.pb-tree__toggle .pb-icon { transition: transform .2s ease; }
.pb-tree__toggle[aria-expanded="true"] .pb-icon { transform: rotate(180deg); }

.pb-shop ul.pb-tree__children { margin: 2px 0 6px 14px; padding-left: 6px; border-left: 1px solid var(--c-border); }
.pb-shop ul.pb-tree__children[hidden] { display: none; }
.pb-tree__children .pb-filter__link { min-height: 32px; font-size: 13px; line-height: 18px; }

.pb-filter__count {
    flex: none;
    min-width: 22px;
    padding: 1px 7px;
    border-radius: 999px;
    background: var(--c-surface-alt);
    color: var(--c-text-muted);
    font-size: 12px;
    font-weight: 500;
    line-height: 18px;
    text-align: center;
}

.pb-filter__link[aria-current="true"] .pb-filter__count { background: var(--c-primary); color: #FFFFFF; }

/* Classes : pastilles, par section (francophone, anglophone). */
.pb-filter__hint { padding: 0 8px 10px; color: var(--c-text-muted); font-size: 13px; line-height: 18px; }

.pb-filter__subtitle {
    padding: 0 8px 6px;
    color: var(--c-text-muted);
    font-size: 11px;
    font-weight: 600;
    line-height: 14px;
    letter-spacing: 0.4px;
    text-transform: uppercase;
}

.pb-shop ul.pb-filter__pills { display: flex; flex-wrap: wrap; gap: 6px; padding: 0 8px 14px; }

.pb-filter__pill,
.pb-filter__pill:focus {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-width: 44px;
    min-height: 40px;
    padding: 0 12px;
    border: 1px solid var(--c-border);
    border-radius: var(--radius);
    background: var(--c-surface);
    color: var(--c-text);
    font-size: 13px;
    font-weight: 500;
    line-height: 16px;
    white-space: nowrap;
}

.pb-filter__pill:hover { border-color: var(--c-primary); color: var(--c-primary); }
.pb-filter__pill[aria-current="true"] { border-color: var(--c-primary); background: var(--c-primary); color: #FFFFFF; font-weight: 600; }

.pb-filter__clear { display: inline-block; margin: -4px 8px 14px; color: var(--c-text-muted); font-size: 13px; text-decoration: underline; }
.pb-filter__promo { margin: -6px 0 12px; }

/* Materialize masque les cases à cocher : on rétablit les cases natives. */
.pb-shop .pb-check input[type="checkbox"],
.pb-shop .pb-check input[type="radio"] {
    position: static;
    flex: none;
    width: 18px;
    height: 18px;
    margin: 0;
    opacity: 1;
    pointer-events: auto;
    accent-color: var(--c-primary);
    cursor: pointer;
}

.pb-shop .pb-check input + span { height: auto; padding: 0; font-size: 14px; line-height: 20px; color: inherit; }
.pb-shop .pb-check input + span::before,
.pb-shop .pb-check input + span::after { content: none; }

.pb-shop input.pb-filter__search,
.pb-shop .pb-filter__price input.browser-default {
    box-sizing: border-box;
    width: 100%;
    height: 40px;
    margin: 0;
    padding: 0 12px;
    border: 1px solid var(--c-border);
    border-radius: var(--radius);
    background: var(--c-surface);
    color: var(--c-text);
    font-family: var(--f-text);
    font-size: 14px;
}

.pb-shop input.pb-filter__search { margin-bottom: 8px; }
.pb-shop input.pb-filter__search:focus,
.pb-shop .pb-filter__price input.browser-default:focus { border-color: var(--c-primary); outline: 0; }

.pb-filter__price { display: flex; align-items: center; gap: 8px; padding-bottom: 16px; color: var(--c-text-muted); }
.pb-shop .pb-filter__price input.browser-default { flex: 1 1 0; min-width: 0; }

.pb-filter__apply,
.pb-filter__apply:focus {
    flex: none;
    height: 40px;
    padding: 0 14px;
    border: 1px solid var(--c-primary);
    border-radius: var(--radius);
    background: var(--c-surface);
    color: var(--c-primary);
    font-family: var(--f-text);
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
}

.pb-filter__apply:hover { background: var(--c-primary-tint); }

.pb-filters__reset { color: var(--c-text-muted); font-size: 14px; text-align: center; text-decoration: underline; }

/* Panneau coulissant (mobile et tablette). Sans JavaScript, les filtres restent dans la page. */
.pb-shop__filter-btn { display: none; }

@media (max-width: 1099px) {
    .pb-shop-js .pb-shop__filter-btn { display: inline-flex; }

    .pb-shop-js .pb-filters {
        position: fixed;
        top: 0;
        bottom: 0;
        left: 0;
        z-index: 1200;
        display: flex;
        flex-direction: column;
        box-sizing: border-box;
        width: min(88vw, 360px);
        background: var(--c-surface);
        box-shadow: 0 0 40px rgba(27, 29, 27, 0.3);
        transform: translateX(-105%);
        visibility: hidden;
        transition: transform .25s ease, visibility 0s linear .25s;
    }

    .pb-shop-js .pb-filters.is-open { transform: none; visibility: visible; transition: transform .25s ease; }

    .pb-shop-js .pb-filters__head {
        display: flex;
        flex: none;
        align-items: center;
        justify-content: space-between;
        padding: 12px 16px;
        border-bottom: 1px solid var(--c-border);
    }

    .pb-filters__heading { font-family: var(--f-display); font-size: 17px; font-weight: 600; }

    .pb-filters__close,
    .pb-filters__close:focus {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        border: 0;
        border-radius: 50%;
        background: var(--c-surface-alt);
        color: var(--c-text);
        cursor: pointer;
    }

    .pb-shop-js .pb-filters__form { display: flex; flex: 1 1 auto; flex-direction: column; min-height: 0; }
    .pb-shop-js .pb-filters__form > .pb-filter { flex: none; margin: 0 16px; }
    .pb-shop-js .pb-filters__form { overflow-y: auto; }
    .pb-shop-js .pb-filter:first-of-type { border-top: 0; }

    .pb-shop-js .pb-filters__actions {
        position: sticky;
        bottom: 0;
        display: flex;
        flex-direction: column;
        gap: 10px;
        margin-top: auto;
        padding: 12px 16px 16px;
        border-top: 1px solid var(--c-border);
        background: var(--c-surface);
    }

    .pb-shop__backdrop {
        position: fixed;
        inset: 0;
        z-index: 1190;
        background: rgba(27, 29, 27, 0.5);
    }

    body.pb-no-scroll { overflow: hidden; }
}

@media (prefers-reduced-motion: reduce) {
    .pb-shop-js .pb-filters,
    .pb-shop-js .pb-filters.is-open { transition: none; }
}

/* Barre d'outils ----------------------------------------------------------- */

.pb-shop__toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px 16px;
    margin: 0 0 16px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--c-border);
}

.pb-shop__count { color: var(--c-text-muted); font-size: 14px; line-height: 20px; }
.pb-shop__count strong { color: var(--c-text); font-weight: 600; }

.pb-shop__tools { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }

.pb-shop__filter-btn,
.pb-shop__filter-btn:focus {
    align-items: center;
    gap: 6px;
    box-sizing: border-box;
    height: 40px;
    padding: 0 14px;
    border: 1px solid var(--c-primary);
    border-radius: var(--radius);
    background: var(--c-surface);
    color: var(--c-primary);
    font-family: var(--f-text);
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
}

.pb-shop__filter-btn:hover { background: var(--c-primary-tint); }

.pb-shop__filter-n {
    min-width: 20px;
    padding: 0 6px;
    border-radius: 999px;
    background: var(--c-primary);
    color: #FFFFFF;
    font-size: 12px;
    line-height: 20px;
    text-align: center;
}

.pb-shop__sort { display: inline-flex; align-items: center; gap: 8px; color: var(--c-text-muted); font-size: 14px; }

.pb-shop__sort select.pb-select { width: auto; }

.pb-shop__views {
    display: inline-flex;
    overflow: hidden;
    border: 1px solid var(--c-border);
    border-radius: var(--radius);
}

.pb-shop__view,
.pb-shop__view:focus {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 38px;
    background: var(--c-surface);
    color: var(--c-text-muted);
    transition: background-color .15s ease, color .15s ease;
}

.pb-shop__view + .pb-shop__view { border-left: 1px solid var(--c-border); }
.pb-shop__view:hover { color: var(--c-primary); }
.pb-shop__view[aria-current="true"] { background: var(--c-primary); color: #FFFFFF; }

/* Filtres actifs ------------------------------------------------------------- */

.pb-shop ul.pb-shop__chips { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 16px; }

.pb-shop__chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 32px;
    padding: 0 12px;
    border-radius: 999px;
    background: var(--c-primary-tint);
    color: var(--c-primary);
    font-size: 13px;
    font-weight: 600;
}

.pb-shop__chip:hover { background: var(--c-primary); color: #FFFFFF; }
.pb-shop__chips-reset { color: var(--c-text-muted); font-size: 13px; text-decoration: underline; }

/* Grille : 3 colonnes à côté des filtres, 4 sur très grand écran. */
@media (min-width: 1280px) and (max-width: 1399px) {
    .pb-shop .pb-products:not(.pb-products--list) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* Pagination --------------------------------------------------------------- */

.pb-shop__pages { margin: 28px 0 12px; }

.pb-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-top: 20px;
    border-top: 1px solid var(--c-border);
    background: transparent;
    box-shadow: none;
    height: auto;
    line-height: normal;
}

.pb-shop ul.pb-pagination__list { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 6px; }

.pb-pagination__link,
.pb-pagination__link:focus,
.pb-pagination__step,
.pb-pagination__step:focus {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    box-sizing: border-box;
    min-width: 40px;
    height: 40px;
    padding: 0 8px;
    border-radius: var(--radius);
    color: var(--c-text);
    font-family: var(--f-text);
    font-size: 14px;
    font-weight: 500;
    transition: background-color .15s ease, color .15s ease;
}

.pb-pagination__step { padding: 0 12px; font-weight: 600; }

a.pb-pagination__link:hover,
a.pb-pagination__step:hover { background: var(--c-surface-alt); color: var(--c-primary); }

.pb-pagination__link[aria-current="page"] { background: var(--c-primary); color: #FFFFFF; font-weight: 600; }
.pb-pagination__step[aria-disabled="true"] { opacity: .4; cursor: not-allowed; }
.pb-pagination__gap { padding: 0 2px; color: var(--c-text-muted); }

/* Recommandations et bloc d'appel -------------------------------------------- */

.pb-shop-reco { padding-bottom: 28px; }
.pb-shop-reco__title { margin-bottom: 24px; }

.pb-shop-help { padding: 20px 0 56px; }

.pb-shop-help__box {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
    gap: 24px 48px;
    align-items: end;
    padding: 40px 44px;
    border-radius: var(--radius-xl);
    background: var(--c-footer-bg);
    color: var(--c-footer-text);
}

.pb-shop-help__title {
    margin: 0;
    color: #FFFFFF;
    font-family: var(--f-display);
    font-size: 36px;
    font-weight: 600;
    line-height: 44px;
    letter-spacing: -0.6px;
}

.pb-shop-help__side { font-size: 14px; line-height: 22px; }
.pb-shop-help__lead { margin-bottom: 6px; color: #FFFFFF; font-weight: 600; }
.pb-shop-help__side .pb-btn { margin-top: 16px; }

/* Tablette et mobile --------------------------------------------------------- */

@media (max-width: 1023px) {
    .pb-shop-hero__word { height: 110px; font-size: 130px; line-height: 130px; letter-spacing: -4px; }
    .pb-shop-help__box { grid-template-columns: minmax(0, 1fr); padding: 32px; }
    .pb-shop-help__title { font-size: 28px; line-height: 36px; }
}

@media (max-width: 767px) {
    .pb-shop-hero { padding-top: 14px; }
    .pb-shop-hero__word { height: 64px; font-size: 76px; line-height: 76px; letter-spacing: -2px; }
    .pb-shop-hero__bar { flex-direction: column; align-items: stretch; margin-top: -18px; padding: 14px 14px 4px; }
    .pb-shop-hero__title { font-size: 20px; line-height: 28px; }
    .pb-shop-hero__search { flex: none; }
    .pb-shop-hero__search button { padding: 0 14px; }

    .pb-shop__layout { padding-top: 16px; }
    /* La présentation en liste n'est pas proposée sur mobile. */
    .pb-shop__views { display: none; }
    .pb-shop__count { flex-basis: 100%; }
    .pb-shop__tools { flex: 1 1 auto; justify-content: space-between; }
    .pb-shop__sort-label { display: none; }

    /* 16px dans les champs : le téléphone ne zoome pas à la saisie. */
    .pb-shop-hero__search input.browser-default,
    .pb-shop input.pb-filter__search,
    .pb-shop .pb-filter__price input.browser-default,
    .pb-shop__sort select.pb-select { font-size: 16px; }

    .pb-pagination__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
    .pb-pagination__step { padding: 0 8px; }
    .pb-pagination__link, .pb-pagination__step { min-width: 38px; }

    .pb-shop-help { padding-bottom: 36px; }
    .pb-shop-help__box { padding: 24px 20px; border-radius: var(--radius-lg); }
    .pb-shop-help__title { font-size: 24px; line-height: 32px; }
}

/* PEMBO Goodies : grossiste des imprimeurs (audit post-refonte 2026-10-17, § 3.2) */
.pb-goodies-pro { padding: 28px 0 8px; background: var(--c-surface-alt); border-bottom: 1px solid var(--c-border); }
.pb-goodies-pro__intro { max-width: 760px; }
.pb-goodies-pro__eyebrow { margin: 0 0 6px; font-size: 13px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--c-primary); }
.pb-goodies-pro__title { margin: 0 0 10px; font-size: clamp(22px, 3vw, 30px); line-height: 1.2; color: var(--c-text); }
.pb-goodies-pro__lead { margin: 0 0 18px; font-size: 16px; line-height: 1.55; color: var(--c-text-muted); }
.pb-goodies-pro__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; }
.pb-goodies-pro__link { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; font-weight: 600; color: var(--c-primary); }
.pb-goodies-pro__link:hover { text-decoration: underline; }
.pb-goodies-pro__families ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 22px 0 0; padding: 0; list-style: none; }
.pb-goodies-pro__families a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border: 1px solid var(--c-border); border-radius: 999px; background: var(--c-surface); font-size: 14px; color: var(--c-text); }
.pb-goodies-pro__families a:hover,
.pb-goodies-pro__families a[aria-current="page"] { border-color: var(--c-primary); color: var(--c-primary); background: var(--c-primary-tint); }
.pb-goodies-pro__steps { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin: 22px 0 16px; padding: 0; list-style: none; counter-reset: pb-step; }
.pb-goodies-pro__steps li { position: relative; padding: 14px 14px 14px 52px; border-radius: var(--radius-lg); background: var(--c-surface); counter-increment: pb-step; }
.pb-goodies-pro__steps li::before { content: counter(pb-step); position: absolute; left: 14px; top: 14px; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--c-primary); color: #FFFFFF; font-weight: 700; font-size: 14px; }
.pb-goodies-pro__steps strong { display: block; font-size: 14px; color: var(--c-text); }
.pb-goodies-pro__steps span { display: block; margin-top: 2px; font-size: 13px; line-height: 1.4; color: var(--c-text-muted); }

@media (max-width: 1099px) {
    .pb-goodies-pro__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 599px) {
    .pb-goodies-pro { padding-top: 20px; }
    .pb-goodies-pro__steps { grid-template-columns: minmax(0, 1fr); }
    .pb-goodies-pro__actions .pb-btn { width: 100%; }
    .pb-goodies-pro__families ul { flex-wrap: nowrap; overflow-x: auto; margin-right: -16px; padding-right: 16px; scrollbar-width: none; }
    .pb-goodies-pro__families li { flex: none; }
}
