/* Drone Workshop Foglalás — front-end styles.
   Uses the same CSS variable names as the Drone Workshop theme where
   possible (so it inherits the site's look for free), with sane
   fallback values so it still looks reasonable on any other theme. */

.dwb-booking, .dwb-events {
  font-family: 'IBM Plex Sans', sans-serif;
  color: var(--text-dim, #536779);
}

.dwb-hp { position: absolute; left: -9999px; top: -9999px; height: 0; width: 0; overflow: hidden; }

.dwb-form { display: flex; flex-direction: column; gap: 1.1rem; }
.dwb-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
@media (max-width: 560px) { .dwb-row { grid-template-columns: 1fr; } }

.dwb-field { display: flex; flex-direction: column; gap: .4rem; }
.dwb-field label {
  font-family: 'IBM Plex Mono', monospace; font-size: .75rem; letter-spacing: .06em;
  text-transform: uppercase; color: var(--text-dim, #667685);
}
.dwb-field input, .dwb-field select {
  background: var(--bg-panel, #f3f5f7);
  border: 1px solid var(--hairline, rgba(0,0,0,.15));
  border-radius: var(--radius, 4px);
  color: var(--text, #16324a);
  padding: .75rem .9rem;
  font-size: .95rem;
  font-family: inherit;
}
.dwb-field input:focus, .dwb-field select:focus { outline: 2px solid var(--line-cyan, #3aa9c9); outline-offset: 1px; }

.dwb-slots { display: flex; flex-wrap: wrap; gap: .6rem; }
.dwb-hint { font-size: .85rem; color: var(--text-dim, #667685); margin: 0; }

.dwb-slot-btn {
  font-family: 'IBM Plex Mono', monospace; font-size: .85rem;
  border: 1px solid var(--line-cyan-dim, rgba(58,169,201,.4));
  background: transparent; color: var(--text, #16324a);
  padding: .55rem .9rem; border-radius: var(--radius, 4px); cursor: pointer;
  transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.dwb-slot-btn:hover { border-color: var(--line-cyan, #3aa9c9); }
.dwb-slot-btn.is-selected { background: var(--hazard, #FF6B35); border-color: var(--hazard, #FF6B35); color: var(--bg-2, #fff); }

.dwb-submit {
  font-family: 'IBM Plex Mono', monospace; font-weight: 600; text-transform: uppercase; letter-spacing: .06em;
  background: var(--hazard, #FF6B35); color: var(--bg-2, #16324a); border: none; border-radius: var(--radius, 4px);
  padding: .95rem 1.6rem; cursor: pointer; font-size: .85rem; align-self: flex-start;
}
.dwb-submit:disabled { opacity: .6; cursor: not-allowed; }

.dwb-msg { font-size: .88rem; padding: .8rem 1rem; border-radius: var(--radius, 4px); display: none; }
.dwb-msg.is-success { display: block; background: rgba(111,226,154,0.12); border: 1px solid rgba(111,226,154,0.4); color: #2f9e5c; }
.dwb-msg.is-error { display: block; background: rgba(255,107,53,0.1); border: 1px solid rgba(255,107,53,0.4); color: var(--hazard, #c0442a); }

.dwb-events { display: flex; flex-direction: column; gap: 1.2rem; }
.dwb-event {
  border: 1px solid var(--hairline, rgba(0,0,0,.15)); border-radius: var(--radius, 4px);
  padding: 1.4rem; background: var(--bg-panel, transparent);
}
.dwb-event__head { display: flex; align-items: flex-start; gap: 1rem; margin-bottom: .4rem; flex-wrap: wrap; }
.dwb-event__date { flex-shrink: 0; font-size: .85rem; color: var(--line-cyan, #3aa9c9); padding-top: .2rem; }
.dwb-event__head h4 { margin: 0 0 .2rem; font-size: 1.1rem; color: var(--text, #16324a); }
.dwb-event__meta { margin: 0; font-size: .85rem; color: var(--text-dim, #667685); }
.dwb-event__seats { margin-left: auto; font-family: 'IBM Plex Mono', monospace; font-size: .75rem; white-space: nowrap; color: #2f9e5c; }
.dwb-event__seats.is-full { color: var(--hazard, #c0442a); }
.dwb-event__desc { font-size: .9rem; margin: .6rem 0 1rem; }
.dwb-event__desc p { margin: 0 0 .6rem; }
.dwb-full-note { font-size: .85rem; color: var(--text-dim, #667685); font-style: italic; }

.dwb-event-form { display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; }
.dwb-event-form input {
  background: var(--bg, #fff); border: 1px solid var(--hairline, rgba(0,0,0,.15));
  border-radius: var(--radius, 4px); padding: .6rem .8rem; font-size: .88rem; flex: 1; min-width: 150px;
  font-family: inherit; color: var(--text, #16324a);
}
.dwb-event-form button {
  font-family: 'IBM Plex Mono', monospace; font-size: .8rem; text-transform: uppercase;
  background: var(--hazard, #FF6B35); color: var(--bg-2, #fff); border: none;
  border-radius: var(--radius, 4px); padding: .6rem 1.1rem; cursor: pointer;
}
.dwb-event-msg { font-size: .82rem; }

.dwb-empty {
  font-family: 'IBM Plex Mono', monospace; font-size: .85rem; color: var(--text-dim, #667685);
  border: 1px dashed var(--hairline, rgba(0,0,0,.25)); border-radius: var(--radius, 4px); padding: 1.2rem;
}
