/* Стилі типографіки теми AltaMedical */

/* Базові налаштування */
body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #212529;
    text-align: left;
}

/* Заголовки */
h1, h2, h3, h4, h5, h6 {
    margin-top: 0;
    margin-bottom: 0.5rem;
    font-weight: 500;
    line-height: 1.2;
}

h1 {
    font-size: 2.5rem;
}

h2 {
    font-size: 2rem;
}

h3 {
    font-size: 1.75rem;
}

h4 {
    font-size: 1.5rem;
}

h5 {
    font-size: 1.25rem;
}

h6 {
    font-size: 1rem;
}

/* Параграфи */
p {
    margin-top: 0;
    margin-bottom: 1rem;
}

/* Списки */
ol,
ul {
    margin-top: 0;
    margin-bottom: 1rem;
    padding-left: 2rem;
}

ol ol,
ul ul,
ol ul,
ul ol {
    margin-bottom: 0;
}

/* Цитати */
blockquote {
    margin: 0 0 1rem;
    padding: 0.5rem 1rem;
    border-left: 0.25rem solid #dee2e6;
}

blockquote p:last-child {
    margin-bottom: 0;
}

/* Код */
code {
    font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    font-size: 0.875em;
    color: #e83e8c;
    word-break: break-word;
}

pre {
    display: block;
    margin-top: 0;
    margin-bottom: 1rem;
    font-size: 0.875em;
    color: #212529;
    word-break: break-all;
    word-wrap: break-word;
    background-color: #f8f9fa;
    border: 1px solid #dee2e6;
    border-radius: 0.25rem;
    padding: 1rem;
}

pre code {
    font-size: inherit;
    color: inherit;
    word-break: normal;
}

/* Абревіатури */
abbr[title],
abbr[data-original-title] {
    text-decoration: underline;
    text-decoration: underline dotted;
    cursor: help;
    border-bottom: 0;
}

/* Адреси */
address {
    margin-bottom: 1rem;
    font-style: normal;
    line-height: inherit;
}

/* Визначення */
dl {
    margin-top: 0;
    margin-bottom: 1rem;
}

dt {
    font-weight: 700;
}

dd {
    margin-bottom: 0.5rem;
    margin-left: 0;
}

/* Підсвічування тексту */
mark {
    padding: 0.2em;
    background-color: #fcf8e3;
}

/* Маленький текст */
small {
    font-size: 80%;
    font-weight: 400;
}

/* Підкреслення */
u {
    text-decoration: underline;
}

/* Вирівнювання тексту */
.text-left {
    text-align: left !important;
}

.text-center {
    text-align: center !important;
}

.text-right {
    text-align: right !important;
}

.text-justify {
    text-align: justify !important;
}

/* Трансформація тексту */
.text-lowercase {
    text-transform: lowercase !important;
}

.text-uppercase {
    text-transform: uppercase !important;
}

.text-capitalize {
    text-transform: capitalize !important;
}

/* Напруженість шрифту */
.font-weight-light {
    font-weight: 300 !important;
}

.font-weight-normal {
    font-weight: 400 !important;
}

.font-weight-bold {
    font-weight: 700 !important;
}

/* Висота рядка */
.line-height-1 {
    line-height: 1 !important;
}

.line-height-sm {
    line-height: 1.25 !important;
}

.line-height-base {
    line-height: 1.5 !important;
}

.line-height-lg {
    line-height: 2 !important;
}

/* Обрізання тексту */
.text-truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Перенесення тексту */
.text-break {
    word-break: break-word !important;
    word-wrap: break-word !important;
}

.text-nowrap {
    white-space: nowrap !important;
}

/* Кольори тексту */
.text-primary {
    color: var(--bs-primary) !important;
}

.text-secondary {
    color: var(--bs-secondary) !important;
}

.text-success {
    color: var(--bs-success) !important;
}

.text-danger {
    color: var(--bs-danger) !important;
}

.text-warning {
    color: var(--bs-warning) !important;
}

.text-info {
    color: var(--bs-info) !important;
}

.text-light {
    color: var(--bs-light) !important;
}

.text-dark {
    color: var(--bs-dark) !important;
}

.text-white {
    color: var(--bs-white) !important;
}

.text-muted {
    color: #6c757d !important;
}

/* Прозорість тексту */
.text-opacity-75 {
    opacity: 0.75 !important;
}

.text-opacity-50 {
    opacity: 0.5 !important;
}

.text-opacity-25 {
    opacity: 0.25 !important;
}

/* Кольори фону */
.bg-primary {
    background-color: var(--bs-primary) !important;
}

.bg-secondary {
    background-color: var(--bs-secondary) !important;
}

.bg-success {
    background-color: var(--bs-success) !important;
}

.bg-danger {
    background-color: var(--bs-danger) !important;
}

.bg-warning {
    background-color: var(--bs-warning) !important;
}

.bg-info {
    background-color: var(--bs-info) !important;
}

.bg-light {
    background-color: var(--bs-light) !important;
}

.bg-dark {
    background-color: var(--bs-dark) !important;
}

.bg-white {
    background-color: var(--bs-white) !important;
}

