/* common/text-block/css/text-block.css */

.text-block {
    margin-left: var(--spacing-3xl);
    padding: var(--spacing-2xl) 0 var(--spacing-xl) 0;
    box-sizing: border-box;
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: var(--spacing-md);
}

.text-block--align-center {
    justify-content: center;
    text-align: center;
}

.text-block--align-left {
    justify-content: flex-start;
    text-align: left;
}

.text-block--align-right {
    justify-content: flex-end;
    text-align: right;
}

.text-block-content {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: var(--spacing-md);
    width: 100%;
}

.text-block--align-center .text-block-content {
    justify-content: center;
}

.text-block--align-left .text-block-content {
    justify-content: flex-start;
}

.text-block--align-right .text-block-content {
    justify-content: flex-end;
}

.text-block-title {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-medium);
    color: var(--primary);
    line-height: 1.1;
    margin: 0;
}

.text-block-title--h1 {
    font-size: var(--font-size-h1);
}

.text-block-title--h2 {
    font-size: var(--font-size-h2);
}

.text-block-title--h3 {
    font-size: var(--font-size-h3);
}

.text-block-title--h4 {
    font-size: var(--font-size-h4);
}

.text-block-description {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-normal);
    color: var(--primary);
    line-height: var(--line-height-normal);
    margin: 0;
}

.text-block-description--lead {
    font-size: var(--font-size-lead);
}

.text-block-description--p {
    font-size: var(--font-size-p);
}

.text-block-description--small {
    font-size: var(--font-size-small);
}

.text-block-description-link {
    text-decoration: none;
    color: inherit;
    transition: color var(--transition-fast);
}

.text-block-description-link:hover,
.text-block-description-link:focus {
    color: var(--color-primary);
    text-decoration: underline;
}

.text-block-description-link:active {
    color: var(--color-primary-dark);
}

/* Адаптивность */
@media (max-width: 1023px) {
    .text-block-title--h1 {
        font-size: var(--font-size-h1-tablet);
    }
    
    .text-block-title--h2 {
        font-size: var(--font-size-h2-tablet);
    }
    
    .text-block-title--h3 {
        font-size: var(--font-size-h3-tablet);
    }
}

@media (max-width: 767px) {
    .text-block {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--spacing-sm);
    }
    
    .text-block--align-center {
        align-items: center;
    }
    
    .text-block--align-right {
        align-items: flex-end;
    }
    
    .text-block-content {
        flex-direction: column;
        align-items: inherit;
        gap: var(--spacing-xs);
    }
    
    .text-block-title--h1 {
        font-size: var(--font-size-h1-mobile);
    }
    
    .text-block-title--h2 {
        font-size: var(--font-size-h2-mobile);
    }
    
    .text-block-title--h3 {
        font-size: var(--font-size-h3-mobile);
    }
    
    .text-block-description--p {
        font-size: var(--font-size-p-mobile);
    }
}