#workshops .workshop-list-instruction {
  margin: 0 0 1rem;
  color: rgba(242, 239, 231, .62);
  font-size: .75rem;
  letter-spacing: .04em;
}

#workshops .workshop-vertical-shell {
  position: relative;
  min-width: 0;
}

#workshops .workshop-vertical-shell::after {
  content: "";
  position: absolute;
  z-index: 4;
  top: 0;
  right: 0;
  bottom: .75rem;
  width: clamp(.35rem, 1.2vw, 1rem);
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(23, 23, 19, .86));
  opacity: .7;
}

#workshops .workshop-vertical-list {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - 2.3rem) / 3);
  gap: 1.15rem;
  overflow-x: auto;
  overflow-y: hidden;
  padding: .15rem 0 .85rem;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}

#workshops .workshop-vertical-list:focus-visible {
  outline: 2px solid #d5b578;
  outline-offset: 5px;
}

#workshops .workshop-vertical-list::-webkit-scrollbar { display: none; }

#workshops .workshop-vertical-card {
  display: flex;
  min-width: 0;
  min-height: 46rem;
  flex-direction: column;
  overflow: hidden;
  scroll-snap-align: start;
  border: 1px solid rgba(225, 213, 186, .22);
  border-radius: 1.2rem;
  background: #1d211c;
  box-shadow: 0 1.2rem 3rem rgba(0, 0, 0, .14);
  transition: border-color .3s ease, box-shadow .3s ease, transform .3s ease;
}

#workshops .workshop-vertical-card:hover {
  transform: translateY(-3px);
  border-color: rgba(213, 181, 120, .52);
  box-shadow: 0 1.5rem 3.5rem rgba(0, 0, 0, .25);
}

#workshops .workshop-vertical-card:focus-within { border-color: #d5b578; }

#workshops .workshop-vertical-media {
  position: relative;
  display: grid;
  width: 100%;
  aspect-ratio: 4 / 5;
  place-items: center;
  overflow: hidden;
  padding: .85rem;
  background: radial-gradient(circle at 50% 35%, #343930 0, #191c18 58%, #11130f 100%);
}

#workshops .workshop-vertical-media::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  box-shadow: inset 0 -1px rgba(225, 213, 186, .14);
}

#workshops .workshop-vertical-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  box-shadow: 0 1rem 2.4rem rgba(0, 0, 0, .32);
  transition: transform .45s ease;
}

#workshops .workshop-vertical-card:hover .workshop-vertical-media img { transform: scale(1.015); }

#workshops .workshop-vertical-status {
  position: absolute;
  z-index: 2;
  top: 1rem;
  left: 0;
  display: inline-flex;
  align-items: center;
  gap: .48rem;
  padding: .68rem .95rem .65rem 1.05rem;
  color: #10140f;
  background: #a8d093;
  box-shadow: .45rem .55rem 1.4rem rgba(0, 0, 0, .24);
  font-size: .65rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

#workshops .workshop-vertical-status::before {
  content: "";
  width: .46rem;
  height: .46rem;
  flex: 0 0 auto;
  border-radius: 50%;
  background: #2f632c;
}

#workshops .workshop-vertical-card[data-status="closed"] .workshop-vertical-status {
  color: #f3e8d8;
  background: #765c50;
}

#workshops .workshop-vertical-card[data-status="closed"] .workshop-vertical-status::before { background: #edb39b; }

#workshops .workshop-vertical-content {
  display: flex;
  min-width: 0;
  flex: 1;
  flex-direction: column;
  padding: clamp(1.25rem, 2.2vw, 1.75rem);
}

#workshops .workshop-vertical-top {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  color: #d5b578;
  font-size: .64rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

#workshops .workshop-vertical-content h3 {
  margin: 1.2rem 0 .5rem;
  color: #f4f0e8;
  font-size: clamp(1.7rem, 2.7vw, 1.55rem);
  line-height: 1;
  letter-spacing: -.04em;
}

#workshops .workshop-vertical-description {
  min-height: 3.1em;
  margin: 0 0 1.25rem;
  color: #d8c49e;
  font-size: .98rem;
  font-style: italic;
  line-height: 1.35;
}

#workshops .workshop-vertical-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: auto 0 0;
  border-top: 1px solid rgba(225, 213, 186, .18);
}

#workshops .workshop-vertical-facts div {
  min-width: 0;
  padding: .72rem 0;
  border-bottom: 1px solid rgba(225, 213, 186, .14);
}

#workshops .workshop-vertical-facts div:nth-child(odd) { padding-right: .7rem; }
#workshops .workshop-vertical-facts div:nth-child(even) { padding-left: .7rem; border-left: 1px solid rgba(225, 213, 186, .14); }

#workshops .workshop-vertical-facts dt {
  display: flex;
  align-items: center;
  gap: .45rem;
  margin-bottom: .28rem;
  color: rgba(242, 239, 231, .56);
  font-size: .65rem;
}

#workshops .workshop-vertical-facts dd {
  margin: 0;
  color: #f2efe7;
  font-size: .73rem;
  line-height: 1.35;
}

#workshops .workshop-vertical-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding-top: 1.25rem;
}

#workshops .workshop-vertical-actions a,
#workshops .workshop-vertical-actions button {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  min-height: 2.6rem;
  color: #f2efe7;
  font: inherit;
  font-size: .64rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  white-space: nowrap;
}

#workshops .workshop-vertical-actions a { text-decoration: none; }
#workshops .workshop-vertical-actions button { border: 0; padding: 0; background: transparent; cursor: pointer; }
#workshops .workshop-vertical-actions a:hover,
#workshops .workshop-vertical-actions button:hover { color: #d5b578; }
#workshops .workshop-vertical-actions a:focus-visible,
#workshops .workshop-vertical-actions button:focus-visible { outline: 2px solid #d5b578; outline-offset: 4px; }

@media (max-width: 1100px) {
  #workshops .workshop-vertical-list { grid-auto-columns: calc((100% - 1.15rem) / 2); }
}

@media (max-width: 720px) {
  #workshops .workshop-list-instruction { line-height: 1.5; }
  #workshops .workshop-vertical-shell::after { display: none; }
  #workshops .workshop-vertical-list { grid-auto-columns: 100%; gap: .85rem; padding-right: 0; }
  #workshops .workshop-vertical-card { min-height: 42rem; border-radius: 1rem; }
  #workshops .workshop-vertical-content { padding: 1.2rem; }
  #workshops .workshop-vertical-content h3 { font-size: clamp(1.75rem, 8vw, 2.25rem); }
}

@media (max-width: 380px) {
  #workshops .workshop-vertical-list { grid-auto-columns: 100%; }
  #workshops .workshop-vertical-facts { grid-template-columns: 1fr; }
  #workshops .workshop-vertical-facts div:nth-child(odd),
  #workshops .workshop-vertical-facts div:nth-child(even) { padding-right: 0; padding-left: 0; border-left: 0; }
  #workshops .workshop-vertical-description { min-height: 0; }
  #workshops .workshop-vertical-actions { align-items: flex-start; flex-direction: column; gap: .15rem; }
}

@media (hover: none) {
  #workshops .workshop-vertical-card:hover,
  #workshops .workshop-vertical-card:hover .workshop-vertical-media img { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  #workshops .workshop-vertical-list { scroll-behavior: auto; }
  #workshops .workshop-vertical-card,
  #workshops .workshop-vertical-media img { transition: none; }
}
