/* Existing theme containers, cards, buttons, colors and type remain the basis. */
.gfgf-events { overflow-wrap: anywhere; }
.gfgf-events h2 { color: var(--gfgf-primary, #003f83); font-size: 26px; line-height: 1.3; }
.gfgf-event-actions { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 24px; }
.gfgf-events .button { white-space: normal; padding: 12px 20px; }
.gfgf-event-card h2 { margin: 0; font-size: 24px; }
.gfgf-event-card .button { margin-top: auto; align-self: start; }
.gfgf-events .gfgf-event-card > p:last-of-type { margin-bottom: 24px; }
.gfgf-event-detail { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(280px, 1fr); gap: 40px; align-items: start; }
.gfgf-event-detail .archive-source-card { min-height: 0; }
.gfgf-event-detail address { font-style: normal; margin-bottom: 24px; }
.gfgf-events .gfgf-event-detail .archive-source-card h3 { margin-top: 20px; }
.gfgf-event-detail .button { border-color: var(--gfgf-border, #c2c6d3); margin-top: 12px; }
.gfgf-event-contact { display: inline-flex; align-items: center; min-height: 44px; overflow-wrap: anywhere; }
.gfgf-event-form { max-width: 960px; margin: 28px 0; }
.gfgf-event-form fieldset { min-width: 0; margin: 0 0 32px; padding: 24px; border: 1px solid var(--gfgf-border, #c2c6d3); border-radius: 8px; background: #fff; }
.gfgf-event-form legend { max-width: 100%; padding: 0 8px; font-size: 22px; font-weight: 700; color: var(--gfgf-primary, #003f83); }
.gfgf-event-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.gfgf-event-field { min-width: 0; }
.gfgf-event-field--wide { grid-column: 1 / -1; }
.gfgf-event-field label { display: block; font-weight: 600; margin-bottom: 8px; }
.gfgf-event-field input:not([type=checkbox]), .gfgf-event-field select, .gfgf-event-field textarea {
    display: block; box-sizing: border-box; width: 100%; min-width: 0; max-width: 100%; min-height: 48px; padding: 10px 12px;
    font: inherit; font-size: 17px; line-height: 1.5; color: #121c2a; background: #fff; border: 1px solid #728090; border-radius: 6px;
}
.gfgf-event-field textarea { resize: vertical; }
.gfgf-event-field input[type=checkbox] { width: 24px; height: 24px; margin: 10px; }
.gfgf-event-field label[for=gfgf-event-all_day] { display: flex; align-items: center; min-height: 44px; }
.gfgf-event-field input:focus-visible, .gfgf-event-field select:focus-visible, .gfgf-event-field textarea:focus-visible { outline: 2px solid #003f83; outline-offset: 3px; }
.gfgf-event-help { margin: 8px 0 0; font-size: 15px; line-height: 1.5; color: #424751; }
.gfgf-event-error { margin: 8px 0 0; font-size: 16px; color: #912b22; font-weight: 600; }
.gfgf-event-field [aria-invalid=true] { border: 2px solid #912b22; }
.gfgf-event-error-summary { padding: 20px; margin: 24px 0; border: 2px solid #912b22; border-radius: 8px; }
.gfgf-event-error-summary a { display: inline-flex; align-items: center; min-height: 44px; }
.gfgf-event-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.gfgf-event-pagination { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 32px; }
.gfgf-event-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 8px; border: 1px solid #c2c6d3; border-radius: 6px; }
.gfgf-event-pending { display: inline-block; padding: 5px 8px; color: #653400; background: #fff1d5; border-radius: 4px; }
@media (max-width: 980px) { .gfgf-event-detail { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 720px) {
    .gfgf-event-fields { grid-template-columns: minmax(0, 1fr); gap: 20px; }
    .gfgf-event-form fieldset { padding: 18px 14px; }
    .gfgf-event-form legend { font-size: 20px; }
    .gfgf-event-form button[type=submit] { width: 100%; }
}

.gfgf-event-field[hidden] { display: none; }
.gfgf-events .gfgf-event-export { margin: 32px 0 0; font-size: 14px; }
.gfgf-event-export a { display: inline-flex; align-items: center; min-height: 44px; color: var(--gfgf-text-muted, #424751); text-underline-offset: 3px; }

.gfgf-event-form fieldset[hidden] { display: none; }
