*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    background-color: var(--c-color-bg);
    color: var(--c-color-text-white);
    font-family: var(--c-font-main);
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

a {
    text-decoration: none;
    color: inherit;
}

/* Внешняя обертка: всегда 100% ширины и боковые отступы */
.c-container {
    width: 100%;
    padding-left: var(--c-container-padding-desktop);
    padding-right: var(--c-container-padding-desktop);
}

/* Внутренняя обертка: ограничение ширины и центрирование */
.c-row {
    max-width: var(--c-row-width);
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}

.c-container--fluid .c-row {
    max-width: 100%;
}
.c-container--full-bleed {
    padding-left: 0;
    padding-right: 0;
}
.c-container--full-bleed .c-row {
    max-width: 100%;
}


/* Адаптивность отступов для мобильных устройств */
@media (max-width: 768px) {
    .c-container {
        padding-left: var(--c-container-padding-mobile);
        padding-right: var(--c-container-padding-mobile);
    }
}