/* Тіні тексту */
.text-shadow {
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.text-shadow-sm {
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

.text-shadow-lg {
    text-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

/* Міжлітерний інтервал */
.letter-spacing-tight {
    letter-spacing: -0.05em !important;
}

.letter-spacing-normal {
    letter-spacing: 0 !important;
}

.letter-spacing-wide {
    letter-spacing: 0.05em !important;
}

.letter-spacing-wider {
    letter-spacing: 0.1em !important;
}

.letter-spacing-widest {
    letter-spacing: 0.2em !important;
}

/* Міжсловний інтервал */
.word-spacing-tight {
    word-spacing: -0.05em !important;
}

.word-spacing-normal {
    word-spacing: 0 !important;
}

.word-spacing-wide {
    word-spacing: 0.05em !important;
}

.word-spacing-wider {
    word-spacing: 0.1em !important;
}

.word-spacing-widest {
    word-spacing: 0.2em !important;
}

/* Розміри шрифту */
.font-size-xs {
    font-size: 0.75rem !important;
}

.font-size-sm {
    font-size: 0.875rem !important;
}

.font-size-base {
    font-size: 1rem !important;
}

.font-size-lg {
    font-size: 1.25rem !important;
}

.font-size-xl {
    font-size: 1.5rem !important;
}

.font-size-2xl {
    font-size: 2rem !important;
}

.font-size-3xl {
    font-size: 2.5rem !important;
}

.font-size-4xl {
    font-size: 3rem !important;
}

/* Адаптивні розміри шрифту */
@media (min-width: 576px) {
    .font-size-sm-xs {
        font-size: 0.75rem !important;
    }
    
    .font-size-sm-sm {
        font-size: 0.875rem !important;
    }
    
    .font-size-sm-base {
        font-size: 1rem !important;
    }
    
    .font-size-sm-lg {
        font-size: 1.25rem !important;
    }
    
    .font-size-sm-xl {
        font-size: 1.5rem !important;
    }
    
    .font-size-sm-2xl {
        font-size: 2rem !important;
    }
    
    .font-size-sm-3xl {
        font-size: 2.5rem !important;
    }
    
    .font-size-sm-4xl {
        font-size: 3rem !important;
    }
}

@media (min-width: 768px) {
    .font-size-md-xs {
        font-size: 0.75rem !important;
    }
    
    .font-size-md-sm {
        font-size: 0.875rem !important;
    }
    
    .font-size-md-base {
        font-size: 1rem !important;
    }
    
    .font-size-md-lg {
        font-size: 1.25rem !important;
    }
    
    .font-size-md-xl {
        font-size: 1.5rem !important;
    }
    
    .font-size-md-2xl {
        font-size: 2rem !important;
    }
    
    .font-size-md-3xl {
        font-size: 2.5rem !important;
    }
    
    .font-size-md-4xl {
        font-size: 3rem !important;
    }
}

@media (min-width: 992px) {
    .font-size-lg-xs {
        font-size: 0.75rem !important;
    }
    
    .font-size-lg-sm {
        font-size: 0.875rem !important;
    }
    
    .font-size-lg-base {
        font-size: 1rem !important;
    }
    
    .font-size-lg-lg {
        font-size: 1.25rem !important;
    }
    
    .font-size-lg-xl {
        font-size: 1.5rem !important;
    }
    
    .font-size-lg-2xl {
        font-size: 2rem !important;
    }
    
    .font-size-lg-3xl {
        font-size: 2.5rem !important;
    }
    
    .font-size-lg-4xl {
        font-size: 3rem !important;
    }
}

@media (min-width: 1200px) {
    .font-size-xl-xs {
        font-size: 0.75rem !important;
    }
    
    .font-size-xl-sm {
        font-size: 0.875rem !important;
    }
    
    .font-size-xl-base {
        font-size: 1rem !important;
    }
    
    .font-size-xl-lg {
        font-size: 1.25rem !important;
    }
    
    .font-size-xl-xl {
        font-size: 1.5rem !important;
    }
    
    .font-size-xl-2xl {
        font-size: 2rem !important;
    }
    
    .font-size-xl-3xl {
        font-size: 2.5rem !important;
    }
    
    .font-size-xl-4xl {
        font-size: 3rem !important;
    }
}

/* Декоративні елементи */
.text-decoration-none {
    text-decoration: none !important;
}

.text-decoration-underline {
    text-decoration: underline !important;
}

.text-decoration-line-through {
    text-decoration: line-through !important;
}

/* Стилі для заголовків */
.heading-1 {
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 1rem;
}

.heading-2 {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 0.875rem;
}

.heading-3 {
    font-size: 1.75rem;
    font-weight: 600;
    line-height: 1.2;
    margin-bottom: 0.75rem;
}

.heading-4 {
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.2;
    margin-bottom: 0.625rem;
}

.heading-5 {
    font-size: 1.25rem;
    font-weight: 500;
    line-height: 1.2;
    margin-bottom: 0.5rem;
}

.heading-6 {
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.2;
    margin-bottom: 0.375rem;
}

/* Стилі для списків */
.list-unstyled {
    padding-left: 0;
    list-style: none;
}

.list-inline {
    padding-left: 0;
    list-style: none;
}

.list-inline-item {
    display: inline-block;
}

.list-inline-item:not(:last-child) {
    margin-right: 0.5rem;
}

/* Підтримка RTL */
[dir="rtl"] .text-left {
    text-align: right !important;
}

[dir="rtl"] .text-right {
    text-align: left !important;
}

[dir="rtl"] ol,
[dir="rtl"] ul {
    padding-right: 2rem;
    padding-left: 0;
}

[dir="rtl"] blockquote {
    border-right: 0.25rem solid #dee2e6;
    border-left: 0;
    padding-right: 1rem;
    padding-left: 0;
}

[dir="rtl"] .list-inline-item:not(:last-child) {
    margin-left: 0.5rem;
    margin-right: 0;
} 