/* ── Event-Buchungssystem v2 – Public CSS ──────────────────────────────────
   Primary color is injected as --eb-primary via wp_add_inline_style.
   Default fallback: #1a472a (dark green)
─────────────────────────────────────────────────────────────────────────── */
:root{--eb-primary:#1a472a;--eb-primary-hover:#143d23;--eb-primary-lt:#e8f0eb;--eb-ink:#1c1c2e;--eb-ink-light:#3d3d5c;--eb-muted:#7a7a95;--eb-border:#e0dbd0;--eb-bg:#f5f3ee;--eb-paper:#ffffff;--eb-red:#c0392b;--eb-red-lt:#fdecea;--eb-green:#2e7d32;--eb-green-lt:#e8f5e9}
.event-booking-form{max-width:600px;margin:0 auto;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:14px;color:var(--eb-ink);line-height:1.5}
.event-booking-header{background:var(--eb-ink);color:#fff;border-radius:10px 10px 0 0;padding:24px 28px 20px}
.event-booking-header .eb-event-title{margin:0 0 8px;font-family:Georgia,serif;font-size:22px;line-height:1.3}
.event-booking-header .eb-event-description{margin:0 0 12px;opacity:.75;font-size:13px;line-height:1.6}
.event-booking-header .eb-event-meta{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13px;opacity:.8}
.event-booking-header .eb-available{color:#a0ffb3}
.event-booking-header .eb-full{color:#ffb3a0}
.eb-form{background:var(--eb-paper);border:1px solid var(--eb-border);border-top:none;border-radius:0 0 10px 10px;padding:24px 28px}
.eb-form h3,.eb-form h4{font-family:Georgia,serif;font-size:15px;margin:0 0 14px;color:var(--eb-ink)}
.event-booking-main-person,.event-booking-guests-select,.event-booking-guests,.event-booking-consents,.event-booking-captcha,.event-booking-submit{margin-top:20px}
.eb-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.eb-grid-2 .field-email,.eb-grid-2 .field-message{grid-column:1/-1}
.event-booking-form label{display:block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--eb-muted);margin-bottom:5px}
.event-booking-form input[type=text],.event-booking-form input[type=email],.event-booking-form input[type=tel],.event-booking-form textarea,.event-booking-form select{width:100%;padding:9px 12px;border:1.5px solid var(--eb-border);border-radius:7px;font-size:13.5px;font-family:inherit;color:var(--eb-ink);background:var(--eb-paper);box-sizing:border-box;transition:border-color .18s;outline:none}
.event-booking-form input:focus,.event-booking-form textarea:focus{border-color:var(--eb-primary)}
.event-booking-form input.eb-invalid{border-color:var(--eb-red)}
.event-booking-guests-select>label{display:block;margin-bottom:8px}
.eb-guest-count-btns{display:flex;gap:6px;flex-wrap:wrap}
.eb-guest-btn{width:40px;height:40px;border-radius:8px;border:1.5px solid var(--eb-border);background:var(--eb-paper);color:var(--eb-ink-light);font-size:15px;font-weight:700;cursor:pointer;transition:all .15s;font-family:inherit}
.eb-guest-btn.active,.eb-guest-btn:hover{border-color:var(--eb-primary);background:var(--eb-primary-lt);color:var(--eb-primary)}
.event-booking-guest{background:var(--eb-bg);border-radius:9px;padding:14px 16px;margin-bottom:10px}
.eb-guest-label{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--eb-muted);margin-bottom:10px}
.field-privacy label{display:flex;gap:10px;align-items:flex-start;cursor:pointer;background:var(--eb-bg);border:1px solid var(--eb-border);border-radius:8px;padding:12px 14px;text-transform:none;letter-spacing:0;font-size:12px;color:var(--eb-muted);font-weight:400}
.field-privacy input[type=checkbox]{width:16px;height:16px;margin-top:2px;flex-shrink:0;accent-color:var(--eb-primary)}
.field-privacy a{color:var(--eb-primary)}
.event-booking-captcha{margin-top:14px}
.event-booking-submit{display:flex;align-items:center;gap:14px;margin-top:20px}
.event-booking-button{display:inline-block;padding:12px 28px;background:var(--eb-primary);color:#fff;border:none;border-radius:7px;font-size:15px;font-weight:700;cursor:pointer;font-family:Georgia,serif;transition:background .15s;letter-spacing:.01em}
.event-booking-button:hover{background:var(--eb-primary-hover)}
.eb-required-note{font-size:11px;color:var(--eb-muted)}
.event-booking-errors{margin-bottom:14px}
.event-booking-error{background:var(--eb-red-lt);color:var(--eb-red);border-radius:8px;padding:12px 16px;font-size:13px;margin-bottom:8px}
.event-booking-success{background:var(--eb-green-lt);color:var(--eb-green);border-radius:8px;padding:14px 18px;font-size:13px;margin-bottom:18px}
.event-booking-success--waitlist{background:#fef9e7;color:#b8860b}
.eb-status-pill{display:inline-block;font-size:11px;font-weight:700;padding:2px 9px;border-radius:20px;letter-spacing:.04em}
.eb-status-confirmed{background:var(--eb-green-lt);color:var(--eb-green)}
.eb-status-cancelled{background:var(--eb-red-lt);color:var(--eb-red)}
.eb-status-partial_change{background:#e8eff8;color:#1a3a5c}
.eb-status-partial_cancel{background:#fef9e7;color:#b8860b}
.eb-status-checked_in{background:var(--eb-green-lt);color:var(--eb-green)}
.event-booking-manage{background:var(--eb-paper);border:1px solid var(--eb-border);border-radius:10px;padding:22px 26px;margin-top:24px}
.event-booking-manage h3{font-family:Georgia,serif;font-size:17px;margin:0 0 14px;color:var(--eb-ink)}
.event-booking-manage h4{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--eb-muted);margin:16px 0 8px}
.event-booking-manage code{background:var(--eb-bg);color:var(--eb-primary);padding:2px 7px;border-radius:4px;font-size:13px}
.event-booking-edit-guests .eb-attendee{display:flex;align-items:center;gap:10px;background:var(--eb-bg);border-radius:7px;padding:9px 12px;margin-bottom:7px;font-size:13px}
.eb-attendee--removed{opacity:.5;text-decoration:line-through}
.eb-attendee-status{font-size:11px;font-weight:700;background:var(--eb-green-lt);color:var(--eb-green);border-radius:20px;padding:2px 8px}
.eb-attendee--removed .eb-attendee-status{background:var(--eb-red-lt);color:var(--eb-red)}
.eb-btn-remove{margin-left:auto;font-size:11px;font-weight:700;background:var(--eb-red-lt);color:var(--eb-red);border:none;border-radius:5px;padding:3px 10px;cursor:pointer;font-family:inherit}
.eb-btn-save{padding:8px 16px;background:var(--eb-primary);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;transition:background .15s;align-self:flex-end}
.eb-btn-save:hover{background:var(--eb-primary-hover)}
.event-booking-cancel-full{margin-top:18px}
.eb-btn-cancel{font-size:13px;font-weight:600;background:var(--eb-red-lt);color:var(--eb-red);border:1px solid var(--eb-red);border-radius:7px;padding:9px 20px;cursor:pointer;font-family:inherit;transition:background .15s}
.eb-btn-cancel:hover{background:#f5c6c6}
@media(max-width:520px){.eb-grid-2{grid-template-columns:1fr}.eb-grid-2 .field-email,.eb-grid-2 .field-message{grid-column:1}.event-booking-header,.eb-form{padding:18px 16px}.event-booking-manage{padding:16px}}

/* ── WYSIWYG-Beschreibung im Event-Header ─────────────────────────────── */
.event-booking-header .eb-event-description {
    margin: 0 0 14px;
    opacity: .85;
    font-size: 13.5px;
    line-height: 1.7;
}
.event-booking-header .eb-event-description p      { margin: 0 0 .7em; }
.event-booking-header .eb-event-description ul,
.event-booking-header .eb-event-description ol     { margin: 0 0 .7em; padding-left: 1.4em; }
.event-booking-header .eb-event-description a      { color: #a0ffb3; }
.event-booking-header .eb-event-description strong { color: #fff; }

/* ── Teilnehmerhinweise (WYSIWYG, zwischen Header und Formular) ─────────── */
.event-booking-attendee-notes {
    background: var(--eb-bg);
    border-left: 3px solid var(--eb-primary);
    border-radius: 0 8px 8px 0;
    padding: 14px 18px;
    font-size: 13px;
    line-height: 1.7;
    margin-bottom: 4px;
    color: var(--eb-ink-light);
}
.event-booking-attendee-notes p      { margin: 0 0 .7em; }
.event-booking-attendee-notes p:last-child { margin-bottom: 0; }
.event-booking-attendee-notes ul,
.event-booking-attendee-notes ol     { margin: 0 0 .7em; padding-left: 1.5em; }
.event-booking-attendee-notes strong { color: var(--eb-ink); }
.event-booking-attendee-notes a      { color: var(--eb-primary); }
