/* =============================================================
   Netaim Design Tokens — WordPress build (Brand calibration only)
   GENERATED from design-tokens.json v0.1.0. Do not edit by hand.

   Destination: wp-content/themes/hello-elementor-child/assets/css/nt-tokens.css

   This file DEFINES values. It styles nothing on its own, so loading it
   cannot change a single pixel until something consumes a token.

   The App calibration is deliberately NOT included here: it belongs to the
   Conference Platform and must never apply to the WordPress site.
   ============================================================= */

/* -------------------------------------------------------------
   LAYER 1 — CORE (brand-neutral, shared with the Conference Platform)
   ------------------------------------------------------------- */
:root {
  /* spacing — 4px grid; space-5 (20px) is the existing Elementor widget gap */
  --nt-space-0: 0;
  --nt-space-1: 0.25rem;
  --nt-space-2: 0.5rem;
  --nt-space-3: 0.75rem;
  --nt-space-4: 1rem;
  --nt-space-5: 1.25rem;
  --nt-space-6: 1.5rem;
  --nt-space-7: 2rem;
  --nt-space-8: 2.5rem;
  --nt-space-9: 3rem;
  --nt-space-10: 4rem;
  --nt-space-11: 5rem;
  --nt-space-12: 6rem;

  /* radii — 10px and 20px are measured on the live site; 30px buttons = pill */
  --nt-radius-none: 0;
  --nt-radius-xs: 4px;
  --nt-radius-sm: 6px;
  --nt-radius-md: 10px;
  --nt-radius-lg: 16px;
  --nt-radius-xl: 20px;
  --nt-radius-2xl: 28px;
  --nt-radius-pill: 999px;
  --nt-radius-circle: 50%;

  /* borders */
  --nt-border-hair: 1px;
  --nt-border-thin: 2px;
  --nt-border-thick: 3px;

  /* ---- typography ----
     Families measured on the live site. No new family is introduced.
     Montserrat and Roboto contain no Hebrew glyphs (verified by glyph-width
     test), so every Latin stack continues to Open Sans: Hebrew text that is
     still hardcoded to a Latin family lands on a site font instead of an
     arbitrary system font. */
  --nt-font-sans: "Montserrat", "Open Sans", system-ui, sans-serif;
  --nt-font-display: "Montserrat", "Open Sans", system-ui, sans-serif;
  --nt-font-label: "Roboto", "Open Sans", system-ui, sans-serif;
  --nt-font-mono: ui-monospace, SFMono-Regular, Menlo, monospace;

  /* Compatibility stacks — used ONLY by the Elementor bridge.
     They never switch family by direction; they only add the fallback step,
     so existing pages render exactly as before in Latin, and Hebrew that is
     bound to an Elementor global resolves to Open Sans instead of a random
     system font. Per-widget hardcoded families are corrected later, by hand. */
  --nt-font-sans-compat: "Montserrat", "Open Sans", system-ui;
  --nt-font-display-compat: "Montserrat", "Open Sans", system-ui;

  /* type scale — every size in use on the site is on this scale */
  --nt-text-2xs: 0.75rem;
  --nt-text-xs: 0.8125rem;
  --nt-text-sm: 0.875rem;
  --nt-text-base: 1rem;
  --nt-text-md: 1.125rem;
  --nt-text-lg: 1.25rem;
  --nt-text-xl: 1.5rem;
  --nt-text-2xl: 1.75rem;
  --nt-text-3xl: 2rem;
  --nt-text-4xl: 2.5rem;
  --nt-text-5xl: 3rem;
  --nt-text-6xl: 3.75rem;

  --nt-leading-tight: 1.1;
  --nt-leading-snug: 1.25;
  --nt-leading-normal: 1.5;
  --nt-leading-relaxed: 1.7;

  --nt-weight-regular: 400;
  --nt-weight-medium: 500;   /* the site's button weight */
  --nt-weight-semibold: 600; /* available, unused today */
  --nt-weight-bold: 700;

  --nt-tracking-tight: -0.01em;
  --nt-tracking-normal: 0;
  --nt-tracking-wide: 0.04em;

  /* motion — 320ms matches the site's measured .3s transition */
  --nt-duration-instant: 0ms;
  --nt-duration-fast: 120ms;
  --nt-duration-base: 200ms;
  --nt-duration-slow: 320ms;
  --nt-duration-slower: 480ms;
  --nt-ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --nt-ease-entrance: cubic-bezier(0, 0, 0.2, 1);
  --nt-ease-exit: cubic-bezier(0.4, 0, 1, 1);

  /* layout — matches Elementor's viewport_md 768 / viewport_lg 1025 */
  --nt-container-narrow: 760px;
  --nt-measure: 68ch;
  --nt-grid-columns: 12;
  --nt-breakpoint-sm: 480px;
  --nt-breakpoint-md: 768px;
  --nt-breakpoint-lg: 1025px;
  --nt-breakpoint-xl: 1280px;

  --nt-focus-ring-width: 2px;
  --nt-focus-ring-offset: 2px;

  --nt-z-sticky: 100;
  --nt-z-header: 200;
  --nt-z-dropdown: 300;
  --nt-z-overlay: 400;
  --nt-z-modal: 500;
  --nt-z-toast: 600;

  /* ---- raw palette — Elementor Kit #7, unchanged. Never used directly. ---- */
  --nt-palette-green-600: #166633;   /* Kit: primary / cb4928e */
  --nt-palette-green-800: #0F4A24;   /* derived */
  --nt-palette-green-500: #1E8043;   /* derived */
  --nt-palette-green-100: #E7F3EB;   /* derived */
  --nt-palette-mint-300: #9DD1B0;    /* Kit: d3df457 */
  --nt-palette-lime-500: #83B339;    /* Kit: d9ce3d4 */
  --nt-palette-lime-700: #4E7A1F;    /* derived */
  --nt-palette-orange-500: #F99B21;  /* Kit: accent */
  --nt-palette-orange-700: #B86A00;  /* derived */
  --nt-palette-orange-800: #8F5100;  /* derived */
  --nt-palette-yellow-400: #F3C333;  /* Kit: b44fd78 */
  --nt-palette-yellow-800: #7A5B00;  /* derived */
  --nt-palette-red-500: #ED4F1F;     /* Kit: 9452c68 */
  --nt-palette-red-700: #B33612;     /* derived */
  --nt-palette-pink-500: #ED1965;    /* Kit: 4a42bd2 */
  --nt-palette-pink-700: #C4114F;    /* derived */
  --nt-palette-cyan-500: #31A3D7;    /* Kit: 3b786e5 */
  --nt-palette-cyan-700: #136A90;    /* derived */
  --nt-palette-blue-500: #3783EE;    /* Kit: d974fbc */
  --nt-palette-navy-700: #2C426B;    /* Kit: c4ef3da */
  --nt-palette-navy-900: #2E3192;    /* Kit: fb4590b */
  --nt-palette-ink-900: #12241A;     /* derived (app only) */
  --nt-palette-grey-900: #333333;    /* hello-elementor body */
  --nt-palette-grey-700: #54595F;    /* Kit: secondary */
  --nt-palette-grey-600: #5B6660;    /* derived */
  --nt-palette-grey-200: #E2E6E3;    /* derived */
  --nt-palette-grey-150: #E6EAE7;    /* derived */
  --nt-palette-grey-100: #F1F4F2;    /* derived */
  --nt-palette-grey-50: #F8F8F8;     /* Kit: 21b3921 */
  --nt-palette-white: #FFFFFF;       /* Kit: fb3e9f2 */
  --nt-palette-black: #000000;       /* Kit: text */

  /* ---- status semantics (shared with the Conference Platform) ---- */
  --nt-status-success-ink: var(--nt-palette-green-500);
  --nt-status-success-solid: var(--nt-palette-green-600);
  --nt-status-success-on-solid: var(--nt-palette-white);
  --nt-status-success-soft: var(--nt-palette-green-100);

  --nt-status-warning-ink: var(--nt-palette-orange-800);
  --nt-status-warning-solid: var(--nt-palette-orange-500);
  --nt-status-warning-on-solid: var(--nt-palette-ink-900);
  --nt-status-warning-soft: #FDF3E2;

  --nt-status-danger-ink: var(--nt-palette-red-700);
  --nt-status-danger-solid: var(--nt-palette-red-500);
  --nt-status-danger-on-solid: var(--nt-palette-white);
  --nt-status-danger-soft: #FDEAE3;

  --nt-status-info-ink: var(--nt-palette-cyan-700);
  --nt-status-info-solid: var(--nt-palette-cyan-500);
  --nt-status-info-on-solid: var(--nt-palette-ink-900);
  --nt-status-info-soft: #E4F2F9;

  --nt-status-live-ink: var(--nt-palette-pink-700);
  --nt-status-live-solid: var(--nt-palette-pink-500);
  --nt-status-live-on-solid: var(--nt-palette-white);
  --nt-status-live-soft: #FCE7EE;

  --nt-status-neutral-ink: var(--nt-palette-grey-600);
  --nt-status-neutral-solid: var(--nt-palette-grey-600);
  --nt-status-neutral-on-solid: var(--nt-palette-white);
  --nt-status-neutral-soft: var(--nt-palette-grey-100);
}

