/* --o: 0 label only · 1 description + button visible.
   Featured tile: --ctile-featured 1 (set by CollectionMosaic). Hover: data-state open / shrink. */
.cc_kbd4ii47_zNFTGfgtWo .ctile {
  --o: var(--ctile-featured, 0);
  position: relative;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  border-radius: var(--radius-card);
  background: var(--c-surface);
}

.cc_kbd4ii47_zNFTGfgtWo .ctile[data-state="open"] {
  --o: 1;
}

.cc_kbd4ii47_zNFTGfgtWo .ctile[data-state="shrink"] {
  --o: 0;
}

/* focus inside (title link or button) always shows the description + button */
.cc_kbd4ii47_zNFTGfgtWo .ctile:focus-within {
  --o: 1;
}

.cc_kbd4ii47_zNFTGfgtWo .ctile__media {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

/* I-MOS-03 · I-M-02: black & white (grayscaleImages) turns to colour and grows 5% on hover */
.cc_kbd4ii47_zNFTGfgtWo .ctile__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(var(--ctile-mono, 0));
  transform: scale(1);
  transition:
    transform 0.8s var(--ease-out-soft),
    filter 0.8s var(--ease-out-soft);
}

.cc_kbd4ii47_zNFTGfgtWo .ctile[data-state="open"] .ctile__img {
  filter: grayscale(0);
  transform: scale(1.05);
}

.cc_kbd4ii47_zNFTGfgtWo .ctile__scrim {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, var(--c-transparent) 45%, var(--c-scrim) 100%);
  opacity: calc(1 - var(--ctile-featured, 0));
  pointer-events: none;
}

/* the featured tile carries a flat scrim (instead of the gradient) for its paragraph */
.cc_kbd4ii47_zNFTGfgtWo .ctile__scrim--flat {
  background: var(--c-scrim);
  opacity: var(--ctile-featured, 0);
}

.cc_kbd4ii47_zNFTGfgtWo .ctile__content {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: var(--space-panel);
  box-sizing: border-box;
  background: var(--c-transparent);
  color: var(--c-text);
}

.cc_kbd4ii47_zNFTGfgtWo .ctile__title {
  margin: 0;
  color: var(--c-text);
  line-height: 1.05; /* tile-title: H2 drawn at 1.05 */
}

.cc_kbd4ii47_zNFTGfgtWo .ctile__label {
  display: inline-block;
  max-width: 100%;
  transform-origin: left bottom;
}

.cc_kbd4ii47_zNFTGfgtWo .ctile__link {
  color: inherit;
  text-decoration: none;
}

/* whole tile is clickable through the title link */
.cc_kbd4ii47_zNFTGfgtWo .ctile__link::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}

.cc_kbd4ii47_zNFTGfgtWo .ctile__link:focus-visible {
  outline: none;
}

.cc_kbd4ii47_zNFTGfgtWo .ctile__link:focus-visible::after {
  outline: 2px solid var(--c-accent);
  outline-offset: -2px;
  border-radius: var(--radius-card);
}

/* I-MOS-05 · I-M-06: description + button appear 0.15s after the tile starts growing */
.cc_kbd4ii47_zNFTGfgtWo .ctile__reveal {
  max-height: calc(var(--o) * 16em);
  margin-top: calc(var(--o) * 12px);
  overflow: hidden;
  opacity: var(--o);
  transition:
    max-height 0.6s var(--ease-out-soft),
    margin-top 0.6s var(--ease-out-soft),
    opacity 0.4s var(--ease-standard) 0.15s;
}

.cc_kbd4ii47_zNFTGfgtWo .ctile[data-state="shrink"] .ctile__reveal, .cc_kbd4ii47_zNFTGfgtWo .ctile:not([data-state]) .ctile__reveal {
  transition-delay: 0s;
}

.cc_kbd4ii47_zNFTGfgtWo .ctile__text {
  max-width: 320px;
  margin: 0;
}

.cc_kbd4ii47_zNFTGfgtWo .ctile__actions {
  position: relative;
  z-index: 2;
  padding-top: 20px;
}

@media (max-width: 767px) {
  .cc_kbd4ii47_zNFTGfgtWo .ctile__content {
    padding: 12px;
  }

  .cc_kbd4ii47_zNFTGfgtWo .ctile__text {
    max-width: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cc_kbd4ii47_zNFTGfgtWo .ctile__img, .cc_kbd4ii47_zNFTGfgtWo .ctile__reveal {
    transition: none;
  }

  .cc_kbd4ii47_zNFTGfgtWo .ctile[data-state="open"] .ctile__img {
    transform: none;
  }
}
