/* ArteEscuela type system. Reuses existing local font faces. No icon/font reset. */
html { font-size: 100% !important; }
body.ae-type-system {
  --ae-type-body: 1rem;
  --ae-type-small: .875rem;
  --ae-type-h1: 3rem;
  --ae-type-h2: 2rem;
  --ae-type-h3: 1.5rem;
  font-family: Raleway, Arial, sans-serif;
  font-size: var(--ae-type-body);
  line-height: 1.7;
}
/* Main page/section hierarchy, independent of Elementor/native page generation. */
html body.ae-type-system #content :is(h1,h2,h3,h4,h5,h6) {
  font-family: "Montserrat Alternates", Montserrat, Arial, sans-serif !important;
  font-weight: 800 !important;
  overflow-wrap: break-word;
}
html body.ae-type-system #content h1 { font-size: var(--ae-type-h1) !important; line-height: 1.18 !important; }
html body.ae-type-system #content h2 { font-size: var(--ae-type-h2) !important; line-height: 1.25 !important; }
html body.ae-type-system #content h3 { font-size: var(--ae-type-h3) !important; line-height: 1.3 !important; }
html body.ae-type-system #content h4 { font-size: 1.25rem !important; line-height: 1.35 !important; }
html body.ae-type-system #content :is(h5,h6) { font-size: 1rem !important; line-height: 1.4 !important; }
/* Normal reading text. Preserve deliberately larger price/heading widgets. */
html body.ae-type-system #content :is(p,li,dt,dd,blockquote):not(.elementor-heading-title) {
  font-size: var(--ae-type-body) !important;
  line-height: 1.7 !important;
}
html body.ae-type-system #content :is(.elementor-text-editor,.elementor-widget-text-editor,.ae2-faq-answer,.ae-faq details,.ae-faq-grid details) {
  font-family: Raleway, Arial, sans-serif;
  font-size: 1rem !important;
  line-height: 1.7 !important;
}
html body.ae-type-system #content p.ae-lead { font-size: 1.125rem !important; line-height: 1.65 !important; }
/* Card headings have a compact role, including semantic H2 archive entries. */
html body.ae-type-system #content :is(.elementor-post,.ae-card,.ae-course-card,.ae-recommended-course,.ae-feature,.ae-quick-card) :is(h2,h3),
html body.ae-type-system #content :is(.elementor-post__title,.ae-mobile-compare__title) {
  font-size: var(--ae-type-h3) !important;
  line-height: 1.3 !important;
}
html body.ae-type-system #content .elementor-post__title a { font-size: inherit !important; line-height: inherit !important; }
/* Inputs remain at least 16px, including iOS, without touching checkbox/icon geometry. */
html body.ae-type-system #content :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]):not([type=button]),textarea,select,label) {
  font-family: Raleway, Arial, sans-serif !important;
  font-size: 1rem !important;
  line-height: 1.5 !important;
}
/* Visible text controls only: do not unhide zero-size pseudo-label/icon bridges. */
html body.ae-type-system #content :is(.elementor-button-text,.ae-btn,.ae-button,.woocommerce a.button,.woocommerce button.button,input[type=submit],button[type=submit],.ld-button,.ld-expand-button .ld-text) {
  font-family: "Montserrat Alternates", Montserrat, Arial, sans-serif !important;
  font-size: 1rem !important;
  line-height: 1.4 !important;
  white-space: normal;
}
html body.ae-type-system #content :is(summary,.ae2-faq-question,.ae-faq-question,.ae-program-nav a,.ae-topic-nav a) { font-size: 1rem !important; line-height: 1.5 !important; }
/* Functional student/account text, not LearnDash icon fonts. */
html body.ae-type-system #content :is(.ld-item-title,.ld-course-title,.ld-text,.ld-profile-edit-link,.ae-area-logout,.woocommerce-MyAccount-navigation a,table.shop_table,table.shop_table th,table.shop_table td) {
  font-size: 1rem !important;
  line-height: 1.55 !important;
}
html body.ae-type-system #content .woocommerce-MyAccount-navigation a { font-family: Raleway, Arial, sans-serif !important; }
/* Secondary metadata is intentionally smaller than reading text, never tiny. */
html body.ae-type-system #content :is(.ae-eyebrow,.ae-area-eyebrow,.ae-kicker,.ae-note,.ae-meta,.ae-cohort__detail,.ae-cohort__label,.ae-cohort__badge,.elementor-post-info,.elementor-post-date,.elementor-post-avatar,.wp-caption-text,figcaption) {
  font-size: var(--ae-type-small) !important;
  line-height: 1.5 !important;
}
html body.ae-type-system #content .ae-cohort__date { font-size: 1.25rem !important; line-height: 1.3 !important; }
html body.ae-type-system #content .ae-cohort { flex-wrap: wrap; }
html body.ae-type-system :is(#colophon,#ae-global-footer,.ae-site-footer) :is(p,li,a) { font-size: 1rem !important; line-height: 1.6 !important; }
html body.ae-type-system .ae-global-header .ae-gh-nav a { font-size: 1rem !important; line-height: 1.4 !important; }
html body.ae-type-system .ae-global-header .ae-gh-top-item { font-size: .875rem !important; line-height: 1.5 !important; }
/* Explicit breakpoints preserve text enlargement (no viewport-only font scaling). */
@media (max-width:1023px) {
  body.ae-type-system { --ae-type-h1: 2.625rem; --ae-type-h2: 1.875rem; }
}
@media (max-width:767px) {
  body.ae-type-system { --ae-type-h1: 2rem; --ae-type-h2: 1.625rem; --ae-type-h3: 1.375rem; }
  html body.ae-type-system #content :is(h1,h2,h3) { text-wrap: pretty; }
  html body.ae-type-system #content .ae-cohort__badge { white-space: normal; }
}
