/* ==========================================================================
   LETNOVA DESIGN TOKENS
   Design system foundation: colors, typography, spacing, shadows, transitions
   ========================================================================== */

/* Disable WordPress block styles that conflict with our theme */
.wp-site-blocks { padding: 0 !important; }
.has-global-padding { padding: 0 !important; }
body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: none;
  margin-left: auto;
  margin-right: auto;
}

*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  scroll-behavior: smooth;
}

body {
  font-family: var(--ln-font-body);
  font-size: var(--ln-text-md);
  font-weight: 400;
  line-height: 1.6;
  color: var(--ln-text);
  background-color: var(--ln-white);
  overflow-x: hidden;
}

img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
}

input,
button,
textarea,
select {
  font: inherit;
}

a {
  color: inherit;
  text-decoration: none;
}

ul,
ol {
  list-style: none;
}

:root {
  /* ── Colors ─────────────────────────────────────────────────────────── */
  --ln-primary: #e2b450;
  --ln-secondary: #111110;
  --ln-accent: #d4a43d;
  --ln-light: #f6f6f6;
  --ln-white: #ffffff;
  --ln-text: #666666;
  --ln-text-light: #999999;
  --ln-border: #e0e0e0;
  --ln-success: #22c55e;
  --ln-danger: #ef4444;

  /* Derived colors */
  --ln-primary-10: #e2b4501a;
  --ln-primary-20: #e2b45033;
  --ln-secondary-90: #1a1a19;
  --ln-overlay-white: rgba(255, 255, 255, 0.9);
  --ln-overlay-dark: rgba(17, 17, 16, 0.85);

  /* ── Typography ─────────────────────────────────────────────────────── */
  --ln-font-heading: 'Poppins', sans-serif;
  --ln-font-body: 'Inter', sans-serif;

  /* Font sizes */
  --ln-text-display: clamp(2.2rem, 7vw, 4.25rem);
  --ln-text-h1: 2.25rem;
  --ln-text-h2: 1.875rem;
  --ln-text-h3: 1.5rem;
  --ln-text-lg: 1.125rem;
  --ln-text-md: 1rem;
  --ln-text-sm: 0.875rem;
  --ln-text-xs: 0.75rem;

  /* Font weights */
  --ln-weight-regular: 400;
  --ln-weight-medium: 500;
  --ln-weight-semibold: 600;
  --ln-weight-bold: 700;

  /* Line heights */
  --ln-leading-tight: 1.05;
  --ln-leading-snug: 1.2;
  --ln-leading-normal: 1.5;
  --ln-leading-relaxed: 1.6;

  /* Letter spacing */
  --ln-tracking-tight: -0.02em;
  --ln-tracking-normal: 0;
  --ln-tracking-wide: 0.02em;

  /* ── Spacing ────────────────────────────────────────────────────────── */
  --ln-section: 6rem;
  --ln-section-sm: 4rem;
  --ln-container: 1400px;
  --ln-gap: 2rem;
  --ln-gap-sm: 1rem;
  --ln-gap-xs: 0.5rem;
  --ln-gap-lg: 3rem;

  /* ── Border radius ──────────────────────────────────────────────────── */
  --ln-radius: 0.75rem;
  --ln-radius-sm: 0.5rem;
  --ln-radius-full: 9999px;

  /* ── Shadows ────────────────────────────────────────────────────────── */
  --ln-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.06);
  --ln-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.08);
  --ln-shadow-lg: 0 8px 30px rgba(0, 0, 0, 0.1);
  --ln-shadow-xl: 0 16px 50px rgba(0, 0, 0, 0.14);
  --ln-shadow-gold: 0 4px 20px rgba(226, 180, 80, 0.3);
  --ln-shadow-gold-lg: 0 8px 40px rgba(226, 180, 80, 0.4);

  /* ── Transitions ────────────────────────────────────────────────────── */
  --ln-ease: cubic-bezier(0.4, 0, 0.2, 1);
  --ln-ease-bounce: cubic-bezier(0.34, 1.56, 0.64, 1);
  --ln-duration-fast: 150ms;
  --ln-duration: 300ms;
  --ln-duration-slow: 500ms;

  /* ── Z-index scale ──────────────────────────────────────────────────── */
  --ln-z-base: 0;
  --ln-z-above: 10;
  --ln-z-navbar: 100;
  --ln-z-overlay: 200;
  --ln-z-modal: 300;
  --ln-z-toast: 400;
}
