/* CEOBS staging: CCO-63 focus — subtle brand-green keyboard rings
   Jimmy / CCO-63 supersedes CCO-62 (“no focus rings”).
   Loaded late via functions.php so parallel CCO-62 appends to style.css cannot wipe it.
   Colour #1f3307 / rgb(31, 51, 7). Staging only. Live / BEAF / cutover untouched. */

#page :focus,
#page *:focus {
	outline: none !important;
	outline-offset: 0 !important;
}

#page a:focus-visible,
#page button:focus-visible,
#page input:focus-visible,
#page select:focus-visible,
#page textarea:focus-visible,
#page summary:focus-visible,
#page [tabindex]:focus-visible,
#page .dt-btn:focus-visible,
#page .vc_btn3:focus-visible,
#page .wf-float-menu a:focus-visible,
#page .main-nav > li > a:focus-visible,
#page .skip-link:focus-visible,
#page a.skip-link.screen-reader-text:focus-visible,
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible,
.dt-btn:focus-visible,
.vc_btn3:focus-visible,
.wf-float-menu a:focus-visible,
.main-nav > li > a:focus-visible,
.skip-link:focus-visible,
a.skip-link.screen-reader-text:focus-visible {
	outline: 2px solid #1f3307 !important;
	outline-offset: 2px !important;
	box-shadow: none !important;
}

#page a:focus:not(:focus-visible),
#page button:focus:not(:focus-visible),
#page input:focus:not(:focus-visible),
#page select:focus:not(:focus-visible),
#page textarea:focus:not(:focus-visible),
a:focus:not(:focus-visible),
button:focus:not(:focus-visible),
input:focus:not(:focus-visible),
select:focus:not(:focus-visible),
textarea:focus:not(:focus-visible) {
	outline: none !important;
	outline-offset: 0 !important;
}

#page #charitable-donation-form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):focus-visible,
#page #charitable-donation-form select:focus-visible,
#page #charitable-donation-form textarea:focus-visible,
#page .charitable-donation-form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):focus-visible,
#page .charitable-donation-form select:focus-visible,
#page .charitable-donation-form textarea:focus-visible,
#charitable-donation-form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):focus-visible,
#charitable-donation-form select:focus-visible,
#charitable-donation-form textarea:focus-visible,
.charitable-donation-form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):focus-visible,
.charitable-donation-form select:focus-visible,
.charitable-donation-form textarea:focus-visible {
	outline: none !important;
	outline-offset: 0 !important;
}

#page #charitable-donation-form input.custom-donation-input.ceobs-donation-amount-invalid:focus-visible,
#charitable-donation-form input.custom-donation-input.ceobs-donation-amount-invalid:focus-visible,
.charitable-donation-form input.custom-donation-input.ceobs-donation-amount-invalid:focus-visible {
	outline: none !important;
	outline-offset: 0 !important;
	box-shadow: none !important;
	border-color: #c0392b !important;
}

#page .single-related-posts .items-grid > .related-item:focus-within,
.single-related-posts .items-grid > .related-item:focus-within {
	outline: 2px solid #1f3307 !important;
	outline-offset: 2px !important;
}

#page .vc_inner.vc_row:has(> .mapscreenshot):has(.ukrainemapinfo):focus-within,
#page .vc_row.vc_custom_1699880676468:focus-within,
.vc_inner.vc_row:has(> .mapscreenshot):has(.ukrainemapinfo):focus-within,
.vc_row.vc_custom_1699880676468:focus-within {
	outline: none !important;
	outline-offset: 0 !important;
}
#page .vc_inner.vc_row:has(> .mapscreenshot):has(.ukrainemapinfo) .ukrainemapinfo a[href*="/ukraine-map/"]:focus-visible,
#page .vc_row.vc_custom_1699880676468 .ukrainemapinfo a[href*="/ukraine-map/"]:focus-visible,
.vc_inner.vc_row:has(> .mapscreenshot):has(.ukrainemapinfo) .ukrainemapinfo a[href*="/ukraine-map/"]:focus-visible,
.vc_row.vc_custom_1699880676468 .ukrainemapinfo a[href*="/ukraine-map/"]:focus-visible {
	outline: none !important;
	outline-offset: 0 !important;
	box-shadow: none !important;
}
#page .vc_inner.vc_row:has(> .mapscreenshot):has(.ukrainemapinfo):has(.ukrainemapinfo a[href*="/ukraine-map/"]:focus-visible),
#page .vc_row.vc_custom_1699880676468:has(.ukrainemapinfo a[href*="/ukraine-map/"]:focus-visible),
.vc_inner.vc_row:has(> .mapscreenshot):has(.ukrainemapinfo):has(.ukrainemapinfo a[href*="/ukraine-map/"]:focus-visible),
.vc_row.vc_custom_1699880676468:has(.ukrainemapinfo a[href*="/ukraine-map/"]:focus-visible) {
	outline: 2px solid #1f3307 !important;
	outline-offset: 2px !important;
}

