/* ============================================================================
   Базовые стили и утилиты
   ============================================================================ */

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

body {
    margin: 0;
    font-family: Inter, "Segoe UI", sans-serif;
    color: var(--brand-text);
    background-image: var(--bg-gradient);
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-size: cover;
    line-height: 1.5;
    background-color: #f8fafc;
}

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

.container {
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    max-width: 1400px;
    padding-left: 1rem;
    padding-right: 1rem;
}

/* ============================================================================
   АДАПТИВНЫЕ ОТСТУПЫ И РАЗМЕРЫ
   ============================================================================ */

@media (max-width: 768px) {
    .container {
        padding-left: 0.75rem;
        padding-right: 0.75rem;
    }
    
    body {
        font-size: 0.95rem;
    }
}

@media (max-width: 480px) {
    .container {
        padding-left: 0.5rem;
        padding-right: 0.5rem;
    }
    
    body {
        font-size: 0.9rem;
    }
}

/* Утилиты для замены Tailwind классов */
.flex { display: flex; }
.items-center { align-items: center; }
.justify-between { justify-content: space-between; }
.mb-4 { margin-bottom: 1rem; }
.text-xl { font-size: 1.25rem; line-height: 1.75rem; }
.font-semibold { font-weight: 600; }
.text-white { color: rgb(255, 255, 255); }
.hidden { display: none !important; }
.block { display: block; }
.table { display: table; }
.static { position: static; }
.fixed { position: fixed; }
.overflow-hidden { overflow: hidden; }

