/*
  Macteck — 01 Tokens
  Couleurs, typographie, spacing et bases light/dark.
*/

:root {
  --mck-logo-dark: #121820;
  --mck-blue: #179ED9;
  --mck-orange: #EF5024;
  --mck-soft-white: #F2F4F7;

  --mck-bg: #F7F8FA;
  --mck-surface: #FFFFFF;
  --mck-surface-soft: #F2F4F7;
  --mck-border: #D9DEE5;

  --mck-text: #121820;
  --mck-text-secondary: #59636E;
  --mck-text-muted: #7C8793;
  --mck-text-inverse: #FFFFFF;

  --mck-bg-dark: #07111C;
  --mck-surface-dark: #0E1722;
  --mck-surface-dark-2: #132335;
  --mck-border-dark: #203144;
  --mck-text-dark: #F2F4F7;
  --mck-text-dark-secondary: #AEB6BF;

  --mck-success: #25B76B;
  --mck-warning: #F7A51D;
  --mck-danger: #E5484D;
  --mck-info: #179ED9;

  --mck-font-display: "Sora", "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --mck-font-body: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  --mck-site-max: 1440px;
  --mck-pad-desktop: 32px;
  --mck-pad-tablet: 24px;
  --mck-pad-mobile: 16px;

  --mck-radius-xs: 8px;
  --mck-radius-sm: 10px;
  --mck-radius-md: 14px;
  --mck-radius-lg: 22px;
  --mck-radius-xl: 32px;

  --mck-space-xs: clamp(8px, 0.4vw, 12px);
  --mck-space-sm: clamp(12px, 0.6vw, 16px);
  --mck-space-md: clamp(16px, 1vw, 24px);
  --mck-space-lg: clamp(24px, 1.8vw, 40px);
  --mck-space-xl: clamp(32px, 2.4vw, 56px);
  --mck-space-2xl: clamp(48px, 3vw, 80px);
  --mck-space-3xl: clamp(64px, 5vw, 128px);

  --mck-shadow-card: 0 14px 40px rgba(18, 24, 32, 0.08);
  --mck-shadow-soft: 0 18px 60px rgba(18, 24, 32, 0.10);
  --mck-shadow-dark: 0 24px 70px rgba(0, 0, 0, 0.38);
}

html[data-theme="dark"],
body.macteck-mode-dark {
  --mck-bg: var(--mck-bg-dark);
  --mck-surface: var(--mck-surface-dark);
  --mck-surface-soft: var(--mck-surface-dark-2);
  --mck-border: var(--mck-border-dark);

  --mck-text: var(--mck-text-dark);
  --mck-text-secondary: var(--mck-text-dark-secondary);
  --mck-text-muted: #8290A0;

  --mck-shadow-card: 0 18px 50px rgba(0, 0, 0, 0.30);
  --mck-shadow-soft: var(--mck-shadow-dark);
}

body.macteck-theme {
  background:
    radial-gradient(circle at top right, rgba(23, 158, 217, 0.08), transparent 34rem),
    var(--mck-bg);
  color: var(--mck-text);
  font-family: var(--mck-font-body);
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}

html[data-theme="dark"] body.macteck-theme,
body.macteck-theme.macteck-mode-dark {
  background:
    radial-gradient(circle at top right, rgba(23, 158, 217, 0.16), transparent 34rem),
    radial-gradient(circle at bottom left, rgba(239, 80, 36, 0.10), transparent 32rem),
    var(--mck-bg-dark);
}

.macteck-theme h1,
.macteck-theme h2,
.macteck-theme h3,
.macteck-theme h4,
.macteck-theme h5,
.macteck-theme h6 {
  color: var(--mck-text);
  font-family: var(--mck-font-display);
}

.macteck-theme h1 {
  font-size: clamp(44px, 5.4vw, 72px);
  line-height: 1.04;
  font-weight: 750;
  letter-spacing: -0.04em;
}

.macteck-theme h2 {
  font-size: clamp(34px, 4vw, 54px);
  line-height: 1.08;
  font-weight: 720;
  letter-spacing: -0.035em;
}

.macteck-theme h3 {
  font-size: clamp(26px, 2.5vw, 36px);
  line-height: 1.16;
  font-weight: 700;
  letter-spacing: -0.025em;
}

.macteck-theme h4 {
  font-size: clamp(22px, 2vw, 28px);
  line-height: 1.22;
  font-weight: 650;
  letter-spacing: -0.015em;
}

.macteck-theme h5 {
  font-size: 18px;
  line-height: 1.35;
  font-weight: 650;
}

.macteck-theme h6,
.macteck-theme .mck-eyebrow {
  color: var(--mck-blue);
  font-family: var(--mck-font-display);
  font-size: 13px;
  line-height: 1.4;
  font-weight: 750;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.macteck-theme p {
  color: var(--mck-text-secondary);
  font-size: 17px;
  line-height: 1.75;
}

.mck-container {
  width: min(var(--mck-site-max), calc(100% - var(--mck-pad-desktop) * 2));
  margin-inline: auto;
}

@media (max-width: 980px) {
  .mck-container {
    width: min(var(--mck-site-max), calc(100% - var(--mck-pad-tablet) * 2));
  }
}

@media (max-width: 680px) {
  .mck-container {
    width: calc(100% - var(--mck-pad-mobile) * 2);
  }
}
