:root {
  /* фон */
  --page-bg:        #f5f7fb;
  --surface-bg:     #ffffff;
  --surface-alt-bg: #f1f5f9;
  --hero-bg:        #f9fafb;

  /* текст */
  --text-main:   #111827;
  --text-muted:  #6b7280;
  --text-soft:   #9ca3af;

  /* акцент */
  --accent:       #16a34a;
  --accent-dark:  #15803d;
  --accent-soft:  #dcfce7;

  /* границы / тени / радиусы */
  --border-soft: #e5e7eb;

  --radius-lg: 24px;
  --radius-md: 16px;
  --radius-sm: 10px;

  --shadow-soft: 0 18px 45px rgba(15, 23, 42, 0.08);
  --shadow-card: 0 10px 30px rgba(15, 23, 42, 0.06);
}

/* базовая сетка / типографика */

*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  height: 100%;
}

body.dairy_theme {
  margin: 0;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
    sans-serif;
  font-size: 14px;
  line-height: 1.5;
  color: var(--text-main);
  background-color: var(--page-bg);
  overflow-x: hidden;
}

/* мобильные: безопасные отступы для вырезов экрана */
@supports (padding: env(safe-area-inset-top)) {
  body.dairy_theme {
    padding-left: env(safe-area-inset-left);
    padding-right: env(safe-area-inset-right);
  }
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
}

a:hover {
  text-decoration: none;
}

button {
  font: inherit;
}

/* просто чтобы класс custom_bg не ломал верстку */
.custom_bg {
  background-color: transparent;
}
