/**
 * Tipografi frontend seragam — load terakhir, menimpa variasi per-halaman.
 * Body ~15px | Meta ~13px | Judul section ~20–22px | Hero halaman ~24–28px
 */

.site-frame {
    font-size: var(--fe-body);
    line-height: var(--leading-normal);
}

/* Header & navigasi */
.site-frame .brand p { font-size: var(--fe-lg); }
.site-frame .brand span { font-size: var(--fe-xs); }
.site-frame .nav-menu { font-size: var(--fe-body); }
.site-frame .dropdown-menu a { font-size: var(--fe-sm); }
.site-frame .dropdown-toggle i { font-size: var(--fe-xs); }
.site-frame .btn-login { font-size: var(--fe-sm); }

/* Footer */
.site-frame .site-footer,
.site-frame .site-footer a,
.site-frame .footer-grid,
.site-frame .footer-bottom { font-size: var(--fe-sm); }

/* Breadcrumb */
.site-frame .profil-breadcrumb,
.site-frame .prokum-breadcrumb,
.site-frame .stat-breadcrumb,
.site-frame .kontak-breadcrumb,
.site-frame .breadcrumb {
    font-size: var(--fe-sm);
}

.site-frame .profil-breadcrumb i,
.site-frame .prokum-breadcrumb i,
.site-frame .stat-breadcrumb i,
.site-frame .kontak-breadcrumb i,
.site-frame .breadcrumb i {
    font-size: var(--fe-xs);
}

/* Hero beranda */
.site-frame .hero-copy .eyebrow { font-size: var(--fe-xs); }
.site-frame .hero-copy h1 { font-size: var(--fe-display); line-height: 1.08; }
.site-frame .hero-copy p { font-size: var(--fe-md); line-height: var(--leading-relaxed); }
.site-frame .hero-btn { font-size: var(--fe-body); }

/* Hero halaman dalam */
.site-frame .prokum-hero h1,
.site-frame .profil-hero h1,
.site-frame .stat-hero h1,
.site-frame .kontak-hero h1,
.site-frame .berita-hero h1 {
    font-size: var(--fe-3xl);
}

.site-frame .prokum-hero-desc,
.site-frame .profil-hero p,
.site-frame .stat-hero p,
.site-frame .kontak-hero p,
.site-frame .berita-hero p {
    font-size: var(--fe-body);
    line-height: var(--leading-relaxed);
}

/* Judul section */
.site-frame .section-head h2,
.site-frame .row-head h2,
.site-frame .popular-card .row-head h2,
.site-frame .stat-section-head h2,
.site-frame .help-wide-copy h2,
.site-frame .visitor-intro h2,
.site-frame .kontak-section h2 {
    font-size: var(--fe-2xl);
    line-height: var(--leading-tight);
}

.site-frame .section-head p,
.site-frame .stat-section-head p,
.site-frame .help-wide-copy > p,
.site-frame .visitor-intro p,
.site-frame .kontak-section > p {
    font-size: var(--fe-body);
    line-height: var(--leading-relaxed);
}

.site-frame .row-head a,
.site-frame .stat-link-all {
    font-size: var(--fe-body);
}

/* Pencarian & tag */
.site-frame .search-title { font-size: var(--fe-2xl); }
.site-frame .search-form input,
.site-frame .search-form select,
.site-frame .search-form button,
.site-frame .prokum-search-card input,
.site-frame .prokum-search-card select,
.site-frame .prokum-search-card button { font-size: var(--fe-body); }
.site-frame .search-form input::placeholder { font-size: var(--fe-sm); }
.site-frame .tags a { font-size: var(--fe-sm); }

/* Kartu produk & grid */
.site-frame .product-card h3,
.site-frame .quick-card h3,
.site-frame .external-card h3,
.site-frame .news-title,
.site-frame .popular-title {
    font-size: var(--fe-body);
    line-height: var(--leading-normal);
}

.site-frame .profil-card h2,
.site-frame .legal-item h3 {
    font-size: var(--fe-body);
    line-height: var(--leading-normal);
}

.site-frame .news-meta,
.site-frame .news-chip,
.site-frame .popular-count {
    font-size: var(--fe-xs);
}

.site-frame .product-card p,
.site-frame .quick-card p,
.site-frame .external-card p,
.site-frame .profil-intro,
.site-frame .legal-item p,
.site-frame .sop-step p,
.site-frame .org-level ul,
.site-frame .info-card p,
.site-frame .info-card ul {
    font-size: var(--fe-body);
    line-height: var(--leading-relaxed);
}

/* Dokumen */
.site-frame .doc-card h3 { font-size: var(--fe-lg); line-height: var(--leading-normal); }
.site-frame .doc-summary { font-size: var(--fe-body); line-height: var(--leading-relaxed); }
.site-frame .doc-meta,
.site-frame .doc-bottom,
.site-frame .doc-badge,
.site-frame .doc-load-more { font-size: var(--fe-sm); }

/* Stats bar beranda */
.site-frame .stats-bar h3 { font-size: var(--fe-2xl); }
.site-frame .stats-bar p { font-size: var(--fe-sm); }
.site-frame .integrity-box h3 { font-size: var(--fe-lg); }
.site-frame .integrity-box p { font-size: var(--fe-body); }

