/* унификация цветов: все ссылки и синие кнопки — в зелёный бренда */
a:not(.t-btn):not(.t-menu__link-item):not([style*="color:#ffffff"]):not([style*="color: #ffffff"]):not([style*="color:#fff"]) {
  color: #055a16;
}
a:hover:not(.t-btn) { color: #04470f; }

/* кнопки: зелёные одним тоном */
.btn-success, button.t-btn, .t-btn[href], .t-submit,
button[type="submit"]:not(.df-btn-primary):not(.df-btn-ghost),
.button.btn-cart {
  background-color: #055a16 !important;
  border-color: #055a16 !important;
  color: #fff !important;
}
.btn-success:hover, button.t-btn:hover, .t-btn[href]:hover, .t-submit:hover,
button[type="submit"]:not(.df-btn-primary):not(.df-btn-ghost):hover,
.button.btn-cart:hover {
  background-color: #04470f !important;
  border-color: #04470f !important;
}

/* "Частые вопросы" и подобные светлые cta — тон в тему */
.t-btn[style*="background-color:#D0F8FF"],
.t-btn[style*="background-color: #D0F8FF"] {
  background-color: #e7f5ec !important;
  color: #055a16 !important;
}

/* цитаты/акценты */
.text-success, .price-sales { color: #055a16 !important; }

/* CLS fix: reserve hero cover height before Tilda JS calculates viewport-based height */
.t181, .t-cover { min-height: 100vh; }
.t-cover__carrier, .t-cover__filter { min-height: inherit; }
/* mobile safe area */
@media (max-width: 640px) { .t181, .t-cover { min-height: 90vh; } }

/* CLS fix: reserve space for lazyloaded images until src swaps in */
img[data-original] { background: #f3f4f6; }
img { max-width: 100%; height: auto; }

/* =========================================================
   REDESIGN 2026 — CSS-only polish
   Structure / navigation / layout untouched. Typography,
   shadows, corners, hover states, form polish, colors.
   ========================================================= */

/* Modern system font stack — no external download */
body, .t-text, .t-title, .t-descr, .t-uptitle, .t-btn, .t-name, input, textarea, select, button {
  font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Segoe UI', Roboto, ui-sans-serif, system-ui, 'Helvetica Neue', Arial, sans-serif !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.t-title, h1, h2, h3 { letter-spacing: -0.02em !important; font-weight: 700 !important; }
.t-descr, p, body { font-variant-numeric: tabular-nums; }

/* Brand palette upgrade */
:root {
  --brand-50:  #f0fdf4;
  --brand-100: #dcfce7;
  --brand-500: #16a34a;
  --brand-600: #15803d;
  --brand-700: #166534;
}

/* Rounded corners on Tilda blocks */
.t-btn, .t-submit, button.t-btn, .btn-success,
input[type="text"], input[type="email"], input[type="tel"], input[type="number"],
textarea, select,
.t1002__bubble, .t-card__title, .t-input, .t-input-group input, .t-input-group textarea {
  border-radius: 10px !important;
}
.t107__width, .t-cover__carrier, .t-slds__thumbsbullet,
.t105__wrapper, .t123__centered, .t481__blockimg,
img.t-img[style*="border-radius"] { border-radius: 14px !important; }
.t196__textwrapper, .t-card__container, .t585, .t686, .t187 { border-radius: 16px !important; }

/* Soft shadows under images + cards */
.t107__width, .t705__wrapper, .t585, .t686, .t-card__container,
img.t-img:not([alt*="logo" i]):not(.t-img_fullwidth) {
  box-shadow: 0 8px 30px rgba(15, 23, 42, 0.08), 0 2px 6px rgba(15, 23, 42, 0.04);
  transition: transform .2s ease, box-shadow .2s ease;
}
.t107__width:hover, .t705__wrapper:hover, .t-card__container:hover,
img.t-img:not([alt*="logo" i]):not(.t-img_fullwidth):hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 40px rgba(15, 23, 42, 0.14), 0 4px 8px rgba(15, 23, 42, 0.06);
}

/* Buttons — smoother hover */
.t-btn, button.t-btn, .t-submit,
button[type="submit"]:not(.df-btn-primary):not(.df-btn-ghost) {
  transition: background-color .15s ease, transform .1s ease, box-shadow .15s ease, letter-spacing .15s ease !important;
  box-shadow: 0 4px 14px rgba(5, 90, 22, 0.25);
  letter-spacing: 0 !important;
  font-weight: 600 !important;
}
.t-btn:hover, button.t-btn:hover, .t-submit:hover,
button[type="submit"]:not(.df-btn-primary):not(.df-btn-ghost):hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 8px 20px rgba(5, 90, 22, 0.32) !important;
}
.t-btn:active, button.t-btn:active, .t-submit:active { transform: translateY(0) !important; }

/* Form inputs — modern focus ring */
input[type="text"], input[type="email"], input[type="tel"], input[type="number"],
textarea, select, .t-input, .t-input-group input, .t-input-group textarea {
  border: 1px solid #e2e8f0 !important;
  background: #ffffff !important;
  color: #0f172a !important;
  transition: border-color .15s, box-shadow .15s, background .15s !important;
  padding: 12px 14px !important;
}
input[type="text"]:focus, input[type="email"]:focus, input[type="tel"]:focus,
textarea:focus, select:focus, .t-input:focus {
  border-color: #16a34a !important;
  box-shadow: 0 0 0 4px rgba(22, 163, 74, 0.15) !important;
  outline: none !important;
}
input::placeholder, textarea::placeholder { color: #94a3b8 !important; }

/* Header nav — subtle upgrade */
.t228, .t280, .t446 { backdrop-filter: saturate(180%) blur(8px); -webkit-backdrop-filter: saturate(180%) blur(8px); }
.t228__list_item a, .t280__list_item a, .t-menu__link-item {
  transition: color .12s ease, opacity .12s ease !important;
  font-weight: 500 !important;
}
.t-menu__link-item:hover { opacity: 1 !important; color: #16a34a !important; }

/* Prices table — cleaner borders */
table.price-table { border-collapse: separate !important; border-spacing: 0 !important; overflow: hidden; border-radius: 12px; }
table.price-table tr { transition: background-color .15s; }
table.price-table tr:hover td { background-color: #f0fdf4 !important; }
table.price-table td, table.price-table th { border-bottom: 1px solid #e2e8f0 !important; }

/* FAQ / accordion polish (Tilda T585/T686) */
.t585__title, .t686__title, .t142A__text { transition: color .15s; }
.t585__title:hover, .t686__title:hover { color: #16a34a !important; }

/* Section spacing — breathing room */
.t-rec { padding-top: clamp(24px, 4vw, 60px); padding-bottom: clamp(24px, 4vw, 60px); }

/* Smooth scroll to anchors */
html { scroll-behavior: smooth; }

/* Selection color */
::selection { background: #bbf7d0; color: #052e0f; }

/* Focus visible a11y */
*:focus-visible {
  outline: 2px solid #16a34a !important;
  outline-offset: 3px;
  border-radius: 6px;
}

/* Reduce motion respects */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
  .t107__width:hover, img.t-img:hover { transform: none !important; }
}

/* Mobile typography scale */
@media (max-width: 640px) {
  .t-title, h1 { line-height: 1.15 !important; }
  .t-descr { line-height: 1.6 !important; }
}

/* Top-of-page subtle gradient accent */
.t228::before, .t280::before {
  content: ""; position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, #16a34a, #22c55e, #16a34a);
  opacity: .8; pointer-events: none; z-index: 100;
}
