/*
 * KEMOVE typography system
 * One font family globally, with a restrained role-based scale scoped to the
 * homepage custom sections.
 * Promotional prices, discount badges and slideshow display copy keep their
 * component-specific hierarchy.
 */

:root {
  --kemove-type-font-body: var(--sort-body-font, Barlow, Arial, sans-serif);
  --kemove-type-font-heading: var(--sort-title-font, Barlow, Arial, sans-serif);

  --kemove-type-page-title: clamp(40px, 5vw, 64px);
  --kemove-type-section-title: clamp(28px, 2.4vw, 36px);
  --kemove-type-subsection-title: clamp(22px, 1.8vw, 28px);
  --kemove-type-card-title: clamp(17px, 1.15vw, 20px);
  --kemove-type-body: 15px;
  --kemove-type-small: 13px;
  --kemove-type-label: 12px;
  --kemove-type-action: 14px;

  --kemove-type-regular: 400;
  --kemove-type-medium: 500;
  --kemove-type-semibold: 600;
  --kemove-type-bold: 700;

  --kemove-type-leading-display: 1.08;
  --kemove-type-leading-title: 1.15;
  --kemove-type-leading-card: 1.25;
  --kemove-type-leading-body: 1.6;
  --kemove-type-leading-small: 1.5;
}

html,
body {
  font-family: var(--kemove-type-font-body);
  font-weight: var(--kemove-type-regular);
}

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

/* All homepage modules share one section-title rhythm. */
body[data-page-type="index"] :is(
  .kemove-shop-category__title,
  .kemove-kbot-assistant__title,
  .kemove-scene-hotspots__heading,
  .kemove-hub__title,
  .kemove-trusted-users__title,
  .kemove-community-gallery__title,
  .kemove-exclusive-offers__title,
  .kemove-reviewed-by__title,
  .kemove-featured-blogs__title
) {
  font-family: var(--kemove-type-font-heading) !important;
  font-size: var(--kemove-type-section-title) !important;
  font-weight: var(--kemove-type-bold) !important;
  line-height: var(--kemove-type-leading-title) !important;
  letter-spacing: -0.02em !important;
}

/* Homepage introductory copy */
body[data-page-type="index"] :is(
  .kemove-shop-category__subtitle,
  .kemove-kbot-assistant__text,
  .kemove-scene-hotspots__text,
  .kemove-hub__content,
  .kemove-community-gallery__text,
  .kemove-exclusive-offers__subtitle,
  .kemove-reviewed-by__text
) {
  font-family: var(--kemove-type-font-body) !important;
  font-size: var(--kemove-type-body) !important;
  font-weight: var(--kemove-type-regular) !important;
  line-height: var(--kemove-type-leading-body) !important;
  letter-spacing: 0 !important;
}

/* Homepage card titles */
body[data-page-type="index"] :is(
  .kemove-exclusive-offers__card-title,
  .kemove-featured-blogs__content h3,
  .kemove-kbot-feature__title,
  .kemove-scene-hotspot__title
) {
  font-family: var(--kemove-type-font-heading) !important;
  font-size: var(--kemove-type-card-title) !important;
  font-weight: var(--kemove-type-semibold) !important;
  line-height: var(--kemove-type-leading-card) !important;
  letter-spacing: -0.01em !important;
}

/* Homepage small labels and supporting copy */
body[data-page-type="index"] :is(
  .kemove-exclusive-offers__eyebrow,
  .kemove-featured-blogs__meta,
  .kemove-shop-category__promo,
  .kemove-scene-hotspot__badge
) {
  font-family: var(--kemove-type-font-body) !important;
  font-size: var(--kemove-type-label) !important;
  font-weight: var(--kemove-type-semibold) !important;
  line-height: 1.2 !important;
  letter-spacing: 0.06em !important;
}

body[data-page-type="index"] :is(
  .kemove-exclusive-offers__text,
  .kemove-featured-blogs__content p,
  .kemove-kbot-feature__text,
  .kemove-scene-hotspot__description,
  .kemove-trusted-users__quote
) {
  font-family: var(--kemove-type-font-body) !important;
  font-size: var(--kemove-type-small) !important;
  font-weight: var(--kemove-type-regular) !important;
  line-height: var(--kemove-type-leading-small) !important;
  letter-spacing: 0 !important;
}

/* Action text stays consistent without changing component geometry. */
body[data-page-type="index"] :is(
  .kemove-community-gallery__button,
  .kemove-exclusive-offers__link,
  .kemove-featured-blogs__button,
  .kemove-kbot-assistant__button,
  .kemove-scene-hotspots__button
) {
  font-family: var(--kemove-type-font-body) !important;
  font-size: var(--kemove-type-action) !important;
  font-weight: var(--kemove-type-semibold) !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
}

/* Review cards use a compact, readable hierarchy. */
body[data-page-type="index"] .kemove-trusted-users__meta h3 {
  font-family: var(--kemove-type-font-heading) !important;
  font-size: var(--kemove-type-small) !important;
  font-weight: var(--kemove-type-semibold) !important;
  line-height: 1.25 !important;
}

body[data-page-type="index"] .kemove-trusted-users__product {
  font-family: var(--kemove-type-font-heading) !important;
  font-size: var(--kemove-type-small) !important;
  font-weight: var(--kemove-type-semibold) !important;
  line-height: 1.25 !important;
}

@media (max-width: 959px) {
  :root {
    --kemove-type-page-title: clamp(34px, 10vw, 48px);
    --kemove-type-section-title: clamp(26px, 7vw, 32px);
    --kemove-type-subsection-title: 22px;
    --kemove-type-card-title: 17px;
    --kemove-type-body: 14px;
    --kemove-type-small: 13px;
    --kemove-type-action: 14px;
  }
}
