:root {
  /* Brand & Theme Colors */
  --lc-color-primary: #111827;
  --lc-color-primary-hover: #1f2937;
  --lc-color-accent: #059669;
  --lc-color-accent-hover: #047857;
  --lc-color-danger: #ef4444;
  --lc-color-bg-main: #ffffff;
  --lc-color-bg-secondary: #f9fafb;
  --lc-color-bg-tertiary: #f3f4f6;
  --lc-color-bg-overlay: rgba(0, 0, 0, 0.4);

  /* Text & Border Colors */
  --lc-color-text-main: #111827;
  --lc-color-text-muted: #6b7280;
  --lc-color-text-light: #9ca3af;
  --lc-color-text-white: #ffffff;
  --lc-color-border: #e5e7eb;
  --lc-color-border-active: #111827;

  /* Typography System & Font Sizes */
  --lc-font-family-base: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  --lc-font-size-xs: 0.75rem;      /* 12px */
  --lc-font-size-sm: 0.875rem;     /* 14px */
  --lc-font-size-base: 1rem;       /* 16px */
  --lc-font-size-lg: 1.125rem;     /* 18px */
  --lc-font-size-xl: 1.25rem;      /* 20px */
  --lc-font-size-2xl: 1.5rem;      /* 24px */
  --lc-font-size-3xl: 1.875rem;    /* 30px */
  --lc-font-size-4xl: 2.25rem;     /* 36px */

  --lc-font-weight-normal: 400;
  --lc-font-weight-medium: 500;
  --lc-font-weight-semibold: 600;
  --lc-font-weight-bold: 700;

  --lc-line-height-tight: 1.25;
  --lc-line-height-base: 1.5;
  --lc-line-height-relaxed: 1.625;

  /* ALL Headings Variables (H1 -> H6) with Size Variants */
  --lc-h1-size-sm: var(--lc-font-size-2xl); /* 24px - Size S chuẩn cho Title Single Product */
  --lc-h1-size-md: var(--lc-font-size-3xl); /* 30px */
  --lc-h1-size-lg: var(--lc-font-size-4xl); /* 36px */
  --lc-h1-size: var(--lc-h1-size-lg);
  --lc-h1-weight: var(--lc-font-weight-bold);
  --lc-h1-line-height: var(--lc-line-height-tight);

  --lc-h2-size-sm: var(--lc-font-size-xl);  /* 20px */
  --lc-h2-size: var(--lc-font-size-2xl);    /* 24px - Section Heading */
  --lc-h2-size-lg: var(--lc-font-size-3xl); /* 30px */
  --lc-h2-weight: var(--lc-font-weight-bold);
  --lc-h2-line-height: var(--lc-line-height-tight);

  --lc-h3-size: var(--lc-font-size-xl);     /* 20px - Card Title */
  --lc-h3-weight: var(--lc-font-weight-semibold);
  --lc-h3-line-height: var(--lc-line-height-tight);

  --lc-h4-size: var(--lc-font-size-lg);     /* 18px */
  --lc-h4-weight: var(--lc-font-weight-semibold);
  --lc-h4-line-height: var(--lc-line-height-base);

  --lc-h5-size: var(--lc-font-size-base);   /* 16px */
  --lc-h5-weight: var(--lc-font-weight-medium);
  --lc-h5-line-height: var(--lc-line-height-base);

  --lc-h6-size: var(--lc-font-size-sm);     /* 14px */
  --lc-h6-weight: var(--lc-font-weight-medium);
  --lc-h6-line-height: var(--lc-line-height-base);

  /* Body, Paragraph, Link, Span Variables */
  --lc-p-size: var(--lc-font-size-base);
  --lc-p-line-height: var(--lc-line-height-relaxed);
  --lc-p-margin-bottom: var(--lc-spacing-md);

  --lc-a-color: var(--lc-color-primary);
  --lc-a-hover-color: var(--lc-color-accent);
  --lc-a-transition: color var(--lc-transition-fast);

  --lc-span-color: inherit;
  --lc-span-size: inherit;

  /* Spacing System */
  --lc-spacing-2xs: 0.125rem;
  --lc-spacing-xs: 0.25rem;
  --lc-spacing-sm: 0.5rem;
  --lc-spacing-md: 1rem;
  --lc-spacing-lg: 1.5rem;
  --lc-spacing-xl: 2rem;
  --lc-spacing-2xl: 3rem;

  /* Layout & Dimensions */
  --lc-container-max-width: 1280px;
  --lc-sidebar-width: 280px;
  --lc-border-radius-sm: 4px;
  --lc-border-radius-md: 8px;
  --lc-border-radius-lg: 12px;
  --lc-border-radius-full: 9999px;

  /* Transitions & Animation */
  --lc-transition-fast: 0.15s ease;
  --lc-transition-base: 0.3s ease;

  /* Shadows */
  --lc-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  --lc-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  --lc-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
}

/* Base Headings & Element Styles */
h1, .lc-h1 { font-size: var(--lc-h1-size); font-weight: var(--lc-h1-weight); line-height: var(--lc-h1-line-height); color: var(--lc-color-text-main); margin-top: 0; margin-bottom: var(--lc-spacing-md); }
h2, .lc-h2 { font-size: var(--lc-h2-size); font-weight: var(--lc-h2-weight); line-height: var(--lc-h2-line-height); color: var(--lc-color-text-main); margin-top: 0; margin-bottom: var(--lc-spacing-md); }
h3, .lc-h3 { font-size: var(--lc-h3-size); font-weight: var(--lc-h3-weight); line-height: var(--lc-h3-line-height); color: var(--lc-color-text-main); margin-top: 0; margin-bottom: var(--lc-spacing-sm); }
h4, .lc-h4 { font-size: var(--lc-h4-size); font-weight: var(--lc-h4-weight); line-height: var(--lc-h4-line-height); color: var(--lc-color-text-main); margin-top: 0; margin-bottom: var(--lc-spacing-sm); }
h5, .lc-h5 { font-size: var(--lc-h5-size); font-weight: var(--lc-h5-weight); line-height: var(--lc-h5-line-height); color: var(--lc-color-text-main); margin-top: 0; margin-bottom: var(--lc-spacing-xs); }
h6, .lc-h6 { font-size: var(--lc-h6-size); font-weight: var(--lc-h6-weight); line-height: var(--lc-h6-line-height); color: var(--lc-color-text-muted); margin-top: 0; margin-bottom: var(--lc-spacing-xs); }

p, .lc-p { font-size: var(--lc-p-size); line-height: var(--lc-p-line-height); color: var(--lc-color-text-main); margin-top: 0; margin-bottom: var(--lc-p-margin-bottom); }
a, .lc-a { color: var(--lc-a-color); text-decoration: none; transition: var(--lc-a-transition); }
a:hover, .lc-a:hover { color: var(--lc-a-hover-color); }
span, .lc-span { color: var(--lc-span-color); font-size: var(--lc-span-size); }
