.ewew-form-dialog {
  width: min(600px, calc(100vw - 32px));
  max-width: none;
  max-height: calc(100dvh - 32px);
  margin: auto;
  padding: 0;
  overflow: auto;
  overscroll-behavior: contain;
  border: 1px solid rgba(244, 244, 238, .25);
  border-radius: 0;
  background: rgba(20, 23, 20, .97);
  color: var(--text, #f4f4ee);
  box-shadow: 0 24px 80px rgba(0, 0, 0, .5);
  -webkit-backdrop-filter: blur(24px);
  backdrop-filter: blur(24px);
  font-family: Inter, Arial, sans-serif;
  text-align: left;
  color-scheme: dark;
}
.ewew-form-dialog::backdrop {
  background: rgba(0, 0, 0, .72);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
}
.ewew-form-shell { position: relative; padding: 32px; }
.ewew-form-close {
  position: absolute;
  top: 20px;
  right: 20px;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid var(--line, #ffffff30);
  border-radius: 0;
  color: inherit;
  background: transparent;
  font: 400 28px/1 Arial, sans-serif;
  cursor: pointer;
}
.ewew-form-eyebrow {
  margin: 0 52px 28px 0;
  min-height: 28px;
  color: var(--gold-hover, #c4af52);
  font: 700 12px/1.5 Inter, Arial, sans-serif;
  letter-spacing: .12em;
}
.ewew-form-dialog .ewew-form-title {
  margin: 0 0 20px;
  font-family: Barlow, Impact, sans-serif;
  font-size: clamp(36px, 7vw, 48px);
  font-weight: 700;
  line-height: 1.04;
  letter-spacing: -.015em;
  text-transform: uppercase;
  hyphens: auto;
  overflow-wrap: anywhere;
  text-wrap: balance;
}
.ewew-form-title:focus { outline: none; }
.ewew-form-intro { margin: 0 0 28px; color: #d9ddd2; font-size: 16px; line-height: 1.6; }
.ewew-form { display: grid; gap: 20px; }
.ewew-field { display: grid; gap: 8px; min-width: 0; }
.ewew-field label { font-size: 14px; line-height: 1.5; font-weight: 700; }
.ewew-field input, .ewew-field textarea {
  width: 100%;
  min-width: 0;
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid rgba(244, 244, 238, .3);
  border-radius: 0;
  background: #0e110e;
  color: var(--text, #f4f4ee);
  font: 400 16px/1.5 Inter, Arial, sans-serif;
  letter-spacing: 0;
  appearance: none;
  -webkit-appearance: none;
}
.ewew-field textarea { resize: vertical; min-height: 116px; }
.ewew-field input[type=date] { display: block; }
.ewew-field input::placeholder, .ewew-field textarea::placeholder { color: #969e8e; opacity: 1; }
.ewew-field input:focus-visible, .ewew-field textarea:focus-visible, .ewew-consent input:focus-visible,
.ewew-form-dialog a:focus-visible, .ewew-form-dialog button:focus-visible {
  outline: 2px solid var(--gold-hover, #c4af52);
  outline-offset: 3px;
}
.ewew-form-dialog .ewew-form-notice {
  margin: 0;
  color: #b9c0af;
  font-size: 13px;
  line-height: 1.6;
}
.ewew-form-content > .ewew-form-notice { margin: 18px 0; }
.ewew-form-notice a { text-decoration: underline; text-underline-offset: 3px; }
.ewew-form-dialog .ewew-form-primary {
  width: 100%;
  min-height: 50px;
  padding: 14px 18px;
  border-radius: 0;
  white-space: normal;
  font-size: 15px;
  line-height: 1.4;
}
.ewew-form-content > .ewew-form-primary { margin-top: 24px; }
.ewew-form-primary:disabled, .ewew-form-secondary:disabled { opacity: .65; cursor: wait; }
.ewew-form-actions { display: flex; gap: 12px; margin-top: 24px; align-items: stretch; }
.ewew-form-secondary { min-height: 48px; padding: 12px 16px; border: 1px solid var(--line, #ffffff30); border-radius: 0; font-size: 14px; line-height: 1.4; }
.ewew-form-actions .ewew-form-primary { flex: 1; width: auto; }
.ewew-form-summary { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 14px 20px; padding: 24px 0; border-block: 1px solid var(--line, #ffffff30); }
.ewew-form-summary dt { font-size: 13px; color: #b9c0af; }
.ewew-form-summary dd { margin: 0; font-size: 15px; line-height: 1.55; white-space: pre-wrap; overflow-wrap: anywhere; }
.ewew-form-dialog .ewew-form-error { margin: 0; padding: 12px 14px; border-left: 2px solid #e6aa8f; color: #f0c1aa; background: rgba(230, 170, 143, .07); font-size: 14px; line-height: 1.5; }
.ewew-consent { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 12px; align-items: start; font-size: 14px; line-height: 1.55; cursor: pointer; }
.ewew-consent input { width: 20px; height: 20px; margin: 1px 0 0; border: 1px solid #a4ad98; border-radius: 0; appearance: none; -webkit-appearance: none; background: #141714; cursor: pointer; }
.ewew-consent input:checked { background: var(--gold, #b7a144); box-shadow: inset 0 0 0 4px #141714; }
.ewew-form-outside { display: inline-block; margin-top: 20px; text-decoration: underline; text-underline-offset: 4px; font-size: 14px; line-height: 1.6; }
.ewew-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.ewew-event-title { font-family: Barlow, Impact, sans-serif; font-size: clamp(32px, 4vw, 48px); line-height: 1.05; }
.ewew-event-meta { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 12px 20px; margin: 24px 0; }
.ewew-event-meta dt { color: var(--muted, #b7bcb1); font-size: 14px; }
.ewew-event-meta dd { margin: 0; font-size: 16px; line-height: 1.6; }
.ewew-event-description { white-space: pre-wrap; }
.ewew-event-actions { display: flex; flex-wrap: wrap; gap: 12px 24px; }
.ewew-event-empty { color: var(--muted, #b7bcb1); margin-bottom: 24px; }
@media (hover: hover) and (pointer: fine) {
  .ewew-form-close:hover, .ewew-form-secondary:hover { background: rgba(244, 244, 238, .08); }
}
@media (max-width: 480px) {
  .ewew-form-dialog { width: calc(100vw - 20px); max-height: calc(100dvh - 20px); }
  .ewew-form-shell { padding: 28px 20px; }
  .ewew-form-close { top: 16px; right: 16px; }
  .ewew-form-dialog .ewew-form-title { font-size: 36px; }
  .ewew-form-intro { font-size: 15px; }
  .ewew-form-actions { flex-direction: column-reverse; }
  .ewew-form-summary { grid-template-columns: 1fr; gap: 4px; }
  .ewew-form-summary dd + dt { margin-top: 12px; }
  .ewew-event-meta { grid-template-columns: 1fr; gap: 4px; }
  .ewew-event-meta dd + dt { margin-top: 12px; }
}
@media (prefers-reduced-transparency: reduce), (prefers-contrast: more) {
  .ewew-form-dialog { background: #141714; border-color: #899080; -webkit-backdrop-filter: none; backdrop-filter: none; }
  .ewew-form-dialog::backdrop { background: #080a08; -webkit-backdrop-filter: none; backdrop-filter: none; }
  .ewew-field input, .ewew-field textarea { border-color: #899080; }
}
@media (prefers-reduced-motion: reduce) {
  .ewew-form-dialog *, .ewew-form-dialog *::before, .ewew-form-dialog *::after { transition: none; }
  .ewew-form-dialog button:active { transform: none; }
}
.event-map { margin-block: 18px 4px; padding: 16px; background: #171717; border: 1px solid var(--line); }
.event-map p { color: var(--muted); font-size: .85rem; }
.map-controls { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.event-map iframe { display: block; width: 100%; height: clamp(190px, 25vw, 300px); border: 0; margin-top: 16px; }
.next-event:has(.event-map) { align-items: start; }
.next-event:has(.event-map) > h2 { position: sticky; top: calc(var(--header-height) + 16px); }
@media(max-width:760px) { .next-event:has(.event-map) > h2 { position: static; } }
