/* ===== Guests ===== */
.guests-headline, .guests__headline, [data-step="guests"] h2, [data-step="2"] h2{
  font-size: var(--fs-h1);
  font-weight: 800;
  line-height: var(--lh-tight);
  margin: 0 0 var(--space-2);
}
.guests-note, .guests__note{ margin-top: var(--space-1); color: #6B7280; font-size: var(--fs-small); }

/* Grid */
.guests-grid, .guest-cards, .players-grid, [data-guests-grid]{
  display:grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: var(--space-4);
  align-items: stretch;
}

/* Card */
.guest-card, label.guest-card, .guests-grid > label, .guest-card__inner{
  display:grid; place-items:center; gap:2px;
  padding: 15px;
  background: #fff;
  border: 1.5px solid var(--border);
  border-radius: 8px;
  transition: box-shadow .12s ease, border-color .12s ease;
  cursor:pointer; user-select:none;
}
.guest-card:hover, .guests-grid > label:hover{
  border-color: var(--brand);
  box-shadow: 0 0 0 4px color-mix(in oklab, var(--brand) 22%, transparent);
}
.guest-num, .guest-card__num{
  font-size: clamp(28px, 5.5vw, 40px);
  font-weight: 900; line-height:1;
  font-variant-numeric: lining-nums tabular-nums;
  font-feature-settings: "tnum" 1, "lnum" 1;
  color: var(--text);
}
.guest-label, .guest-card__label{
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: .01em;
  color: var(--text);
}
input[type="radio"][name="guests"]{ position:absolute; opacity:0; pointer-events:none; }
input[type="radio"][name="guests"]:checked + label,
label:has(> input[type="radio"][name="guests"]:checked),
.guest-card.is-selected{
  border-color: var(--brand);
  box-shadow: 0 0 0 4px color-mix(in oklab, var(--brand) 28%, transparent);
}

@media (max-width: 900px){
  .guests-grid{ grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
}

.small_rooms{
  margin-top:1.5em;
  margin-left:0.1em;
}