.athena-group--scroll {
  grid-template-columns: none;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - (var(--athena-visible, var(--athena-cols, 3)) - 1) * var(--athena-gap, 12px)) / var(--athena-visible, var(--athena-cols, 3)));
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  overscroll-behavior-x: contain;
}
.athena-group--scroll > .athena-group__item { scroll-snap-align: start; }
/* Castore pagination geometry: round inactive dots and a wide active pill. */
.athena-pagination:not([hidden]) { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .15rem; margin-top: .65rem; }
.athena-pagination button { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; border: 0; background: transparent; color: inherit; padding: 10px 6px; min-height: 36px; min-width: 24px; cursor: pointer; }
.athena-pagination button::before { content: ''; display: block; width: .75rem; height: .75rem; background: currentColor; opacity: .4; border-radius: 50%; transition: opacity .25s ease, border-radius .25s ease, transform .25s ease, width .35s ease; }
.athena-pagination button.is-active::before { width: 2.75rem; border-radius: 5px; opacity: 1; transform: scale(1); }
.athena-pagination button:not(.is-active):hover::before { opacity: 1; transform: scale(1.25); }
.athena-pagination button.is-active:hover::before { transform: scale(1.08); }
.athena-pagination button:focus-visible, .athena-group--scroll:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { .athena-pagination button::before { transition: none; } }
@media (min-width: 961px) {
  .akbathena-overlay-wrapper > .mod-akbathena-absolute-content { overflow-y: auto; overflow-x: hidden; overscroll-behavior-y: contain; scrollbar-width: none; -ms-overflow-style: none; }
  .akbathena-overlay-wrapper > .mod-akbathena-absolute-content::-webkit-scrollbar { display: none; }
}
.mod-akbathena-absolute-content:focus-visible { outline: 2px solid currentColor; outline-offset: -3px; }
.athena-group--scroll { cursor: grab; scrollbar-width: none; -ms-overflow-style: none; }
.athena-group--scroll::-webkit-scrollbar { display: none; }
.athena-group--scroll.is-dragging { cursor: grabbing; scroll-snap-type: none; user-select: none; }
.athena-group--scroll.is-dragging * { user-select: none; }
@media (max-width: 960px) { .athena-group--scroll { grid-template-columns: none; --athena-visible: var(--athena-tablet, 1); } }
@media (max-width: 480px) { .athena-group--scroll { --athena-visible: var(--athena-phone, 1); } }
