/*
 * Rescue Theme: styling for plugins a rescue commonly uses next to the Rescue Listings shortcodes.
 * GiveWP (donation forms), Gravity Forms (applications, newsletter, contact) and event calendars (EventON-style markup).
 * Plain selectors on the plugins' public class names; nothing here loads scripts or fonts.
 */

/* ---------- Form fields shared by all form plugins ---------- */
:where(.gform_wrapper, .give-form-wrap, .wpcf7, .wpforms-container) :where(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], input[type="date"], input[type="password"], select, textarea) {
	background: var(--wp--preset--color--base); border: 1px solid #8a9298; border-radius: 0; color: var(--wp--preset--color--contrast);
	font: inherit; font-size: 0.95rem; max-width: 100%; padding: 0.65rem 0.8rem; box-sizing: border-box;
}
:where(.gform_wrapper, .give-form-wrap) :where(input, select, textarea):focus-visible { outline: 3px solid var(--wp--preset--color--secondary); outline-offset: 1px; }

/* ---------- Gravity Forms ---------- */
.gform_wrapper { font-family: inherit; }
.gform_wrapper fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.gform_wrapper legend { padding: 0; }
.gform_wrapper .gfield_label, .gform_wrapper legend.gfield_label, .gform_wrapper .gform-field-label { font-weight: 600; font-size: 0.9rem; margin-bottom: 0.35rem; display: inline-block; }
.gform_wrapper .gfield_required { color: var(--wp--preset--color--primary); }
.gform_wrapper .gfield_description, .gform_wrapper .gform-field-label--type-sub, .gform_wrapper .ginput_complex label { font-size: 0.78rem; }
.gform_wrapper .gform_fields { display: grid; gap: 1rem 1.25rem; grid-template-columns: repeat(12, minmax(0, 1fr)); list-style: none; margin: 0; padding: 0; }
.gform_wrapper .gfield { grid-column: 1 / -1; margin: 0; padding: 0; }
.gform_wrapper .gfield--width-half, .gform_wrapper .gf_left_half, .gform_wrapper .gf_right_half { grid-column: span 6; }
.gform_wrapper .ginput_complex { display: grid; gap: 0.75rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.gform_wrapper input[type="text"], .gform_wrapper input[type="email"], .gform_wrapper input[type="tel"], .gform_wrapper select, .gform_wrapper textarea { width: 100%; }
.gform_wrapper .gform_footer, .gform_wrapper .gform_page_footer { margin-top: 1.25rem; padding: 0; display: flex; gap: 0.75rem; flex-wrap: wrap; }
.gform_wrapper :is(.gform_button, .gform_next_button, .gform_previous_button, .gform_save_link) {
	background: var(--wp--preset--color--primary); border: 0; border-radius: 0; color: var(--wp--preset--color--base); cursor: pointer;
	font: inherit; font-size: 0.85rem; font-weight: 500; padding: 0.8rem 1.8rem;
}
.gform_wrapper :is(.gform_button, .gform_next_button, .gform_previous_button):hover,
.gform_wrapper :is(.gform_button, .gform_next_button, .gform_previous_button):focus-visible { background: var(--wp--preset--color--deep); color: var(--wp--preset--color--base); }
.gform_wrapper .gform_previous_button { background: transparent; color: var(--wp--preset--color--primary); box-shadow: inset 0 0 0 2px currentColor; }
.gform_wrapper .gf_progressbar_wrapper .gf_progressbar { background: var(--wp--preset--color--soft); border-radius: 0; }
.gform_wrapper .gf_progressbar_percentage { background: var(--wp--preset--color--secondary); }
.gform_wrapper .gform_validation_errors, .gform_wrapper .validation_error { border: 2px solid var(--wp--preset--color--primary); background: var(--wp--preset--color--base); color: var(--wp--preset--color--contrast); padding: 0.9rem 1.1rem; margin-bottom: 1.25rem; }
.gform_wrapper .gfield_error input, .gform_wrapper .gfield_error select, .gform_wrapper .gfield_error textarea { border-color: var(--wp--preset--color--primary); border-width: 2px; }
.gform_wrapper .gfield_validation_message, .gform_wrapper .validation_message { color: var(--wp--preset--color--primary); font-size: 0.85rem; font-weight: 500; }
.gform_confirmation_message { padding: 1rem 1.25rem; background: var(--wp--preset--color--soft); border-left: 4px solid var(--wp--preset--color--secondary); }
@media (max-width: 640px) {
	.gform_wrapper .gfield--width-half, .gform_wrapper .gf_left_half, .gform_wrapper .gf_right_half { grid-column: 1 / -1; }
	.gform_wrapper .ginput_complex { grid-template-columns: minmax(0, 1fr); }
}

/* Forms on dark bands (newsletter): light labels, white fields, red button. */
.rt-newsletter .gform_wrapper :is(.gfield_label, legend.gfield_label, .gform-field-label, .gfield_description, .ginput_complex label, .gfield_required) { color: var(--wp--preset--color--base); }
.rt-newsletter .gform_wrapper .gfield_required { color: var(--wp--preset--color--base); opacity: 0.85; }
.rt-newsletter .gform_wrapper :is(.gform_button) { background: var(--wp--preset--color--primary); }
.rt-newsletter .gform_wrapper .gform_button:hover, .rt-newsletter .gform_wrapper .gform_button:focus-visible { background: var(--wp--preset--color--base); color: var(--wp--preset--color--tertiary); }

/* ---------- GiveWP ---------- */
.give-form-wrap { font-family: inherit; }
.give-form-wrap .give-form, .give-form-wrap form[id*="give-form"] { max-width: 100%; }
.give-form-wrap :is(.give-label, label) { font-weight: 600; font-size: 0.9rem; }
.give-form-wrap .give-required-indicator, .give-form-wrap .give-required { color: var(--wp--preset--color--primary); }
.give-form-wrap :is(legend, .give-fieldset-legend) { font-weight: 600; }
.give-form-wrap #give-amount, .give-form-wrap .give-text-input { width: auto; min-width: 8rem; }
.give-form-wrap :is(.give-btn, .give-btn-reveal, .give-btn-modal, .give-submit, input[type="submit"], button[type="submit"]) {
	background: var(--wp--preset--color--primary); border: 0; border-radius: 0; color: var(--wp--preset--color--base); cursor: pointer;
	font: inherit; font-size: 0.85rem; font-weight: 500; padding: 0.7rem 1.4rem; text-shadow: none; box-shadow: none;
}
.give-form-wrap :is(.give-btn, .give-submit, input[type="submit"]):is(:hover, :focus-visible) { background: var(--wp--preset--color--deep); color: var(--wp--preset--color--base); }
.give-form-wrap .give-donation-level-btn { margin: 0 0.35rem 0.5rem 0; }
.give-form-wrap .give-donation-level-btn.give-default-level, .give-form-wrap .give-donation-level-btn.give-btn-level-custom.give-default-level { background: var(--wp--preset--color--deep); outline: 2px solid var(--wp--preset--color--base); outline-offset: -4px; }
.give-form-wrap :is(.give-donation-amount, .give-total-wrap) { display: flex; align-items: center; gap: 0.35rem; }
.give-form-wrap .give-currency-symbol { background: var(--wp--preset--color--soft); border: 1px solid #8a9298; color: var(--wp--preset--color--contrast); padding: 0.65rem 0.8rem; border-radius: 0; }
.give-form-wrap .give-final-total-amount { font-weight: 700; }
.give-form-wrap .give_error, .give-form-wrap .give_notice { border: 2px solid var(--wp--preset--color--primary); background: var(--wp--preset--color--base); color: var(--wp--preset--color--contrast); padding: 0.75rem 1rem; }
.rt-band--blue .give-form-wrap, .rt-band--blue .give-form-wrap :is(label, legend, .give-label) { color: var(--wp--preset--color--base); }
.rt-band--blue .give-form-wrap :is(.give-required-indicator, .give-required) { color: var(--wp--preset--color--base); }
.rt-band--blue .give-form-wrap :is(.give-btn, .give-submit, input[type="submit"]) { background: var(--wp--preset--color--primary); }
.rt-band--blue .give-form-wrap :is(.give-btn, .give-submit, input[type="submit"]):is(:hover, :focus-visible) { background: var(--wp--preset--color--deep); outline: 2px solid var(--wp--preset--color--base); }
.rt-band--blue .give-form-wrap .give-donation-level-btn.give-default-level { background: var(--wp--preset--color--deep); }

/* ---------- Event calendars (EventON-style markup and similar) ---------- */
:where(.ajde_evcal_calendar, .eventon_events_list, #evcal_list, .tribe-events, .em-calendar) { font-family: inherit; color: var(--wp--preset--color--contrast); }
.ajde_evcal_calendar .calendar_header, .ajde_evcal_calendar #evcal_head { font-weight: 600; }
.ajde_evcal_calendar .eventon_list_event, .ajde_evcal_calendar .evo_event_schema { border: 1px solid var(--wp--preset--color--line); background: var(--wp--preset--color--base); margin-bottom: 0.6rem; }
.ajde_evcal_calendar .eventon_list_event .evcal_event_title, .ajde_evcal_calendar .evcal_desc .evcal_event_title { color: var(--wp--preset--color--secondary); font-weight: 600; }
.ajde_evcal_calendar a.evcal_btn, .ajde_evcal_calendar .evcal_btn, .ajde_evcal_calendar .evo_btn { background: var(--wp--preset--color--primary); color: var(--wp--preset--color--base); border-radius: 0; }
.ajde_evcal_calendar .evo_month_title, .ajde_evcal_calendar .evo-month-title { color: var(--wp--preset--color--secondary); font-weight: 600; }
.tribe-events .tribe-events-c-small-cta__link, .tribe-common .tribe-common-c-btn { background: var(--wp--preset--color--primary); color: var(--wp--preset--color--base); border-radius: 0; }

/* Fieldsets inside donation forms */
.give-form-wrap fieldset { border: 0; margin: 0 0 1rem; min-width: 0; padding: 0; }
