/*
  Shared keyboard focus treatment.
*/
/* stylelint-disable selector-not-notation */
body {
  --focus-ring-inner-color: var(--color-focus, #dfc322);
  --focus-ring-middle-color: var(--color-black, #0b0c0c);
  --focus-ring-outer-color: var(--color-focus, #dfc322);
  --focus-ring-shadow: 0 0 0 2px var(--focus-ring-inner-color),
    0 0 0 4px var(--focus-ring-middle-color),
    0 0 0 6px var(--focus-ring-outer-color);
}

a:not([class*="toolbar"]):not(.newsroom-teaser__stretched-link):not(
    .featured-teaser__stretched-link
  ):not([tabindex="-1"]):not([aria-disabled="true"]):focus-visible:focus,
button:not(:disabled):not([tabindex="-1"]):not(
    [aria-disabled="true"]
  ):focus-visible:focus,
input:not([type="hidden"]):not(:disabled):not([tabindex="-1"]):not(
    [aria-disabled="true"]
  ):focus-visible:focus,
select:not(:disabled):not([tabindex="-1"]):not(
    [aria-disabled="true"]
  ):focus-visible:focus,
textarea:not(:disabled):not([tabindex="-1"]):not(
    [aria-disabled="true"]
  ):focus-visible:focus,
summary:not([tabindex="-1"]):not([aria-disabled="true"]):focus-visible:focus,
[tabindex]:not([tabindex="-1"]):not([aria-disabled="true"]):focus-visible:focus,
[contenteditable="true"]:not([aria-disabled="true"]):focus-visible:focus,
[role="button"]:not([tabindex="-1"]):not(
    [aria-disabled="true"]
  ):focus-visible:focus,
[role="link"]:not([tabindex="-1"]):not(
    [aria-disabled="true"]
  ):focus-visible:focus,
[role="checkbox"]:not([tabindex="-1"]):not(
    [aria-disabled="true"]
  ):focus-visible:focus,
[role="radio"]:not([tabindex="-1"]):not(
    [aria-disabled="true"]
  ):focus-visible:focus,
[role="switch"]:not([tabindex="-1"]):not(
    [aria-disabled="true"]
  ):focus-visible:focus,
[role="tab"]:not([tabindex="-1"]):not(
    [aria-disabled="true"]
  ):focus-visible:focus,
[role="menuitem"]:not([tabindex="-1"]):not(
    [aria-disabled="true"]
  ):focus-visible:focus,
[role="combobox"]:not([tabindex="-1"]):not(
    [aria-disabled="true"]
  ):focus-visible:focus {
  outline: 2px solid transparent !important;
  outline-offset: 2px;
  box-shadow: var(--focus-ring-shadow),
    var(--focus-existing-box-shadow, 0 0 0 0 transparent) !important;
}

.form-item
  input[type="checkbox"]:not(:disabled):not([tabindex="-1"]):not(
    [aria-disabled="true"]
  ):focus-visible
  + label::before,
.form-checkboxes
  input[type="checkbox"]:not(:disabled):not([tabindex="-1"]):not(
    [aria-disabled="true"]
  ):focus-visible
  + label::before,
.facet-item
  input[type="checkbox"]:not(:disabled):not([tabindex="-1"]):not(
    [aria-disabled="true"]
  ):focus-visible
  + label::before,
.form-item-webform-terms-of-service
  input[type="checkbox"]:not(:disabled):not([tabindex="-1"]):not(
    [aria-disabled="true"]
  ):focus-visible
  + label::before,
.webform-type-radios
  .form-item
  [type="radio"]:not(:disabled):not([tabindex="-1"]):not(
    [aria-disabled="true"]
  ):focus-visible
  + label::before,
.webform-type-webform-radios-other
  .form-item
  [type="radio"]:not(:disabled):not([tabindex="-1"]):not(
    [aria-disabled="true"]
  ):focus-visible
  + label::before {
  border-width: 4px;
  outline: 2px solid transparent;
  outline-offset: 2px;
  box-shadow: var(--focus-ring-shadow) !important;
}

.geolocation-map-control input,
.geolocation-map-control input.form-autocomplete,
.geolocation-map-control button {
  --focus-existing-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14),
    0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2);
}

.active .leaflet-buttons-control-button {
  --focus-existing-box-shadow: inset 0 -1px 5px 2px rgba(81, 77, 77, 0.31);
}

@supports selector(:focus-visible) {
  .choices.is-focused:not(:focus-visible) .choices__inner {
    outline: 2px solid transparent !important;
    outline-offset: 2px;
    box-shadow: var(--focus-ring-shadow),
      var(--focus-existing-box-shadow, 0 0 0 0 transparent) !important;
  }
}

@supports not selector(:focus-visible) {
  a:not([class*="toolbar"]):not(.newsroom-teaser__stretched-link):not(
      .featured-teaser__stretched-link
    ):not([tabindex="-1"]):not([aria-disabled="true"]):focus,
  button:not(:disabled):not([tabindex="-1"]):not([aria-disabled="true"]):focus,
  input:not([type="hidden"]):not(:disabled):not([tabindex="-1"]):not(
      [aria-disabled="true"]
    ):focus,
  select:not(:disabled):not([tabindex="-1"]):not([aria-disabled="true"]):focus,
  textarea:not(:disabled):not([tabindex="-1"]):not(
      [aria-disabled="true"]
    ):focus,
  summary:not([tabindex="-1"]):not([aria-disabled="true"]):focus,
  [tabindex]:not([tabindex="-1"]):not([aria-disabled="true"]):focus,
  [contenteditable="true"]:not([aria-disabled="true"]):focus,
  [role="button"]:not([tabindex="-1"]):not([aria-disabled="true"]):focus,
  [role="link"]:not([tabindex="-1"]):not([aria-disabled="true"]):focus,
  [role="checkbox"]:not([tabindex="-1"]):not([aria-disabled="true"]):focus,
  [role="radio"]:not([tabindex="-1"]):not([aria-disabled="true"]):focus,
  [role="switch"]:not([tabindex="-1"]):not([aria-disabled="true"]):focus,
  [role="tab"]:not([tabindex="-1"]):not([aria-disabled="true"]):focus,
  [role="menuitem"]:not([tabindex="-1"]):not([aria-disabled="true"]):focus,
  [role="combobox"]:not([tabindex="-1"]):not([aria-disabled="true"]):focus {
    outline: 2px solid transparent !important;
    outline-offset: 2px;
    box-shadow: var(--focus-ring-shadow),
      var(--focus-existing-box-shadow, 0 0 0 0 transparent) !important;
  }

  .form-item
    input[type="checkbox"]:not(:disabled):not([tabindex="-1"]):not(
      [aria-disabled="true"]
    ):focus
    + label::before,
  .form-checkboxes
    input[type="checkbox"]:not(:disabled):not([tabindex="-1"]):not(
      [aria-disabled="true"]
    ):focus
    + label::before,
  .facet-item
    input[type="checkbox"]:not(:disabled):not([tabindex="-1"]):not(
      [aria-disabled="true"]
    ):focus
    + label::before,
  .form-item-webform-terms-of-service
    input[type="checkbox"]:not(:disabled):not([tabindex="-1"]):not(
      [aria-disabled="true"]
    ):focus
    + label::before,
  .webform-type-radios
    .form-item
    [type="radio"]:not(:disabled):not([tabindex="-1"]):not(
      [aria-disabled="true"]
    ):focus
    + label::before,
  .webform-type-webform-radios-other
    .form-item
    [type="radio"]:not(:disabled):not([tabindex="-1"]):not(
      [aria-disabled="true"]
    ):focus
    + label::before {
    border-width: 4px;
    outline: 2px solid transparent;
    outline-offset: 2px;
    box-shadow: var(--focus-ring-shadow) !important;
  }
}