/* -------------------------------------------------------------
   LAYER 2 — BRAND calibration (this site). Values are the measured
   values of the live site: adopting them changes nothing visually.
   ------------------------------------------------------------- */
:root,
[data-nt-theme="brand"] {
  --nt-color-primary: var(--nt-palette-green-600);
  --nt-color-primary-hover: var(--nt-palette-green-800);
  --nt-color-primary-soft: var(--nt-palette-mint-300);
  --nt-color-on-primary: var(--nt-palette-white);
  --nt-color-accent: var(--nt-palette-orange-500);
  --nt-color-accent-ink: var(--nt-palette-orange-800);
  --nt-color-on-accent: var(--nt-palette-white);

  --nt-color-text: var(--nt-palette-black);
  --nt-color-text-muted: var(--nt-palette-grey-700);
  --nt-color-text-inverse: var(--nt-palette-white);
  --nt-color-heading: var(--nt-palette-green-600);
  --nt-color-link: var(--nt-palette-black);
  --nt-color-link-hover: var(--nt-palette-green-600);

  --nt-color-page: var(--nt-palette-white);
  --nt-color-surface: var(--nt-palette-white);
  --nt-color-surface-muted: var(--nt-palette-grey-50);
  --nt-color-surface-soft: var(--nt-palette-mint-300);
  --nt-color-surface-inverse: var(--nt-palette-green-600);
  --nt-color-border: var(--nt-palette-grey-200);
  --nt-color-border-strong: var(--nt-palette-grey-700);
  --nt-color-focus: var(--nt-palette-green-600);
  --nt-color-overlay: rgba(18, 36, 26, 0.55);

  --nt-radius-card: var(--nt-radius-xl);
  --nt-radius-control: var(--nt-radius-pill);
  --nt-radius-cta: var(--nt-radius-pill);
  --nt-radius-field: var(--nt-radius-md);
  --nt-radius-media: var(--nt-radius-lg);
  --nt-radius-chip: var(--nt-radius-pill);

  --nt-shadow-none: none;
  --nt-shadow-header: 0 0 10px 0 rgba(0, 0, 0, 0.14);
  --nt-shadow-card: 0 0 30px 0 rgba(35, 35, 35, 0.10);
  --nt-shadow-card-hover: 0 10px 34px 0 rgba(18, 36, 26, 0.16);
  --nt-shadow-raised: 0 8px 24px 0 rgba(18, 36, 26, 0.12);
  --nt-shadow-overlay: 0 16px 48px 0 rgba(18, 36, 26, 0.24);

  --nt-space-section-y: var(--nt-space-11);
  --nt-space-block-y: var(--nt-space-8);
  --nt-space-stack: var(--nt-space-5);
  --nt-space-inline: var(--nt-space-4);
  --nt-space-card-padding: var(--nt-space-6);
  --nt-space-container-padding: var(--nt-space-5);

  --nt-control-height-sm: 36px;
  --nt-control-height-md: 44px;
  --nt-control-height-lg: 52px;
  --nt-control-padding-x-sm: var(--nt-space-5);
  --nt-control-padding-x-md: var(--nt-space-6);
  --nt-control-padding-x-lg: var(--nt-space-7);
  --nt-control-font-size: var(--nt-text-sm);
  --nt-control-font-weight: var(--nt-weight-medium);

  --nt-type-display: clamp(2rem, 1.4rem + 2.6vw, 3.75rem);
  --nt-type-h1: clamp(1.75rem, 1.3rem + 2vw, 2.5rem);
  --nt-type-h2: clamp(1.5rem, 1.2rem + 1.4vw, 2rem);
  --nt-type-h3: var(--nt-text-xl);
  --nt-type-h4: var(--nt-text-lg);
  --nt-type-body: var(--nt-text-base);
  --nt-type-body-lead: var(--nt-text-md);
  --nt-type-small: var(--nt-text-sm);
  --nt-leading-heading: var(--nt-leading-snug);
  --nt-leading-body: var(--nt-leading-relaxed);

  --nt-duration-ui: var(--nt-duration-slow);
  --nt-container: 1140px;
}

