:root {
  --ppid-primary: #353d97;
  --ppid-primary-dark: #2f3779;
  --ppid-primary-darker: #252b63;
  --ppid-primary-soft: #eef0ff;
  --ppid-primary-light: #455bcb;
  --ppid-accent: #f67619;
  --ppid-accent-dark: #e7580f;
  --ppid-accent-light: #fbbb76;
  --ppid-surface: #f7f8fb;
  --ppid-surface-alt: #eef1f8;
  --ppid-surface-warm: #faefcf;
  --ppid-text: #37475c;
  --ppid-heading: #273449;
  --ppid-muted: #798ba5;
  --ppid-border: #e3e4e5;
  --ppid-danger: #dc2626;
  --ppid-success: #16a34a;
  --ppid-warning: #d97706;
  --ppid-radius: 20px;
  --ppid-radius-sm: 12px;
  --ppid-radius-pill: 999px;
  --ppid-shadow: 0 18px 50px rgba(30, 36, 84, 0.14);
  --ppid-shadow-sm: 0 8px 24px rgba(30, 36, 84, 0.09);
  --ppid-font-body: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;
  --ppid-font-heading: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;
  --ppid-container: 1200px;
  --ppid-nav-height: 76px;
  --ppid-gutter: 24px;
  --ppid-transition: 0.2s ease;
}

html:not([data-wp-dark-mode-active]) {
  color-scheme: light;
}

body.ppid-modern {
  font-family: var(--ppid-font-body);
  color: var(--ppid-text);
  background: var(--ppid-surface);
  -webkit-font-smoothing: antialiased;
}

body.ppid-modern button,
body.ppid-modern input,
body.ppid-modern select,
body.ppid-modern textarea,
body.ppid-modern .fusion-main-menu,
body.ppid-modern .widget {
  font-family: var(--ppid-font-body) !important;
}

body.ppid-modern h1,
body.ppid-modern h2,
body.ppid-modern h3,
body.ppid-modern h4,
body.ppid-modern h5,
body.ppid-modern h6,
body.ppid-modern .entry-title,
body.ppid-modern .fusion-title-heading {
  font-family: var(--ppid-font-heading);
  color: var(--ppid-heading);
  letter-spacing: -0.02em;
  font-weight: 700;
}

body.ppid-modern a {
  color: var(--ppid-primary);
  transition: color var(--ppid-transition), opacity var(--ppid-transition);
}

body.ppid-modern a:hover,
body.ppid-modern a:focus {
  color: var(--ppid-accent);
}

body.ppid-modern :focus-visible {
  outline: 2px solid var(--ppid-accent);
  outline-offset: 2px;
}
