/* HI5 category slider. Tokens: design HI5 Ink and Signal Red (defined in header.css). */
.hi5-catslider {
  --cs-ink: var(--hi5-ink, #000);
  --cs-soft: var(--hi5-ink-soft, #4D4E4E);
  --cs-surface: var(--hi5-surface, #F5F5F5);
  --cs-line: var(--hi5-line, #E3E3E3);
  --cs-accent: var(--hi5-accent, #EB2027);
  --cs-radius: var(--hi5-r-sm, 4px);
  --cs-pad: var(--hi5-pad, clamp(16px, 2.4vw, 36px));

  position: relative;
  box-sizing: border-box;
  width: 100%;
  padding: clamp(28px, 4vw, 56px) var(--cs-pad);
  color: var(--cs-ink);
  font-family: var(--hi5-font, system-ui, sans-serif);
}
.hi5-catslider *,
.hi5-catslider *::before,
.hi5-catslider *::after { box-sizing: border-box; }

/* Heading row */
.hi5-catslider__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: clamp(16px, 2vw, 24px);
}
.hi5-catslider__title {
  margin: 0;
  color: var(--cs-ink);
  font: 500 clamp(24px, 2.6vw, 32px)/1.15 var(--hi5-font, inherit);
  letter-spacing: -0.01em;
}
.hi5-catslider__nav { display: flex; gap: 8px; }

/* Arrows: neutralise Astra button styling */
.hi5-catslider .hi5-catslider__btn,
.hi5-catslider .hi5-catslider__btn:hover,
.hi5-catslider .hi5-catslider__btn:focus {
  display: inline-grid;
  place-items: center;
  width: 44px;
  height: 44px;
  margin: 0;
  padding: 0;
  border: 1.5px solid var(--cs-ink);
  border-radius: var(--hi5-r-pill, 999px);
  background: transparent;
  color: var(--cs-ink);
  box-shadow: none;
  text-shadow: none;
  cursor: pointer;
  transition: background-color .2s, color .2s, opacity .2s;
}
.hi5-catslider .hi5-catslider__btn:hover { background: var(--cs-ink); color: #fff; }
.hi5-catslider__btn svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.hi5-catslider .hi5-catslider__btn.is-disabled { opacity: .3; pointer-events: none; }
.hi5-catslider .is-locked { display: none; }

/* Track (Swiper) */
.hi5-catslider__track { overflow: hidden; }
.hi5-catslider__list { margin: 0; padding: 0; list-style: none; }
.hi5-catslider__slide { height: auto; margin: 0; }

/* Card: image above, name below, matching the store grid */
.hi5-catslider__card {
  display: flex;
  flex-direction: column;
  gap: 12px;
  height: 100%;
  color: var(--cs-ink);
  text-decoration: none;
}
.hi5-catslider__media {
  position: relative;
  display: block;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  border-radius: var(--cs-radius);
  background: var(--cs-surface);
}
/* Specific enough to beat home.css rules on .entry-content img */
body .hi5-catslider .hi5-catslider__media img.hi5-catslider__img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  margin: 0;
  object-fit: cover;
  transition: transform .6s ease;
}
.hi5-catslider__initial {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: var(--cs-line);
  font: 700 clamp(64px, 8vw, 110px)/1 var(--hi5-font, inherit);
}
.hi5-catslider__card:hover .hi5-catslider__media img { transform: scale(1.04); }

.hi5-catslider__meta { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.hi5-catslider__name {
  font: 600 clamp(16px, 1.3vw, 18px)/1.25 var(--hi5-font, inherit);
  text-decoration: underline;
  text-decoration-color: transparent;
  text-underline-offset: 4px;
  transition: text-decoration-color .2s;
}
.hi5-catslider__card:hover .hi5-catslider__name { text-decoration-color: var(--cs-accent); }
.hi5-catslider__count { color: var(--cs-soft); font: 400 14px/1.3 var(--hi5-font, inherit); white-space: nowrap; }

.hi5-catslider__card:focus-visible,
.hi5-catslider .hi5-catslider__btn:focus-visible { outline: 2px solid var(--cs-accent); outline-offset: 3px; }

/* Pagination dots (mobile) */
.hi5-catslider .hi5-catslider__dots {
  position: static;
  display: flex;
  justify-content: center;
  gap: 6px;
  margin-top: 20px;
}
.hi5-catslider .hi5-catslider__dots .swiper-pagination-bullet {
  width: 7px;
  height: 7px;
  margin: 0;
  background: var(--cs-ink);
  opacity: .2;
  transition: width .25s, opacity .25s;
}
.hi5-catslider .hi5-catslider__dots .swiper-pagination-bullet-active { width: 20px; border-radius: 4px; opacity: 1; }
@media (min-width: 900px) { .hi5-catslider .hi5-catslider__dots { display: none; } }
@media (max-width: 559px) { .hi5-catslider__nav { display: none; } }

@media (prefers-reduced-motion: reduce) {
  body .hi5-catslider .hi5-catslider__media img.hi5-catslider__img,
  .hi5-catslider__name,
  .hi5-catslider__btn { transition: none; }
  .hi5-catslider__card:hover .hi5-catslider__media img { transform: none; }
}
