.event-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.event-calendar-section,
.event-month,
.event-archive {
  display: grid;
  gap: 1rem;
}

.event-month + .event-month { margin-top: 1.5rem; }
.event-month__title { font-size: 1.15rem; font-weight: 700; }
.event-archive { margin-top: 2rem; }
.event-archive > summary { cursor: pointer; font-size: 1.2rem; font-weight: 700; padding: .75rem 0; }

.event-card { overflow: hidden; min-width: 0; }
.event-card__image-link { display: block; aspect-ratio: 16 / 9; overflow: hidden; background: var(--surface-2); }
.event-card__image { width: 100%; height: 100%; object-fit: cover; display: block; }
.event-card__body { display: grid; gap: .65rem; padding: 1.25rem; }
.event-card__meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem; color: var(--muted); font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; }
.event-card__archive { font-weight: 700; }
.event-card__title { font-size: 1.25rem; line-height: 1.25; font-weight: 750; }
.event-card__title a { color: inherit; text-decoration: none; }
.event-card__title a:hover { text-decoration: underline; }
.event-card__date { font-weight: 650; }
.event-card__place,
.event-card__project { color: var(--muted); font-size: .92rem; }
.event-card__actions,
.event-detail__actions { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: .35rem; }

.event-detail-shell { max-width: 960px; }
.event-detail { overflow: hidden; }
.event-detail__image { width: 100%; max-height: 460px; object-fit: cover; display: block; }
.event-detail__body { padding: clamp(1.25rem, 4vw, 2.5rem); display: grid; gap: 1.25rem; }
.event-detail__body h1 { font-size: clamp(2rem, 5vw, 3.5rem); line-height: 1.05; font-weight: 800; }
.event-detail__eyebrow { color: var(--muted); font-size: .85rem; text-transform: uppercase; letter-spacing: .08em; }
.event-detail__facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.event-detail__facts div { padding: .9rem; border: 1px solid var(--border); border-radius: .8rem; }
.event-detail__facts dt { color: var(--muted); font-size: .8rem; }
.event-detail__facts dd { margin-top: .2rem; font-weight: 650; }
.event-detail__description { line-height: 1.7; }
.event-detail-shell,
.event-detail,
.event-detail__body,
.event-detail__body > *,
.event-booking-panel,
.event-ticket-list,
.event-ticket-card,
.event-detail__facts div {
  min-width: 0;
}
.event-detail__body h1,
.event-detail__eyebrow,
.event-detail__facts dd,
.event-detail__description,
.event-ticket-card,
.event-ticket-card p {
  overflow-wrap: anywhere;
  word-break: break-word;
}
.event-ticket-card__header > * { min-width: 0; }

@media (max-width: 900px) {
  .event-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  .event-grid,
  .event-detail__facts { grid-template-columns: 1fr; }
  .event-card__body { padding: 1rem; }
  .event-detail__body { padding: 1rem; }
  .event-ticket-card__header { align-items: flex-start; }
  .event-ticket-card__header strong { max-width: 100%; overflow-wrap: anywhere; }
  .event-editor-tabs {
    margin-inline: -.25rem;
    padding-inline: .25rem;
  }
  .event-editor-tab {
    padding-inline: .75rem;
  }
}

/* HF-018: Gastformulare, Buchungsdetail und Ticketverwaltung */
.marketplace-page,
.event-order-page,
.event-detail-shell {
  max-width: 100%;
  overflow-x: clip;
}

