:root {
  /* === COLOR PALETTE === */
  --color-primary-light: #fff8f0;
  --color-primary-dark: #2c0f2d;
  --color-red: #d70040;
  --color-white: #ffffff;
  --color-secondary: #682f66;
  --light-grey-color: #a1a1a1;

  /* === TYPOGRAPHY === */
  --font-family-body: "League Spartan", sans-serif;
  --font-family-header: "Rufina", serif;

  /* Font Sizes */
  --h1: 3.25rem; /* ~60px */
  --h2: 3rem; /* ~48px */
  --h3: 2.25rem; /* ~36px */
  --h4: 1.5rem; /* ~24px */
  --h5: 1.25rem; /* ~20px */

  --font-size-sm: 1rem; /* 16px */
  --font-size-base: 1.2rem; /* 18px */
  --font-size-lg: 1.25rem; /* 20px */
  --font-size-xl: 1.5rem; /* 24px */
  --font-size-2xl: 1.875rem; /* 30px */
  --font-size-3xl: 2.25rem; /* 36px */
  --font-size-4xl: 3rem; /* 48px */
  --font-size-5xl: 3.75rem; /* 60px */
  --font-size-6xl: 4.5rem; /* 72px */

  --bs-nav-link-font-size: 1.25rem;

  /* Line Heights */
  --line-height-tight: 1.25;
  --line-height-normal: 1.5;
  --line-height-relaxed: 1.75;

  /* Font Weights */
  --font-weight-light: 300;
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-weight-bolder: 800;
  --font-weight-black: 900;

  /* === SPACING === */
  --spacing-xs: 0.25rem; /* 4px */
  --spacing-sm: 0.5rem; /* 8px */
  --spacing-md: 1rem; /* 16px */
  --spacing-lg: 1.5rem; /* 24px */
  --spacing-xl: 2rem; /* 32px */
  --spacing-2xl: 3rem; /* 48px */
  --spacing-3xl: 4rem; /* 64px */
  --spacing-4xl: 6rem; /* 96px */
  --spacing-5xl: 8rem; /* 128px */

  --letter-spacing: 0;

  /* === BORDERS === */
  --border-width-thin: 1px;
  --border-width-medium: 2px;
  --border-width-thick: 4px;

  --border-radius-none: 0;
  --border-radius-sm: 0.125rem; /* 2px */
  --border-radius-md: 0.25rem; /* 4px */
  --border-radius-lg: 0.5rem; /* 8px */
  --border-radius-xl: 0.75rem; /* 12px */
  --border-radius-2xl: 1rem; /* 16px */
  --border-radius-3xl: 1.5rem; /* 24px */
  --border-radius-full: 9999px;

  /* === ANIMATIONS === */
  /* Transition Durations */
  --duration-fast: 150ms;
  --duration-normal: 250ms;
  --duration-slow: 500ms;

  /* Transition Easings */
  --ease-in: cubic-bezier(0.4, 0, 1, 1);
  --ease-out: cubic-bezier(0, 0, 0.2, 1);
  --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-bounce: cubic-bezier(0.68, -0.55, 0.265, 1.55);

  /* Buttons */
  --btn-padding-x: 0.8rem;
  --btn-padding-y: 2rem;
  --btn-border-radius: var(--border-radius-md);

  .btn {
    --bs-btn-font-size: var(--font-size-base);
  }

  /* Shadow */
  --box-shadow-primary: 0 1px 3px rgb(238 228 218);

  --scroll-offset: 80px;

  .locator-icon {
    padding: 0.8rem 1.4rem 0.3rem 1.4rem !important;
  }
}
:lang(hy-AM) {
  --font-family-body: "Noto Sans Armenian", sans-serif;
  --font-family-header: "Noto Sans Armenian", sans-serif;

  --font-size-sm: 0.875rem; /* 14px */
  --font-size-base: 1rem; /* 16px */
  --font-size-lg: 1.125rem; /* 18px */
  --font-size-xl: 1.25rem; /* 20px */
  --font-size-2xl: 1.5rem; /* 24px */
  --font-size-3xl: 1.875rem; /* 30px */
  --font-size-4xl: 2.25rem; /* 36px */
  --font-size-5xl: 3rem; /* 48px */
  --font-size-6xl: 3.75rem; /* 60px */

  --letter-spacing: -1px;

  --h1: 3.25rem; /* 52px instead of 60px */
  --h2: 2.5rem; /* 40px instead of 48px */
  --h3: 2rem; /* 32px */
  --h4: 1.25rem; /* 20px */
  --h5: 1.125rem; /* 18px */
  --line-height-tight: 1.3;

  /* Nav */
  --bs-nav-link-font-size: 1.125rem;

  .navbar-nav {
    margin-left: 1rem;
  }
  .nav-link {
    font-size: var(--bs-nav-link-font-size);
  }
  .navbar-nav .nav-item {
    margin-right: 0.5rem;
  }

  /* Btn */
  .btn {
    --bs-btn-font-size: 0.9rem;
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .container-seperator h2 {
    font-size: var(--font-size-4xl);
  }

  .hero-text h1 {
    font-size: 3rem;
  }

  .locator-icon {
    padding: 0.8rem 1.4rem !important;
  }

  @media (max-width: 1200px) {
    .hero-text h1 {
      font-size: 2.8rem;
    }
  }
  @media (max-width: 768px) {
    .container-seperator h2 {
      font-size: var(--font-size-2xl);
    }
    .btn {
      padding: 0.7rem 1rem;
      font-size: 0.8rem;
    }
    .hero-text h1 {
      font-size: 2rem;
    }
  }

  @media (max-width: 575px) {
    .hero-text h1 {
      font-size: 1.2rem;
    }
  }
}

/* Tablet & down */
@media (max-width: 1200px) {
  :root {
    --font-size-sm: 0.875rem; /* 14px */
    --font-size-base: 1.2rem; /* 16px */
    --font-size-lg: 1.125rem; /* 18px */
    --font-size-xl: 1.25rem; /* 20px */
    --font-size-2xl: 1.5rem; /* 24px */
    --font-size-3xl: 1.875rem; /* 30px */
    --font-size-4xl: 1.75rem; /* 36px */
    --font-size-5xl: 3rem; /* 48px */
    --font-size-6xl: 3.75rem; /* 60px */
    /--h1: 2.5rem; /* ~40px */
    --h2: 2rem; /* ~32px */
    --h3: 1.75rem; /* ~28px */
    --h4: 1.25rem; /* ~20px */
    --h5: 1.125rem; /* ~18px */
  }

  :lang(hy-AM) {
    --h1: 2.5rem; /* ~40px */
    --h2: 2rem; /* ~32px */
    --h3: 1.75rem; /* ~28px */
    --h4: 1.25rem; /* ~20px */
    --h5: 1.125rem; /* ~18px */
  }
}

/* Phone */
@media (max-width: 768px) {
  :root {
    --h1: 2rem; /* 32px */
    --h2: 1.75rem;
    --h3: 1.5rem;
    --h4: 1.25rem;
    --h5: 1.125rem;
    --font-size-base: 1.25rem;
  }

  :lang(hy-AM) {
    --h1: 1.6rem; /* ~40px */
    --h2: 2rem; /* ~32px */
    --h3: 1.75rem; /* ~28px */
    --h4: 1.25rem; /* ~20px */
    --h5: 1.125rem; /* ~18px */
  }
}
