/* ═══════════════════════════════════════════
   Ayllu — Escala tipográfica global (equilibrada)
   Cargar al final para sobreescribir template
   ═══════════════════════════════════════════ */

html {
  font-size: 14px;
}

body {
  font-size: 0.95rem;
  line-height: 1.6;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  line-height: 1.3;
  font-weight: 500;
}

h1, .h1 { font-size: 1.75rem !important; }
h2:not(.swal2-title), .h2 { font-size: 1.35rem !important; }
h3, .h3 { font-size: 1.15rem !important; }
h4, .h4 { font-size: 1rem !important; }
h5, .h5 { font-size: 0.92rem !important; }
h6, .h6 { font-size: 0.85rem !important; }

/* Template legacy overrides */
.wpo-section-title h2,
.wpo-section-title-s2 h2 {
  font-size: 1.35rem !important;
  line-height: 1.35 !important;
  padding-bottom: 12px !important;
  margin-top: 0 !important;
}

.wpo-page-title .wpo-breadcumb-wrap h2,
.page_alto h2 {
  font-size: 1.5rem !important;
  line-height: 1.3 !important;
}

.wpo-about-section .about-title h2,
.wpo-about-content .about-title h2 {
  font-size: 1.25rem !important;
  line-height: 1.35 !important;
}

.wpo-fun-fact-section h2,
.wpo-fun-fact-section h3 {
  font-size: 1.1rem !important;
}

.wpo-site-header #navbar > ul > li > a {
  font-size: 0.85rem !important;
}

.wpo-site-header.wpo-header-style-2 #navbar > ul > li > a.nav-active {
  color: #fff !important;
}

.wpo-site-header .theme-btn {
  font-size: 0.82rem !important;
  padding: 10px 18px !important;
}

.topbar,
.topbar li {
  font-size: 0.82rem !important;
}

/* Ayllu design system — pages */
.ayllu-page-hero__title {
  font-size: clamp(1.75rem, 3.5vw, 2.35rem) !important;
}

.ayllu-page-hero__eyebrow {
  font-size: 0.78rem !important;
  color: var(--orange, #f47820) !important;
}

.ayllu-page-hero__subtitle {
  font-size: clamp(0.92rem, 1.6vw, 1.05rem) !important;
}

.ayllu-section-head h2 {
  font-size: clamp(1.25rem, 2.2vw, 1.5rem) !important;
}

.ayllu-section-head p {
  font-size: 0.92rem !important;
}

.ayllu-card__body h3,
.ayllu-event-card__body h3 {
  font-size: 1.08rem !important;
}

.ayllu-about-split__content h2,
.ayllu-about__content h2 {
  font-size: clamp(1.25rem, 2.2vw, 1.5rem) !important;
}

.ayllu-value-card h3,
.ayllu-pillar h3 {
  font-size: 1.08rem !important;
}

.ayllu-value-card p,
.ayllu-pillar p,
.ayllu-card__body p {
  font-size: 0.92rem !important;
}

/* Ayllu home */
.ayllu-hero__title {
  font-size: clamp(1.5rem, 3.5vw, 2.1rem) !important;
}

.ayllu-hero__subtitle {
  font-size: clamp(0.95rem, 1.8vw, 1.08rem) !important;
}

.ayllu-cta__content h2 {
  font-size: clamp(1.25rem, 2.5vw, 1.55rem) !important;
}

.ayllu-cta__content p {
  font-size: 0.95rem !important;
}

.ayllu-process__step h3 {
  font-size: 1rem !important;
}

.ayllu-process__step p {
  font-size: 0.88rem !important;
}

.ayllu-stats__item strong {
  font-size: clamp(1.35rem, 2.5vw, 1.75rem) !important;
}

.ayllu-stats__item span {
  font-size: 0.88rem !important;
}

.ayllu-event-card__index {
  font-size: 1.35rem !important;
}

.ayllu-about__badge strong {
  font-size: 1.25rem !important;
}

.ayllu-marquee__track span {
  font-size: 1.05rem !important;
}

.ayllu-about__text {
  font-size: 0.95rem !important;
}

.ayllu-btn {
  font-size: 0.92rem !important;
}

/* Presupuestador */
.budget-block__head h2 {
  font-size: 1.1rem !important;
}

.budget-block__head p,
.budget-panel__desc {
  font-size: 0.88rem !important;
}

.budget-panel__title {
  font-size: 0.95rem !important;
}

.budget-summary__head h3 {
  font-size: 0.95rem !important;
}

.budget-summary__section h4 {
  font-size: 0.72rem !important;
}

.budget-locale-card__body h4,
.budget-product-card__body h5 {
  font-size: 0.92rem !important;
}

.budget-field label {
  font-size: 0.85rem !important;
}

.budget-input,
.budget-select {
  font-size: 0.9rem !important;
  padding: 10px 12px !important;
}

.budget-tab {
  font-size: 0.85rem !important;
  padding: 10px 12px !important;
}

.budget-personal-card h4 {
  font-size: 0.95rem !important;
}

.budget-personal-card li {
  font-size: 0.85rem !important;
}

.budget-block__step {
  font-size: 1rem !important;
}

.budget-summary__item,
.budget-summary__hint {
  font-size: 0.85rem !important;
}

@media (max-width: 767px) {
  html {
    font-size: 13px;
  }

  h1, .h1 { font-size: 1.55rem !important; }
  h2, .h2 { font-size: 1.2rem !important; }
}
