/* A korábbi megjelenítéshez igazodó, kizárólag a plugin elemeire ható CSS. */
.wfb {
    --vf-ink: #252525;
    --vf-muted: #555;
    --vf-accent: #56768a;
    --vf-accent-hover: #3f5b6d;
    --vf-card: #fafafa;
    --vf-line: #ddd;
    color: inherit;
}
.wfb [hidden] { display: none !important; }
.wfb *, .wfb *::before, .wfb *::after { box-sizing: border-box; }
.wfb.vf-mobile-list, .wfb .vf-mobile-list { display: flex; flex-direction: column; gap: 16px; margin-block: 10px; }
.wfb .vf-mobile-card { border: 1px solid var(--vf-line); border-radius: 6px; padding: 12px 14px; background: var(--vf-card); color: var(--vf-ink); }
.wfb .vf-event-title { font-size: clamp(1.2rem, 1rem + 0.6vw, 1.55rem); margin: 0 0 12px; line-height: 1.4; }
.wfb .vf-mobile-card-header { font-weight: 600; margin: 0 0 4px; }
.wfb .vf-mobile-card-meta { font-size: 14px; color: var(--vf-muted); margin: 0 0 6px; }
.wfb .vf-schedule-segment + .vf-schedule-segment { margin-top: 6px; }
.wfb .vf-mobile-card-spots { margin: 8px 0 10px; }
.wfb .vf-booking-btn { display: inline-block; min-height: 44px; padding: 10px 18px; border: 0; border-radius: 4px; background: var(--vf-accent); color: #fff; font: inherit; text-decoration: none; text-align: center; cursor: pointer; transition: background-color 180ms ease; }
.wfb .vf-booking-btn:hover { background: var(--vf-accent-hover); color: #fff; }
.wfb .vf-booking-btn:active { background: #304858; }
.wfb .vf-mobile-card-action .vf-booking-btn { display: block; width: 100%; }
.wfb .vf-booking-btn:disabled, .wfb .vf-booking-btn[aria-disabled="true"] { opacity: 0.65; cursor: not-allowed; }
.wfb .vf-input { display: block; width: 100%; box-sizing: border-box; border: 0; border-bottom: 2px dotted #999; border-radius: 0; background: transparent; padding: 6px 4px; font: 400 16px "Jost", Arial, sans-serif; color: inherit; transition: border-color 0.3s ease; }
.wfb .vf-input:focus { border-bottom-color: var(--vf-accent); }
.wfb .vf-textarea { display: block; width: 100%; min-height: 80px; border: 1px solid var(--vf-accent); border-radius: 4px; background-color: #eeedeb; color: #222; font: 400 16px "Jost", Arial, sans-serif; line-height: 24px; padding: 8px 10px; resize: vertical; background-image: linear-gradient(to bottom, #ddd 1px, transparent 1px); background-size: 100% 24px; }
.wfb .vf-textarea:focus { border-color: var(--vf-accent); background-color: #fff; }
.wfb form .vf-input, .wfb form .vf-textarea { margin-top: 4px; margin-bottom: 12px; }
.wfb :is(a, button, input, textarea, select):focus-visible { outline: 2px solid var(--vf-accent); outline-offset: 3px; }
.wfb form fieldset { border: 0; padding: 0; margin: 0 0 20px; min-inline-size: 0; }
.wfb form legend { font-weight: 700; margin-bottom: 8px; padding: 0; }
.wfb .wfb-choice { display: block; padding-block: 6px; line-height: 1.6; }
.wfb .wfb-choice input { margin-right: 6px; }
.wfb .wfb-small { font-size: 14px; line-height: 1.6; }
.wfb .wfb-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.wfb [data-wfb-form-message] { font-size: 14px; }
.wfb .wfb-retry { border: 1px solid currentColor; border-radius: 4px; padding: 8px 14px; background: transparent; color: inherit; font: inherit; min-height: 44px; cursor: pointer; }
.wfb .wfb-retry:active { opacity: 0.7; }
.wfb-form-wrapper { margin-top: 0; }
@media (prefers-reduced-motion: reduce) { .wfb .vf-input, .wfb .vf-booking-btn { transition: none; } }
