/* ============================================================================
   AUSTRALIAN DEATH CHECK (ADC) -- section styles
   Aligned to the Global Data "Emerald" system used across the home, Caspar,
   IDfex, ID Pass and WatchEye pages.
   Canonical tokens: primary #13ec80 / dark #0eb561 / accessible green #047857
   Font: Manrope / Icons: Material Symbols Outlined
   The authentic ADC product chrome (white top bar, ADC green wordmark, green
   active tab, blue Search button, RED information icon) is preserved ONLY inside
   the device mockups -- sampled from the real ADC portal screenshots.
   Scoped under .adc so it can be enqueued alongside the ACF template safely.
   ============================================================================ */

.adc{
  --ad-primary:#13ec80;        /* bright accent -- fills, dots, glows, button bg */
  --ad-primary-dark:#0eb561;   /* hover */
  --ad-green:#047857;          /* accessible green text */
  --ad-green-700:#065f46;
  --ad-green-soft:#ecfdf5;     /* emerald-50 tint */
  --ad-green-line:#a7f3d0;     /* emerald-200 */
  --ad-ink:#0f172a;            /* slate-900 headings */
  --ad-body:#475569;           /* slate-600 body */
  --ad-muted:#64748b;          /* slate-500 */
  --ad-faint:#94a3b8;          /* slate-400 */
  --ad-line:#e2e8f0;           /* slate-200 */
  --ad-line-soft:#eef2f7;
  --ad-surface:#ffffff;
  --ad-surface-2:#f8fafc;      /* slate-50 */
  --ad-surface-3:#f1f5f9;      /* slate-100 */
  /* authentic ADC product chrome (from real portal screenshots) */
  --ad-brand-green:#1aa35c;    /* dashboard active-tab / ADC wordmark green */
  --ad-brand-blue:#3b82f6;     /* portal Search button blue */
  --ad-brand-blue-d:#2563eb;
  --ad-brand-link:#2f6fed;     /* portal link blue (tab text, order numbers) */
  --ad-portal-bg:#eef1f5;      /* light-grey portal workspace */
  --ad-info:#e11d48;           /* the RED info icon (per ADC user guide) */
  --ad-teal:#0f766e;           /* "Check" teal in the wordmark logo */
}

/* ---- glass + shadows ---- */
.adc .ad-soft{ box-shadow:0 4px 20px -2px rgba(15,23,42,.06); }
.adc .ad-glow{ box-shadow:0 0 16px rgba(19,236,128,.35); }
.adc .ad-browser{ box-shadow:0 25px 50px -12px rgba(15,23,42,.18); }
.adc.ad-hero-mesh{ background-color:#fff; background-image:radial-gradient(circle at top left,rgba(19,236,128,.16),transparent 48%),radial-gradient(circle at 12% 8%,rgba(4,120,87,.08),transparent 40%); }

/* ---- standardized brand badge / eyebrow (matches CTA pill across the site) ---- */
.adc .ad-badge{
  display:inline-flex; align-items:center; gap:8px;
  font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase;
  color:var(--ad-green-700); background:var(--ad-green-soft);
  padding:7px 14px; border-radius:100px; border:1px solid var(--ad-green-line);
}
.adc .ad-badge .material-symbols-outlined{ font-size:15px; }
.adc .ad-badge .ad-dot{ width:7px; height:7px; border-radius:50%; background:var(--ad-primary); box-shadow:0 0 0 0 rgba(19,236,128,.55); animation:ad-pulse 1.8s infinite; }
@keyframes ad-pulse{ 0%{box-shadow:0 0 0 0 rgba(19,236,128,.55)} 70%{box-shadow:0 0 0 7px rgba(19,236,128,0)} 100%{box-shadow:0 0 0 0 rgba(19,236,128,0)} }

/* ---- buttons (system: bright green bg, dark text) ---- */
.adc .ad-btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; cursor:pointer;
  font-family:inherit; font-weight:700; font-size:14.5px; line-height:1; border:1px solid transparent; border-radius:12px;
  padding:13px 22px; transition:transform .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s,background .2s,color .2s; white-space:nowrap; text-decoration:none; }
