.hamimi-wizard {
  --brand: #ef5f56;
  --brand-dark: #d8453c;
  --honey: #f6ce5e;
  --ink: #5b5346;
  max-width: 640px;
  margin: 0 auto;
  font-family: "Nunito", system-ui, sans-serif;
  color: var(--ink);
}
.hamimi-wizard h2 { font-family: "Fredoka", "Trebuchet MS", sans-serif; color: var(--ink); }
.hamimi-wizard__steps {
  display: flex; gap: .5rem; list-style: none; padding: 0; margin: 0 0 1.5rem;
  font-size: .85rem; flex-wrap: wrap;
}
.hamimi-wizard__steps li { padding: .35rem .75rem; border-radius: 999px; background: #f3efe7; }
.hamimi-wizard__steps li.is-active { background: var(--honey); font-weight: 700; }
.hamimi-wizard__panel { display: grid; gap: 1rem; }
/* display:grid würde das hidden-Attribut aushebeln (Author-CSS schlägt UA-Stylesheet) —
   ohne diese Regel sind alle Schritt-Panels gleichzeitig sichtbar. */
.hamimi-wizard__panel[hidden] { display: none; }
.hamimi-wizard__formats { border: 0; padding: 0; display: grid; gap: .5rem; }
.hamimi-wizard__formats legend { font-weight: 600; padding: 0 0 .35rem; }
.hamimi-wizard__formats label { display: flex; gap: .5rem; align-items: center; font-weight: 500; }
.hamimi-wizard label { display: block; font-weight: 600; }
.hamimi-wizard input[type="text"],
.hamimi-wizard input[type="email"],
.hamimi-wizard input[type="file"] {
  width: 100%; padding: .75rem; border: 1.5px solid #e7e0d3; border-radius: 12px; font: inherit;
}
.hamimi-wizard__pronoun { border: 0; padding: 0; display: flex; gap: 1rem; }
.hamimi-wizard__pronoun label { display: inline-flex; gap: .35rem; align-items: center; font-weight: 500; }
.hamimi-consent { font-weight: 400; font-size: .9rem; display: flex; gap: .5rem; align-items: flex-start; }
.hamimi-wizard__ai-note { font-size: .8rem; color: #9b9486; }
.hamimi-wizard__success { font-size: 1.05rem; font-weight: 600; }
.hamimi-wizard__preview img { max-width: 100%; border-radius: 14px; }
.hamimi-btn {
  justify-self: start; background: var(--honey); color: var(--ink);
  border: 0; border-radius: 999px; padding: .8rem 1.6rem; font: inherit; font-weight: 700; cursor: pointer;
}
.hamimi-btn--primary { background: var(--brand); color: #fff; }
.hamimi-btn--primary:hover { background: var(--brand-dark); }
.hamimi-wizard__status { min-height: 1.2em; font-size: .9rem; color: var(--brand-dark); }

/* ── Hero-Trigger + Modal (Startseiten-Modus, display="modal") ── */
.hamimi-hero-trigger {
  display: flex; flex-wrap: wrap; gap: .75rem; align-items: center;
  max-width: 640px; margin: 1rem auto; font-family: "Nunito", system-ui, sans-serif;
}
.hamimi-hero-trigger input[type="text"] {
  flex: 1 1 220px; padding: .85rem 1.2rem; border: 1.5px solid #e7e0d3; border-radius: 999px;
  font: inherit; background: #fff; cursor: pointer;
}
.hamimi-btn--photo { background: #f3efe7; cursor: pointer; }
.hamimi-modal { position: fixed; inset: 0; z-index: 99999; display: flex; align-items: center; justify-content: center; padding: 1rem; }
.hamimi-modal[hidden] { display: none; }
.hamimi-modal__backdrop { position: absolute; inset: 0; background: rgba(91, 83, 70, .55); }
.hamimi-modal__dialog {
  position: relative; width: 100%; max-width: 600px; max-height: 90vh; overflow-y: auto;
  background: #fff; border-radius: 18px; padding: 1.5rem; box-shadow: 0 24px 64px rgba(0, 0, 0, .25);
}
.hamimi-modal__close {
  position: absolute; top: .6rem; right: .8rem; border: 0; background: transparent;
  font-size: 1.8rem; line-height: 1; cursor: pointer; color: #9b9486; z-index: 1;
}
body.hamimi-modal-open { overflow: hidden; }
