:root {
  --primary: #1b5e30;
  --primary-dark: #134523;
  --primary-light: #eaf5ec;
  --accent: #2ecc71;
  --white: #f8fdf9;
  --bg-gray: #f0f7f2;
  --bg-warm: #ebf5ee;
  --bg-soft: #f4faf6;
  --bg-mint: #e8f8ef;
  --bg-sage: #dff0e6;
  --text: #1a2a1c;
  --text-secondary: #4a5b4d;
  --border: #cde6d4;
  --shadow-sm: 0 4px 10px rgba(20, 70, 30, 0.06);
  --shadow-md: 0 12px 28px rgba(20, 70, 30, 0.1);
  --shadow-lg: 0 20px 40px rgba(20, 70, 30, 0.13);
  --radius: 20px;
  --radius-lg: 28px;
  --transition: all 0.25s ease;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }

body {
  font-family: 'Golos Text', 'Inter', -apple-system, sans-serif;
  font-weight: 400;
  line-height: 1.6;
  color: var(--text);
  background-color: #eef8f1;
  background-image:
    radial-gradient(ellipse at 0% 0%, rgba(46,204,113,0.10) 0%, transparent 50%),
    radial-gradient(ellipse at 100% 100%, rgba(27,94,48,0.08) 0%, transparent 50%),
    linear-gradient(rgba(27,94,48,0.022) 1px, transparent 1px),
    linear-gradient(90deg, rgba(27,94,48,0.022) 1px, transparent 1px);
  background-size: 100% 100%, 100% 100%, 48px 48px, 48px 48px;
  background-attachment: fixed;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, .stat-num, .vis-num, .logo, .footer-logo {
  font-family: 'Unbounded', 'Inter', sans-serif;
  font-weight: 600;
  letter-spacing: -0.02em;
}

a { text-decoration: none; color: inherit; }
img { max-width: 100%; }

/* === SECTION BACKGROUNDS: заменяем чистый белый === */
.what-we-accept,
.materials,
.pricing,
.advantages,
.fleet,
.process {
  background: linear-gradient(160deg, #f2faf5 0%, #eaf4ee 60%, #f2faf5 100%) !important;
  background-image:
    radial-gradient(circle at 85% 15%, rgba(46,204,113,0.07) 0%, transparent 40%) !important;
}

.how-it-works,
.how-to,
.how-we-work,
.products,
.geography {
  background: linear-gradient(160deg, #e8f5ed 0%, #dceee3 50%, #e6f4eb 100%) !important;
}

.documents {
  background: linear-gradient(180deg, #edf7f1 0%, #e2f0e8 50%, #edf7f1 100%) !important;
}

.blog-list {
  background: linear-gradient(180deg, #eef8f2 0%, #f2faf5 100%) !important;
}

.breadcrumbs {
  background: linear-gradient(90deg, #edf7f1 0%, #e5f4eb 100%) !important;
  border-bottom: 1px solid var(--border) !important;
}

.map-section {
  background: linear-gradient(160deg, #e8f5ed 0%, #dff0e6 100%) !important;
}

.form-card {
  background: linear-gradient(160deg, #f2faf5 0%, #eaf5ef 100%) !important;
  border-color: var(--border) !important;
}

.contacts-section {
  background: linear-gradient(160deg, #f4faf6 0%, #ecf5ef 100%) !important;
}

/* Белые карточки внутри секций — делаем молочно-мятными */
.step-card,
.doc-card,
.material-card,
.process-card,
.product-card,
.geo-card,
.fleet-card,
.price-card {
  background: linear-gradient(160deg, #f8fdfa 0%, #f2f9f5 100%) !important;
}

.price-popular {
  background: linear-gradient(160deg, #ffffff 0%, #f4fcf7 100%) !important;
  border-color: var(--primary) !important;
}

/* article-modal, admin-modal — чуть тёплее */
.article-modal,
.admin-modal,
.form-card,
.container {
  background: #f8fdf9 !important;
  padding: 10px;
}

/* Privacy page */
.policy .container {
  background: #f8fdf9 !important;
}

/* Хлебные крошки span и ссылки */
.breadcrumbs span { color: var(--text-secondary); }
.breadcrumbs a { color: var(--primary); font-weight: 500; }

/* === REVEAL === */
.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.6s cubic-bezier(0.4,0,0.2,1), transform 0.6s cubic-bezier(0.4,0,0.2,1);
}
.reveal.visible { opacity: 1; transform: none; }
.reveal-delay-1 { transition-delay: 0.1s; }
.reveal-delay-2 { transition-delay: 0.2s; }
.reveal-delay-3 { transition-delay: 0.3s; }
.reveal-delay-4 { transition-delay: 0.4s;}

/* === TOAST === */
.toast {
  position: fixed; bottom: 32px; right: 32px; z-index: 9999;
  background: #f8fdf9; border: 1px solid var(--primary);
  border-left: 4px solid var(--accent); border-radius: 14px;
  padding: 16px 20px; display: flex; align-items: center; gap: 12px;
  box-shadow: var(--shadow-lg); transform: translateY(120%);
  transition: transform 0.4s cubic-bezier(0.34,1.56,0.64,1);
  max-width: 340px; font-size: 0.9rem; color: var(--text);
}
.toast.show { transform: translateY(0); }
.toast__text { flex: 1; }
.toast__close { margin-left: auto; background: none; border: none; font-size: 1.2rem; cursor: pointer; color: var(--text-secondary); }

/* === FAQ === */
.faq-item {
  background: #f4faf6; border: 1px solid var(--border);
  border-radius: var(--radius); margin-bottom: 8px; overflow: hidden;
  transition: border-color var(--transition);
}
.faq-item.open { border-color: var(--primary); background: #eff9f3; }
.faq-item__q { display: flex; justify-content: space-between; align-items: center; padding: 18px 24px; font-weight: 600; color: var(--primary-dark); cursor: pointer; }
.faq-item__q:hover { color: var(--primary); }
.faq-item__chevron { width: 24px; height: 24px; transition: transform var(--transition); }
.faq-item.open .faq-item__chevron { transform: rotate(180deg); }
.faq-item__a { max-height: 0; overflow: hidden; transition: max-height 0.38s ease; }
.faq-item.open .faq-item__a { max-height: 600px; }
.faq-item__a-inner { padding: 0 24px 20px; color: var(--text-secondary); font-size: 0.92rem; line-height: 1.7; }

/* === MOBILE MENU === */
.mobile-menu {
  display: none; position: fixed; top: var(--nav-h, 72px);
  left: 0; right: 0; bottom: 0;
  background: rgba(238,248,241,0.98); backdrop-filter: blur(12px);
  z-index: 99; flex-direction: column; padding: 32px 24px;
  transform: translateX(100%); transition: transform 0.35s ease;
}
.mobile-menu.open { display: flex; transform: translateX(0); }
.mobile-menu a { display: block; padding: 14px 16px; font-weight: 600; color: var(--text-secondary); border-bottom: 1px solid var(--border); text-decoration: none; }
.mobile-menu a:hover, .mobile-menu a.active { color: var(--primary); background: var(--primary-light); }

.navbar__burger { display: none; flex-direction: column; gap: 5px; background: none; border: none; cursor: pointer; padding: 4px; }
.navbar__burger span { display: block; width: 26px; height: 2px; background: var(--primary-dark); transition: var(--transition); }
.navbar__burger.open span:nth-child(1) { transform: rotate(45deg) translate(5px,5px); }
.navbar__burger.open span:nth-child(2) { opacity: 0; }
.navbar__burger.open span:nth-child(3) { transform: rotate(-45deg) translate(5px,-5px); }

@media (max-width: 768px) {
  .navbar__nav { display: none; }
  .navbar__burger { display: flex; }
  .mobile-menu { display: flex; }
}

/* === STICKY PHONE === */
#sticky-phone {
  display: none; position: fixed; bottom: 24px; right: 24px;
  z-index: 800; width: 56px; height: 56px;
  background: var(--primary); color: white; border-radius: 50%;
  align-items: center; justify-content: center;
  box-shadow: 0 4px 20px rgba(27,94,48,0.4);
  text-decoration: none; font-size: 24px;
  opacity: 0; transform: scale(0.7); transition: all 0.3s ease;
}
@media (max-width: 768px) { #sticky-phone { display: flex; } }

/* === RESPONSIVE === */
@media (max-width: 900px) {
  :root { --radius: 16px; --radius-lg: 22px; }
  body { font-size: 0.95rem; }
}
@media (max-width: 600px) {
  :root { --radius: 14px; --radius-lg: 18px; }
  body { font-size: 0.9rem; line-height: 1.5; }
}
@media (max-width: 400px) {
  :root { --radius: 12px; --radius-lg: 16px; }
  body { font-size: 0.85rem; }
}

/* === ДОПОЛНИТЕЛЬНОЕ РАЗНООБРАЗИЕ СЕКЦИЙ === */

/* Секции на страницах услуг — чередование тонов */
.materials {
  background: linear-gradient(160deg, #f2faf5 0%, #e8f4ed 60%, #f2faf5 100%) !important;
}
.how-to {
  background: linear-gradient(135deg, #dff0e8 0%, #cce5d5 40%, #dff0e8 100%) !important;
}
.pricing {
  background: linear-gradient(180deg, #edf7f1 0%, #e3eeea 50%, #edf7f1 100%) !important;
}
.documents {
  background: linear-gradient(160deg, #e5f2ea 0%, #d9ebe0 50%, #e5f2ea 100%) !important;
}
.products {
  background: linear-gradient(135deg, #dff0e8 0%, #cee5d6 40%, #dff0e8 100%) !important;
}
.advantages {
  background: linear-gradient(180deg, #f2faf5 0%, #eaf4ee 60%, #f2faf5 100%) !important;
}
.fleet {
  background: linear-gradient(160deg, #f0f9f3 0%, #e5f2ea 60%, #f0f9f3 100%) !important;
}
.geography {
  background: linear-gradient(135deg, #e0f0e8 0%, #d3e9db 40%, #e0f0e8 100%) !important;
}

/* Карточки внутри секций — полупрозрачные, с лёгким блюром */
.material-card,
.process-card,
.product-card,
.fleet-card,
.geo-card,
.step-card,
.doc-card {
  background: rgba(248, 253, 250, 0.75) !important;
  backdrop-filter: blur(6px);
  border-color: rgba(200, 230, 210, 0.8) !important;
}

.price-card {
  background: rgba(242, 250, 245, 0.8) !important;
  backdrop-filter: blur(6px);
}
.price-popular {
  background: rgba(255, 255, 255, 0.9) !important;
  border-color: var(--primary) !important;
  backdrop-filter: blur(8px);
}

/* Секция .section на dokumenty.html */
.section {
  background: linear-gradient(160deg, #f2faf5 0%, #eaf4ee 60%, #f2faf5 100%) !important;
}

/* doc-card на dokumenty */
.doc-card {
  background: rgba(248,253,250,0.8) !important;
}

/* req-block */
.req-block {
  background: linear-gradient(160deg, #f2faf5 0%, #eaf4ee 100%) !important;
  border-color: var(--border) !important;
}

/* blog-card */
.blog-card {
  background: rgba(248,253,250,0.85) !important;
  backdrop-filter: blur(4px);
}

/* page-hero у страниц с grid-overlay */
.page-hero__grid-overlay {
  opacity: 0.7;
}

/* Придаём контактной форме тёплый мятный цвет */
.form-card {
  background: linear-gradient(160deg, #f2faf5 0%, #e8f4ee 100%) !important;
}

/* Stat-cards (hero статистика) — не белые */
.stat-card {
  background: rgba(236, 248, 240, 0.8) !important;
  backdrop-filter: blur(8px);
  border: 1px solid rgba(200, 230, 210, 0.6) !important;
}
.stat-card:hover {
  background: rgba(245, 253, 248, 0.95) !important;
}

/* Vis-cards (why-us) */
.vis-card {
  background: linear-gradient(135deg, rgba(134, 239, 172, 0.5) 0%, rgba(86, 200, 128, 0.4) 100%) !important;
}