/* ====================================
   PAGINA PROGETTI: sezioni per categoria con card che scorrono
   (stesso linguaggio della sezione Progetti recenti in home)
   ==================================== */
.wk-page {
  background: var(--dark);
  color: var(--bg);
  padding: 130px 0 96px;
}

/* H1 di pagina */
.wk-head { padding: 0 40px 8px; }
.wk-title.section-title { color: var(--bg); }

/* Una sezione per categoria: H2 e sotto la fila di card */
.wk-cat { padding: 64px 0 0; }
.wk-cat-title {
  padding: 0 40px;
  margin-bottom: 24px;
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 400;
  font-size: clamp(26px, 3.2vw, 44px);
  line-height: 1.05;
  letter-spacing: -0.03em;
  color: var(--bg);
}

/* La fila: scorre da sola se i progetti sono tanti, altrimenti sta ferma (e si trascina se non ci sta) */
.wk-row {
  position: relative;
  overflow: hidden;
  width: 100%;
  touch-action: pan-y; /* la pagina scorre in verticale, i gesti orizzontali muovono la fila */
  -webkit-user-select: none;
  user-select: none;
}
.wk-row.is-loop {
  /* a sinistra le card svaniscono (e si sfaldano in particelle), a destra entrano */
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 140px, #000 calc(100% - 80px), transparent 100%);
  mask-image: linear-gradient(to right, transparent 0, #000 140px, #000 calc(100% - 80px), transparent 100%);
}
.wk-track {
  display: flex;
  width: max-content;
  will-change: transform;
}
.wk-row:not(.is-loop) .wk-track { padding: 0 20px 0 40px; }

.wk-card {
  flex: none;
  display: block;
  width: clamp(240px, 28vw, 420px);
  margin-right: 20px;
  color: var(--bg);
  text-decoration: none;
}
.wk-card img { -webkit-user-drag: none; }
.wk-card-img {
  display: block;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  border-radius: 6px;
  background: #1a1a1a;
}
.wk-card-img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1);
}
.wk-card-meta {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin-top: 12px;
}
/* puntino arancione come quello accanto al nome nel menu, ma piu piccolo */
.wk-card-dot {
  flex: none;
  align-self: center;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--accent);
}
.wk-card-name {
  font-family: 'Space Grotesk', sans-serif;
  font-size: clamp(17px, 1.5vw, 22px);
  letter-spacing: -0.02em;
}
.wk-card-tag {
  margin-left: auto;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(239, 238, 233, 0.6);
  text-align: right;
}
.wk-card:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
@media (hover: hover) and (pointer: fine) {
  .wk-card:hover .wk-card-img img { transform: scale(1.04); }
}

/* Freccine sotto a destra, solo nelle file che scorrono: per andare avanti e indietro a mano */
.wk-nav {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding: 16px 40px 0;
}
.wk-nav[hidden] { display: none; }
.wk-arrow {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid rgba(239, 238, 233, 0.35);
  background: transparent;
  color: var(--bg);
  font-family: 'Space Grotesk', sans-serif;
  font-size: 18px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background-color 160ms ease, color 160ms ease, border-color 160ms ease,
    transform 120ms cubic-bezier(0.23, 1, 0.32, 1);
}
.wk-arrow:active { transform: scale(0.95); }
.wk-arrow:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
@media (hover: hover) and (pointer: fine) {
  .wk-arrow:hover { background: var(--bg); color: var(--fg); border-color: var(--bg); }
}
/* testo per i lettori di schermo, invisibile */
.wk-sr {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

/* Particelle delle card che escono (tela sopra la pagina, non cliccabile) */
.wk-dust {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 50;
}

@media (max-width: 720px) {
  .wk-page { padding: 100px 0 72px; }
  .wk-head { padding: 0 20px 4px; }
  .wk-cat { padding-top: 48px; }
  .wk-cat-title { padding: 0 20px; }
  .wk-card { width: 72vw; }
  .wk-row:not(.is-loop) .wk-track { padding: 0 20px; }
  .wk-nav { padding: 14px 20px 0; }
}
