/* Chiyab Phase 26.1 — Typography Standardization & UI Density Hotfix
 * Purpose: normalize Persian typography, reduce oversized headings, and unify title/card/button scale.
 * No font files are bundled; the stack uses installed/site-provided Persian fonts first.
 */
:root {
  --chiyab-font-ui: Vazirmatn, Estedad, "IRANSansX", "Dana", "Segoe UI", Tahoma, Arial, sans-serif;
  --chiyab-font-number: Vazirmatn, Estedad, "IRANSansX", "Dana", "Segoe UI", Tahoma, Arial, sans-serif;
  --chiyab-type-xs: 11.5px;
  --chiyab-type-sm: 12.5px;
  --chiyab-type-md: 14px;
  --chiyab-type-lg: 15px;
  --chiyab-title-xs: clamp(14px, 1vw, 15px);
  --chiyab-title-sm: clamp(15px, 1.1vw, 17px);
  --chiyab-title-md: clamp(17px, 1.35vw, 20px);
  --chiyab-title-lg: clamp(20px, 1.7vw, 25px);
  --chiyab-title-xl: clamp(22px, 2vw, 28px);
  --chiyab-metric-sm: clamp(20px, 2vw, 26px);
  --chiyab-metric-md: clamp(24px, 2.4vw, 32px);
  --chiyab-line-tight: 1.34;
  --chiyab-line-title: 1.42;
  --chiyab-line-body: 1.78;
  --chiyab-weight-title: 800;
  --chiyab-weight-section: 760;
  --chiyab-weight-strong: 740;
}

