/* Shared typography. Canela is activated only when licensed local files exist. */
:root {
  --pacebo-font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --pacebo-font-heading: "Cormorant Garamond", Georgia, serif;
}

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

body {
  font-size: 1rem;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1, h2, .font-serif {
  font-family: var(--pacebo-font-heading);
  font-variant-numeric: lining-nums;
}

.pace-prose, .pace-prose.pace-prose-rich {
  font-family: var(--pacebo-font-body);
  font-size: clamp(1rem, 0.97rem + 0.15vw, 1.125rem);
  line-height: 1.8;
  overflow-wrap: break-word;
}

.pace-prose p, .pace-prose li {
  font-size: inherit;
  line-height: inherit;
}

.pace-prose p + p { margin-top: 1.15em; }
.pace-prose h2 {
  font-size: clamp(1.75rem, 1.25rem + 1.5vw, 2.5rem);
  line-height: 1.25;
  margin: 1.65em 0 0.65em;
}
.pace-prose h3 {
  font-family: var(--pacebo-font-heading);
  font-size: clamp(1.4rem, 1.1rem + 0.8vw, 1.875rem);
  line-height: 1.3;
  margin: 1.4em 0 0.6em;
}

.pace-prose figure.image {
  max-width: 100%;
  height: auto;
  margin: 1.5em auto;
}
.pace-prose figure.image[style*="width"] { max-width: 100%; }
.pace-prose figure.image img { width: 100%; height: auto; }
.pace-prose .image-style-side { float: right; margin-left: 1.5em; max-width: 50%; }
.pace-prose::after { content: ""; display: block; clear: both; }
.pace-prose figcaption { font-size: 0.875rem; line-height: 1.5; margin-top: 0.6em; }

.pacebo-numerals, .package-card-price, .package-card-limited,
.package-card-body .font-accent, #dates-prices table {
  font-family: var(--pacebo-font-body);
  font-variant-numeric: lining-nums tabular-nums;
}

@media (max-width: 640px) {
  .pace-prose .image-style-side { float: none; margin-left: auto; max-width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
