/*!
 * Pricing Table Master — themes.css
 * Every color, radius and shadow in the pack comes from these variables.
 *
 *  Accent themes:  data-pt-theme="indigo | emerald | rose | amber | sky | violet | slate | ocean"
 *  Color mode:     data-pt-mode="light | dark"
 *
 *  Both attributes work on <html> (whole page) or on any wrapper (one section).
 *  Example: <section class="pt-pricing" data-pt-theme="emerald" data-pt-mode="dark">
 */

/* ---------- Fonts (self-hosted, SIL Open Font License) ---------- */
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("../fonts/inter-latin.woff2") format("woff2");
}
@font-face {
  font-family: "Plus Jakarta Sans";
  font-style: normal;
  font-weight: 500 800;
  font-display: swap;
  src: url("../fonts/plus-jakarta-sans-latin.woff2") format("woff2");
}

/* ---------- Base tokens (indigo accent) ---------- */
:root {
  /* Accent */
  --pt-accent: #4f46e5;
  --pt-accent-hover: #4338ca;
  --pt-accent-2: #7c3aed;            /* second stop for gradients */
  --pt-accent-soft: #eef2ff;         /* tinted backgrounds */
  --pt-accent-contrast: #ffffff;     /* text on accent */
  --pt-accent-text: #4338ca;         /* accent used as text on surface */

  /* Shape */
  --pt-radius: 20px;
  --pt-radius-sm: 12px;
  --pt-radius-pill: 999px;

  /* Type */
  --pt-font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --pt-font-display: "Plus Jakarta Sans", var(--pt-font);

  /* Motion */
  --pt-ease: cubic-bezier(.2, .8, .2, 1);
  --pt-speed: .35s;
}

/* ---------- Light mode (default) ---------- */
:root,
[data-pt-mode="light"] {
  /* Surfaces */
  --pt-bg: #f6f7fb;
  --pt-surface: #ffffff;
  --pt-surface-2: #f3f4f8;
  --pt-border: #e4e6ee;
  --pt-border-strong: #cfd3df;

  /* Text */
  --pt-text: #12141d;
  --pt-text-2: #3d4252;
  --pt-muted: #6b7083;

  /* Status */
  --pt-success: #0f9d63;
  --pt-success-soft: #e3f7ee;
  --pt-danger: #d93a4a;
  --pt-danger-soft: #fdeaec;
  --pt-warning: #b26a00;
  --pt-warning-soft: #fff3dc;

  --pt-shadow-sm: 0 1px 2px rgba(16, 20, 40, .06), 0 1px 3px rgba(16, 20, 40, .05);
  --pt-shadow: 0 10px 30px -12px rgba(16, 20, 40, .18), 0 2px 6px rgba(16, 20, 40, .05);
  --pt-shadow-lg: 0 30px 60px -20px rgba(40, 30, 120, .28), 0 8px 20px -8px rgba(16, 20, 40, .12);
  color-scheme: light;
}

/* ---------- Dark mode ---------- */
[data-pt-mode="dark"] {
  --pt-bg: #0b0d14;
  --pt-surface: #141722;
  --pt-surface-2: #1b1f2d;
  --pt-border: #262b3b;
  --pt-border-strong: #353b50;
  --pt-text: #f2f3f8;
  --pt-text-2: #c4c8d6;
  --pt-muted: #9096ab;
  --pt-accent-soft: rgba(129, 140, 248, .14);
  --pt-accent-text: #a5b4fc;
  --pt-success: #34d399;
  --pt-success-soft: rgba(52, 211, 153, .14);
  --pt-danger: #fb7185;
  --pt-danger-soft: rgba(251, 113, 133, .14);
  --pt-warning: #fbbf24;
  --pt-warning-soft: rgba(251, 191, 36, .14);
  --pt-shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);
  --pt-shadow: 0 12px 32px -12px rgba(0, 0, 0, .6);
  --pt-shadow-lg: 0 30px 70px -20px rgba(0, 0, 0, .75);
  color-scheme: dark;
}