.event-order-card { min-width: 0; }
.event-order-message {
  padding: .85rem 1rem;
  border: 1px solid var(--border);
  border-radius: .75rem;
  line-height: 1.5;
  word-break: break-word;
}
.event-order-message--error {
  border-color: color-mix(in srgb, #dc2626 55%, var(--border));
  background: color-mix(in srgb, #dc2626 12%, transparent);
}
.event-order-status {
  display: grid;
  gap: .4rem;
  min-width: 0;
  padding: 1rem 1.1rem;
  border: 2px solid var(--border);
  border-radius: .9rem;
  line-height: 1.45;
  word-break: break-word;
}
.event-order-status__eyebrow {
  margin: 0;
  font-size: .78rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  font-weight: 700;
  opacity: .9;
}
.event-order-status__title {
  margin: 0;
  font-size: clamp(1.35rem, 4vw, 1.85rem);
  line-height: 1.15;
  font-weight: 800;
}
.event-order-status__lead {
  margin: 0;
  font-size: 1rem;
  line-height: 1.5;
}
.event-order-status--success {
  border-color: color-mix(in srgb, #16a34a 70%, var(--border));
  background: color-mix(in srgb, #16a34a 16%, var(--surface, transparent));
  color: color-mix(in srgb, #14532d 35%, var(--text));
}
.event-order-status--warning {
  border-color: color-mix(in srgb, #d97706 72%, var(--border));
  background: color-mix(in srgb, #f59e0b 18%, var(--surface, transparent));
  color: color-mix(in srgb, #92400e 40%, var(--text));
}
.event-order-status--danger {
  border-color: color-mix(in srgb, #dc2626 70%, var(--border));
  background: color-mix(in srgb, #ef4444 16%, var(--surface, transparent));
  color: color-mix(in srgb, #7f1d1d 35%, var(--text));
}
.event-order-status--info {
  border-color: color-mix(in srgb, var(--accent) 55%, var(--border));
  background: color-mix(in srgb, var(--accent) 12%, transparent);
}
.event-order-facts dd { word-break: break-word; }
.event-order-manage {
  display: grid;
  gap: .85rem;
  min-width: 0;
  padding: 1rem;
  border: 1px solid var(--border);
  border-radius: .9rem;
}
.event-order-manage__title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 750;
  line-height: 1.3;
}
.event-order-manage__note {
  margin: 0;
  color: var(--muted);
  font-size: .92rem;
  line-height: 1.5;
}
.event-order-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  align-items: stretch;
}
.event-order-event-link,
.event-order-cancel {
  display: flex;
  flex: 1 1 14rem;
  min-width: 0;
}
.event-order-event-link,
.event-order-cancel .btn-primary,
.event-order-cancel .btn-ghost {
  width: 100%;
  justify-content: center;
}

.event-guest-form {
  display: grid;
  gap: .75rem;
  min-width: 0;
}
.event-guest-form__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: .75rem;
}
.event-guest-form__grid--book {
  grid-template-columns: 1fr;
}
.event-guest-form label,
.event-guest-form .field,
.event-guest-form select,
.event-guest-form textarea {
  min-width: 0;
  width: 100%;
  max-width: 100%;
}
.event-guest-form .btn-primary,
.event-guest-form .btn-secondary {
  width: 100%;
  justify-content: center;
}

.event-ticket-admin {
  margin-top: 1rem;
  border: 1px solid var(--border);
  min-width: 0;
}
.event-editor {
  min-width: 0;
}
.event-editor-tabs {
  padding-bottom: .25rem;
  -webkit-overflow-scrolling: touch;
}
.event-editor-tab {
  color: var(--text);
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
}
.event-editor-tab:hover {
  text-decoration: none;
}
.event-editor-tab.is-active {
  border-color: color-mix(in srgb, var(--accent) 55%, var(--border));
}
.event-editor-panel {
  min-width: 0;
}
.event-editor-panel[hidden] {
  display: none;
}
.event-editor__image {
  display: block;
  width: 100%;
  max-height: 280px;
  border-radius: 1rem;
  object-fit: cover;
}
.event-editor .field,
.event-editor textarea,
.event-editor select {
  min-width: 0;
  max-width: 100%;
}
.event-ticket-admin__header {
  display: grid;
  gap: .35rem;
}
.event-ticket-admin__title { line-height: 1.2; }
.event-ticket-admin__list {
  display: grid;
  gap: 1rem;
}
.event-ticket-admin__card {
  display: grid;
  gap: .85rem;
  padding: 1rem;
  min-width: 0;
}
.event-ticket-admin__card-head h4 { line-height: 1.3; }
.event-ticket-admin__form {
  display: grid;
  gap: .75rem;
  grid-template-columns: 1fr;
}
.event-ticket-admin__field {
  display: grid;
  gap: .35rem;
  min-width: 0;
}
.event-ticket-admin__field--wide { grid-column: 1 / -1; }
.event-ticket-admin__checks {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem 1rem;
}
.event-ticket-admin__actions,
.event-ticket-admin__delete {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}
.event-ticket-admin__actions .btn-secondary,
.event-ticket-admin__delete .btn-ghost {
  min-width: 0;
  width: 100%;
}

.event-participant-admin__table-wrap {
  max-width: 100%;
  -webkit-overflow-scrolling: touch;
}
.event-participant-admin__table {
  min-width: 0;
}
.event-participant-admin__table th,
.event-participant-admin__table td {
  padding: .45rem .35rem;
  vertical-align: top;
  word-break: break-word;
}
.event-participant-admin__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
}

@media (min-width: 640px) {
  .event-guest-form__grid--book {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .event-guest-form__grid--book > label:nth-child(3),
  .event-guest-form__grid--book > label:nth-child(4),
  .event-guest-form__grid--book > button {
    grid-column: span 1;
  }
  .event-guest-form .btn-primary,
  .event-guest-form .btn-secondary {
    width: auto;
  }
  .event-ticket-admin__form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .event-ticket-admin__actions .btn-secondary,
  .event-ticket-admin__delete .btn-ghost {
    width: auto;
  }
  .event-order-cancel .btn-primary,
  .event-order-cancel .btn-ghost,
  .event-order-event-link { width: auto; }
}

@media (min-width: 768px) {
  .event-guest-form__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .event-guest-form__grid--book {
    grid-template-columns: repeat(4, minmax(0, 1fr)) auto;
    align-items: end;
  }
  .event-guest-form__grid--book > button {
    grid-column: auto;
    align-self: end;
  }
  .event-ticket-admin__form {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .event-ticket-admin__form {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/* HF-022: compact project sidebar event previews */
.public-project-events {
  min-width: 0;
  border: 1px solid var(--color-border, var(--border));
  border-radius: var(--border-radius, var(--radius));
  background: var(--color-surface, var(--surface));
  padding: 1.1rem 1.2rem;
}
.public-project-events__title {
  margin: 0 0 .85rem;
  font-size: 1.05rem;
  line-height: 1.3;
  font-weight: 750;
}
.public-project-events__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: .9rem;
}
.public-project-event-preview {
  min-width: 0;
  display: grid;
  gap: .28rem;
  padding-top: .75rem;
  border-top: 1px solid color-mix(in srgb, var(--color-border, var(--border)) 80%, transparent);
}
.public-project-events__list > .public-project-event-preview:first-child {
  padding-top: 0;
  border-top: 0;
}
.public-project-event-preview__title {
  margin: 0;
  font-size: 1rem;
  line-height: 1.3;
  font-weight: 700;
  overflow-wrap: anywhere;
}
.public-project-event-preview__title a {
  color: inherit;
  text-decoration: none;
}
.public-project-event-preview__title a:hover,
.public-project-event-preview__title a:focus-visible {
  text-decoration: underline;
}
.public-project-event-preview__meta {
  margin: 0;
  color: var(--color-text-muted, var(--muted));
  font-size: .9rem;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.public-project-event-preview__cta {
  margin-top: .45rem;
  width: 100%;
  justify-content: center;
}
@media (max-width: 640px) {
  .public-project-events,
  .public-project-event-preview,
  .public-project-event-preview__cta {
    width: 100%;
  }
}
