/*
 * Widget isolation is deliberate. The current theme styles generic buttons and
 * footer elements aggressively; these ID-scoped rules prevent inherited
 * writing mode, sizing or text transforms from turning the icon into a
 * vertical toolbar.
 */
#sa-widget,
#sa-widget * {
  box-sizing: border-box !important;
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
  letter-spacing: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  text-transform: none !important;
}

#sa-widget.sa-widget {
  position: fixed !important;
  z-index: 2147483600 !important;
  display: block !important;
  inline-size: auto !important;
  block-size: auto !important;
  min-inline-size: 0 !important;
  min-block-size: 0 !important;
  max-inline-size: calc(100vw - 24px) !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #1a1a1a !important;
  background: transparent !important;
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  font-style: normal !important;
  line-height: 1.5 !important;
  text-align: left !important;
}
#sa-widget.sa-widget--bottom-right { right: max(12px, env(safe-area-inset-right)) !important; bottom: max(12px, env(safe-area-inset-bottom)) !important; left: auto !important; top: auto !important; }
#sa-widget.sa-widget--bottom-left { left: max(12px, env(safe-area-inset-left)) !important; bottom: max(12px, env(safe-area-inset-bottom)) !important; right: auto !important; top: auto !important; }
#sa-widget.sa-widget--top-right { right: max(12px, env(safe-area-inset-right)) !important; top: max(12px, env(safe-area-inset-top)) !important; left: auto !important; bottom: auto !important; }
#sa-widget.sa-widget--top-left { left: max(12px, env(safe-area-inset-left)) !important; top: max(12px, env(safe-area-inset-top)) !important; right: auto !important; bottom: auto !important; }

#sa-widget .sa-widget__trigger {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  inline-size: 58px !important;
  block-size: 58px !important;
  min-inline-size: 44px !important;
  min-block-size: 44px !important;
  margin: 0 !important;
  padding: 8px !important;
  overflow: hidden !important;
  border: 3px solid #ffffff !important;
  border-radius: 50% !important;
  color: #ffffff !important;
  background: var(--sa-widget-colour, #0a2472) !important;
  box-shadow: 0 3px 12px rgba(0, 0, 0, .32) !important;
  cursor: pointer !important;
}
#sa-widget .sa-widget__accessibility-icon {
  display: block !important;
  inline-size: 32px !important;
  block-size: 32px !important;
  min-inline-size: 0 !important;
  min-block-size: 0 !important;
  fill: currentColor !important;
}

#sa-widget .sa-widget__dialog[hidden] { display: none !important; }
#sa-widget .sa-widget__dialog {
  position: absolute !important;
  right: 0 !important;
  bottom: 70px !important;
  display: block !important;
  inline-size: min(22rem, calc(100vw - 24px)) !important;
  min-inline-size: min(19rem, calc(100vw - 24px)) !important;
  max-inline-size: calc(100vw - 24px) !important;
  max-block-size: calc(100vh - 92px) !important;
  overflow: auto !important;
  color: #1a1a1a !important;
  background: #ffffff !important;
  border: 2px solid #003f72 !important;
  border-radius: 8px !important;
  box-shadow: 0 12px 32px rgba(0, 0, 0, .3) !important;
}
#sa-widget.sa-widget--bottom-left .sa-widget__dialog,
#sa-widget.sa-widget--top-left .sa-widget__dialog { right: auto !important; left: 0 !important; }
#sa-widget.sa-widget--top-right .sa-widget__dialog,
#sa-widget.sa-widget--top-left .sa-widget__dialog { top: 70px !important; bottom: auto !important; }

#sa-widget .sa-widget__header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 14px 16px !important;
  color: #ffffff !important;
  background: var(--sa-widget-colour, #0a2472) !important;
}
#sa-widget .sa-widget__header h2 { margin: 0 !important; padding: 0 !important; color: #ffffff !important; background: transparent !important; font-size: 1rem !important; font-weight: 700 !important; line-height: 1.3 !important; }
#sa-widget .sa-widget__close {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 44px !important;
  inline-size: 44px !important;
  block-size: 44px !important;
  min-inline-size: 44px !important;
  min-block-size: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 2px solid transparent !important;
  border-radius: 4px !important;
  color: #ffffff !important;
  background: transparent !important;
  font: inherit !important;
  font-size: 1.75rem !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  cursor: pointer !important;
}

#sa-widget .sa-widget__body { margin: 0 !important; padding: 16px !important; background: #ffffff !important; }
#sa-widget .sa-widget__body fieldset { min-inline-size: 0 !important; margin: 0 0 16px !important; padding: .35rem .6rem .6rem !important; border: 1px solid #595959 !important; }
#sa-widget .sa-widget__body legend { max-inline-size: 100% !important; padding: 0 4px !important; color: #1a1a1a !important; font-size: 1.25rem !important; font-weight: 700 !important; line-height: 1.3 !important; }
#sa-widget .sa-widget__buttons { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; padding: 8px 0 0 !important; }
#sa-widget .sa-widget__buttons button,
#sa-widget .sa-widget__footer button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-block-size: 44px !important;
  margin: 0 !important;
  padding: 7px 10px !important;
  border: 2px solid #595959 !important;
  border-radius: 4px !important;
  color: #1a1a1a !important;
  background: #ffffff !important;
  font: inherit !important;
  font-size: .9375rem !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  cursor: pointer !important;
}
#sa-widget .sa-widget__buttons button[aria-pressed="true"] { color: #ffffff !important; background: #003f72 !important; border-color: #003f72 !important; }
#sa-widget .sa-widget__toggle { display: flex !important; align-items: flex-start !important; gap: 10px !important; margin: 12px 0 !important; padding: 0 !important; color: #1a1a1a !important; background: transparent !important; font-size: .9375rem !important; line-height: 1.5 !important; }
#sa-widget .sa-widget__toggle input { flex: 0 0 auto !important; inline-size: 20px !important; block-size: 20px !important; min-inline-size: 20px !important; min-block-size: 20px !important; margin: 2px 0 0 !important; padding: 0 !important; }
#sa-widget .sa-widget__footer { display: flex !important; flex-wrap: wrap !important; align-items: center !important; gap: 12px !important; margin: 0 !important; padding: 14px 16px !important; color: #1a1a1a !important; background: #ffffff !important; border-top: 1px solid #595959 !important; }
#sa-widget .sa-widget__footer a { display: inline !important; color: #003f72 !important; background: transparent !important; font-size: .9375rem !important; font-weight: 700 !important; line-height: 1.5 !important; text-decoration: underline !important; text-decoration-thickness: 2px !important; text-underline-offset: .12em !important; }

@media (max-width: 360px) {
  #sa-widget .sa-widget__dialog { inline-size: calc(100vw - 24px) !important; min-inline-size: 0 !important; }
  #sa-widget .sa-widget__header,
  #sa-widget .sa-widget__body,
  #sa-widget .sa-widget__footer { padding-inline: 12px !important; }
}

/* v2.3.0 cache-busting release */

/* v2.5.0 deployment lock: the client and the server both force this position. */
#sa-widget.sa-widget {
  top: max(12px, env(safe-area-inset-top)) !important;
  left: max(12px, env(safe-area-inset-left)) !important;
  right: auto !important;
  bottom: auto !important;
}
