/* VartoModa v4.6.40 — exact site-wide public typography system
   Four consistent text roles across every public page.

   Desktop: page title 30px, subtitle 18px, body 15px, secondary 12px
   Tablet:  page title 24px, subtitle 16px, body 10px, secondary 10px
   Mobile:  page title 20px, subtitle 14px, body 13px, secondary 10px
*/

:root {
  --vm-page-title-size: 30px;
  --vm-subtitle-size: 18px;
  --vm-body-size: 15px;
  --vm-secondary-size: 12px;
  --vm-title-font: var(--ed-serif, "Lora", Georgia, serif);
  --vm-text-font: "Manrope", Inter, ui-sans-serif, system-ui, sans-serif;
}

/* Base public reading text */
body {
  font-family: var(--vm-text-font);
  font-size: var(--vm-body-size) !important;
  line-height: 1.56;
}

/* PAGE TITLE — the main h1 on every public page */
.editorial-hero-copy h1,
.page-hero h1,
.intro-grid h1,
.page-review-detail .detail-title,
.guides-index-hero h1,
.guide-article__title-wrap h1,
.curated-page-copy h1 {
  margin-top: 0;
  font-family: var(--vm-title-font) !important;
  font-size: var(--vm-page-title-size) !important;
  font-weight: 600 !important;
  line-height: 1.18 !important;
  letter-spacing: -0.025em !important;
}

/* SUBTITLE — page leads, section titles, card titles and content headings */
.editorial-hero-lead,
.page-hero .intro-grid > div:first-child > p:not(.eyebrow),
.page-hero.compact > .container > p:not(.eyebrow),
.page-review-detail .detail-lead,
.guides-index-hero__inner > div:first-child > p:not(.editorial-section-kicker),
.guide-article__lead,
.curated-page-copy > p,
.editorial-section-heading h2,
.editorial-method-grid h2,
.editorial-feature-body h2,
.review-section h2,
.card-head h2,
.empty-state h2,
.curated-empty-state h2,
.guide-related-section h2,
.product-body h3,
.catalog-product-body h3,
.buying-guide-card h3,
.editorial-category-copy h3,
.category-tile-content > strong,
.aside-card h3,
.method-grid h3,
.mini-panel > strong,
.guide-value-box strong,
.curated-principle-card strong,
.guides-index-hero__note strong,
.curated-results-head strong,
.guides-empty-state strong,
.editorial-empty-card strong {
  font-family: var(--vm-title-font) !important;
  font-size: var(--vm-subtitle-size) !important;
  font-weight: 600 !important;
  line-height: 1.34 !important;
  letter-spacing: -0.015em !important;
}

/* BODY TEXT — normal readable content */
.editorial-section-intro,
.editorial-feature-body > p,
.editorial-category-copy p,
.category-tile-content p,
.product-body > p,
.catalog-product-body > p,
.buying-guide-card__body > p,
.review-section > p,
.review-section li,
.page-review-detail .verdict-block .verdict-copy,
.page-review-detail .verdict-block .verdict-copy p,
.page-review-detail .verdict-block .verdict-copy strong,
.page-review-detail .verdict-block .verdict-copy em,
.page-review-detail .verdict-block .verdict-copy .verdict-highlight,
.sidebar-verdict-text,
.check-list-public,
.check-list-public li,
.guide-prose,
.guide-prose p,
.guide-prose li,
.guide-prose blockquote,
.guide-value-box p,
.curated-principle-card p,
.curated-empty-state p,
.contact-form,
.contact-form label,
.contact-form input,
.contact-form textarea,
.contact-form select,
.contact-side p,
.mini-panel p,
.text-page,
.text-page p,
.text-page li,
.faq-list p,
.faq-list summary,
.spec-list,
.pros-cons {
  font-family: var(--vm-text-font) !important;
  font-size: var(--vm-body-size) !important;
  line-height: 1.56 !important;
}

/* SECONDARY TEXT — metadata, labels, notes and supporting copy */
.kicker,
.eyebrow,
.editorial-kicker,
.editorial-section-kicker,
.breadcrumb,
.guide-breadcrumbs,
.detail-meta,
.detail-rating-summary,
.detail-review-count,
.product-meta,
.catalog-product-meta,
.buying-guide-card__meta,
.buying-guide-card footer,
.guide-article__meta,
.badge,
.deal,
.rank-badge,
.editorial-feature-badge,
.editorial-feature-deal,
.editorial-feature-rating,
.editorial-feature-link,
.editorial-section-heading > a,
.curated-results-head span,
.curated-results-head > a,
.catalog-card-footer,
.catalog-card-footer > span,
.card-proof,
.card-proof span,
.card-proof strong,
.review-count,
.score-review-count,
.page-review-detail .verdict-block .verdict-price-note,
.verdict-disclosure,
.footer-mini,
.footer-col,
.footer-col h3,
.footer-col a,
.footer-bottom,
.brand-text small,
.intro-card span,
.guides-index-hero__note span,
.guides-empty-state span,
.category-tile-content small,
.category-tile-content em,
.muted,
.notice,
.filter-title span,
.filter-group h3,
.chip,
.catalog-toolbar span,
.pagination-arrow,
.pagination-page,
.pagination-ellipsis {
  font-family: var(--vm-text-font) !important;
  font-size: var(--vm-secondary-size) !important;
  line-height: 1.42 !important;
  letter-spacing: 0 !important;
}

/* Preserve hierarchy while keeping interactive controls readable. */
button,
.btn,
.editorial-btn,
.catalog-card-button,
.site-nav a,
.sort-select,
.search-box input,
.featured-toggle {
  font-family: var(--vm-text-font);
  font-size: var(--vm-body-size) !important;
}

/* Tablet portrait and landscape */
@media (min-width: 600px) and (max-width: 1199px) {
  :root {
    --vm-page-title-size: 24px;
    --vm-subtitle-size: 16px;
    --vm-body-size: 10px;
    --vm-secondary-size: 10px;
  }

  body { line-height: 1.52; }
}

/* Mobile */
@media (max-width: 599px) {
  :root {
    --vm-page-title-size: 20px;
    --vm-subtitle-size: 14px;
    --vm-body-size: 13px;
    --vm-secondary-size: 10px;
  }

  body { line-height: 1.48; }
}

/* Homepage hero title exception only.
   This does not change titles on reviews, categories, guides, curated pages,
   product pages, or any other public page. */
.editorial-home-hero .editorial-hero-copy h1 {
  font-size: 84px !important;
}

@media (min-width: 600px) and (max-width: 1199px) {
  .editorial-home-hero .editorial-hero-copy h1 {
    font-size: 28px !important;
  }
}

@media (max-width: 599px) {
  .editorial-home-hero .editorial-hero-copy h1 {
    font-size: 22px !important;
  }
}