/* -------------------------------------------------------------
   DIRECTION — read, never imposed.
   WordPress core (driven by Polylang) already sets <html dir="rtl"> and
   <body class="rtl">, and Elementor already swaps its own *-rtl.min.css.
   Both signals are matched here; nothing existing is overridden.

   Note: --nt-font-*-compat is intentionally NOT re-pointed. The Elementor
   bridge must not switch a widget's family by direction; that correction is
   done per widget, in the editor, in a later approved phase.
   ------------------------------------------------------------- */
[dir="rtl"],
body.rtl {
  --nt-font-display: "M PLUS Rounded 1c", "Open Sans", system-ui, sans-serif;
  --nt-font-sans: "Open Sans", system-ui, sans-serif;
  --nt-font-label: "Open Sans", system-ui, sans-serif;
  --nt-tracking-wide: 0;  /* letter-spacing breaks Hebrew */
  --nt-flip: -1;
}
[dir="ltr"] {
  --nt-flip: 1;
}

/* contextual accent — fed per program from the JetEngine `color` field */
:root {
  --nt-color-context: var(--nt-color-primary);
  --nt-color-context-soft: color-mix(in srgb, var(--nt-color-context) 12%, var(--nt-color-surface));
  --nt-color-context-ink: color-mix(in srgb, var(--nt-color-context) 80%, black);
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --nt-duration-fast: 0ms;
    --nt-duration-base: 0ms;
    --nt-duration-slow: 0ms;
    --nt-duration-slower: 0ms;
    --nt-duration-ui: 0ms;
  }
}
