/**
 * Apple Spare Market — Base typography
 * Overrides Blocksy/Elementor defaults with the ASM type system.
 */

/* Apply Manrope to the entire site */
body,
.elementor,
.elementor-section,
.elementor-widget {
  font-family: var(--asm-font-sans) !important;
  color: var(--asm-text);
  font-weight: 400;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Heading hierarchy */
.asm-h1, h1.asm-heading {
  font-size: 32px;
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: -0.03em;
  color: var(--asm-text);
  margin: 0 0 var(--asm-space-3);
}

.asm-h2, h2.asm-heading {
  font-size: 22px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: var(--asm-text);
  margin: 0 0 var(--asm-space-2);
}

.asm-h3, h3.asm-heading {
  font-size: 18px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -0.015em;
  color: var(--asm-text);
  margin: 0 0 var(--asm-space-2);
}

.asm-h4, h4.asm-heading {
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
  color: var(--asm-text);
  margin: 0 0 var(--asm-space-1);
}

/* Body text */
.asm-body {
  font-size: 15px;
  line-height: 1.6;
  color: var(--asm-text);
}

.asm-body-sm {
  font-size: 13px;
  line-height: 1.55;
  color: var(--asm-text-muted);
}

.asm-eyebrow {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--asm-text-muted);
}

/* Links */
.asm-link {
  color: var(--asm-accent);
  text-decoration: none;
  font-weight: 500;
  transition: color var(--asm-transition);
}
.asm-link:hover {
  color: var(--asm-accent-dark);
}

/* Larger viewport: scale up h1, h2 */
@media (min-width: 768px) {
  .asm-h1, h1.asm-heading { font-size: 44px; }
  .asm-h2, h2.asm-heading { font-size: 28px; }
  .asm-h3, h3.asm-heading { font-size: 20px; }
}
@media (min-width: 1024px) {
  .asm-h1, h1.asm-heading { font-size: 56px; }
}

/* Selection */
::selection {
  background: var(--asm-accent-soft-2);
  color: var(--asm-ink);
}
