:root {
  --noriya-font-display: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --noriya-font-ui: "Manrope", Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

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

body,
button,
input,
textarea,
select {
  font-family: var(--noriya-font-ui);
}

h1,
h2,
h3,
.hero-title,
.section-title,
.modal-title,
.product-title,
.dish-title,
.card-title,
.menu-title,
[class*="hero"] [class*="title"],
[class*="Hero"] [class*="Title"],
[class*="section"] [class*="title"],
[class*="Section"] [class*="Title"],
[data-product-title] {
  font-family: var(--noriya-font-display) !important;
  font-weight: 700;
  letter-spacing: 0.035em;
  line-height: 0.98;
}

h1,
.hero-title,
[class*="hero"] h1,
[class*="Hero"] h1 {
  letter-spacing: 0.045em;
}

h2,
.section-title {
  letter-spacing: 0.055em;
}

h3,
.product-title,
.dish-title,
.card-title,
.menu-title,
[data-product-title] {
  letter-spacing: 0.025em;
  line-height: 1.05;
}

.brand-name,
.logo-text,
.site-title,
[class*="brand"] [class*="name"],
[class*="Brand"] [class*="Name"],
[class*="logo"] [class*="text"],
[class*="Logo"] [class*="Text"],
.noriya-ai-brand-line__title {
  font-family: var(--noriya-font-display) !important;
  font-weight: 700;
  letter-spacing: 0.14em;
}

.eyebrow,
.section-eyebrow,
.category-label,
.product-category,
.dish-category,
.menu-feature-tag,
.preorder-badge,
.allergen-button,
[class*="eyebrow"],
[class*="Eyebrow"],
[class*="category"],
[class*="Category"] {
  font-family: var(--noriya-font-ui) !important;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.price,
.product-price,
.dish-price,
.cart-total,
[class*="price"],
[class*="Price"],
[class*="total"],
[class*="Total"] {
  font-family: var(--noriya-font-display) !important;
  font-weight: 700;
  letter-spacing: 0.025em;
}

p,
li,
.description,
.product-description,
.dish-description,
.modal-description,
[class*="description"],
[class*="Description"] {
  font-family: var(--noriya-font-ui);
  letter-spacing: -0.005em;
  line-height: 1.64;
}

.btn,
button,
[role="button"],
.cart-button,
.add-button,
.language-toggle,
.nav-link,
nav a {
  font-family: var(--noriya-font-ui) !important;
  font-weight: 800;
  letter-spacing: 0.01em;
}

.hero-title,
[class*="hero"] h1,
[class*="Hero"] h1 {
  text-wrap: balance;
}

.section-title,
h2 {
  text-wrap: balance;
}

@media (max-width: 640px) {
  h1,
  .hero-title,
  [class*="hero"] h1,
  [class*="Hero"] h1 {
    letter-spacing: 0.025em;
  }

  h2,
  .section-title {
    letter-spacing: 0.035em;
  }

  h3,
  .product-title,
  .dish-title,
  .card-title,
  .menu-title,
  [data-product-title] {
    letter-spacing: 0.015em;
  }
}