.chiyab-admin,
.chiyab-admin button,
.chiyab-admin input,
.chiyab-admin select,
.chiyab-admin textarea,
.chiyab-seller-panel,
.chiyab-seller-panel button,
.chiyab-seller-panel input,
.chiyab-seller-panel select,
.chiyab-seller-panel textarea,
.chiyab-public,
.chiyab-public button,
.chiyab-public input,
.chiyab-public select,
.chiyab-public textarea,
.chiyab-map-app,
.chiyab-map-app button,
.chiyab-map-app input,
.chiyab-map-app select,
.chiyab-map-app textarea {
  font-family: var(--chiyab-font-ui) !important;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.chiyab-admin,
.chiyab-seller-panel,
.chiyab-public,
.chiyab-map-app {
  font-size: var(--chiyab-type-md);
  line-height: var(--chiyab-line-body);
}

.chiyab-admin h1,
.chiyab-admin h2,
.chiyab-admin h3,
.chiyab-admin .chiyab-page-head h1,
.chiyab-admin .chiyab-workspace-hero h1,
.chiyab-admin .chiyab-ux-page-head h1,
.chiyab-admin .chiyab-usability-hero h1,
.chiyab-seller-panel h1,
.chiyab-seller-panel h2,
.chiyab-seller-panel h3,
.chiyab-public h1,
.chiyab-public h2,
.chiyab-public h3,
.chiyab-map-app h1,
.chiyab-map-app h2,
.chiyab-map-app h3 {
  font-family: var(--chiyab-font-ui) !important;
  line-height: var(--chiyab-line-title) !important;
  letter-spacing: -0.012em;
  text-wrap: balance;
}

/* Admin page titles: stop oversized module titles from dominating the UI. */
.chiyab-admin h1,
.chiyab-admin .chiyab-page-head h1,
.chiyab-admin .chiyab-workspace-hero h1,
.chiyab-admin .chiyab-ux-page-head h1,
.chiyab-admin .chiyab-usability-hero h1,
.chiyab-admin .chiyab-architecture-hero h1,
.chiyab-admin .chiyab-workflow-hero h1 {
  font-size: var(--chiyab-title-xl) !important;
  font-weight: var(--chiyab-weight-title) !important;
  margin-top: 0;
  margin-bottom: 6px;
}

.chiyab-admin .chiyab-panel h2,
.chiyab-admin .chiyab-section-head h2,
.chiyab-admin .chiyab-ux-section__head h2,
.chiyab-admin .chiyab-card h2,
.chiyab-admin .chiyab-workspace-section h2 {
  font-size: var(--chiyab-title-md) !important;
  font-weight: var(--chiyab-weight-section) !important;
  line-height: var(--chiyab-line-title) !important;
  margin-top: 0;
}

.chiyab-admin h3,
.chiyab-admin .chiyab-friction-item__main h3,
.chiyab-admin .chiyab-suggestion-item h3,
.chiyab-admin .chiyab-status-card h3 {
  font-size: var(--chiyab-title-sm) !important;
  font-weight: var(--chiyab-weight-section) !important;
}

.chiyab-admin p,
.chiyab-admin li,
.chiyab-admin td,
.chiyab-admin th,
.chiyab-admin dd,
.chiyab-admin dt,
.chiyab-admin .description,
.chiyab-admin .chiyab-muted {
  font-size: var(--chiyab-type-md);
  line-height: var(--chiyab-line-body);
}

.chiyab-admin small,
.chiyab-admin .chiyab-badge,
.chiyab-admin .chiyab-kicker,
.chiyab-admin .chiyab-admin-status,
.chiyab-admin .chiyab-status-pill,
.chiyab-admin .chiyab-ux-kicker {
  font-size: var(--chiyab-type-sm) !important;
  line-height: 1.45 !important;
  font-weight: 700 !important;
}

.chiyab-admin strong,
.chiyab-admin b,
.chiyab-seller-panel strong,
.chiyab-seller-panel b {
  font-weight: var(--chiyab-weight-strong);
}

/* Numeric KPI cards should be readable, not billboard-sized. */
.chiyab-admin .chiyab-card strong,
.chiyab-admin .chiyab-ops-card strong,
.chiyab-admin .chiyab-ux-action-card strong,
.chiyab-admin .chiyab-ux-metric strong,
.chiyab-admin .chiyab-intelligence .chiyab-card strong,
.chiyab-admin .chiyab-launch-score strong,
.chiyab-admin .chiyab-readiness-donut strong,
.chiyab-admin .chiyab-ops-kpi-row b,
.chiyab-admin .chiyab-shiraz-kpi strong,
.chiyab-admin .chiyab-sales-kpi strong,
.chiyab-admin .chiyab-workflow-score strong {
  font-family: var(--chiyab-font-number) !important;
  font-size: var(--chiyab-metric-md) !important;
  font-weight: 800 !important;
  letter-spacing: -0.018em;
  line-height: 1.08 !important;
}

.chiyab-admin .chiyab-readiness-donut strong,
.chiyab-admin .chiyab-ops-kpi-row b {
  font-size: var(--chiyab-metric-sm) !important;
}

.chiyab-admin .chiyab-panel,
.chiyab-admin .chiyab-card,
.chiyab-admin .chiyab-ops-card,
.chiyab-admin .chiyab-workspace-hero,
.chiyab-admin .chiyab-ux-hero,
.chiyab-admin .chiyab-usability-hero {
  line-height: var(--chiyab-line-body);
}

.chiyab-admin .button,
.chiyab-admin .button-primary,
.chiyab-admin .chiyab-button,
.chiyab-admin a.button,
.chiyab-admin button,
.chiyab-seller-panel button,
.chiyab-seller-panel .button,
.chiyab-public button,
.chiyab-public .button,
.chiyab-public .chiyab-btn,
.chiyab-map-app button {
  font-family: var(--chiyab-font-ui) !important;
  font-size: var(--chiyab-type-sm) !important;
  font-weight: 740 !important;
  line-height: 1.45 !important;
}

/* Seller panel: friendly, compact and mobile-first. */
.chiyab-seller-panel h1,
.chiyab-seller-dashboard h1,
.chiyab-seller-guided-start strong {
  font-size: clamp(19px, 5vw, 25px) !important;
  font-weight: 800 !important;
  line-height: var(--chiyab-line-title) !important;
}

.chiyab-seller-panel h2,
.chiyab-seller-card h2,
.chiyab-seller-card strong {
  font-size: var(--chiyab-title-sm) !important;
  line-height: var(--chiyab-line-title) !important;
}

.chiyab-seller-panel p,
.chiyab-seller-panel li,
.chiyab-seller-panel span {
  line-height: var(--chiyab-line-body);
}

/* Public core/map surfaces. Theme adds a second layer for full site pages. */
.chiyab-public h1,
.chiyab-map-app h1,
.chiyab-public-empty h1 {
  font-size: clamp(25px, 5vw, 38px) !important;
  font-weight: 800 !important;
  letter-spacing: -0.018em;
}

.chiyab-public h2,
.chiyab-map-app h2,
.chiyab-bottom-sheet h2,
.chiyab-result-card h2,
.chiyab-store-card h2 {
  font-size: clamp(18px, 3vw, 25px) !important;
  font-weight: 780 !important;
}

.chiyab-public h3,
.chiyab-map-app h3,
.chiyab-result-card h3,
.chiyab-store-card h3 {
  font-size: clamp(15px, 2.3vw, 18px) !important;
  font-weight: 740 !important;
}

.chiyab-map-brandline strong,
.chiyab-map-search input,
.chiyab-bottom-sheet,
.chiyab-result-card,
.chiyab-store-card,
.chiyab-item-card {
  font-size: var(--chiyab-type-md) !important;
}

@media (max-width: 782px) {
  :root {
    --chiyab-title-xl: clamp(20px, 6vw, 25px);
    --chiyab-title-lg: clamp(18px, 5vw, 22px);
    --chiyab-title-md: clamp(16px, 4.2vw, 19px);
    --chiyab-metric-md: clamp(22px, 7vw, 28px);
  }

  .chiyab-admin h1,
  .chiyab-admin .chiyab-page-head h1,
  .chiyab-admin .chiyab-workspace-hero h1,
  .chiyab-seller-panel h1 {
    letter-spacing: -0.008em;
  }

  .chiyab-admin p,
  .chiyab-admin li,
  .chiyab-admin td,
  .chiyab-admin th,
  .chiyab-seller-panel p,
  .chiyab-public p {
    font-size: 13.5px;
  }
}
