/* Phone refinements (desktop untouched). Loaded last.
   - Filter/button rows stay on one line and swipe sideways instead of wrapping onto several lines.
   - Product cards keep "Details" and the cart button side by side. */
@media (max-width: 640px) {
 .public-site :is(.catalogue-divisions, .catalogue-therapies, .infection-pill-track, .sft-filter-group) {
  display: flex; flex-wrap: nowrap !important; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x proximity;
  -webkit-overflow-scrolling: touch; scrollbar-width: none; gap: 8px;
  margin-inline: -18px; padding: 6px 18px 10px; scroll-padding-inline: 18px;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 14px, #000 calc(100% - 24px), transparent 100%);
          mask-image: linear-gradient(90deg, transparent 0, #000 14px, #000 calc(100% - 24px), transparent 100%);
 }
 .public-site :is(.catalogue-divisions, .catalogue-therapies, .infection-pill-track, .sft-filter-group)::-webkit-scrollbar { display: none; }
 .public-site :is(.catalogue-divisions, .catalogue-therapies, .infection-pill-track, .sft-filter-group) > * { flex: 0 0 auto; white-space: nowrap; scroll-snap-align: start; }
 .public-site .catalogue-therapies[hidden] { display: none; }
 .public-site .sft-filter-group .sft-filter-label { align-self: center; }

 .public-site .product-buttons { display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; align-items: center; gap: 8px; }
 .public-site .product-buttons .view-more { flex: 1 1 auto; min-width: 0; min-height: 42px; padding: 0 10px; gap: 5px; white-space: nowrap; font-size: 0.78rem; }
 .public-site .product-buttons .view-more .ui-icon { width: 12px; height: 12px; flex-shrink: 0; }
 .public-site .product-buttons .cart-add { flex: 0 0 42px; width: 42px; height: 42px; min-height: 42px; padding: 0; justify-content: center; font-size: 0; gap: 0; border-radius: 50%; }
 .public-site .product-buttons .cart-add svg { width: 17px; height: 17px; margin: 0; }
}
@media (max-width: 420px) {
 .public-site .product-buttons .vm-word { display: none; }
}
@media (max-width: 640px) {
 /* The Insights filter sits inside a card: scroll within it rather than bleeding to the screen edge. */
 .public-site .sft-filter-group { margin-inline: 0; padding-inline: 0 16px; scroll-padding-inline: 0; min-width: 0; width: 100%; max-width: 100%;
  -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 24px), transparent 100%); mask-image: linear-gradient(90deg, #000 calc(100% - 24px), transparent 100%); }
 .public-site .sft-control-bar { min-width: 0; max-width: 100%; }
 .public-site .sft-control-bar > * { min-width: 0; max-width: 100%; }
}
