
/* Dynamic Typography Styles Generated from Admin Settings */
:root {
    --primary-font-family: Open Sans, sans-serif;
    --secondary-font-family: Open Sans, sans-serif;
    --primary-text-color: #6c757d;
    --secondary-text-color: #6c757d;
    --heading-text-color: #6c757d;
    --link-color: #0066cc;
    --link-hover-color: #0052a3;
}

/* Base Typography */
body {
    font-family: var(--primary-font-family);
    font-size: 1.00rem;
    font-weight: 400;
    line-height: 1.60;
    color: var(--primary-text-color);
    letter-spacing: 0.000em;
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--secondary-font-family);
    font-weight: 600;
    line-height: 1.20;
    color: var(--heading-text-color);
    text-transform: none;
}

h1 {
    font-size: 2.50rem;
}

h2 {
    font-size: 2.00rem;
}

h3 {
    font-size: 1.75rem;
}

h4 {
    font-size: 1.50rem;
}

h5 {
    font-size: 1.25rem;
}

h6 {
    font-size: 1.00rem;
}

/* Paragraphs and text elements */
p {
    font-size: 1.00rem;
    font-weight: 400;
    line-height: 1.60;
    color: var(--primary-text-color);
}

/* Small text */
small, .small {
    font-size: 0.88rem;
}

/* Secondary text */
.text-secondary, .text-muted {
    color: var(--secondary-text-color) !important;
}

/* Links */
a {
    color: var(--link-color);
    text-decoration: none;
    transition: color 0.3s ease;
}

a:hover {
    color: var(--link-hover-color);
}

/* Navigation links */
.navbar-nav .nav-link {
    font-family: var(--primary-font-family);
    font-weight: 400;
}

/* Footer text */
.footer, .footer p, .footer span {
    font-family: var(--primary-font-family);
    font-size: 0.88rem;
    color: var(--secondary-text-color);
}

/* Button text */
.btn {
    font-family: var(--primary-font-family);
    font-weight: 400;
    letter-spacing: 0.000em;
}

/* Form elements */
.form-control, .form-select {
    font-family: var(--primary-font-family);
    font-size: 1.00rem;
}

/* Card titles and headers */
.card-title, .card-header {
    font-family: var(--secondary-font-family);
    font-weight: 600;
    color: var(--heading-text-color);
}

/* Breadcrumb */
.breadcrumb-item {
    font-family: var(--primary-font-family);
    font-size: 0.88rem;
}

/* List items */
ul li, ol li {
    font-family: var(--primary-font-family);
    font-size: 1.00rem;
    line-height: 1.60;
}

/* Table text */
table, .table {
    font-family: var(--primary-font-family);
    font-size: 1.00rem;
}

.table th {
    font-weight: 600;
    color: var(--heading-text-color);
}

/* Alert text */
.alert {
    font-family: var(--primary-font-family);
    font-size: 1.00rem;
}

/* Badge text */
.badge {
    font-family: var(--primary-font-family);
    font-size: 0.88rem;
    font-weight: 400;
}

/* Modal text */
.modal-title {
    font-family: var(--secondary-font-family);
    font-weight: 600;
    color: var(--heading-text-color);
}

.modal-body {
    font-family: var(--primary-font-family);
    font-size: 1.00rem;
}

/* Responsive Typography */
@media (max-width: 768px) {
    h1 { font-size: 2rem; }
    h2 { font-size: 1.7rem; }
    h3 { font-size: 1.575rem; }

    body, p {
        font-size: 0.9rem;
    }
}

@media (max-width: 576px) {
    h1 { font-size: 1.75rem; }
    h2 { font-size: 1.5rem; }
    h3 { font-size: 1.4rem; }

    body, p {
        font-size: 0.85rem;
    }
}