#page .mapsvg-popover .mapsvg-popover-close.mapsvg-details-close:focus-visible,
#page .mapsvg-popover .mapsvg-popover-close:focus-visible,
#page .mapsvg-popover-close.mapsvg-details-close:focus-visible,
#page .mapsvg-popover-close:focus-visible,
.mapsvg-popover .mapsvg-popover-close.mapsvg-details-close:focus-visible,
.mapsvg-popover .mapsvg-popover-close:focus-visible,
.mapsvg-popover-close.mapsvg-details-close:focus-visible,
.mapsvg-popover-close:focus-visible {
	outline: 2px solid #1f3307 !important;
	outline-offset: 2px !important;
	box-shadow: none !important;
}

#page #charitable_field_newsletter_opt_in input[type="checkbox"]:focus-visible,
#page #charitable_field_giftaid input[type="checkbox"]:focus-visible,
#charitable_field_newsletter_opt_in input[type="checkbox"]:focus-visible,
#charitable_field_giftaid input[type="checkbox"]:focus-visible {
	outline: 2px solid #1f3307 !important;
	outline-offset: 2px !important;
	box-shadow: none !important;
}
#page #charitable_field_newsletter_opt_in input[type="checkbox"]:focus-visible:checked,
#page #charitable_field_giftaid input[type="checkbox"]:focus-visible:checked,
#charitable_field_newsletter_opt_in input[type="checkbox"]:focus-visible:checked,
#charitable_field_giftaid input[type="checkbox"]:focus-visible:checked {
	outline: 2px solid #75c726 !important;
	outline-offset: 2px !important;
}

/* Form text fields: Donate-style green FILL is the focus indicator (no ring).
   Applies to Ninja Forms + other front-end text/select/textarea under #page.
   Links / buttons / checkboxes keep the subtle green :focus-visible ring above. */
#page [id^="nf-form-"] input.ninja-forms-field.nf-element:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="hidden"]):not([type="file"]):focus-visible,
#page [id^="nf-form-"] select.ninja-forms-field.nf-element:focus-visible,
#page [id^="nf-form-"] textarea.ninja-forms-field.nf-element:focus-visible,
#page .nf-form-cont input.nf-element:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="hidden"]):not([type="file"]):focus-visible,
#page .nf-form-cont select.nf-element:focus-visible,
#page .nf-form-cont textarea.nf-element:focus-visible,
#page form input[type="text"]:focus-visible,
#page form input[type="email"]:focus-visible,
#page form input[type="tel"]:focus-visible,
#page form input[type="number"]:focus-visible,
#page form input[type="url"]:focus-visible,
#page form input[type="search"]:focus-visible,
#page form input[type="password"]:focus-visible,
#page form input:not([type]):focus-visible,
#page form select:focus-visible,
#page form textarea:focus-visible,
#page input[type="text"]:focus-visible,
#page input[type="email"]:focus-visible,
#page input[type="tel"]:focus-visible,
#page input[type="number"]:focus-visible,
#page input[type="url"]:focus-visible,
#page input[type="search"]:focus-visible,
#page input[type="password"]:focus-visible,
#page textarea:focus-visible,
#page select:focus-visible {
	outline: none !important;
	outline-offset: 0 !important;
	box-shadow: none !important;
}
