/* ===== PLAY SETUP ===== */

.setup {
  max-width: 720px;
  margin: 0 auto;
}

.setup__section {
  margin-bottom: 32px;
}

.setup__section h2 {
  font-family: var(--f-display);
  font-size: 13px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: var(--c-gold-deep);
  margin: 0 0 14px;
  text-align: center;
  font-weight: 500;
}

.setup__options {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
}

.setup__option {
  position: relative;
  background: linear-gradient(160deg, rgba(31, 58, 59, 0.5) 0%, rgba(13, 31, 32, 0.5) 100%);
  border: 1px solid var(--c-border);
  border-radius: 8px;
  padding: 16px 14px;
  cursor: pointer;
  text-align: center;
  transition: all var(--t-quick);
  color: var(--c-text);
}

.setup__option:hover {
  border-color: var(--c-border-strong);
  background: linear-gradient(160deg, rgba(40, 74, 75, 0.55) 0%, rgba(21, 41, 42, 0.55) 100%);
  transform: translateY(-2px);
}

.setup__option.is-selected {
  border-color: var(--c-gold-spark);
  background: linear-gradient(160deg, rgba(58, 93, 63, 0.45) 0%, rgba(31, 58, 37, 0.45) 100%);
  box-shadow: 0 0 0 1px var(--c-gold-spark), 0 6px 20px rgba(255, 200, 100, 0.15);
}

.setup__option-title {
  font-family: var(--f-display);
  font-size: 14px;
  letter-spacing: 0.1em;
  color: var(--c-gold-bright);
  margin: 0 0 4px;
  font-weight: 600;
}

.setup__option-desc {
  font-size: 11.5px;
  letter-spacing: 0.05em;
  color: var(--c-text-dim);
  margin: 0;
  line-height: 1.4;
}

/* Locked piece-set tile: dims the card, blocks hover lift + click, and stamps
   a "Coming soon" badge in the top-right corner. Used while themed PNG sets
   are gated off during testing. */
.setup__option.is-locked {
  cursor: not-allowed;
  opacity: 0.55;
  background: linear-gradient(160deg, rgba(20, 36, 37, 0.5) 0%, rgba(8, 18, 19, 0.5) 100%);
}
.setup__option.is-locked:hover {
  transform: none;
  border-color: var(--c-border);
  background: linear-gradient(160deg, rgba(20, 36, 37, 0.5) 0%, rgba(8, 18, 19, 0.5) 100%);
}
.setup__option.is-locked .setup__option-title {
  color: var(--c-text-dim);
}

.setup__option-badge {
  position: absolute;
  top: 6px;
  right: 6px;
  font-family: var(--f-display);
  font-size: 9px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--c-gold-deep);
  background: rgba(0, 0, 0, 0.35);
  border: 1px solid var(--c-border);
  border-radius: 3px;
  padding: 2px 6px;
  font-weight: 600;
}

.setup__begin {
  text-align: center;
  margin-top: 40px;
}

.setup__begin .btn--primary {
  padding: 18px 48px;
  font-size: 16px;
}

.setup__begin .btn--primary:disabled {
  opacity: 0.4;
  cursor: not-allowed;
  transform: none;
}

.setup__hint {
  text-align: center;
  font-size: 12px;
  letter-spacing: 0.08em;
  color: var(--c-text-dim);
  margin-top: 24px;
}
