/*!
 * Cronuts DS v3 — Editorial Track (scoped to .cd-corporate)
 * All tokens scoped to body class — zero :root collision with legacy main.css.
 * Spec: ADR-design-system-editorial-v3-2026-05-02.md
 * Last updated: 2026-05-02
 */

.cd-corporate {
  /* Typography family (scoped — does not override main.css :root --font-*) */
  --cd-font-display: 'Poppins', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --cd-font-body:    'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --cd-font-mono:    'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, monospace;
  --cd-ff-tabular:   "tnum" 1, "lnum" 1;
  --cd-ff-default:   "kern" 1, "liga" 1, "calt" 1;

  /* Spacing scale (4pt) */
  --cd-sp-1: 4px;
  --cd-sp-2: 8px;
  --cd-sp-3: 12px;
  --cd-sp-4: 16px;
  --cd-sp-5: 24px;
  --cd-sp-6: 32px;
  --cd-sp-7: 48px;
  --cd-sp-8: 64px;
  --cd-sp-9: 96px;
  --cd-sp-10: 128px;
  --cd-sp-11: 160px;

  /* Layout */
  --cd-container-max:   1200px;
  --cd-container-pad-x: clamp(20px, 4vw, 48px);

  /* Z-index (namespace cd- to avoid legacy --z-* collision) */
  --cd-z-base:    0;
  --cd-z-raised:  10;
  --cd-z-sticky:  100;
  --cd-z-overlay: 1000;
  --cd-z-modal:   2000;
  --cd-z-toast:   3000;

  /* Surfaces (editorial dark default) */
  --cd-bg:            #0A0A0B;
  --cd-bg-elev:       #131316;
  --cd-bg-elev-2:     #1C1C20;
  --cd-bg-elev-3:     #24242A;

  --cd-border:        #26262C;
  --cd-border-strong: #3A3A42;
  --cd-border-accent: var(--cd-red);

  /* Foreground (WCAG verified) */
  --cd-fg:          #F5F5F7;
  --cd-fg-muted:    #A1A1AA;
  --cd-fg-subtle:   #6B6B73;
  --cd-fg-disabled: #4A4A52;

  /* Accent */
  --cd-accent:       var(--cd-red);
  --cd-accent-hover: var(--cd-red-hover);
  --cd-accent-press: var(--cd-red-press);
  --cd-accent-fg:    #FFFFFF;
  --cd-accent-soft:  rgba(230, 36, 63, 0.12);
  --cd-accent-ring:  rgba(230, 36, 63, 0.40);

  /* Semantic */
  --cd-success: #10B981;
  --cd-warning: #F59E0B;
  --cd-danger:  #EF4444;
  --cd-info:    #3B82F6;

  /* Typography scale */
  --cd-fs-display-xl: clamp(48px, 6.5vw, 76px);
  --cd-fs-display-lg: clamp(38px, 5vw,   60px);
  --cd-fs-display-md: clamp(30px, 4vw,   48px);
  --cd-fs-h1:         clamp(28px, 3vw,   38px);
  --cd-fs-h2:         clamp(24px, 2.5vw, 30px);
  --cd-fs-h3:         20px;
  --cd-fs-h4:         18px;
  --cd-fs-body-lg:    18px;
  --cd-fs-body:       16px;
  --cd-fs-body-sm:    14px;
  --cd-fs-caption:    13px;
  --cd-fs-micro:      12px;

  --cd-lh-display: 1.05;
  --cd-lh-heading: 1.15;
  --cd-lh-body:    1.6;
  --cd-lh-tight:   1.3;

  --cd-ls-display: -0.03em;
  --cd-ls-heading: -0.02em;
  --cd-ls-body:     0em;
  --cd-ls-eyebrow:  0.1em;

  --cd-fw-regular:  400;
  --cd-fw-medium:   500;
  --cd-fw-semibold: 600;
  --cd-fw-bold:     700;

  /* Radii */
  --cd-r-xs:   4px;
  --cd-r-sm:   6px;
  --cd-r-md:   10px;
  --cd-r-lg:   16px;
  --cd-r-xl:   24px;
  --cd-r-2xl:  32px;
  --cd-r-full: 9999px;

  /* Elevation (hairline + shadow) */
  --cd-elev-0: none;
  --cd-elev-1: 0 1px 0 var(--cd-border);
  --cd-elev-2: 0 4px 12px rgba(0,0,0,.3), 0 1px 0 var(--cd-border);
  --cd-elev-3: 0 12px 32px rgba(0,0,0,.4), 0 1px 0 var(--cd-border-strong);
  --cd-elev-4: 0 24px 64px rgba(0,0,0,.5), 0 1px 0 var(--cd-border-strong);

  /* Motion */
  --cd-motion-instant: 80ms;
  --cd-motion-fast:    120ms;
  --cd-motion-base:    200ms;
  --cd-motion-slow:    400ms;
  --cd-motion-slower:  600ms;

  --cd-motion-ease-out:    cubic-bezier(0.16, 1, 0.3, 1);
  --cd-motion-ease-in:     cubic-bezier(0.7, 0, 0.84, 0);
  --cd-motion-ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --cd-motion-ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);

  /* Focus */
  --cd-focus-width:  2px;
  --cd-focus-offset: 3px;
  --cd-focus-color:  var(--cd-accent);
  --cd-focus-ring:   0 0 0 var(--cd-focus-offset) var(--cd-bg),
                     0 0 0 calc(var(--cd-focus-offset) + var(--cd-focus-width)) var(--cd-focus-color);

  /* Form */
  --cd-input-h:            52px;
  --cd-input-h-sm:         40px;
  --cd-input-pad-x:        16px;
  --cd-input-bg:           var(--cd-bg-elev);
  --cd-input-border:       var(--cd-border-strong);
  --cd-input-border-focus: var(--cd-accent);
  --cd-input-border-error: var(--cd-danger);

  /* Button */
  --cd-btn-h:     52px;
  --cd-btn-h-sm:  40px;
  --cd-btn-h-lg:  60px;
  --cd-btn-pad-x: 24px;
}

/* Light mode (B2B office settings) */
.cd-corporate[data-theme="light"] {
  --cd-bg:            #FAFAFA;
  --cd-bg-elev:       #FFFFFF;
  --cd-bg-elev-2:     #F4F4F6;
  --cd-bg-elev-3:     #EDEDF0;

  --cd-border:        #E4E4E8;
  --cd-border-strong: #D1D1D6;

  --cd-fg:          #0A0A0B;
  --cd-fg-muted:    #4A4A52;
  --cd-fg-subtle:   #6B6B73;
  --cd-fg-disabled: #A1A1AA;

  --cd-accent-soft: rgba(230,36,63,.08);

  --cd-elev-1: 0 1px 0 var(--cd-border);
  --cd-elev-2: 0 2px 8px rgba(10,10,11,.06), 0 1px 0 var(--cd-border);
  --cd-elev-3: 0 8px 24px rgba(10,10,11,.08), 0 1px 0 var(--cd-border-strong);
  --cd-elev-4: 0 16px 48px rgba(10,10,11,.12), 0 1px 0 var(--cd-border-strong);
}

/* Reduced-motion (a11y mandatory, scoped) */
@media (prefers-reduced-motion: reduce) {
  .cd-corporate,
  .cd-corporate *,
  .cd-corporate *::before,
  .cd-corporate *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}
