/* Tiroir « Tout voir » des familles (mobile) : feuille qui monte du bas, calqué sur la boutique de référence.
   La feuille est insérée dans .bp-col (cf. collection.js) pour hériter des styles des pictos. */
.bp-col .pp-family-sheet[hidden] { display: none; }
.bp-col .pp-family-sheet { position: fixed; inset: 0; z-index: 2147483000; }
.bp-col .pp-family-sheet__backdrop { position: absolute; inset: 0; background: rgba(31, 41, 74, .5); opacity: 0; transition: opacity .2s ease; }
.bp-col .pp-family-sheet__panel { position: absolute; left: 0; right: 0; bottom: 0; max-height: 82vh; max-height: 82dvh; overflow-y: auto; overscroll-behavior: contain; background: #fff; border-radius: 18px 18px 0 0; padding: 8px 14px calc(22px + env(safe-area-inset-bottom)); transform: translateY(100%); transition: transform .22s ease; box-shadow: 0 -8px 28px rgba(31, 41, 74, .25); box-sizing: border-box; }
.bp-col .pp-family-sheet.is-open .pp-family-sheet__backdrop { opacity: 1; }
.bp-col .pp-family-sheet.is-open .pp-family-sheet__panel { transform: none; }
.bp-col .pp-family-sheet__grip { width: 40px; height: 4px; border-radius: 4px; background: #d9dbe6; margin: 4px auto 6px; }
.bp-col .pp-family-sheet__head { display: flex; align-items: center; justify-content: space-between; font-weight: 700; font-size: 17px; color: #2b2622; padding: 6px 2px 12px; }
.bp-col .pp-family-sheet__close { border: 0; background: #f1f3f8; width: 34px; height: 34px; border-radius: 50%; font-size: 22px; line-height: 1; cursor: pointer; color: #2b2622; }
.bp-col .pp-family-sheet .pp-family-sheet__list { display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 14px 6px; padding: 0 !important; margin: 0 auto; overflow: visible !important; -webkit-mask-image: none !important; mask-image: none !important; }
.bp-col .pp-family-sheet .pp-family-sheet__list .pp-family-grid__item { flex: none; }
html.pp-sheet-lock { overflow: hidden; }
@media (prefers-reduced-motion: reduce) { .bp-col .pp-family-sheet__backdrop, .bp-col .pp-family-sheet__panel { transition: none; } }

/* Mode « ajout » des puces de type (collection_page.chips.add, réglable bureau / mobile) :
   avec « + » les filtres s'additionnent ; sans « + », un clic sur la puce filtre uniquement sur ce type. */
@media (min-width: 990px) {
  div.bp-col #PPTypeChips[data-add-desktop="1"] .pp-type-group .pp-type-chip__actions { display: flex !important; }
  div.bp-col #PPTypeChips[data-add-desktop="0"] .pp-type-group .pp-type-chip__actions { display: none !important; }
}
@media (max-width: 989px) {
  div.bp-col #PPTypeChips[data-add-mobile="1"] .pp-type-group .pp-type-chip__actions { display: flex !important; }
  div.bp-col #PPTypeChips[data-add-mobile="0"] .pp-type-group .pp-type-chip__actions { display: none !important; }
}

/* Tiroir « Filtrer et trier » : Prix / Type de produit remplacent la feuille (flèche de retour, Effacer / Appliquer), comme papapattes.fr
   (collection_page.facets.drawer.submenu = replace ; « accordion » conserve l'ouverture sous la ligne). */
.bp-col .mobile-facets[data-submenu="replace"] .mobile-facets__inner.has-sub { min-height: min(62vh, 460px); overflow: hidden; }
.bp-col .mobile-facets[data-submenu="replace"] .mobile-facets__details[open] > .mobile-facets__submenu { position: absolute; left: 0; right: 0; bottom: 0; top: var(--bpf-head, 76px); z-index: 3; display: flex; flex-direction: column; background: #fff; overflow: hidden; }
.bp-col .mobile-facets[data-submenu="replace"] .mobile-facets__submenu > .mobile-facets__list { flex: 1 1 auto; min-height: 0; overflow-y: auto; margin: 0; }
.bp-col .mobile-facets[data-submenu="replace"] .mobile-facets__submenu > .mobile-facets__footer { margin-top: auto; position: static; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.bp-col .mobile-facets[data-submenu="replace"] .mobile-facets__submenu > .mobile-facets__close-button { display: flex; align-items: center; gap: 8px; padding: 14px 20px 8px; background: none; border: 0; font-size: 1.7rem; font-weight: 800; text-align: left; cursor: pointer; }
.bp-col .mobile-facets[data-submenu="replace"] .mobile-facets__submenu > .mobile-facets__close-button svg { width: 14px; height: 14px; transform: rotate(180deg); }
.bp-col .mobile-facets[data-submenu="replace"] .mobile-facets__details[open] { border-color: transparent !important; }

/* Puces de type : « Effacer tout » et puces actives (bleu, texte blanc, × sur mobile), d'après papapattes.fr. */
div.bp-col #PPTypeChips .pp-clear-li { display: flex; height: 44px; }
div.bp-col #PPTypeChips .pp-clear-all { display: inline-flex !important; align-items: center; gap: 6px; box-sizing: border-box; height: 44px; padding: 0 16px !important; border-radius: 999px; border: 1.5px solid var(--bpc-clear-border, #d1d5db); background: var(--bpc-clear-bg, #f3f4f6); color: var(--bpc-clear-text, #6b7280) !important; font-size: 14px; font-weight: 600; line-height: 1; text-decoration: none !important; white-space: nowrap; cursor: pointer; }
div.bp-col #PPTypeChips .pp-clear-all:hover { filter: brightness(.96); }
div.bp-col #PPTypeChips .pp-clear-all svg { width: 12px !important; height: 12px !important; max-width: none; flex: none; }
div.bp-col #PPTypeChips .pp-type-group.is-active { background: var(--bpc-active-bg, #384799) !important; border-color: var(--bpc-active-border, var(--bpc-active-bg, #384799)) !important; }
div.bp-col #PPTypeChips .pp-type-group.is-active:hover { filter: brightness(.9); }
div.bp-col #PPTypeChips .pp-type-group.is-active .pp-type-chip--split,
div.bp-col #PPTypeChips .pp-type-group.is-active .pp-type-chip--split .pp-type-chip__text { color: var(--bpc-active-text, #fff) !important; }
div.bp-col #PPTypeChips .pp-type-group.is-active .pp-type-chip__btn { color: var(--bpc-active-text, #fff) !important; opacity: 1; }
div.bp-col #PPTypeChips .pp-type-group.is-active .pp-type-chip__btn svg path { stroke: var(--bpc-active-bg, #384799) !important; }
div.bp-col #PPTypeChips .pp-type-group.is-active .pp-type-chip--split .pp-type-chip__text::after { content: ""; display: inline-block; width: 9px; height: 9px; margin-left: 8px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 2l8 8M10 2l-8 8' stroke='black' stroke-width='1.8' stroke-linecap='round' fill='none'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 2l8 8M10 2l-8 8' stroke='black' stroke-width='1.8' stroke-linecap='round' fill='none'/%3E%3C/svg%3E") center/contain no-repeat; }
@media (min-width: 990px) { div.bp-col #PPTypeChips[data-add-desktop="1"] .pp-type-group.is-active .pp-type-chip--split .pp-type-chip__text::after { display: none; } }
@media (max-width: 989px) { div.bp-col #PPTypeChips[data-add-mobile="1"] .pp-type-group.is-active .pp-type-chip--split .pp-type-chip__text::after { display: none; } }

/* Règles par mode (collection_page.chips.desktop / .mobile) : pas de puces sous min_products ; « Effacer tout » à partir de clear_min types. */
@media (min-width: 990px) { div.bp-col #PPTypeChips.pp-off-d { display: none !important; } div.bp-col #PPTypeChips .pp-clear-li:not(.pp-clear-d) { display: none !important; } }
@media (max-width: 989px) { div.bp-col #PPTypeChips.pp-off-m { display: none !important; } div.bp-col #PPTypeChips .pp-clear-li:not(.pp-clear-m) { display: none !important; } }

/* Puce en deux zones pleines : texte (grande, cliquable sur toute sa surface) + bouton +/− (petite, cliquable sur toute sa surface), identique bureau et mobile. */
div.bp-col #PPTypeChips .pp-type-group { display: inline-flex !important; align-items: stretch !important; box-sizing: border-box; height: 44px !important; min-height: 0 !important; padding: 0 !important; gap: 0 !important; overflow: hidden; border-radius: 999px !important; }
div.bp-col #PPTypeChips .pp-type-group > facet-remove { display: flex; flex: 1 1 auto; }
div.bp-col #PPTypeChips .pp-type-group .pp-type-chip--split { display: flex !important; align-items: center; width: 100%; height: 100% !important; min-height: 0 !important; margin: 0; padding: 0 16px !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; transform: none !important; cursor: pointer; }
div.bp-col #PPTypeChips .pp-type-group .pp-type-chip--split:hover { background: rgba(120, 90, 30, .09) !important; }
div.bp-col #PPTypeChips .pp-type-group.is-active .pp-type-chip--split:hover { background: rgba(255, 255, 255, .14) !important; }
div.bp-col #PPTypeChips .pp-type-group .pp-type-chip__actions { flex: 0 0 auto; align-items: stretch; margin: 0 !important; border-left: 1.5px solid rgba(120, 90, 30, .2); }
div.bp-col #PPTypeChips .pp-type-group.is-active .pp-type-chip__actions { border-left-color: rgba(255, 255, 255, .4); }
div.bp-col #PPTypeChips .pp-type-group .pp-type-chip__btn { width: 42px !important; height: 100% !important; min-width: 0 !important; min-height: 0 !important; margin: 0; padding: 0; border: 0 !important; border-radius: 0 !important; display: flex; align-items: center; justify-content: center; opacity: .85 !important; cursor: pointer; }
div.bp-col #PPTypeChips .pp-type-group .pp-type-chip__btn::after { content: none !important; }
div.bp-col #PPTypeChips .pp-type-group .pp-type-chip__btn:hover { background: rgba(120, 90, 30, .12) !important; opacity: 1 !important; transform: none; }
div.bp-col #PPTypeChips .pp-type-group.is-active .pp-type-chip__btn:hover { background: rgba(255, 255, 255, .16) !important; }
div.bp-col #PPTypeChips .pp-type-group .pp-type-chip__btn svg { width: 20px !important; height: 20px !important; }

/* Formulaire « Filtrer » plus grand sur bureau (collection_page.facets.drawer.desktop_width / desktop_min_height). */
@media (min-width: 990px) {
  div.bp-col .mobile-facets .mobile-facets__inner { width: min(var(--bpf-w, 640px), 94vw) !important; max-width: var(--bpf-w, 640px) !important; min-height: min(var(--bpf-h, 560px), 90vh); max-height: 90vh !important; }
  div.bp-col .mobile-facets[data-submenu="replace"] .mobile-facets__inner.has-sub { min-height: min(var(--bpf-h, 560px), 90vh); }
  div.bp-col .mobile-facets .mobile-facets__summary, div.bp-col .mobile-facets .mobile-facets__label { font-size: 15px; }
}

/* Mobile = bureau : mêmes dimensions de pilule et de bouton d'effacement. */
div.bp-col #PPTypeChips .pp-type-group .pp-type-chip--split, div.bp-col #PPTypeChips .pp-clear-all { font-size: 14px !important; font-weight: 600; line-height: 1; }
div.bp-col #PPTypeChips .pp-type-chips { gap: 8px !important; }

/* Taille et couleurs des puces (collection_page.chips.desktop|mobile.font_size / padding_x / padding_y et chips.colors.bg / text / border / active_border).
   Hauteur d'une puce = police + 2 x padding_y ; défauts un peu plus petits que l'ancien rendu (14 px, 16 px, hauteur 44 px). */
div.bp-col #PPTypeChips { --bpc-font: var(--bpc-font-d, 13px); --bpc-px: var(--bpc-px-d, 14px); --bpc-py: var(--bpc-py-d, 13px); }
@media (max-width: 989px) { div.bp-col #PPTypeChips { --bpc-font: var(--bpc-font-m, 13px); --bpc-px: var(--bpc-px-m, 14px); --bpc-py: var(--bpc-py-m, 13px); } }
div.bp-col #PPTypeChips .pp-type-group { height: auto !important; background: var(--bpc-bg, #fff); border-color: var(--bpc-border, #e7e0d8); }
div.bp-col #PPTypeChips .pp-type-group:not(.is-active) .pp-type-chip--split { color: var(--bpc-text, #2b2622) !important; }
div.bp-col #PPTypeChips .pp-type-group .pp-type-chip--split { padding: var(--bpc-py) var(--bpc-px) !important; font-size: var(--bpc-font) !important; }
div.bp-col #PPTypeChips .pp-clear-all { height: auto !important; padding: var(--bpc-py) var(--bpc-px) !important; font-size: var(--bpc-font) !important; }
div.bp-col #PPTypeChips .pp-type-group .pp-type-chip__btn { width: calc(var(--bpc-font) * 3) !important; }

/* Une facette n'est jamais plus large que l'écran : le texte passe à la ligne (avant, le « + » pouvait sortir de l'écran sur mobile). */
div.bp-col #PPTypeChips .pp-type-chips > li { min-width: 0; max-width: 100%; }
div.bp-col #PPTypeChips .pp-type-group { max-width: 100%; }
div.bp-col #PPTypeChips .pp-type-group .pp-type-chip--split { min-width: 0; white-space: normal !important; text-align: left; }

/* Sans cadre (chips.desktop|mobile.frame = false) : juste du texte, comme un lien — ni fond, ni bordure, ni ombre, ni forme, même au survol
   (le survol souligne ; une facette choisie est en gras, dans la couleur « fond d'une facette choisie »). */
@media (min-width: 990px) {
  div.bp-col #PPTypeChips.pp-nofr-d .pp-type-group, div.bp-col #PPTypeChips.pp-nofr-d .pp-type-group:hover, div.bp-col #PPTypeChips.pp-nofr-d .pp-type-group.is-active, div.bp-col #PPTypeChips.pp-nofr-d .pp-type-group.is-active:hover,
  div.bp-col #PPTypeChips.pp-nofr-d .pp-clear-all, div.bp-col #PPTypeChips.pp-nofr-d .pp-clear-all:hover { background: none !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; filter: none !important; transform: none !important; }
  div.bp-col #PPTypeChips.pp-nofr-d .pp-type-group .pp-type-chip--split, div.bp-col #PPTypeChips.pp-nofr-d .pp-type-group .pp-type-chip--split:hover, div.bp-col #PPTypeChips.pp-nofr-d .pp-type-group.is-active .pp-type-chip--split:hover { background: none !important; }
  div.bp-col #PPTypeChips.pp-nofr-d .pp-type-group .pp-type-chip__actions { border-left: 0 !important; }
  div.bp-col #PPTypeChips.pp-nofr-d .pp-type-group .pp-type-chip__btn, div.bp-col #PPTypeChips.pp-nofr-d .pp-type-group .pp-type-chip__btn:hover, div.bp-col #PPTypeChips.pp-nofr-d .pp-type-group.is-active .pp-type-chip__btn:hover { background: none !important; }
  div.bp-col #PPTypeChips.pp-nofr-d .pp-type-group:hover .pp-type-chip__text, div.bp-col #PPTypeChips.pp-nofr-d .pp-clear-all:hover span { text-decoration: underline; }
  div.bp-col #PPTypeChips.pp-nofr-d .pp-type-group.is-active .pp-type-chip--split, div.bp-col #PPTypeChips.pp-nofr-d .pp-type-group.is-active .pp-type-chip--split .pp-type-chip__text, div.bp-col #PPTypeChips.pp-nofr-d .pp-type-group.is-active .pp-type-chip__btn { color: var(--bpc-active-bg, #384799) !important; font-weight: 700; }
  div.bp-col #PPTypeChips.pp-nofr-d .pp-type-group.is-active .pp-type-chip__btn svg path { stroke: #fff !important; }
  div.bp-col #PPTypeChips.pp-nofr-d .pp-clear-all { color: var(--bpc-text, #2b2622) !important; text-decoration: underline; }
}
@media (max-width: 989px) {
  div.bp-col #PPTypeChips.pp-nofr-m .pp-type-group, div.bp-col #PPTypeChips.pp-nofr-m .pp-type-group:hover, div.bp-col #PPTypeChips.pp-nofr-m .pp-type-group.is-active, div.bp-col #PPTypeChips.pp-nofr-m .pp-type-group.is-active:hover,
  div.bp-col #PPTypeChips.pp-nofr-m .pp-clear-all, div.bp-col #PPTypeChips.pp-nofr-m .pp-clear-all:hover { background: none !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; filter: none !important; transform: none !important; }
  div.bp-col #PPTypeChips.pp-nofr-m .pp-type-group .pp-type-chip--split, div.bp-col #PPTypeChips.pp-nofr-m .pp-type-group .pp-type-chip--split:hover, div.bp-col #PPTypeChips.pp-nofr-m .pp-type-group.is-active .pp-type-chip--split:hover { background: none !important; }
  div.bp-col #PPTypeChips.pp-nofr-m .pp-type-group .pp-type-chip__actions { border-left: 0 !important; }
  div.bp-col #PPTypeChips.pp-nofr-m .pp-type-group .pp-type-chip__btn, div.bp-col #PPTypeChips.pp-nofr-m .pp-type-group .pp-type-chip__btn:hover, div.bp-col #PPTypeChips.pp-nofr-m .pp-type-group.is-active .pp-type-chip__btn:hover { background: none !important; }
  div.bp-col #PPTypeChips.pp-nofr-m .pp-type-group:hover .pp-type-chip__text, div.bp-col #PPTypeChips.pp-nofr-m .pp-clear-all:hover span { text-decoration: underline; }
  div.bp-col #PPTypeChips.pp-nofr-m .pp-type-group.is-active .pp-type-chip--split, div.bp-col #PPTypeChips.pp-nofr-m .pp-type-group.is-active .pp-type-chip--split .pp-type-chip__text, div.bp-col #PPTypeChips.pp-nofr-m .pp-type-group.is-active .pp-type-chip__btn { color: var(--bpc-active-bg, #384799) !important; font-weight: 700; }
  div.bp-col #PPTypeChips.pp-nofr-m .pp-type-group.is-active .pp-type-chip__btn svg path { stroke: #fff !important; }
  div.bp-col #PPTypeChips.pp-nofr-m .pp-clear-all { color: var(--bpc-text, #2b2622) !important; text-decoration: underline; }
}

/* Effets de chargement (collection_page.loading) : classes posées par collection.js sur .bp-col pendant le rechargement :
   pp-loading + data-fx (effet) + pp-fx-f (facettes et filtres) / pp-fx-p (produits). Rien ne bouge sans pp-loading ; aucun effet si le visiteur a demandé moins d'animations. */
div.bp-col.pp-fx-f :is(#PPTypeChips, .active-facets-mobile, .facets-wrapper), div.bp-col.pp-fx-p #ProductGridContainer { transition: filter var(--bp-fx-ms, 250ms) ease, opacity var(--bp-fx-ms, 250ms) ease, transform var(--bp-fx-ms, 250ms) ease; }
@media (prefers-reduced-motion: reduce) { div.bp-col.pp-fx-f :is(#PPTypeChips, .active-facets-mobile, .facets-wrapper), div.bp-col.pp-fx-p #ProductGridContainer { transition: none; } }
/* flou et fondu : sans mouvement, donc aussi pour les visiteurs qui ont réduit les animations */
div.bp-col.pp-loading.pp-fx-f[data-fx="blur"] :is(#PPTypeChips, .active-facets-mobile, .facets-wrapper), div.bp-col.pp-loading.pp-fx-p[data-fx="blur"] #ProductGridContainer { filter: blur(var(--bp-load-blur, 4px)); pointer-events: none; }
div.bp-col.pp-loading.pp-fx-f[data-fx="fade"] :is(#PPTypeChips, .active-facets-mobile, .facets-wrapper), div.bp-col.pp-loading.pp-fx-p[data-fx="fade"] #ProductGridContainer { opacity: var(--bp-fx-fade, .35); pointer-events: none; }
@media (prefers-reduced-motion: no-preference) {
  /* disparition, puis réapparition en glissant vers le haut */
  div.bp-col.pp-loading.pp-fx-f[data-fx="disappear"] :is(#PPTypeChips, .active-facets-mobile, .facets-wrapper), div.bp-col.pp-loading.pp-fx-p[data-fx="disappear"] #ProductGridContainer { opacity: 0; transform: translateY(8px); pointer-events: none; }
  div.bp-col.pp-arrive.pp-arrive-back.pp-fx-f :is(#PPTypeChips, .active-facets-mobile, .facets-wrapper), div.bp-col.pp-arrive.pp-arrive-back.pp-fx-p #ProductGridContainer { animation: bpFxBack calc(var(--bp-fx-ms, 250ms) * 1.4) ease both; }
  /* flou avec léger recul */
  div.bp-col.pp-loading.pp-fx-f[data-fx="blur_zoom"] :is(#PPTypeChips, .active-facets-mobile, .facets-wrapper), div.bp-col.pp-loading.pp-fx-p[data-fx="blur_zoom"] #ProductGridContainer { filter: blur(var(--bp-load-blur, 4px)); transform: scale(.985); pointer-events: none; }
  /* squelette animé : les fiches sont remplacées par des blocs qui pulsent ; les facettes se fondent */
  div.bp-col.pp-loading.pp-fx-f[data-fx="skeleton"] :is(#PPTypeChips, .active-facets-mobile, .facets-wrapper) { opacity: var(--bp-fx-fade, .35); pointer-events: none; }
  div.bp-col.pp-loading.pp-fx-p[data-fx="skeleton"] #ProductGridContainer #product-grid > li { position: relative; pointer-events: none; }
  div.bp-col.pp-loading.pp-fx-p[data-fx="skeleton"] #ProductGridContainer #product-grid > li > * { visibility: hidden; }
  div.bp-col.pp-loading.pp-fx-p[data-fx="skeleton"] #ProductGridContainer #product-grid > li::before { content: ""; position: absolute; inset: 0 0 6px; border-radius: 14px; background: linear-gradient(100deg, #eee9e2 30%, #f8f5f1 50%, #eee9e2 70%) 0 0 / 300% 100%; animation: bpSkel 1.2s ease-in-out infinite; }
  /* cascade : les produits arrivent l'un après l'autre */
  div.bp-col.pp-arrive.pp-arrive-casc #product-grid > li { animation: bpFxUp .45s ease both; }
  div.bp-col.pp-arrive.pp-arrive-casc #product-grid > li:nth-child(2) { animation-delay: calc(1 * var(--bp-reveal-step, 40ms)); }
  div.bp-col.pp-arrive.pp-arrive-casc #product-grid > li:nth-child(3) { animation-delay: calc(2 * var(--bp-reveal-step, 40ms)); }
  div.bp-col.pp-arrive.pp-arrive-casc #product-grid > li:nth-child(4) { animation-delay: calc(3 * var(--bp-reveal-step, 40ms)); }
  div.bp-col.pp-arrive.pp-arrive-casc #product-grid > li:nth-child(5) { animation-delay: calc(4 * var(--bp-reveal-step, 40ms)); }
  div.bp-col.pp-arrive.pp-arrive-casc #product-grid > li:nth-child(6) { animation-delay: calc(5 * var(--bp-reveal-step, 40ms)); }
  div.bp-col.pp-arrive.pp-arrive-casc #product-grid > li:nth-child(7) { animation-delay: calc(6 * var(--bp-reveal-step, 40ms)); }
  div.bp-col.pp-arrive.pp-arrive-casc #product-grid > li:nth-child(8) { animation-delay: calc(7 * var(--bp-reveal-step, 40ms)); }
  div.bp-col.pp-arrive.pp-arrive-casc #product-grid > li:nth-child(9) { animation-delay: calc(8 * var(--bp-reveal-step, 40ms)); }
  div.bp-col.pp-arrive.pp-arrive-casc #product-grid > li:nth-child(10) { animation-delay: calc(9 * var(--bp-reveal-step, 40ms)); }
  div.bp-col.pp-arrive.pp-arrive-casc #product-grid > li:nth-child(11) { animation-delay: calc(10 * var(--bp-reveal-step, 40ms)); }
  div.bp-col.pp-arrive.pp-arrive-casc #product-grid > li:nth-child(12) { animation-delay: calc(11 * var(--bp-reveal-step, 40ms)); }
  div.bp-col.pp-arrive.pp-arrive-casc #product-grid > li:nth-child(n+13) { animation-delay: calc(12 * var(--bp-reveal-step, 40ms)); }
}
@keyframes bpFxBack { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes bpFxUp { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes bpSkel { from { background-position: 100% 0; } to { background-position: -100% 0; } }

/* Nombre de produits dans la puce (collection_page.chips.desktop|mobile.show_count / count_font_size). */
div.bp-col #PPTypeChips .pp-type-chip__count { display: none; margin-left: 4px; font-weight: 500; opacity: .75; }
@media (min-width: 990px) { div.bp-col #PPTypeChips.pp-cnt-d .pp-type-chip__count { display: inline; font-size: var(--bpc-count-d, 12px); } }
@media (max-width: 989px) { div.bp-col #PPTypeChips.pp-cnt-m .pp-type-chip__count { display: inline; font-size: var(--bpc-count-m, 12px); } }

/* coup de cœur actif (état posé par wishlist-store.js) : cœur plein sur les cartes de la grille */
.card__media .pp-wishlist-btn.is-active svg{ fill: var(--pp-rose, #D96E96); }
.pp-card-acc { display: inline-block; margin-top: 8px; padding: 3px 10px; border-radius: 999px; background: #FFD60A; color: #1a1a1a !important; font-size: 12px; font-weight: 700; text-decoration: none !important; position: relative; z-index: 2; }

/* Familles : puces ou liste déroulante, au choix pour le bureau et le mobile (seuil 750 px) */
.bp-fam--nodesk { display: none; }
@media (max-width: 749px) { .bp-fam--nodesk { display: block; } .bp-fam--nomob { display: none; } }
.bp-col .pp-animal-select .pp-animal-select__list { max-height: 60vh; overflow-y: auto; }
.bp-col .pp-search-family + .pp-search-family .pp-animal-select-wrap { padding-top: 0; }

/* Affichage des produits : grille ou liste de fiches (collection_page.view). Sélecteur segmenté + fiche « liste » : photo à gauche, texte à droite, cœur et panier discrets sur la photo. */
.bp-view-toggle { display: flex; justify-content: flex-end; padding-top: 8px; padding-bottom: 8px; }
.bp-view-toggle__seg { display: inline-flex; gap: 2px; padding: 3px; border-radius: 999px; background: #f3eee8; border: 1px solid rgb(231, 224, 216); }
.bp-view-toggle__btn { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 34px; padding: 0; border: 0; border-radius: 999px; background: transparent; color: #7b6f63; cursor: pointer; transition: background-color .18s ease, color .18s ease, box-shadow .18s ease; }
.bp-view-toggle__btn:hover { color: rgb(56, 71, 153); }
.bp-view-toggle__btn[aria-pressed="true"] { background: #fff; color: rgb(56, 71, 153); box-shadow: 0 1px 4px rgba(60, 40, 10, .2); }
.bp-view-toggle__btn:focus-visible { outline: 2px solid rgb(56, 71, 153); outline-offset: 2px; }
@keyframes bpViewA { from { opacity: .35; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@keyframes bpViewB { from { opacity: .35; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.bp-col[data-bp-view="list"] #product-grid { animation: bpViewA .28s ease; }
.bp-col[data-bp-view="grid"] #product-grid { animation: bpViewB .28s ease; }
@media (prefers-reduced-motion: reduce) { .bp-col[data-bp-view] #product-grid { animation: none; } }
div.bp-col.bp-col[data-bp-view="list"] #product-grid.product-grid { grid-template-columns: minmax(0, 1fr) !important; gap: 12px !important; grid-auto-rows: auto !important; }
div.bp-col.bp-col[data-bp-view="list"] #product-grid.product-grid > .grid__item { padding: 0 !important; }
div.bp-col.bp-col[data-bp-view="list"] #product-grid.product-grid > .grid__item { display: block !important; }
div.bp-col.bp-col[data-bp-view="list"] #product-grid.product-grid .card-wrapper { width: 100% !important; height: 100%; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; background: none !important; }
div.bp-col.bp-col[data-bp-view="list"] #product-grid.product-grid .card__inner { margin: 0 !important; }
div.bp-col.bp-col[data-bp-view="list"] #product-grid.product-grid .card__content { min-height: 0 !important; justify-content: flex-start !important; }
div.bp-col.bp-col[data-bp-view="list"] #product-grid.product-grid .card__information { flex-direction: column; justify-content: flex-start; gap: 2px; height: auto !important; min-height: 0 !important; }
div.bp-col.bp-col[data-bp-view="list"] #product-grid.product-grid .card-information { margin: 0 !important; }
div.bp-col.bp-col[data-bp-view="list"] #product-grid.product-grid .card-wrapper .card { display: flex !important; flex-direction: row !important; align-items: stretch !important; gap: 14px !important; height: auto !important; min-height: 0 !important; padding: 10px !important; position: relative; overflow: hidden; text-align: left; background: #fff !important; border: 1px solid rgb(231, 224, 216) !important; border-radius: 16px !important; box-shadow: 0 1px 3px rgba(60, 40, 10, .06) !important; }
div.bp-col.bp-col[data-bp-view="list"] #product-grid.product-grid .card__inner { flex: 0 0 clamp(104px, 34%, 210px) !important; width: clamp(104px, 34%, 210px) !important; align-self: flex-start; aspect-ratio: 1; height: auto !important; border-radius: 12px; overflow: hidden; }
div.bp-col.bp-col[data-bp-view="list"] #product-grid.product-grid .card__inner .card__media, div.bp-col.bp-col[data-bp-view="list"] #product-grid.product-grid .card__inner .media { height: 100% !important; }
div.bp-col.bp-col[data-bp-view="list"] #product-grid.product-grid .card__inner .media img { width: 100%; height: 100%; object-fit: cover; }
div.bp-col.bp-col[data-bp-view="list"] #product-grid.product-grid .card__content { flex: 1 1 0 !important; min-width: 0 !important; display: flex !important; flex-direction: column; justify-content: center; gap: 6px; padding: 2px 0 !important; }
div.bp-col.bp-col[data-bp-view="list"] #product-grid.product-grid .card__information, div.bp-col.bp-col[data-bp-view="list"] #product-grid.product-grid .card-information { width: auto !important; max-width: 100% !important; min-width: 0; padding: 0 !important; text-align: left; align-items: flex-start; }
div.bp-col.bp-col[data-bp-view="list"] #product-grid.product-grid .card__heading { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3 !important; overflow: hidden; overflow-wrap: anywhere; margin: 0 !important; min-height: 0 !important; font-size: 15px !important; line-height: 1.3 !important; }
div.bp-col.bp-col[data-bp-view="list"] #product-grid.product-grid .price { margin: 4px 0 0 !important; }
div.bp-col.bp-col[data-bp-view="list"] #product-grid.product-grid .price__container { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; }
div.bp-col.bp-col[data-bp-view="list"] #product-grid.product-grid .price__sale { display: flex; flex-direction: row-reverse; justify-content: flex-end; align-items: baseline; gap: 8px; }
div.bp-col.bp-col[data-bp-view="list"] #product-grid.product-grid .price-item--sale { font-size: 17px !important; font-weight: 800; }
div.bp-col.bp-col[data-bp-view="list"] #product-grid.product-grid s.price-item--regular { font-size: 13px !important; font-weight: 500; opacity: .7; }
div.bp-col.bp-col[data-bp-view="list"] #product-grid.product-grid .pp-card-shipping { flex-wrap: wrap; margin: 4px 0 0 !important; font-size: 12.5px !important; line-height: 1.3; }
div.bp-col.bp-col[data-bp-view="list"] #product-grid.product-grid .pp-wishlist-btn { top: 6px !important; right: 6px !important; width: 32px !important; height: 32px !important; min-width: 0 !important; min-height: 0 !important; }
div.bp-col.bp-col[data-bp-view="list"] #product-grid.product-grid .pp-wishlist-btn svg { width: 17px !important; height: 17px !important; }
div.bp-col.bp-col[data-bp-view="list"] #product-grid.product-grid .pp-card-cart-form { right: 6px !important; bottom: 6px !important; }
div.bp-col.bp-col[data-bp-view="list"] #product-grid.product-grid .pp-card-cart-btn { width: 34px !important; height: 34px !important; min-width: 0 !important; min-height: 0 !important; }
div.bp-col.bp-col[data-bp-view="list"] #product-grid.product-grid .pp-card-cart-btn svg { width: 17px !important; height: 17px !important; }
div.bp-col.bp-col[data-bp-view="list"] #product-grid.product-grid .pp-card-tag { top: 6px !important; left: 6px !important; padding: 3px 8px !important; font-size: 11px !important; }
div.bp-col.bp-col[data-bp-view="list"] #product-grid.product-grid .pp-card-cart-btn { padding: 0 !important; border-radius: 50% !important; }
div.bp-col.bp-col[data-bp-view="list"] #product-grid.product-grid .pp-card-cart-form { width: auto !important; height: auto !important; }
@media (max-width: 749px) {
  div.bp-col.bp-col[data-bp-view="list"] #product-grid.product-grid .card-wrapper .card { gap: 12px !important; padding: 8px !important; border-radius: 14px !important; }
  div.bp-col.bp-col[data-bp-view="list"] #product-grid.product-grid .card__inner { flex-basis: clamp(96px, 33%, 150px) !important; width: clamp(96px, 33%, 150px) !important; }
  div.bp-col.bp-col[data-bp-view="list"] #product-grid.product-grid .card__heading { font-size: 14px !important; }
  div.bp-col.bp-col[data-bp-view="list"] #product-grid.product-grid .price-item--sale { font-size: 16px !important; }
  div.bp-col.bp-col[data-bp-view="list"] #product-grid.product-grid .pp-card-tag { top: 5px !important; left: 5px !important; padding: 2px 6px !important; font-size: 9.5px !important; }
  div.bp-col.bp-col[data-bp-view="list"] #product-grid.product-grid .pp-wishlist-btn { top: 4px !important; right: 4px !important; width: 28px !important; height: 28px !important; }
  div.bp-col.bp-col[data-bp-view="list"] #product-grid.product-grid .pp-card-cart-btn { width: 30px !important; height: 30px !important; }
  div.bp-col.bp-col[data-bp-view="list"] #product-grid.product-grid .pp-card-cart-form { right: 5px !important; bottom: 5px !important; }
}
@media (min-width: 1100px) {
  div.bp-col.bp-col[data-bp-view="list"] #product-grid.product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 16px !important; }
}
