.vw-events-form { display: flex; flex-direction: column; gap: 1rem; max-width: 720px; }
.vw-events-form .vw-row { display: flex; flex-direction: column; gap: .25rem; }
.vw-events-form .vw-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
@media (max-width: 600px) { .vw-events-form .vw-grid-2 { grid-template-columns: 1fr; } }
.vw-events-form label { font-weight: 600; font-size: .9rem; }
.vw-events-form input[type="text"],
.vw-events-form input[type="email"],
.vw-events-form input[type="url"],
.vw-events-form input[type="datetime-local"],
.vw-events-form select,
.vw-events-form textarea { width: 100%; padding: .5rem .75rem; border: 1px solid #ccc; border-radius: 4px; font: inherit; box-sizing: border-box; }
.vw-events-form textarea { resize: vertical; }
.vw-events-form fieldset { border: 1px solid #ddd; border-radius: 4px; padding: .75rem 1rem; }
.vw-events-form fieldset legend { padding: 0 .5rem; font-weight: 600; font-size: .9rem; }
.vw-events-form .vw-check { display: inline-flex; align-items: center; gap: .35rem; margin-right: 1rem; font-weight: 400; }
.vw-events-form .vw-error { color: #b00020; font-size: .85rem; min-height: 1.1em; }
.vw-events-form .vw-notice { background: #f4f7fa; padding: .75rem 1rem; border-left: 3px solid #4a90e2; border-radius: 4px; }
.vw-events-form .vw-image-preview img { max-width: 240px; height: auto; border: 1px solid #eee; margin-top: .5rem; }
.vw-events-form .vw-submit { padding: .75rem 1.5rem; background: #2a6f3f; color: #fff; border: none; border-radius: 4px; font-weight: 600; cursor: pointer; }
.vw-events-form .vw-submit:disabled { opacity: .5; cursor: not-allowed; }
.vw-form-message { padding: .75rem 1rem; border-radius: 4px; }
.vw-form-message.is-error { background: #fdecea; color: #b00020; }
.vw-form-message.is-success { background: #e7f5ec; color: #2a6f3f; }
.vw-form-success { padding: 1.5rem; background: #e7f5ec; border-radius: 6px; text-align: center; }
.vw-form-success button { margin-top: 1rem; padding: .5rem 1rem; }
.vw-event-submit-elsewhere { background: #f4f7fa; border-left: 4px solid #2a6f3f; padding: 1.25rem 1.5rem; border-radius: 4px; max-width: 720px; }
.vw-event-submit-elsewhere a.vw-submit { display: inline-block; text-decoration: none; }
