:root { --accent: #FFD700; --brand: #000; --muted: #666; --bg: #fff; --blue: #0056b3; }

*, *::before, *::after {
    box-sizing: border-box !important;
}

html, body { height:100%; margin:0; background:var(--bg); color:var(--brand); -webkit-font-smoothing:antialiased; overflow-x: hidden; width: 100%; scrollbar-gutter: stable; }
a { color:inherit; text-decoration:none; }

body { position: relative; display: flex; flex-direction: column; min-height: 100vh; font-family: 'Roboto', sans-serif; background-color: #ffffff; }

/* --- 2. КОНТЕЙНЕР --- */
.container { max-width: 1280px; margin: 0 auto; padding: 0 20px; box-sizing: border-box; flex: 1 0 auto; width: 100%; }

/* --- 4. ЗАГОЛОВКИ --- */
.title { font-size: 28px; font-weight: 900; margin: 0 0 10px 0; }
.page-title { font-size: 18px; font-weight: 700; margin: 0 0 10px 10px; }

/* --- 5. СЕКЦИИ --- */
.section { margin-top: 26px; }
.section h2 { font-size: 20px; margin: 0 0 8px 0; }
.section p { color: #333; line-height: 1.5; margin: 0; font-size: 16px; }

/* --- 7. ФОРМЫ И КНОПКИ --- */
input::-webkit-outer-spin-button, input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
input[type=number] { -moz-appearance: textfield; }


@media (max-width:768px) {
  /* 1.7.Заголовки страниц */
  .page-title { font-size:16px; }

  /* 1.8.Обнуление отступов для узких экранов */
  .container { padding: 0 0; }
}

/* ИСПРАВЛЕНИЕ АНИМАЦИЙ МОДАЛКИ */
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes zoomIn { from { transform: scale(0.8); opacity: 0; } to { transform: scale(1); opacity: 1; } }