/*
 * Nur Namens-Generator-spezifisches Layout. Farben/Typografie/Buttons/
 * Karten/Tags/Pills/Toggles kommen aus public/css/wmg-shared.css (siehe
 * .wmg-app-Klasse auf dem Root-Container), damit sie nicht pro Generator
 * dupliziert werden.
 */
.wm-namegen-app, .wm-namegen-shell, .wm-namegen-controls, .wm-namegen-card { overflow: visible !important; }

.wm-namegen-shell{
  display:grid;
  grid-template-columns: minmax(320px, 380px) 1fr;
  gap: 18px;
  align-items:start;
}
@media (max-width: 980px){
  .wm-namegen-shell{ grid-template-columns: 1fr; }
  .wm-namegen-output{ position:relative !important; top:auto !important; }
}

.wm-namegen-controls{ display:flex; flex-direction:column; gap: 14px; min-width:0; }
.wm-namegen-brand{ padding: 0 2px; }
.wm-namegen-title{ font-size: 20px; font-weight: 700; letter-spacing: .2px; }
.wm-namegen-sub{ font-size: 12.5px; color: var(--wm-muted2); margin-top: 2px; }

.wm-namegen-card,
.wm-namegen-output{
  background: var(--wm-surface);
  border: 1px solid var(--wm-divider);
  box-shadow: none;
  border-radius: var(--wm-radius);
}

.wm-namegen-card{ padding: 14px; background: var(--wm-surface-2); display:flex; flex-direction:column; gap: 12px; }
.wm-namegen-mini{ padding: 12px 14px; }

.wm-namegen-card-h{
  font-weight: 700;
  font-size: 12px;
  letter-spacing: .35px;
  color: var(--wm-ink);
  text-transform: uppercase;
  margin-bottom: 2px;
}

.wm-namegen-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
@media (max-width: 560px){ .wm-namegen-grid{ grid-template-columns: 1fr; } }

.wm-namegen-field{ display:flex; flex-direction:column; gap: 6px; min-width:0; }
/* Geschlechts-Feld ueber beide Grid-Spalten, damit die drei Pills in EINER
   Reihe liegen statt in der halben Spalte umzubrechen (siehe NPC-Generator). */
.wm-namegen-field-wide{ grid-column: 1 / -1; }
.wm-namegen-label{ font-size: 11px; color: var(--wm-ink); font-weight: 700; text-transform: uppercase; letter-spacing: .03em; }

.wm-namegen-select{
  width:100%;
  padding: 8px 10px;
  border-radius: 4px;
  border: 1px solid var(--wm-divider);
  background: #fff;
  color: var(--wm-text);
  outline: none;
  font-family: inherit;
}
.wm-namegen-select:focus{ border-color: var(--wm-teal); box-shadow: 0 0 0 2px var(--wm-teal-tint); }
.wm-namegen-select option{ color:#111; }

.wm-namegen-pills{ display:flex; gap: 8px; flex-wrap:wrap; width: 100%; }
.wm-namegen-pills .wm-pill{ flex: 1 1 70px; min-width: 70px; }

.wm-namegen-row{ display:flex; gap: 12px; align-items:center; flex-wrap:wrap; }

.wm-namegen-actions{ display:grid; grid-template-columns: 1fr; gap: 10px; }

.wm-namegen-mini-text{ font-size: 12.5px; color: var(--wm-muted2); line-height: 1.45; }

.wm-namegen-output{ position: sticky; top: 14px; min-width:0; }
.wm-namegen-output-head{
  padding: 16px 16px 12px;
  border-bottom: 2px solid var(--wm-teal);
}

.wm-namegen-out-title{ display:flex; align-items:center; gap: 10px; }
.wm-namegen-dot{
  width: 10px; height: 10px; border-radius: 999px;
  background: var(--wm-teal);
  flex: 0 0 auto;
}
.wm-namegen-out-title h2{ font-size: 20px; margin: 0; font-weight: 700; letter-spacing: .2px; }

.wm-namegen-tags{ display:flex; gap: 8px; flex-wrap:wrap; margin-top: 10px; }

.wm-namegen-cards{ padding: 14px; }

.wm-namegen-name-list{ list-style:none; margin: 0; padding: 0; display:flex; flex-direction:column; gap: 6px; }
.wm-namegen-name-row{
  display:flex;
  align-items:center;
  gap: 10px;
  padding: 8px 10px;
  border-radius: 6px;
  background: var(--wm-panel);
  border: 1px solid var(--wm-divider);
}
.wm-namegen-name-text{ flex: 1 1 auto; font-weight: 700; color: var(--wm-ink); font-size: 14px; }
.wm-namegen-name-gender{
  font-size: 11px;
  color: var(--wm-muted2);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .03em;
}

.wm-namegen-footer{
  padding: 0 14px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
  flex-wrap:wrap;
}
