/* Load after Elementor/widget CSS. Selectors are limited to audited site components. */
[data-bs-obsolete-skip] { display: none !important; }
.bs-skip-link {
  position: fixed !important;
  inset: 8px auto auto 8px !important;
  z-index: 2147483000;
  max-width: calc(100vw - 24px);
  padding: 12px 18px;
  border: 3px solid #092522;
  border-radius: 4px;
  background: #fff;
  color: #092522 !important;
  font: 700 16px/1.4 Manrope, "Segoe UI", Arial, sans-serif;
  text-decoration: underline !important;
  transform: translateY(calc(-100% - 16px));
}
.bs-skip-link:focus { transform: none; outline: 3px solid #fff; outline-offset: 2px; }
[data-bs-main] { scroll-margin-top: var(--bs-focus-top, 128px); }
[data-bs-main] :is([id], a, button, input, select, textarea, summary, [tabindex]) {
  scroll-margin-top: var(--bs-focus-top, 128px);
}
[data-bs-main]:focus { outline: 3px solid #16715d; outline-offset: -3px; }
#bd-contact .bd-contact-form :is(input, textarea, select).elementor-field-textual:focus-visible,
:is([data-bs-main], #st-site-nav, #brochocki-footer) :is(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid #092522 !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 6px #fff !important;
}
/* App card clips overflow: keep its focus indicator inside the clicked row/panel. */
#bdx-apps-demo :is(.bdx-record, .bdx-view):focus-visible {
  outline: 3px solid #16715d !important;
  outline-offset: -3px !important;
  box-shadow: none !important;
}
#bd-contact .bd-contact-form :is(input, textarea, select).elementor-field-textual,
#bdx-apps-demo .bdx-toolbar :is(input, select) {
  border-color: #63746b !important;
}
#bd-contact .bd-contact-form :is(input, textarea, select).elementor-field-textual:hover,
#bdx-apps-demo .bdx-toolbar :is(input, select):hover {
  border-color: #52645b !important;
}
#bd-contact .bd-contact-form :is(input, textarea, select).elementor-field-textual:focus,
#bdx-apps-demo .bdx-toolbar :is(input, select):focus {
  border-color: #16715d !important;
}
#bd-contact .bd-contact-form [aria-invalid="true"].elementor-field-textual {
  border-color: #ac342f !important;
}
#bd-contact .bs-field-hint {
  width: 100%;
  margin: 7px 0 0;
  color: #53645b;
  font: 400 13px/1.6 Manrope, "Segoe UI", Arial, sans-serif;
}
/* Proposed addition to site-care/accessibility.css, before its forced-colors block.
   Controls are scoped to the website/shop calculators and application brief.
   Keep the existing focus-visible outline and shadow; change only field borders.
   Important is required because widget style elements follow stylesheet links. */
@media (forced-colors: none) {
  #bdp-websites #bdp-languages,
  #bdp-websites .bdp-notes input,
  #bdp-websites .bdp-notes textarea,
  #bds-shops #bds-languages,
  #bds-shops .bds-notes input,
  #bds-shops .bds-notes textarea,
  #bdb-apps-brief textarea,
  #bdb-apps-brief select {
    border-color: #63746b !important;
  }
  #bdp-websites #bdp-languages:focus,
  #bdp-websites .bdp-notes input:focus,
  #bdp-websites .bdp-notes textarea:focus,
  #bds-shops #bds-languages:focus,
  #bds-shops .bds-notes input:focus,
  #bds-shops .bds-notes textarea:focus,
  #bdb-apps-brief textarea:focus,
  #bdb-apps-brief select:focus {
    border-color: #16715d !important;
  }
}

/* Proposed site-care/accessibility.css addition; published native WP pages only.
   --bs-focus-top is measured by the existing helper from header/adminbar bounds.
   The fallback also leaves space when JS has not initialized. */
:is(body.page-id-3, body.page-id-9338) {
  background: #f4f5f0;
  color: #092522;
}
:is(body.page-id-3, body.page-id-9338) #content.site-main {
  box-sizing: border-box;
  width: calc(100% - 40px);
  max-width: 860px;
  margin: 0 auto;
  padding: calc(var(--bs-focus-top, 128px) + 24px) 0 72px;
  color: #092522;
  font: 400 17px/1.75 Manrope, "Segoe UI", Arial, sans-serif;
  overflow-wrap: anywhere;
}
:is(body.page-id-3, body.page-id-9338) #content .page-header {
  margin: 0 0 28px;
}
:is(body.page-id-3, body.page-id-9338) #content .entry-title {
  margin: 0;
  color: #092522;
  font: 600 clamp(30px, 4.5vw, 44px)/1.2 Manrope, "Segoe UI", Arial, sans-serif;
  letter-spacing: -.025em;
}
:is(body.page-id-3, body.page-id-9338) #content :is(h2, h3) {
  margin: 32px 0 14px;
  color: #092522;
  line-height: 1.35;
}
:is(body.page-id-3, body.page-id-9338) #content .bd-legal-policy p {
  margin: 0 0 18px;
}
:is(body.page-id-3, body.page-id-9338) #content .muted {
  color: #53645b;
  font-size: 14px;
}
:is(body.page-id-3, body.page-id-9338) #content :is(a, a:visited) {
  color: #125f4e;
  text-decoration: underline;
  text-underline-offset: .15em;
}
:is(body.page-id-3, body.page-id-9338) #content a:hover {
  color: #092522;
}
/* The published document already has a labeled, focusable scroll wrapper.
   Keep native table semantics; never set table display:block. */
:is(body.page-id-3, body.page-id-9338) #content .table-scroll {
  width: 100%;
  max-width: 100%;
  margin: 24px 0;
  overflow-x: auto;
  overscroll-behavior-x: contain;
}
:is(body.page-id-3, body.page-id-9338) #content table {
  width: 100%;
  min-width: 640px;
  border-collapse: collapse;
  font: inherit;
  color: inherit;
}
:is(body.page-id-3, body.page-id-9338) #content :is(th, td) {
  padding: 12px;
  border: 1px solid #b9c9bf;
  vertical-align: top;
  text-align: left;
}
:is(body.page-id-3, body.page-id-9338) #content thead th {
  background: #e7eee5;
}
:is(body.page-id-3, body.page-id-9338) #content caption {
  padding: 0 0 12px;
  color: #092522;
  font-weight: 600;
  text-align: left;
}
@media (max-width: 600px) {
  :is(body.page-id-3, body.page-id-9338) #content.site-main {
    width: calc(100% - 32px);
    padding-top: calc(var(--bs-focus-top, 112px) + 20px);
    font-size: 16px;
  }
}

@media (forced-colors: active) {
  .bs-skip-link { border-color: CanvasText; background: Canvas; color: LinkText !important; }
  :is([data-bs-main], #st-site-nav, #brochocki-footer) :is(a, button, input, select, textarea, summary, [tabindex]):focus-visible,
  [data-bs-main]:focus { outline-color: Highlight !important; box-shadow: none !important; }
}
