/*
Theme Name: Revudit
Theme URI: https://revudit.com/
Author: Revudit
Description: Evidence Lab child block theme for the Revudit Phase 3 foundation.
Version: 0.1.1
Template: twentytwentyfive
Text Domain: revudit
Requires at least: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
*/

@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url("assets/fonts/Manrope-VariableFont_wght.woff2") format("woff2");
}

:root {
  --revudit-ink: #14213d;
  --revudit-ink-raised: #203152;
  --revudit-signal: #b93822;
  --revudit-signal-hover: #8f2c1b;
  --revudit-paper: #f7f3ea;
  --revudit-paper-raised: #ffffff;
  --revudit-paper-muted: #f1e9da;
  --revudit-text: #101828;
  --revudit-text-secondary: #475467;
  --revudit-link: #174ea6;
  --revudit-focus: #e3a008;
  --revudit-border: #98a2b3;
  --revudit-radius: .75rem;
  --revudit-shadow: 0 12px 40px rgba(20, 33, 61, .09);
}

html { scroll-behavior: smooth; }
body { background: var(--revudit-paper); color: var(--revudit-text); }
img, svg { max-width: 100%; height: auto; }
a { text-underline-offset: .18em; text-decoration-thickness: .08em; }
a:hover { text-decoration-thickness: .13em; }
:where(a, button, input, select, textarea, summary):focus-visible {
  outline: .2rem solid var(--revudit-focus);
  outline-offset: .2rem;
}

.revudit-skip-link {
  background: var(--revudit-paper-raised);
  color: var(--revudit-ink);
  left: 1rem;
  padding: .75rem 1rem;
  position: fixed;
  top: -8rem;
  z-index: 100000;
}
.revudit-skip-link:focus { top: 1rem; }

