:root {
  /* Color roles. */
  --lm-color-primary: #0a192f;
  --lm-color-accent: #00b4d8;
  --lm-color-accent-gold: #c9a86a;
  --lm-color-success: #1d9e75;
  --lm-color-text: #172033;
  --lm-color-text-secondary: #64748b;
  --lm-color-border: #dce1e7;
  --lm-color-border-strong: #cbd5e1;
  --lm-color-surface: #fff;
  --lm-color-surface-muted: #f8fafc;
  --lm-color-surface-elevated: #fff;
  --lm-color-disabled-background: #eef2f6;
  --lm-color-disabled-text: #94a3b8;
  --lm-color-error: #b42318;
  --lm-color-warning: #b54708;
  --lm-color-focus: #00a4c8;

  /* Typography roles. */
  --lm-font-primary: Montserrat, Arial, sans-serif;
  --lm-font-size-body: 16px;
  --lm-font-size-supporting: 12px;
  --lm-font-size-label: 13px;
  --lm-font-size-control: 14px;
  --lm-font-size-button: 14px;
  --lm-heading-1: clamp(32px, 5.4vw, 78px);
  --lm-heading-2: clamp(26px, 4vw, 48px);
  --lm-heading-3: 22px;
  --lm-line-height-tight: 1.2;
  --lm-line-height-body: 1.5;
  --lm-line-height-copy: 1.7;
  --lm-font-weight-regular: 400;
  --lm-font-weight-medium: 500;
  --lm-font-weight-semibold: 600;
  --lm-font-weight-bold: 700;
  --lm-letter-spacing-label: .06em;
  --lm-letter-spacing-wide: .14em;

  /* Spacing roles. Lovable-only values remain local to their component. */
  --lm-space-1: 4px;
  --lm-space-2: 8px;
  --lm-space-3: 12px;
  --lm-space-4: 16px;
  --lm-space-5: 20px;
  --lm-space-6: 24px;
  --lm-space-7: 32px;
  --lm-space-8: 40px;
  --lm-space-9: 48px;
  --lm-space-10: 64px;
  --lm-space-field-group: 16px;

  /* Geometry and layers. */
  --lm-control-height-booking: 38px;
  --lm-control-height-transfer: 44px;
  --lm-control-height-contact: 44px;
  --lm-control-height-service: 44px;
  --lm-control-height-admin: 32px;
  --lm-button-height-primary: 44px;
  --lm-icon-size-control: 16px;
  --lm-border-width: 1px;
  --lm-card-radius: 12px;
  --lm-control-radius: 8px;
  --lm-pill-radius: 999px;
  --lm-shadow-card: 0 1px 3px rgba(15, 23, 42, .14);
  --lm-shadow-elevated: 0 12px 28px rgba(15, 23, 42, .18);
  --lm-container-shell: 1280px;
  --lm-container-standard: 1152px;
  --lm-container-editorial: 832px;
  --lm-container-focused: 760px;
  --lm-container-gutter: clamp(16px, 2vw, 24px);
  --lm-page-max: var(--lm-container-shell);
  --lm-section-max: var(--lm-container-standard);
  --lm-grid-gap: 24px;
  --lm-content-z: 1;
  --lm-sticky-z: 40;
  --lm-dropdown-z: 80;
  --lm-dialog-z: 100;
  --lm-focus-ring: 3px solid var(--lm-color-focus);
  --lm-focus-ring-inset: 2px solid var(--lm-color-focus);
  --lm-focus-offset: 3px;
  --lm-surface-payment: var(--lm-color-surface-muted);

  /* Compatibility aliases retained while route CSS is migrated incrementally. */
  --lamilka-navy: var(--lm-color-primary);
  --lamilka-gold: var(--lm-color-accent-gold);
  --lamilka-border: rgba(10, 25, 47, .12);
  --lamilka-content-max: var(--lm-page-max);
  --lamilka-page-gutter: var(--lm-container-gutter);
  --lamilka-space-1: var(--lm-space-2);
  --lamilka-space-2: var(--lm-space-3);
  --lamilka-space-3: var(--lm-space-4);
  --lamilka-space-4: var(--lm-space-6);
  --lamilka-space-5: var(--lm-space-7);
  --lamilka-space-6: var(--lm-space-9);
  --lamilka-card-padding: clamp(20px, 2vw, 28px);
  --lamilka-nav-font-size: 13px;
  --lamilka-nav-line-height: 1.35;
  --lamilka-nav-letter-spacing: normal;
}
