/* Font Size Configuration - Centralized Font Management */
/* This file contains all font size configurations for the entire application */

:root {
  /* Base font sizes */
  --font-size-base: 13px;
  --font-size-small: 11px;
  --font-size-medium: 13px;
  --font-size-large: 15px;
  --font-size-xl: 17px;
  --font-size-xxl: 19px;
  
  /* Component specific font sizes */
  --font-size-body: 13px;
  --font-size-button: 13px;
  --font-size-button-lg: 15px;
  --font-size-form-control: 13px;
  --font-size-form-control-lg: 15px;
  --font-size-badge: 11px;
  --font-size-navbar-brand: 17px;
  --font-size-navbar-link: 13px;
  --font-size-table-header: 13px;
  --font-size-table-cell: 13px;
  --font-size-table-small: 12px;
  --font-size-pagination: 12px;
  --font-size-footer: 11px;
  --font-size-card-title: 15px;
  --font-size-card-text: 13px;
  --font-size-alert: 13px;
  --font-size-modal-title: 17px;
  --font-size-modal-body: 13px;
  --font-size-dropdown: 13px;
  --font-size-breadcrumb: 12px;
  --font-size-tooltip: 11px;
  --font-size-popover: 12px;
}

/* Base HTML font size */
html {
  font-size: var(--font-size-base);
}

/* Body font size */
body {
  font-size: var(--font-size-body);
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

/* Button font sizes */
.btn {
  font-size: var(--font-size-button);
}

.btn-lg {
  font-size: var(--font-size-button-lg);
}

.btn-sm {
  font-size: var(--font-size-small);
}

/* Form control font sizes */
.form-control, .form-select {
  font-size: var(--font-size-form-control);
}

.form-control-lg, .form-select-lg {
  font-size: var(--font-size-form-control-lg);
}

.form-control-sm, .form-select-sm {
  font-size: var(--font-size-small);
}

/* Badge font size */
.badge {
  font-size: var(--font-size-badge);
}

/* Navigation font sizes */
.navbar-brand {
  font-size: var(--font-size-navbar-brand);
}

.nav-link {
  font-size: var(--font-size-navbar-link);
}

/* Table font sizes */
.table th {
  font-size: var(--font-size-table-header);
}

.table td {
  font-size: var(--font-size-table-cell);
}

.table-sm th,
.table-sm td {
  font-size: var(--font-size-table-small);
}

/* Pagination font size */
.pagination {
  font-size: var(--font-size-pagination);
}

.pagination .page-link {
  font-size: var(--font-size-pagination);
}

/* Footer font size */
.footer {
  font-size: var(--font-size-footer);
}

.footer small {
  font-size: var(--font-size-footer);
}

/* Card font sizes */
.card-title {
  font-size: var(--font-size-card-title);
}

.card-text {
  font-size: var(--font-size-card-text);
}

.card-body {
  font-size: var(--font-size-card-text);
}

/* Alert font size */
.alert {
  font-size: var(--font-size-alert);
}

/* Modal font sizes */
.modal-title {
  font-size: var(--font-size-modal-title);
}

.modal-body {
  font-size: var(--font-size-modal-body);
}

/* Dropdown font size */
.dropdown-menu {
  font-size: var(--font-size-dropdown);
}

.dropdown-item {
  font-size: var(--font-size-dropdown);
}

/* Breadcrumb font size */
.breadcrumb {
  font-size: var(--font-size-breadcrumb);
}

/* Tooltip font size */
.tooltip {
  font-size: var(--font-size-tooltip);
}

/* Popover font size */
.popover {
  font-size: var(--font-size-popover);
}

/* Custom utility classes for specific font sizes */
.fs-13 {
  font-size: 13px !important;
}

.fs-12 {
  font-size: 12px !important;
}

.fs-11 {
  font-size: 11px !important;
}

.fs-15 {
  font-size: 15px !important;
}

.fs-17 {
  font-size: 17px !important;
}

.fs-19 {
  font-size: 19px !important;
}

/* Responsive font sizes */
@media (max-width: 768px) {
  :root {
    --font-size-base: 12px;
    --font-size-body: 12px;
    --font-size-button: 12px;
    --font-size-form-control: 12px;
    --font-size-table-header: 12px;
    --font-size-table-cell: 12px;
    --font-size-table-small: 11px;
  }
}

/* Override Bootstrap font sizes */
h1, .h1 { font-size: 1.4rem; }
h2, .h2 { font-size: 1.3rem; }
h3, .h3 { font-size: 1.2rem; }
h4, .h4 { font-size: 1.1rem; }
h5, .h5 { font-size: 1rem; }
h6, .h6 { font-size: 0.9rem; }

.display-1 { font-size: 2rem; }
.display-2 { font-size: 1.8rem; }
.display-3 { font-size: 1.6rem; }
.display-4 { font-size: 1.4rem; }
.display-5 { font-size: 1.2rem; }
.display-6 { font-size: 1rem; }

/* Small text utility */
.small {
  font-size: var(--font-size-small) !important;
}

/* Large text utility */
.large {
  font-size: var(--font-size-large) !important;
}