/* Chart beranda */
.site-frame .home-chart-head h3 { font-size: var(--fe-lg); }
.site-frame .home-chart-head p,
.site-frame .home-chart-legend,
.site-frame .home-chart-axis span,
.site-frame .home-chart-kpi span,
.site-frame .home-chart-filter-group label,
.site-frame .home-chart-filter-group select,
.site-frame .home-chart-chip { font-size: var(--fe-sm); }
.site-frame .home-chart-kpi strong { font-size: var(--fe-lg); }

/* Visitor counter beranda */
.site-frame .eyebrow-small,
.site-frame .visitor-chip,
.site-frame .metric-card span,
.site-frame .metric-card-unit { font-size: var(--fe-sm); }
.site-frame .metric-card strong { font-size: var(--fe-xl); }
.site-frame .help-wide-copy a { font-size: var(--fe-body); }

/* Prokum */
.site-frame .prokum-filter-label,
.site-frame .prokum-result-meta,
.site-frame .prokum-pagination,
.site-frame .prokum-sidebar-card,
.site-frame .prokum-tag { font-size: var(--fe-sm); }
.site-frame .prokum-result-title { font-size: var(--fe-md); }
.site-frame .prokum-result-summary { font-size: var(--fe-body); }

/* Prokum detail */
.site-frame .prokum-doc-title { font-size: var(--fe-3xl); }
.site-frame .prokum-doc-subtitle { font-size: var(--fe-body); }
.site-frame .prokum-doc-meta-row,
.site-frame .prokum-doc-actions,
.site-frame .prokum-section-title { font-size: var(--fe-sm); }
.site-frame .prokum-abstract-text,
.site-frame .prokum-summary-text { font-size: var(--fe-body); line-height: var(--leading-relaxed); }

/* Berita index */
.site-frame .hero-news h1 { font-size: var(--fe-3xl); }
.site-frame .hero-news p { font-size: var(--fe-md); line-height: var(--leading-relaxed); }
.site-frame .news-card h3,
.site-frame .featured-news h3 { font-size: var(--fe-body); }
.site-frame .news-meta,
.site-frame .news-tag,
.site-frame .news-sidebar-item,
.site-frame .pagination-news,
.site-frame .filter-chip { font-size: var(--fe-sm); }
.site-frame .search-panel-news input,
.site-frame .search-panel-news select,
.site-frame .search-panel-news button { font-size: var(--fe-body); }
.site-frame .berita-article-title { font-size: var(--fe-3xl); }
.site-frame .berita-article-meta-row,
.site-frame .berita-article-meta-top { font-size: var(--fe-sm); }
.site-frame .berita-article-body { font-size: var(--fe-md); line-height: var(--leading-relaxed); }
.site-frame .berita-gallery-section h2 { font-size: var(--fe-lg); }

/* Kontak */
.site-frame .kontak-card h3 { font-size: var(--fe-lg); }
.site-frame .kontak-card p,
.site-frame .kontak-form label,
.site-frame .kontak-form input,
.site-frame .kontak-form select,
.site-frame .kontak-form textarea,
.site-frame .kontak-form button { font-size: var(--fe-body); }
.site-frame .kontak-form-hint,
.site-frame .kontak-info-item span { font-size: var(--fe-sm); }

/* Statistik */
.site-frame .stat-export-pdf { font-size: var(--fe-sm); }
.site-frame .stat-kpi-icon { font-size: var(--fe-md); }
.site-frame .stat-kpi-value { font-size: var(--fe-2xl); }
.site-frame .stat-kpi-label,
.site-frame .stat-chart-head p,
.site-frame .stat-chart-filters select,
.site-frame .stat-legend-list li { font-size: var(--fe-sm); }
.site-frame .stat-kpi-note,
.site-frame .stat-rank,
.site-frame .stat-type-chip,
.site-frame .stat-donut-center span { font-size: var(--fe-xs); }
.site-frame .stat-link-all {
    font-size: var(--fe-body);
    font-weight: 700;
    color: var(--primary);
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.site-frame .stat-top-list h3,
.site-frame .stat-tables-two-col > div > h3 {
    margin: 0 0 10px;
    font-size: var(--fe-body);
    font-weight: 800;
    color: #1a1f2b;
}
.site-frame .stat-table thead th { font-size: var(--fe-xs); }
.site-frame .stat-table tbody td { font-size: var(--fe-sm); }
.site-frame .stat-donut-center strong { font-size: var(--fe-lg); }
.site-frame .stat-visitor-card strong { font-size: var(--fe-lg); }
.site-frame .stat-visitor-card span { font-size: var(--fe-sm); }

/* Widget & popup */
.site-frame .widget-title { font-size: var(--fe-sm); }
.site-frame .site-popup-banner__body { font-size: var(--fe-body); }

@media (max-width: 760px) {
    .site-frame .hero-copy h1 {
        font-size: clamp(1.625rem, 4.5vw + 0.85rem, 2rem);
    }

    .site-frame .nav-menu { font-size: var(--fe-sm); }
}
