/* app/static/css/base/typography.css */
/* Базовая типографика */

* {
    font-family: 'Scada', sans-serif;
}

html {
    font-size: 16px;
    line-height: var(--app-line-height-normal);
}

body {
    font-family: 'Scada', sans-serif;
    color: var(--app-color-text-primary);
    background-color: var(--app-color-bg-body);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: 700;
    line-height: var(--app-line-height-tight);
    margin-top: 0;
    color: var(--app-color-heading);
}

h1 {
    font-size: var(--app-font-size-4xl);
    margin-bottom: var(--app-spacing-xl);
    font-weight: 800;
}

h2 {
    font-size: var(--app-font-size-3xl);
    margin-bottom: var(--app-spacing-lg);
    border-bottom: 2px solid var(--app-color-border);
    padding-bottom: var(--app-spacing-sm);
}

h3 {
    font-size: var(--app-font-size-2xl);
    margin-bottom: var(--app-spacing-md);
}

h4 {
    font-size: var(--app-font-size-xl);
    margin-bottom: var(--app-spacing-sm);
}

h5 {
    font-size: var(--app-font-size-lg);
    margin-bottom: var(--app-spacing-sm);
}

h6 {
    font-size: var(--app-font-size-xs);
    margin-bottom: var(--app-spacing-xs);
    text-transform: uppercase;
    color: var(--app-color-text-secondary);
}

p {
    margin-bottom: var(--app-spacing-md);
    line-height: var(--app-line-height-normal);
}

a {
    color: var(--app-color-link);
    text-decoration: none;
    transition: color var(--app-transition-fast) ease;
}

a:hover {
    color: color-mix(in srgb, var(--app-color-primary) 60%, black);
}

ul, ol {
    margin-bottom: var(--app-spacing-md);
    padding-left: var(--app-spacing-lg);
}

ul {
    list-style-type: disc;
}

ol {
    list-style-type: decimal;
}

li {
    margin-bottom: var(--app-spacing-xs);
    line-height: var(--app-line-height-normal);
}

blockquote {
    margin: var(--app-spacing-lg) 0;
    padding: var(--app-spacing-md) var(--app-spacing-lg);
    border-left: 4px solid var(--app-color-primary);
    background-color: var(--app-color-bg-secondary);
    font-style: italic;
    color: var(--app-color-text-secondary);
    border-radius: var(--app-radius-md);
    font-size: var(--app-font-size-sm);
}

blockquote p:last-child {
    margin-bottom: 0;
}

hr {
    border: none;
    height: 1px;
    background-color: var(--app-color-border);
    margin: var(--app-spacing-xl) 0;
}

.app-divider {
    border: none;
    height: 1px;
    background-color: var(--app-color-border);
    margin: var(--app-spacing-lg) 0;
}

.app-text-divider {
    display: flex;
    align-items: center;
    text-align: center;
    margin: var(--app-spacing-lg) 0;
    color: var(--app-color-text-secondary);
}

.app-text-divider::before,
.app-text-divider::after {
    content: '';
    flex: 1;
    border-bottom: 1px solid var(--app-color-border-light);
}

.app-text-divider::before {
    margin-right: var(--app-spacing-md);
}

.app-text-divider::after {
    margin-left: var(--app-spacing-md);
}