.adc .ad-btn .material-symbols-outlined{ font-size:18px; }
.adc .ad-btn-primary{ background:var(--ad-primary); color:#06281a; box-shadow:0 8px 22px -8px rgba(19,236,128,.6); }
.adc .ad-btn-primary:hover{ background:var(--ad-primary-dark); transform:translateY(-2px); box-shadow:0 14px 30px -8px rgba(19,236,128,.7); }
.adc .ad-btn-ghost{ background:rgba(255,255,255,.85); border-color:var(--ad-line); color:var(--ad-green-700); }
.adc .ad-btn-ghost:hover{ background:#fff; transform:translateY(-2px); box-shadow:0 4px 20px -2px rgba(15,23,42,.06); }
.adc .ad-btn-dark{ background:#0b1220; color:#fff; }
.adc .ad-btn-dark:hover{ background:#161f33; transform:translateY(-2px); }
.adc .ad-btn-on-dark{ background:#fff; color:#06281a; }
.adc .ad-btn-on-dark:hover{ background:var(--ad-primary); transform:translateY(-2px); }
.adc .ad-btn-ghost-on-dark{ background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.25); color:#fff; }
.adc .ad-btn-ghost-on-dark:hover{ background:rgba(255,255,255,.16); transform:translateY(-2px); }

/* ---- generic cards ---- */
.adc .ad-card{ background:rgba(255,255,255,.8); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); border:1px solid rgba(255,255,255,.6); box-shadow:0 4px 20px -2px rgba(15,23,42,.06); transition:transform .3s ease, box-shadow .3s ease; }
.adc .ad-card-hover:hover{ transform:translateY(-4px); box-shadow:0 18px 40px -12px rgba(15,23,42,.16); }
.adc .ad-ico{ width:52px; height:52px; border-radius:15px; display:flex; align-items:center; justify-content:center; background:var(--ad-green-soft); border:1px solid var(--ad-green-line); color:var(--ad-green); }
.adc .ad-ico .material-symbols-outlined{ font-size:26px; }
.adc .ad-ico-sm{ width:46px; height:46px; border-radius:13px; display:flex; align-items:center; justify-content:center; background:var(--ad-green-soft); border:1px solid var(--ad-green-line); color:var(--ad-green); }
.adc .ad-ico-sm .material-symbols-outlined{ font-size:23px; }

/* ---- chips / status ---- */
.adc .ad-chip{ display:inline-flex; align-items:center; gap:5px; font-size:11px; font-weight:700; padding:4px 10px; border-radius:100px; }
.adc .ad-chip-pass{ background:var(--ad-green-soft); color:var(--ad-green-700); }
.adc .ad-chip-info{ background:rgba(47,111,237,.10); color:var(--ad-brand-link); }
.adc .ad-chip-warn{ background:#fef3c7; color:#b45309; }
.adc .ad-chip-match{ background:#ffe4e6; color:#be123c; }

/* ============================================================================
   AUTHENTIC ADC PRODUCT CHROME -- only inside device mockups
   (sampled from the real ADC portal: white top bar, ADC green wordmark, green
   active tab + blue inactive tabs, light-grey workspace, blue Search button,
   RED information icon per the user guide)
   ============================================================================ */
.adc .ad-portal{ background:var(--ad-portal-bg); }
.adc .ad-topbar{ background:#ffffff; color:var(--ad-ink); border-bottom:1px solid var(--ad-line); }
.adc .ad-wordmark{ font-weight:800; letter-spacing:-.01em; color:var(--ad-brand-green); }
.adc .ad-tab{ color:var(--ad-brand-link); font-weight:600; border-radius:8px; white-space:nowrap; border:1px solid var(--ad-line); background:#fff; display:inline-flex; align-items:center; gap:5px; }
.adc .ad-tab.active{ background:var(--ad-brand-green); color:#fff; border-color:var(--ad-brand-green); box-shadow:0 2px 6px rgba(26,163,92,.3); }
/* small wordmark lockup used on the right of the portal top bar */
.adc .ad-lockup{ display:flex; align-items:center; gap:6px; }
.adc .ad-lockup .ad-lk-check{ width:22px; height:22px; border-radius:50%; border:2px solid var(--ad-teal); display:flex; align-items:center; justify-content:center; color:var(--ad-teal); }
.adc .ad-lockup .ad-lk-check .material-symbols-outlined{ font-size:15px; font-variation-settings:'wght' 700; }
.adc .ad-lockup .ad-lk-sup{ font-size:7px; letter-spacing:.16em; font-weight:700; color:var(--ad-muted); line-height:1; }
.adc .ad-lockup .ad-lk-main{ font-size:13px; font-weight:800; line-height:1; color:var(--ad-ink); }
.adc .ad-lockup .ad-lk-main .tl{ color:var(--ad-teal); }

/* RED info icon (ADC's signature) */
.adc .ad-info{ width:18px; height:18px; border-radius:50%; background:var(--ad-info); color:#fff; display:inline-flex; align-items:center; justify-content:center; font-weight:800; font-style:italic; font-size:11px; line-height:1; box-shadow:0 1px 3px rgba(225,29,72,.4); flex:none; }
.adc .ad-info.lg{ width:22px; height:22px; font-size:13px; }

/* portal buttons inside mockups */
.adc .ad-search-btn{ background:var(--ad-brand-blue); color:#fff; }
.adc .ad-load-btn{ background:var(--ad-brand-blue); color:#fff; }
.adc .ad-th{ background:#e8eef6; color:#3f5673; font-size:9px; text-transform:uppercase; letter-spacing:.04em; font-weight:700; }
.adc .ad-info-banner{ background:#e9f5ee; border:1px solid #c9ead6; }

/* portal form bits inside mockups */
.adc .ad-portal-input{ border:1px solid var(--ad-line); border-radius:6px; padding:8px 11px; font-size:13px; width:100%; background:#fff; color:var(--ad-ink); outline:none; }
.adc .ad-portal-input:focus{ border-color:var(--ad-brand-blue); box-shadow:0 0 0 3px rgba(59,130,246,.12); }
.adc .ad-portal-label{ font-size:11px; color:var(--ad-brand-link); margin-bottom:4px; display:block; font-weight:600; }

/* deceased status pills inside mockups */
.adc .ad-ping{ width:16px; height:16px; border-radius:5px; display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--ad-line); }
.adc .ad-ping .material-symbols-outlined{ font-size:12px; }
.adc .ad-ping-clear{ background:var(--ad-green-soft); border-color:var(--ad-green-line); color:var(--ad-green); }
.adc .ad-ping-match{ background:#ffe4e6; border-color:#fecdd3; color:#be123c; }

/* ---- report swing-in panel (the red info icon -> Record Detail) ---- */
.adc .ad-report{ transform:translateX(20px); opacity:0; transition:transform .6s cubic-bezier(.22,.8,.18,1), opacity .5s ease; }
.adc .ad-report.is-in{ transform:translateX(0); opacity:1; }

/* hero scanner sweep (uses ADC red) */
.adc .ad-hero-scan{ position:absolute; left:0; right:0; top:0; height:100%; opacity:0; z-index:20; pointer-events:none;
  background:linear-gradient(to bottom,transparent,rgba(225,29,72,.08) 50%,var(--ad-info) 100%); border-bottom:2px solid var(--ad-info); transform:translateY(-100%); }
.adc .ad-hero-scan.run{ animation:ad-heroScan 1.5s ease-in-out; }
@keyframes ad-heroScan{ 0%{transform:translateY(-100%);opacity:0} 10%{opacity:1} 90%{opacity:1} 100%{transform:translateY(100%);opacity:0} }

/* ---- bar / progress ---- */
.adc .ad-bar-track{ background:rgba(19,236,128,.18); border-radius:3px; overflow:hidden; }
.adc .ad-bar-fill{ height:100%; background:var(--ad-primary); transition:width .7s cubic-bezier(.2,.8,.2,1); }

/* ---- how-it-works scrollytelling screens ---- */
.adc .ad-screen{ opacity:0; transform:translateY(15px); transition:all .6s cubic-bezier(.4,0,.2,1); pointer-events:none; }
.adc .ad-screen.is-active{ opacity:1; transform:translateY(0); pointer-events:auto; }
.adc .ad-step{ transition:opacity .5s ease, transform .5s ease; }
.adc .ad-tl-icon{ transition:all .4s ease; }
.adc .ad-timeline-dot{ transition:all .4s ease; }

/* count-up stat */
.adc .ad-stat-num{ font-weight:800; letter-spacing:-.025em; color:var(--ad-primary); line-height:.92; }

/* terminal */
.adc .ad-cursor{ display:inline-block; width:7px; height:13px; background:rgba(255,255,255,.7); vertical-align:middle; margin-left:3px; animation:ad-blink 1s steps(2) infinite; }
@keyframes ad-blink{ 0%,49%{opacity:1} 50%,100%{opacity:0} }

/* reveal on scroll */
.adc .ad-reveal{ transition:opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1); }
/* hidden state is gated on a class the JS adds to <html> -- if the script never runs, content stays visible */
html.ad-anim .adc .ad-reveal:not(.in){ opacity:0; transform:translateY(24px); }
.adc .ad-reveal.in{ opacity:1; transform:none; }
.adc .ad-reveal.d1{ transition-delay:.08s } .adc .ad-reveal.d2{ transition-delay:.16s } .adc .ad-reveal.d3{ transition-delay:.24s }

/* faq */
.adc .ad-faq{ background:rgba(255,255,255,.8); backdrop-filter:blur(12px); border:1px solid rgba(255,255,255,.6); box-shadow:0 4px 20px -2px rgba(15,23,42,.06); }
.adc .ad-faq summary::-webkit-details-marker{ display:none; }
.adc .ad-faq summary{ list-style:none; }
.adc .ad-faq[open] .ad-faq-plus{ transform:rotate(45deg); }

