/* Shared platform brand: clear white canvas and fresh green action. */
:root {
  color-scheme: light;
  --brand-cream: #ffffff;
  --brand-paper: #ffffff;
  --brand-surface: #ffffff;
  --brand-green: #087c43;
  --brand-green-strong: #066536;
  --brand-green-bright: #24d66b;
  --brand-green-wash: #eafff1;
  --brand-charcoal: #172532;
  --brand-muted: #52616b;
  --brand-line: #d9eee1;
  --brand-danger: #aa3638;
  --brand-warning: #80551c;
  --brand-success: #246347;
  --brand-logo-surface: #243641;
  --brand-logo-line: rgba(255,255,255,.16);
  --brand-radius-sm: 12px;
  --brand-radius-md: 18px;
  --brand-radius-lg: 28px;
  --brand-space-1: 4px;
  --brand-space-2: 8px;
  --brand-space-3: 12px;
  --brand-space-4: 16px;
  --brand-space-6: 24px;
  --brand-space-8: 32px;
  --brand-focus: 0 0 0 3px rgba(36,214,107,.32);
  --brand-shadow: 0 18px 48px rgba(23,61,43,.08);
  font-family: Inter, 'Segoe UI', system-ui, sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { color: var(--brand-charcoal); }
button, input, select, textarea { font: inherit; }
button, a, input, select, textarea, summary { -webkit-tap-highlight-color: transparent; }
:where(button, a, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--brand-green);
  outline-offset: 3px;
  box-shadow: var(--brand-focus);
}
:where(button, input, select, textarea):disabled { cursor: not-allowed; opacity: .5; }
img { max-width: 100%; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Логотип в шапке: один размер на странице платформы, в ресторане, в отзывах, акциях и документах. */
.vk-logo {
  display: block; box-sizing: content-box; height: 52px; width: auto; max-width: calc(100% - 18px); object-fit: contain;
  padding: 4px 8px; border: 1px solid var(--brand-logo-line); border-radius: 14px; background: var(--brand-logo-surface);
  box-shadow: 0 5px 16px rgba(23,37,50,.12);
}
@media (min-width: 768px) { .vk-logo { height: 64px; } }
