/* Domain report critical cascade/a11y fixes. Loaded last on known reports. */
html[data-page="domain"] .sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

html[data-page="domain"] .pd-site-header {
  min-height: 64px !important;
  height: 64px !important;
  padding-block: 0 !important;
  overflow: visible !important;
}

html[data-page="domain"] .pd-site-header .pd-nav {
  height: 64px !important;
  min-height: 64px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
}

html[data-page="domain"] .pd-site-header .pd-brand,
html[data-page="domain"] .pd-site-header .pd-nav-toggle {
  align-self: center !important;
}

html[data-page="domain"] .pd-site-header .pd-brand img {
  display: block !important;
  width: auto !important;
  height: 36px !important;
  max-height: 36px !important;
}

html[data-page="domain"] .pd-site-header .pd-nav-toggle {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  padding: 0 !important;
  align-items: center !important;
  justify-content: center !important;
}

/* A failed reveal observer must never leave useful external reports invisible. */
html[data-page="domain"] .ev-grid-compact .ev-chip {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

html[data-page="domain"] .domain-copy-btn,
html[data-page="domain"] .share-btn,
html[data-page="domain"] .ftr-socials > a {
  min-width: 44px !important;
  min-height: 44px !important;
}

html[data-page="domain"] main .sec {
  content-visibility: auto;
  contain-intrinsic-size: auto 420px;
}

html[data-page="domain"] .intel-expand { display: none; }

/* The legacy polish bundle contains unscoped dark-only !important colors.
   Re-establish a complete, high-contrast light theme for the domain report. */
html[data-page="domain"][data-theme="light"] {
  color-scheme: light;
  --bg: #eef2f6;
  --bg2: #e5eaf0;
  --card: #ffffff;
  --card2: #f6f8fa;
  --text: #111827;
  --text2: #475569;
  --muted: #64748b;
  --border: rgba(15, 23, 42, .11);
  --border2: rgba(15, 23, 42, .19);
  --pd-bg-primary: #eef2f6;
  --pd-bg-card: #ffffff;
  --pd-bg-elevated: #f7f9fb;
  --pd-bg-glass: rgba(255, 255, 255, .9);
  --pd-bg-glass-subtle: rgba(255, 255, 255, .72);
  --pd-glass-strong: rgba(255, 255, 255, .94);
  --pd-text: #111827;
  --pd-text-secondary: #334155;
  --pd-text-muted: #475569;
  --pd-text-dim: #64748b;
  --pd-border: rgba(15, 23, 42, .12);
  --pd-border-hover: rgba(21, 128, 61, .32);
  --pdp-bg-0: #eef2f6;
  --pdp-bg-1: #e8edf2;
  --pdp-bg-2: #ffffff;
  --pdp-bg-3: #f7f9fb;
  --pdp-glass: rgba(255, 255, 255, .9);
  --pdp-glass-2: rgba(248, 250, 252, .96);
  --pdp-line: rgba(15, 23, 42, .11);
  --pdp-line-2: rgba(15, 23, 42, .18);
  --pdp-text: #111827;
  --pdp-text-mute: #475569;
  --pdp-text-dim: #64748b;
}

html[data-page="domain"][data-theme="light"] body {
  color: #111827 !important;
  background: #eef2f6 !important;
}

html[data-page="domain"][data-theme="light"] body::after,
html[data-page="domain"][data-theme="light"] .pd-grid-bg {
  opacity: .22 !important;
  mix-blend-mode: normal !important;
}

html[data-page="domain"][data-theme="light"] .pd-site-header {
  background: rgba(255, 255, 255, .92) !important;
  border-color: rgba(15, 23, 42, .12) !important;
  box-shadow: 0 7px 24px rgba(15, 23, 42, .07) !important;
}

html[data-page="domain"][data-theme="light"] .pd-nav-link:not(.active):not([aria-current]),
html[data-page="domain"][data-theme="light"] .pd-site-header nav a:not(.active):not([aria-current]) {
  color: #475569 !important;
}

html[data-page="domain"][data-theme="light"] .pd-nav-link:hover,
html[data-page="domain"][data-theme="light"] .pd-site-header nav a:hover {
  color: #166534 !important;
  background: rgba(21, 128, 61, .07) !important;
}

html[data-page="domain"][data-theme="light"] .pd-nav-toggle {
  color: #111827 !important;
  background: #ffffff !important;
  border-color: rgba(15, 23, 42, .18) !important;
}

html[data-page="domain"][data-theme="light"] :where(
  .hero,
  .sec,
  details.sec,
  .card,
  .stat,
  .shot,
  .intel-brief,
  .victim-box,
  .va,
  .ev-chip,
  .bl-item,
  .dns-item,
  .wb-card,
  .cta-box,
  .evidence-card,
  .tech-card,
  .perf-card,
  .embed-card,
  .ti-card
) {
  color: #111827 !important;
  background-color: #ffffff !important;
  border-color: rgba(15, 23, 42, .12) !important;
  box-shadow: 0 8px 28px rgba(15, 23, 42, .055) !important;
}

html[data-page="domain"][data-theme="light"] .hero,
html[data-page="domain"][data-theme="light"] .intel-brief {
  background-image: linear-gradient(145deg, #ffffff, #f8fafc) !important;
}

/* Higher specificity than late inline report polish blocks. */
html[data-page="domain"][data-theme="light"] body main.container section.hero h1.domain-copy {
  color: #111827 !important;
  background: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  -webkit-text-fill-color: #111827 !important;
  text-shadow: none !important;
}

html[data-page="domain"][data-theme="light"] body main.container section.hero .hero-sub,
html[data-page="domain"][data-theme="light"] body main.container section.hero .share-label {
  color: #475569 !important;
  -webkit-text-fill-color: #475569 !important;
}

html[data-page="domain"][data-theme="light"] body main.container section.hero .badges .badge,
html[data-page="domain"][data-theme="light"] body main.container section.hero .badges .b-muted {
  color: #334155 !important;
  background: #eef2f7 !important;
  border-color: rgba(15, 23, 42, .16) !important;
  -webkit-text-fill-color: #334155 !important;
  text-shadow: none !important;
}

html[data-page="domain"][data-theme="light"] body main.container section.hero .domain-copy-btn,
html[data-page="domain"][data-theme="light"] body main.container section.hero .share-btn {
  color: #475569 !important;
  background: #f8fafc !important;
  border-color: rgba(15, 23, 42, .16) !important;
}

html[data-page="domain"][data-theme="light"] .threat-banner {
  color: #111827 !important;
  background: linear-gradient(135deg, #fff7f7, #fffafa) !important;
  border-color: rgba(185, 28, 28, .25) !important;
}

html[data-page="domain"][data-theme="light"] .tb-title { color: #991b1b !important; }
html[data-page="domain"][data-theme="light"] .tb-sub { color: #334155 !important; }

html[data-page="domain"][data-theme="light"] :where(
  h1,
  h2,
  h3,
  h4,
  .domain-copy,
  .sec-title,
  .stat-value,
  .trow-value,
  .va-name,
  .ev-group-title,
  .intel-body,
  .intel-meta-value,
  .ftr-brand
) {
  color: #111827 !important;
  -webkit-text-fill-color: currentColor !important;
  text-shadow: none !important;
}

html[data-page="domain"][data-theme="light"] :where(
  p,
  .hero-sub,
  .tb-sub,
  .intel-body,
  .victim-text,
  .victim-msg-text,
  .va-desc,
  .trow-label,
  .stat-label,
  .intel-meta-label,
  .bread,
  .bread a,
  .ftr,
  .ftr a
) {
  color: #475569 !important;
}

html[data-page="domain"][data-theme="light"] :where(.badge, .b-muted, .ev-badge, .pd-chip) {
  color: #334155 !important;
  background-color: #f1f5f9 !important;
  border-color: rgba(15, 23, 42, .15) !important;
  text-shadow: none !important;
}

html[data-page="domain"][data-theme="light"] :where(input, select, textarea) {
  color: #111827 !important;
  background: #ffffff !important;
  border-color: rgba(15, 23, 42, .2) !important;
}

html[data-page="domain"][data-theme="light"] :where(input, textarea)::placeholder {
  color: #64748b !important;
}

html[data-page="domain"][data-theme="light"] a:not(.tb-cta):not(.report-btn):not(.pd-btn-primary) {
  color: #0e7490;
}

html[data-page="domain"][data-theme="light"] .ftr {
  background: #e5eaf0 !important;
  border-color: rgba(15, 23, 42, .12) !important;
}

/* WCAG AA: late inline styles use pale dark-theme colors with !important. */
html[data-page="domain"][data-theme="light"] body main.container h2,
html[data-page="domain"][data-theme="light"] body main.container h3,
html[data-page="domain"][data-theme="light"] body main.container summary.sec-title,
html[data-page="domain"][data-theme="light"] body main.container .sec-title {
  color: #1e293b !important;
  -webkit-text-fill-color: #1e293b !important;
  text-shadow: none !important;
}

html[data-page="domain"][data-theme="light"] body main.container .sec-title > i,
html[data-page="domain"][data-theme="light"] body main.container h2 > i {
  color: #15803d !important;
  -webkit-text-fill-color: #15803d !important;
}

html[data-page="domain"][data-theme="light"] body main.container .pd-coverage-label,
html[data-page="domain"][data-theme="light"] body main.container .pd-cov-val,
html[data-page="domain"][data-theme="light"] body main.container summary span {
  color: #475569 !important;
  -webkit-text-fill-color: #475569 !important;
}

html[data-page="domain"][data-theme="light"] body main.container a:not(:where(.badge, .ev-chip, .va, .pd-btn, .btn, .tb-cta, .report-btn, .era-btn, .cta-btn)) {
  color: #0e7490 !important;
  -webkit-text-fill-color: #0e7490 !important;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

html[data-page="domain"][data-theme="light"] body main.container a.cta-btn {
  color: #052e16 !important;
  -webkit-text-fill-color: #052e16 !important;
}

html[data-page="domain"][data-theme="light"] body main.container .bread a {
  color: #155e75 !important;
  -webkit-text-fill-color: #155e75 !important;
}

html[data-page="domain"][data-theme="light"] body > .container section > h2 {
  color: #1e293b !important;
  -webkit-text-fill-color: #1e293b !important;
  text-shadow: none !important;
}

html[data-page="domain"][data-theme="light"] body main.container .va-faq-badge {
  color: #991b1b !important;
  -webkit-text-fill-color: #991b1b !important;
}

html[data-page="domain"][data-theme="light"] body footer.ftr .ftr-tagline,
html[data-page="domain"][data-theme="light"] body footer.ftr .ftr-links-group a,
html[data-page="domain"][data-theme="light"] body footer.ftr .ftr-bar {
  color: #475569 !important;
  -webkit-text-fill-color: #475569 !important;
}

@media (max-width: 1199px) {
  html[data-page="domain"] body header#pd-header .pd-nav-list:not(.open) {
    display: none !important;
  }

  html[data-page="domain"] body header#pd-header .pd-nav-list.open {
    position: fixed !important;
    top: 64px !important;
    inset-inline: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 10px 20px 16px !important;
    max-height: calc(100vh - 76px) !important;
    overflow-y: auto !important;
    background: #070c12 !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, .1) !important;
    box-shadow: 0 20px 45px rgba(0, 0, 0, .35) !important;
    z-index: 10001 !important;
  }

  html[data-page="domain"] body header#pd-header .pd-nav-list.open > li {
    display: list-item !important;
  }

  html[data-page="domain"][data-theme="light"] body header#pd-header .pd-nav-list.open {
    background: #ffffff !important;
    border-color: rgba(15, 23, 42, .12) !important;
    box-shadow: 0 20px 45px rgba(15, 23, 42, .16) !important;
  }
}

@media (max-width: 600px) {
  html[data-page="domain"] .pd-site-header,
  html[data-page="domain"] .pd-site-header .pd-nav {
    min-height: 60px !important;
    height: 60px !important;
  }

  html[data-page="domain"] body header#pd-header .pd-nav-list.open { top: 60px !important; }
  html[data-page="domain"] .pd-site-header .pd-brand img { height: 30px !important; max-height: 30px !important; }

  html[data-page="domain"] .intel-body:not(.is-expanded) {
    position: relative;
    max-height: 19rem;
    overflow: hidden;
    mask-image: linear-gradient(to bottom, #000 72%, transparent 100%);
  }

  html[data-page="domain"] .intel-body.is-expanded {
    max-height: none;
    mask-image: none;
  }

  html[data-page="domain"] .intel-expand {
    grid-column: 1 / -1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    width: 100%;
    min-height: 44px;
    margin-top: 10px;
    color: var(--text);
    background: var(--card2);
    border: 1px solid var(--border2);
    border-radius: 9px;
    font-size: .8rem;
    font-weight: 750;
    cursor: pointer;
  }

  html[data-page="domain"] .intel-expand i { transition: transform .18s ease; }
  html[data-page="domain"] .intel-expand[aria-expanded="true"] i { transform: rotate(180deg); }

  html[data-page="domain"][data-theme="light"] .intel-expand {
    color: #1e293b !important;
    background: #f1f5f9 !important;
    border-color: rgba(15, 23, 42, .16) !important;
  }

  html[data-page="domain"] body footer.ftr > .container {
    padding: 26px 14px 0 !important;
  }

  html[data-page="domain"] body footer.ftr .ftr-top {
    display: flex !important;
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 16px !important;
    padding: 0 0 20px !important;
  }

  html[data-page="domain"] body footer.ftr .ftr-socials {
    display: flex !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
    max-width: none !important;
  }

  html[data-page="domain"] body footer.ftr .ftr-links {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 18px 14px !important;
    padding: 20px 0 !important;
  }

  html[data-page="domain"] body footer.ftr .ftr-links-group {
    display: grid !important;
    align-content: start !important;
    gap: 2px !important;
  }

  html[data-page="domain"] body footer.ftr .ftr-links-group:first-child {
    grid-column: 1 / -1 !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html[data-page="domain"] body footer.ftr .ftr-links-group a {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 38px !important;
    padding: 0 !important;
    font-size: .72rem !important;
    line-height: 1.25 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html[data-page="domain"] main .sec { content-visibility: visible; }
}
