:root {
  --onze-bg: #131315;
  --onze-surface: #1c1b1d;
  --onze-surface-high: #2a2a2c;
  --onze-text: #e5e1e4;
  --onze-muted: #d5c4ab;
  --onze-amber: #ffb800;
  --onze-amber-text: #271900;
  --onze-lime: #c8f232;
  --onze-radius: 12px;
  --onze-font: "Plus Jakarta Sans", system-ui, sans-serif;
}

body.onze-theme,
.woocommerce-page,
.woocommerce {
  font-family: var(--onze-font);
  background: var(--onze-bg);
  color: var(--onze-text);
}

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

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

@media (max-width: 700px) {
  .onze-event-grid { grid-template-columns: 1fr; }
}

.onze-event-card {
  background: var(--onze-surface);
  border-radius: 16px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.onze-event-thumb img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  display: block;
}

.onze-event-body { padding: 20px; display: flex; flex-direction: column; gap: 8px; flex: 1; }

.onze-event-when {
  color: var(--onze-amber);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin: 0;
}

.onze-event-body h3 { margin: 0; font-size: 22px; }
.onze-event-body h3 a { color: var(--onze-text); text-decoration: none; }
.onze-event-venue, .onze-event-excerpt { color: var(--onze-muted); font-size: 14px; margin: 0; }

.onze-event-foot {
  margin-top: auto;
  padding-top: 12px;
  border-top: 1px solid rgba(81, 69, 50, 0.3);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

.onze-from { display: block; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--onze-muted); }

.onze-btn,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce #place_order,
.woocommerce-page .button.alt {
  background: var(--onze-amber) !important;
  color: var(--onze-amber-text) !important;
  border: 0 !important;
  border-radius: 12px !important;
  font-weight: 800 !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 12px 16px !important;
}

.onze-attendees fieldset {
  border: 1px solid #353437;
  border-radius: 12px;
  padding: 16px;
  margin: 12px 0;
}

.onze-ticket-card {
  background: var(--onze-surface);
  border-radius: 12px;
  padding: 16px;
  margin: 12px 0;
}

.woocommerce-checkout #order_review,
.woocommerce-cart-form,
.woocommerce-account {
  background: var(--onze-surface);
  border-radius: 16px;
  padding: 16px;
}

.fee .name {
  font-weight: 700;
}
