.decklist {
  display: flex;
  gap: 2.5rem;
  flex-wrap: wrap;
  margin: 1.5rem 0 2rem;
  font-size: 0.9rem;
  line-height: 1.4;
}

.decklist-main {
  flex: 2;
  min-width: 260px;
}

.decklist-side {
  flex: 1;
  min-width: 180px;
  max-width: 260px;
}

.decklist-heading {
  font-size: 0.95rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  border-bottom: 2px solid #c0392b;
  padding-bottom: 0.3rem;
  margin: 0 0 0.75rem;
}

.decklist-count {
  font-weight: 400;
  color: #777;
}

.card-group {
  margin-bottom: 0.9rem;
}

.group-header {
  font-weight: 600;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #555;
  border-bottom: 1px solid #e0e0e0;
  padding-bottom: 0.15rem;
  margin: 0 0 0.2rem;
}

.group-count {
  font-weight: 400;
}

.card-row {
  display: flex;
  align-items: baseline;
  gap: 0.4rem;
  padding: 1px 0;
}

.qty {
  min-width: 1.4rem;
  text-align: right;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: #888;
  flex-shrink: 0;
}

a.card-name {
  color: #1a1a1a;
  text-decoration: none;
  cursor: pointer;
  border-bottom: 1px solid transparent;
  transition: color 0.1s, border-color 0.1s;
}

a.card-name:hover {
  color: #c0392b;
  border-bottom-color: #c0392b;
}

/* Floating card image preview */
.card-preview {
  display: none;
  position: fixed;
  z-index: 9999;
  pointer-events: none;
  filter: drop-shadow(0 6px 20px rgba(0, 0, 0, 0.55));
}

.card-preview img {
  width: 240px;
  border-radius: 4.5% / 3.2%;
  display: block;
}