.revudit-site-header { border-bottom: 1px solid #d0d5dd; }
.revudit-header-inner, .revudit-site-footer > .wp-block-group {
  margin-inline: auto;
  max-width: 90rem;
  padding-inline: clamp(1rem, 3vw, 2rem);
}
.revudit-wordmark img { display: block; width: 10.5rem; }
.revudit-site-footer { background: var(--revudit-ink); color: #fff; }
.revudit-site-footer a { color: #fff; }
.revudit-footer-labels { color: #d0d5dd; gap: .6rem 1.25rem; }

.revudit-shell { margin-inline: auto; max-width: 90rem; padding-inline: clamp(1rem, 3vw, 2rem); }
.revudit-content { max-width: 46rem; }
.revudit-section { padding-block: clamp(3rem, 8vw, 6rem); }
.revudit-kicker, .revudit-mono {
  font-family: "Fira Code", Consolas, monospace;
  font-size: .8125rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.revudit-kicker { color: var(--revudit-signal); }
.revudit-lede { color: var(--revudit-text-secondary); font-size: 1.125rem; max-width: 42rem; }
.revudit-meta { color: var(--revudit-text-secondary); font-size: .875rem; }
.revudit-rule { border-top: 2px solid var(--revudit-ink); }

.revudit-hero { background: var(--revudit-ink); color: #fff; overflow: hidden; }
.revudit-hero .revudit-kicker { color: #f4b7aa; }
.revudit-hero h1.wp-block-heading,
.revudit-hero h2.wp-block-heading,
.revudit-hero h3.wp-block-heading { color: #fff !important; }
.revudit-hero p { color: #e4e7ec; }
.revudit-hero-mark { border: 1px solid rgba(255,255,255,.28); border-radius: 1.25rem; padding: 2rem; }

.revudit-button .wp-block-button__link,
.wp-block-button.revudit-button .wp-block-button__link {
  background: var(--revudit-signal);
  border: 2px solid var(--revudit-signal);
  border-radius: .375rem;
  color: #fff;
  font-size: .9375rem;
  font-weight: 750;
  padding: .8rem 1.1rem;
}
.revudit-button .wp-block-button__link:hover { background: var(--revudit-signal-hover); border-color: var(--revudit-signal-hover); }
.revudit-button-secondary .wp-block-button__link { background: transparent; border-color: currentColor; color: inherit; }

.revudit-grid-2, .revudit-grid-3, .revudit-status-grid, .revudit-label-grid { display: grid; gap: 1rem; }
.revudit-card, .revudit-panel {
  background: var(--revudit-paper-raised);
  border: 1px solid #d0d5dd;
  border-radius: var(--revudit-radius);
  box-shadow: var(--revudit-shadow);
  padding: clamp(1.1rem, 3vw, 1.75rem);
}
.revudit-panel { box-shadow: none; }
.revudit-card h3, .revudit-panel h3 { margin-top: 0; }
.revudit-status-card { border-top: .35rem solid var(--revudit-ink); }
.revudit-blocked-card { border-top-color: #6941c6; }

.revudit-evidence, .revudit-result {
  align-items: center;
  border: 1px solid currentColor;
  border-radius: 999px;
  display: inline-flex;
  font-family: "Fira Code", Consolas, monospace;
  font-size: .75rem;
  font-weight: 700;
  gap: .35rem;
  line-height: 1.2;
  padding: .3rem .58rem;
  white-space: nowrap;
}
.revudit-evidence::before, .revudit-result::before { font-weight: 900; }
.revudit-observed { background: #e8f5ec; color: #166534; }
.revudit-observed::before { content: "●"; }
.revudit-calculated { background: #eef4ff; color: #1d4ed8; }
.revudit-calculated::before { content: "∑"; }
.revudit-vendor-stated { background: #ecfeff; color: #075985; }
.revudit-vendor-stated::before { content: "▣"; }
.revudit-blocked { background: #f1ecfe; color: #6941c6; }
.revudit-blocked::before { content: "■"; }
.revudit-not-tested { background: #eaecf0; color: #475467; }
.revudit-not-tested::before { content: "—"; }
.revudit-date-sensitive { background: #fff1e8; color: #9a3412; }
.revudit-date-sensitive::before { content: "◷"; }
.revudit-pass { background: #e8f5ec; color: #166534; }
.revudit-pass::before { content: "✓"; }
.revudit-partial { background: #fff3d6; color: #8a4b08; }
.revudit-partial::before { content: "◐"; }
.revudit-fail { background: #feecea; color: #b42318; }
.revudit-fail::before { content: "×"; }

.revudit-notice { border-left: .4rem solid var(--revudit-ink); padding: 1rem 1.25rem; }
.revudit-notice-warning { background: #fff1e8; border-left-color: #9a3412; }
.revudit-notice-blocked { background: #f1ecfe; border-left-color: #6941c6; }
.revudit-disclosure { background: var(--revudit-paper-muted); border-block: 1px solid #d0d5dd; padding: 1rem; }

.revudit-table-wrap { overflow-x: auto; }
.revudit-table { border-collapse: collapse; min-width: 38rem; width: 100%; }
.revudit-table th, .revudit-table td { border-bottom: 1px solid #d0d5dd; padding: .85rem; text-align: left; vertical-align: top; }
.revudit-table th { background: var(--revudit-paper-muted); color: var(--revudit-ink); }

.revudit-steps { counter-reset: revudit-step; }
.revudit-step { border-top: 1px solid #d0d5dd; padding-block: 1rem; }
.revudit-step::before {
  color: var(--revudit-signal);
  content: "0" counter(revudit-step);
  counter-increment: revudit-step;
  font-family: "Fira Code", Consolas, monospace;
  font-weight: 700;
}
.revudit-details { border-block: 1px solid #d0d5dd; padding-block: .9rem; }
.revudit-details summary { cursor: pointer; font-weight: 750; }
.revudit-placeholder { background: repeating-linear-gradient(135deg,#f7f3ea,#f7f3ea 10px,#f1e9da 10px,#f1e9da 20px); border: 1px dashed #667085; padding: 1.25rem; }
.revudit-updated { border-left: .25rem solid #1d4ed8; color: #344054; padding-left: .75rem; }

@media (min-width: 48rem) {
  .revudit-grid-2, .revudit-status-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .revudit-grid-3, .revudit-label-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 47.99rem) {
  .revudit-desktop-table { display: none; }
  .revudit-wordmark img { width: 8.5rem; }
}
@media (min-width: 48rem) { .revudit-mobile-stack { display: none; } }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Phase 6A: visible, keyboard-safe breadcrumb trail. */
.revudit-breadcrumb {
  color: var(--revudit-text-secondary);
  font-size: .875rem;
  padding-block: clamp(.8rem, 2vw, 1.2rem);
}
.revudit-breadcrumb ol {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  gap: .35rem .55rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.revudit-breadcrumb li {
  align-items: baseline;
  display: inline-flex;
  gap: .55rem;
  min-width: 0;
}
.revudit-breadcrumb li:not(:last-child)::after {
  color: var(--revudit-border);
  content: "/";
}
.revudit-breadcrumb a {
  color: var(--revudit-link);
}
.revudit-breadcrumb [aria-current="page"] {
  color: var(--revudit-text);
  font-weight: 700;
  overflow-wrap: anywhere;
}
