/* Swipeable image carousel (tools/carousel/tool.js). Uses the theme's colour tokens. */
.imk-carousel {
  --cr-accent: var(--accent, #29b1cc);
  --cr-ink: var(--contrast, #222);
  --cr-line: var(--base, #ebedf0);
  max-width: 520px;
  margin: 0 auto 1.5em;
}
.imk-carousel-track {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  border-radius: 12px;
  box-shadow: 0 6px 24px rgba(0, 0, 0, .12);
}
.imk-carousel-track::-webkit-scrollbar { display: none; }
.imk-carousel-track:focus-visible { outline: 3px solid var(--cr-accent); outline-offset: 3px; }
.imk-carousel-track > figure {
  flex: 0 0 100%;
  margin: 0;
  scroll-snap-align: start;
  scroll-snap-stop: always;
}
.imk-carousel-track img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 5;
}
.imk-carousel-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-top: 12px;
  color: var(--cr-ink);
  font-size: 15px;
  font-variant-numeric: tabular-nums;
}
.imk-carousel-btn {
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid var(--cr-line);
  border-radius: 50%;
  background: #fff;
  color: var(--cr-ink);
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
}
/* The theme styles every button's hover/focus with an accent background; keep ours light. */
.imk-carousel .imk-carousel-btn:hover,
.imk-carousel .imk-carousel-btn:focus { background: #fff; color: var(--cr-ink); }
.imk-carousel .imk-carousel-btn:hover:not(:disabled) { border-color: var(--cr-accent); color: var(--cr-accent); }
.imk-carousel .imk-carousel-btn:focus-visible { outline: 3px solid var(--cr-accent); outline-offset: 2px; }
.imk-carousel-btn:disabled { opacity: .35; cursor: default; }
