/* One native, horizontally scrollable row, including when JavaScript is unavailable. */
@media (min-width: 1101px) {
    .sl-footer-main { grid-template-columns: minmax(220px, 1.6fr) repeat(4, minmax(0, 1fr)); gap: 32px; }
}
.sl-directories { min-width: 0; }
.sl-directories-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.sl-directories-controls { display: flex; flex: 0 0 auto; align-items: center; gap: 6px; }
.sl-directories-controls[hidden] { display: none; }
.sl-directories-controls button {
    display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px;
    padding: 8px 12px; border: 1px solid var(--sl-line); border-radius: 999px;
    background: var(--sl-white); color: var(--sl-ink); font-family: inherit; font-size: 12px; font-weight: 600; line-height: 1.2; cursor: pointer;
}
.sl-directories-controls button:hover { background: var(--sl-paper); border-color: var(--sl-ink); }
.sl-directories-controls button:disabled { opacity: .55; cursor: default; }
.sl-directories-controls .sl-directories-toggle { min-width: 130px; font-family: inherit; font-size: 12px; }
.sl-directory-rail {
    display: flex; width: 100%; max-width: 100%; overflow-x: auto; overflow-y: hidden;
    direction: ltr; overscroll-behavior-x: contain; scroll-behavior: auto;
    padding: 5px 0 12px; scrollbar-width: thin; scrollbar-color: var(--sl-line) transparent;
}
.sl-directory-group { display: flex; flex: 0 0 auto; align-items: center; gap: 14px; padding-right: 14px; }
.sl-directory-group > a {
    display: flex !important; flex: 0 0 212px; align-items: center; justify-content: center;
    width: 212px !important; max-width: none !important; height: 70px; margin: 0 !important; padding: 10px;
    border: 1px solid var(--sl-line); border-radius: 12px; background: #fff; color: #253229 !important;
    text-decoration: none !important; font-size: 13px; font-weight: 650; text-align: center;
}
.sl-directory-group > a:hover { border-color: var(--sl-ink); }
.sl-directory-group > a > img {
    display: block; width: auto !important; height: auto !important; max-width: 190px !important;
    max-height: 48px; object-fit: contain; flex: 0 1 auto;
}
.sl-directory-group > a > img[hidden] { display: none; }
.sl-directory-group > a:not(:has(img))::after { content: "↗"; margin-left: 10px; color: #526356; }
.sl-directory-fallback { max-width: 185px; font-size: 12px; line-height: 1.4; }
.sl-directories :is(a, button, [tabindex]):focus-visible { outline: 3px solid var(--sl-ink); outline-offset: -3px; }
@media (max-width: 600px) {
    .sl-directories-header { align-items: flex-start; flex-direction: column; gap: 10px; }
    .sl-directory-group > a { flex-basis: 192px; width: 192px !important; height: 64px; }
    .sl-directory-group > a > img { max-width: 170px !important; max-height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
    .sl-directory-rail { scroll-behavior: auto; }
    .sl-directory-group[data-directory-copy] { display: none; }
}
