/* Nav ticker — Verba `.nav-ticker` / block_pattern */

.nav-ticker {
  --jkd-ticker-gap: 24px;
  --jkd-ticker-duration: 90s;
  --jkd-thumb-w: 40px;
  --jkd-thumb-aspect: 1 / 1;
  --jkd-post-title-lines: 1;
  --jkd-nav-ticker-pad: var(--wp--preset--spacing--30, 0.67rem);
  --jkd-fade-surface: var(--jkd-accent, #0a0a0a);
  position: relative;
  z-index: 2;
  display: flex;
  width: 100%;
  max-width: var(--jkd-content-width, 1280px);
  margin-inline: auto;
  padding: 0;
  box-sizing: border-box;
  overflow: hidden;
  background-color: var(--jkd-bg-col, #fff);
  font-family: Geist, Whitney, "Noto Sans", "Trebuchet MS", sans-serif;
}

.nav-ticker.before-solid,
.nav-ticker.after-solid {
  position: relative;
}

.nav-ticker.before-solid::before {
  content: "" !important;
  display: flex;
  position: absolute;
  left: 0;
  top: -1000px;
  z-index: 10;
  height: calc(100% + 1000px);
  border-left: clamp(0px, (100vw - var(--jkd-content-width, 1280px)) * 1000, 1px) solid var(--jkd-border, #d7d4cf);
  pointer-events: none;
}

.nav-ticker.after-solid::after {
  content: "" !important;
  display: flex;
  position: absolute;
  right: 0;
  top: -1000px;
  z-index: 10;
  height: calc(100% + 1000px);
  border-right: clamp(0px, (100vw - var(--jkd-content-width, 1280px)) * 1000, 1px) solid var(--jkd-border, #d7d4cf);
  pointer-events: none;
}

.nav-ticker__pad {
  flex: 1 1 auto;
  min-width: 0;
  width: 100%;
  padding: var(--jkd-nav-ticker-pad);
  box-sizing: border-box;
}

.nav-ticker__panel.bg-col-hd {
  --jkd-heading: var(--jkd-on-accent, #fff);
  --jkd-txt-col: var(--jkd-on-accent, #fff);
  --jkd-label-bg: var(--jkd-on-accent, #fff);
  --jkd-label-fg: var(--jkd-accent, #0a0a0a);
  background-color: var(--jkd-accent, #0a0a0a);
  color: var(--jkd-on-accent, #fff);
  padding: var(--jkd-nav-ticker-pad);
  box-sizing: border-box;
}

.nav-ticker .jkd-rounded {
  border-radius: var(--jkd-br, 10px) !important;
}

.nav-ticker .jkd-ticker {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  overflow: hidden;
}

.nav-ticker .jkd-ticker__fade {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 64px;
  z-index: 2;
  pointer-events: none;
}

.nav-ticker .jkd-ticker__fade--start {
  left: 0;
  background: linear-gradient(to right, var(--jkd-fade-surface) 0%, transparent 100%);
}

.nav-ticker .jkd-ticker__fade--end {
  right: 0;
  background: linear-gradient(to left, var(--jkd-fade-surface) 0%, transparent 100%);
}

.nav-ticker .jkd-ticker__viewport {
  position: relative;
  display: flex;
  width: 100%;
  overflow: hidden;
}

.nav-ticker .jkd-ticker__track {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  gap: var(--jkd-ticker-gap);
  margin: 0;
  padding: 0;
  padding-inline-end: var(--jkd-ticker-gap);
  list-style: none;
  width: max-content;
  will-change: transform;
  backface-visibility: hidden;
  animation: ish-ticker-scroll var(--jkd-ticker-duration) linear infinite;
}

.nav-ticker .jkd-ticker.pause-on-hover:hover .jkd-ticker__track {
  animation-play-state: paused;
}

.nav-ticker .jkd-ticker__item {
  display: flex;
  flex-shrink: 0;
  width: max-content;
  max-width: min(560px, 80vw);
  margin: 0;
}

.nav-ticker .jkd-post-card--list {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: var(--jkd-thumb-w);
  color: inherit;
}

.nav-ticker .jkd-post-card__media-wrap {
  position: relative;
  flex: 0 0 var(--jkd-thumb-w);
  width: var(--jkd-thumb-w);
  max-width: var(--jkd-thumb-w);
  border-radius: var(--jkd-br-md, 8px);
  overflow: hidden;
}

.nav-ticker .jkd-post-card__media {
  display: block;
  width: 100%;
  margin: 0;
  aspect-ratio: var(--jkd-thumb-aspect);
  background: color-mix(in srgb, var(--jkd-on-accent, #fff) 12%, transparent);
  overflow: hidden;
}

.nav-ticker .jkd-post-card__media-link {
  display: flex;
  width: 100%;
  height: 100%;
  text-decoration: none;
  color: inherit;
}

.nav-ticker .jkd-post-card__media-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.nav-ticker .jkd-post-card__media-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: 16px;
  font-weight: 600;
  color: var(--jkd-accent, #0a0a0a);
  background: color-mix(in srgb, var(--jkd-on-accent, #fff) 88%, transparent);
}

.nav-ticker .jkd-post-card__body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0;
  flex: 1 1 auto;
  min-width: 0;
}

.nav-ticker .jkd-post-card__title {
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.25;
  color: var(--jkd-heading, #fff);
  white-space: nowrap;
}

.nav-ticker .jkd-post-card__title.has-title-clamp {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
}

.nav-ticker .jkd-post-card__title-cat {
  display: inline;
  margin-right: 8px;
}

.nav-ticker .jkd-post-card__title-link {
  color: inherit;
  text-decoration: none;
}

.nav-ticker .jkd-post-card__title-link:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.nav-ticker .jkd-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
  height: 20px;
  padding-inline: 8px;
  border-radius: 999px;
  background-color: var(--jkd-label-bg, #fff);
  color: var(--jkd-label-fg, #0a0a0a);
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}

.nav-ticker .jkd-label__text {
  color: inherit;
}

.nav-ticker .jkd-label:hover {
  opacity: 0.9;
}

.nav-ticker .screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@media (prefers-reduced-motion: reduce) {
  .nav-ticker .jkd-ticker__track {
    animation: none;
  }
}

@media (max-width: 640px) {
  .nav-ticker {
    --jkd-ticker-gap: 16px;
    --jkd-ticker-duration: 70s;
  }

  .nav-ticker.before-solid::before,
  .nav-ticker.after-solid::after {
    display: none;
  }

  .nav-ticker .jkd-post-card__title {
    font-size: 0.9375rem;
  }
}
