/* Hallmark · components: grid / row / stack · design-system: design.md
 * Placements choose geometry only. Cards and catalogue eligibility remain shared.
 * Native scroll, keyboard navigation, no automatic motion. P5 H5 E5 S5 R5 V4. */
body [data-af-provider-collection] {
  --provider-columns: 3;
  --provider-control-radius: .625rem;
  --provider-gap: var(--space-sm);
  --provider-card-inset: var(--space-sm);
  --provider-row-width: 20rem;
  display: grid !important; grid-template-columns: repeat(auto-fit,minmax(min(100%,max(16rem,calc((100% - (var(--provider-columns) - 1) * var(--provider-gap)) / var(--provider-columns)))),1fr)) !important;
  align-items: stretch !important; gap: var(--provider-gap) !important;
  min-width: 0; max-width: 100%; margin: 0 !important; padding: var(--space-3xs) !important; list-style: none; border: 0; background: var(--color-transparent); overflow: visible;
}
body [data-af-provider-collection][data-provider-columns="1"] { --provider-columns: 1; }
body [data-af-provider-collection][data-provider-columns="2"] { --provider-columns: 2; }
body [data-af-provider-collection][data-provider-columns="4"] { --provider-columns: 4; }
body [data-af-provider-collection][data-provider-density="comfortable"] { --provider-card-inset: var(--space-md); --provider-gap: var(--space-md); }
body [data-af-provider-collection][data-provider-layout="stack"] { grid-template-columns: minmax(0,1fr) !important; }
body [data-af-provider-collection][data-provider-layout="rail"] {
  grid-template-columns: none !important; grid-auto-flow: column !important; grid-auto-columns: min(calc(100% - var(--space-sm)),var(--provider-row-width)) !important;
  overflow-x: auto !important; overflow-y: clip; overscroll-behavior-x: contain; scroll-snap-type: x proximity; scroll-padding-inline: var(--space-3xs);
  padding-block: var(--space-3xs) var(--space-xs) !important; scrollbar-width: thin;
}
body [data-af-provider-collection][data-provider-layout="rail"] > .af-provider-card { scroll-snap-align: start; }
body [data-af-provider-collection]:focus-visible { outline: var(--rule-strong) solid var(--color-publication-accent); outline-offset: var(--space-3xs); }
body .af-provider-layout-controls { display: flex; justify-content: flex-end; align-items: center; gap: var(--space-2xs); margin-bottom: var(--space-xs); }
body .af-provider-layout-controls[hidden] { display: none !important; }
body .af-provider-layout-controls button { display: inline-flex; align-items: center; justify-content: center; width: var(--control-height); height: var(--control-height); padding: 0; border: 0; border-radius: var(--provider-control-radius,.625rem); background: var(--color-publication-accent-soft); color: var(--color-publication-accent) !important; font: 500 var(--text-md)/1 var(--font-publication-body); box-shadow: none; cursor: pointer; }
body .af-provider-layout-controls button:disabled { opacity: .45; cursor: not-allowed; background: var(--color-publication-soft); }
body .af-provider-layout-controls button:focus-visible { outline: var(--rule-strong) solid var(--color-publication-accent); outline-offset: var(--space-3xs); }
body .af-provider-layout-controls button:active:not(:disabled) { background: var(--color-publication-soft); }
@media (hover: hover) { body .af-provider-layout-controls button:hover:not(:disabled) { background: var(--color-publication-soft); } }
@media (prefers-reduced-motion: reduce) { body [data-af-provider-collection] { scroll-behavior: auto; } }
