/*
Theme Name: Whole & Steady Child
Description: Presentation overrides for the Whole & Steady Divi implementation.
Author: Whole & Steady
Version: 0.1.5
Template: Divi
Text Domain: whole-steady-child
*/

/* BUILD-12: global design-system and accessibility foundations. */
body.et_divi_theme {
  background-color: var(--gcid-viwntagwq4, #f7f6f2);
  color: var(--gcid-wna5487i6d, #25292a);
  font-family: var(--gvid-rzla85e03h, "Source Sans 3", sans-serif);
  font-size: var(--gvid-mvp7qj4tcr, 18px);
  line-height: 1.6;
}

:where(.entry-content, .et_pb_text, .et_pb_post_content) a:not(.et_pb_button) {
  text-decoration-line: underline;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.15em;
}

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid var(--gcid-h9b54x2xbl, #ae563c);
  outline-offset: 3px;
  box-shadow: 0 0 0 2px var(--gcid-ucsyku6kol, #ffffff);
}

:where(input, select, textarea)[aria-invalid="true"],
.et_pb_contact_field.et_pb_contact_field_error :where(input, select, textarea) {
  border-color: var(--gcid-h9b54x2xbl, #ae563c);
  outline: 2px solid var(--gcid-h9b54x2xbl, #ae563c);
  outline-offset: 1px;
}

:where(.entry-content, .et_pb_post_content, .et_pb_image) img {
  max-width: 100%;
  height: auto;
  box-shadow: none;
  filter: none;
}

/* BUILD-14: guarded skip-link presentation; the header itself remains Divi-owned. */
.ws-skip-link {
  position: fixed;
  z-index: 100001;
  top: 0.5rem;
  left: 0.5rem;
  padding: 0.75rem 1rem;
  color: var(--gcid-ucsyku6kol, #ffffff);
  background: var(--gcid-wna5487i6d, #25292a);
  transform: translateY(-160%);
}

.ws-skip-link:focus { transform: translateY(0); }
@media (prefers-reduced-motion: reduce) { .ws-skip-link { transition: none; } }