/* ---------- Accent themes ---------- */
[data-pt-theme="indigo"] {
  --pt-accent: #4f46e5; --pt-accent-hover: #4338ca; --pt-accent-2: #7c3aed;
  --pt-accent-soft: #eef2ff; --pt-accent-text: #4338ca;
}
[data-pt-theme="emerald"] {
  --pt-accent: #059669; --pt-accent-hover: #047857; --pt-accent-2: #0d9488;
  --pt-accent-soft: #e6f7f0; --pt-accent-text: #047857;
}
[data-pt-theme="rose"] {
  --pt-accent: #e11d48; --pt-accent-hover: #be123c; --pt-accent-2: #db2777;
  --pt-accent-soft: #fff0f3; --pt-accent-text: #be123c;
}
[data-pt-theme="amber"] {
  --pt-accent: #d97706; --pt-accent-hover: #b45309; --pt-accent-2: #ea580c;
  --pt-accent-soft: #fff6e6; --pt-accent-text: #a14a05;
}
[data-pt-theme="sky"] {
  --pt-accent: #0284c7; --pt-accent-hover: #0369a1; --pt-accent-2: #0891b2;
  --pt-accent-soft: #e8f5fc; --pt-accent-text: #0369a1;
}
[data-pt-theme="violet"] {
  --pt-accent: #7c3aed; --pt-accent-hover: #6d28d9; --pt-accent-2: #c026d3;
  --pt-accent-soft: #f4effe; --pt-accent-text: #6d28d9;
}
[data-pt-theme="slate"] {
  --pt-accent: #1f2937; --pt-accent-hover: #111827; --pt-accent-2: #475569;
  --pt-accent-soft: #eef0f3; --pt-accent-text: #1f2937;
}
[data-pt-theme="ocean"] {
  --pt-accent: #2563eb; --pt-accent-hover: #1d4ed8; --pt-accent-2: #06b6d4;
  --pt-accent-soft: #ebf2ff; --pt-accent-text: #1d4ed8;
}

/* Accent text/soft colors need lifting on dark surfaces */
[data-pt-mode="dark"][data-pt-theme="emerald"], [data-pt-mode="dark"] [data-pt-theme="emerald"], [data-pt-theme="emerald"] [data-pt-mode="dark"] { --pt-accent-text: #6ee7b7; --pt-accent-soft: rgba(16, 185, 129, .14); --pt-accent: #10b981; --pt-accent-hover: #059669; }
[data-pt-mode="dark"][data-pt-theme="rose"],    [data-pt-mode="dark"] [data-pt-theme="rose"],    [data-pt-theme="rose"] [data-pt-mode="dark"]    { --pt-accent-text: #fda4af; --pt-accent-soft: rgba(244, 63, 94, .15); --pt-accent: #f43f5e; }
[data-pt-mode="dark"][data-pt-theme="amber"],   [data-pt-mode="dark"] [data-pt-theme="amber"],   [data-pt-theme="amber"] [data-pt-mode="dark"]   { --pt-accent-text: #fcd34d; --pt-accent-soft: rgba(245, 158, 11, .15); --pt-accent: #f59e0b; --pt-accent-contrast: #1c1206; }
[data-pt-mode="dark"][data-pt-theme="sky"],     [data-pt-mode="dark"] [data-pt-theme="sky"],     [data-pt-theme="sky"] [data-pt-mode="dark"]     { --pt-accent-text: #7dd3fc; --pt-accent-soft: rgba(14, 165, 233, .15); --pt-accent: #0ea5e9; }
[data-pt-mode="dark"][data-pt-theme="violet"],  [data-pt-mode="dark"] [data-pt-theme="violet"],  [data-pt-theme="violet"] [data-pt-mode="dark"]  { --pt-accent-text: #c4b5fd; --pt-accent-soft: rgba(139, 92, 246, .16); --pt-accent: #8b5cf6; }
[data-pt-mode="dark"][data-pt-theme="slate"],   [data-pt-mode="dark"] [data-pt-theme="slate"],   [data-pt-theme="slate"] [data-pt-mode="dark"]   { --pt-accent-text: #e2e8f0; --pt-accent-soft: rgba(226, 232, 240, .1); --pt-accent: #e2e8f0; --pt-accent-hover: #ffffff; --pt-accent-contrast: #0f172a; --pt-accent-2: #94a3b8; }
[data-pt-mode="dark"][data-pt-theme="ocean"],   [data-pt-mode="dark"] [data-pt-theme="ocean"],   [data-pt-theme="ocean"] [data-pt-mode="dark"]   { --pt-accent-text: #93c5fd; --pt-accent-soft: rgba(59, 130, 246, .16); --pt-accent: #3b82f6; }
[data-pt-mode="dark"][data-pt-theme="indigo"],  [data-pt-mode="dark"] [data-pt-theme="indigo"],  [data-pt-theme="indigo"] [data-pt-mode="dark"],
[data-pt-mode="dark"]:not([data-pt-theme]) { --pt-accent: #6366f1; --pt-accent-text: #a5b4fc; }
