/*
 * ISBAT family system v1.
 *
 * This is a compatibility layer, not a global reset. Every selector is
 * scoped to a body class added only to search, service, project, knowledge
 * or product contexts.
 */

body.isbat-ds-v1 {
  --isbat-v1-red: #e30613;
  --isbat-v1-red-glow: rgba(227, 6, 19, .32);
  --isbat-v1-bg: #0a0f1a;
  --isbat-v1-bg-2: #0e1422;
  --isbat-v1-card: #131a2a;
  --isbat-v1-text: #ffffff;
  --isbat-v1-text-muted: #a8b2c5;
  --isbat-v1-border: rgba(255, 255, 255, .12);
  --isbat-v1-cyan: #2dd4ff;
  --isbat-v1-max: 1120px;
  --isbat-v1-reading: 760px;
  --isbat-v1-radius: 8px;
  --isbat-v1-font: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body.isbat-ds-v1 :where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--isbat-v1-cyan);
  outline-offset: 3px;
}

body.isbat-ds-v1 :where(img, video, iframe) {
  max-width: 100%;
}

body.isbat-ds-v1 :where(section, h2, h3, [id]) {
  scroll-margin-top: 96px;
}

/* Opt-in standard shell for future migrations. Existing content is not wrapped. */
body.isbat-family-v1 .isbat-family-shell-v1 {
  background: var(--isbat-v1-bg);
  color: var(--isbat-v1-text);
  font-family: var(--isbat-v1-font);
  line-height: 1.65;
}

body.isbat-family-v1 .isbat-family-shell-v1__wrap {
  width: min(calc(100% - 40px), var(--isbat-v1-max));
  margin-inline: auto;
}

body.isbat-family-v1 .isbat-family-shell-v1__hero,
body.isbat-family-v1 .isbat-family-shell-v1__section,
body.isbat-family-v1 .isbat-family-shell-v1__cta {
  padding-block: 64px;
}

body.isbat-family-v1 .isbat-family-shell-v1__hero {
  border-bottom: 1px solid var(--isbat-v1-border);
  background: var(--isbat-v1-bg-2);
}

body.isbat-family-v1 .isbat-family-shell-v1__breadcrumbs {
  margin-bottom: 28px;
}

body.isbat-family-v1 .isbat-family-shell-v1__breadcrumbs ol {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
  margin: 0;
  padding: 0;
  color: var(--isbat-v1-text-muted);
  font-size: .875rem;
  list-style: none;
}

body.isbat-family-v1 .isbat-family-shell-v1__breadcrumbs li:not(:last-child)::after {
  margin-left: 10px;
  color: var(--isbat-v1-text-muted);
  content: "/";
}

body.isbat-family-v1 .isbat-family-shell-v1__breadcrumbs a {
  color: var(--isbat-v1-text);
  text-underline-offset: 3px;
}

body.isbat-family-v1 .isbat-family-shell-v1__eyebrow {
  margin: 0 0 12px;
  color: var(--isbat-v1-cyan);
  font-size: .8125rem;
  font-weight: 800;
  text-transform: uppercase;
}

body.isbat-family-v1 .isbat-family-shell-v1 :where(h1, h2, h3) {
  margin-top: 0;
  color: var(--isbat-v1-text);
  font-family: var(--isbat-v1-font);
  font-weight: 800;
  letter-spacing: -.025em;
  line-height: 1.1;
  text-wrap: balance;
}

body.isbat-family-v1 .isbat-family-shell-v1 h1 {
  max-width: 18ch;
  margin-bottom: 20px;
  font-size: clamp(2.25rem, 1.65rem + 2.5vw, 4.5rem);
}

body.isbat-family-v1 .isbat-family-shell-v1__lede,
body.isbat-family-v1 .isbat-family-shell-v1__prose {
  max-width: var(--isbat-v1-reading);
  color: var(--isbat-v1-text-muted);
}

body.isbat-family-v1 .isbat-family-shell-v1__lede {
  margin: 0;
  font-size: 1.125rem;
}

body.isbat-family-v1 .isbat-family-shell-v1__section h2,
body.isbat-family-v1 .isbat-family-shell-v1__cta h2 {
  max-width: 24ch;
  margin-bottom: 18px;
  font-size: clamp(1.75rem, 1.5rem + 1vw, 2.75rem);
}

body.isbat-family-v1 .isbat-family-shell-v1__prose > :first-child {
  margin-top: 0;
}

body.isbat-family-v1 .isbat-family-shell-v1__prose > :last-child {
  margin-bottom: 0;
}

body.isbat-family-v1 .isbat-family-shell-v1__facts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 16px;
  margin: 32px 0 0;
  padding: 0;
  list-style: none;
}

body.isbat-family-v1 .isbat-family-shell-v1__facts li {
  padding: 18px;
  border: 1px solid var(--isbat-v1-border);
  border-radius: var(--isbat-v1-radius);
  background: var(--isbat-v1-card);
}

body.isbat-family-v1 .isbat-family-shell-v1__facts strong,
body.isbat-family-v1 .isbat-family-shell-v1__facts span {
  display: block;
}

body.isbat-family-v1 .isbat-family-shell-v1__facts span {
  margin-top: 4px;
  color: var(--isbat-v1-text-muted);
}

body.isbat-family-v1 .isbat-family-shell-v1__cta {
  border-top: 1px solid var(--isbat-v1-border);
  background: var(--isbat-v1-bg-2);
}

body.isbat-family-v1 .isbat-family-shell-v1__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 22px;
  border: 1px solid var(--isbat-v1-red);
  border-radius: var(--isbat-v1-radius);
  background: var(--isbat-v1-red);
  color: var(--isbat-v1-text);
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none;
}

body.isbat-family-v1 .isbat-family-shell-v1__cta .isbat-family-shell-v1__button {
  margin-top: 22px;
}

body.isbat-family-v1 .isbat-family-shell-v1__button:hover {
  box-shadow: 0 0 0 4px var(--isbat-v1-red-glow);
  color: var(--isbat-v1-text);
}

body.isbat-family-v1 .wp-block-button.isbat-family-shell-v1__button {
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

body.isbat-family-v1 .wp-block-button.isbat-family-shell-v1__button .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 22px;
  border: 1px solid var(--isbat-v1-red);
  border-radius: var(--isbat-v1-radius);
  background: var(--isbat-v1-red);
  color: var(--isbat-v1-text);
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none;
}

@media (max-width: 640px) {
  body.isbat-family-v1 .isbat-family-shell-v1__wrap {
    width: min(calc(100% - 32px), var(--isbat-v1-max));
  }

  body.isbat-family-v1 .isbat-family-shell-v1__hero,
  body.isbat-family-v1 .isbat-family-shell-v1__section,
  body.isbat-family-v1 .isbat-family-shell-v1__cta {
    padding-block: 48px;
  }

  body.isbat-family-v1 .isbat-family-shell-v1__button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.isbat-ds-v1 *,
  body.isbat-ds-v1 *::before,
  body.isbat-ds-v1 *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}
