:root{
  --brand:#1e7d44;
  --glass-bg:rgba(255,255,255,0.55);
  --glass-bg-strong:rgba(255,255,255,0.72);
  --glass-border:rgba(255,255,255,0.6);
  --glass-shadow:0 24px 48px rgba(30,125,68,.12);
  --surface-shadow:0 18px 36px rgba(17,51,31,.18);
}
*{ box-sizing:border-box; }
body{
  margin:0;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,Arial,sans-serif;
  background-color:#e7f5ff;
  background-image:
    radial-gradient(120% 140% at 20% 10%, rgba(94,196,145,.35) 0%, rgba(94,196,145,0) 55%),
    radial-gradient(90% 100% at 80% 0%, rgba(99,160,255,.25) 0%, rgba(99,160,255,0) 60%),
    radial-gradient(120% 120% at 10% 90%, rgba(255,196,140,.35) 0%, rgba(255,196,140,0) 60%),
    linear-gradient(180deg,rgba(255,255,255,0.95) 0%,rgba(255,255,255,0.78) 40%,rgba(246,252,249,0.82) 100%),
    url('garden-bg.svg');
  background-size:cover;
  background-attachment:fixed;
  background-position:center top;
  color:#0f2f1c;
  min-height:100vh;
}
.container{ max-width:1100px; margin:0 auto; padding:32px 20px 48px; position:relative; }
.container::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:radial-gradient(70% 60% at 15% 10%, rgba(255,255,255,0.45) 0%, rgba(255,255,255,0) 80%),
             radial-gradient(60% 60% at 85% 0%, rgba(255,255,255,0.38) 0%, rgba(255,255,255,0) 80%);
  z-index:-1;
}
a{ color:var(--brand); text-decoration:none; }
a:hover{ text-decoration:underline; }
mark{ background:rgba(255,230,140,0.65); color:inherit; border-radius:4px; padding:0 2px; }
.header, .footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:18px 24px;
  flex-wrap:wrap;
  gap:12px;
  border-radius:28px;
  background:var(--glass-bg);
  border:1px solid rgba(255,255,255,0.45);
  box-shadow:var(--glass-shadow);
  backdrop-filter:saturate(160%) blur(22px);
}
.brand{ display:inline-flex; align-items:center; gap:10px; font-weight:800; font-size:22px; color:#0f2f1c; line-height:1; }
.brand:hover{ text-decoration:none; }
.brand-logo{ width:48px; height:48px; border-radius:16px; box-shadow:0 10px 20px rgba(30,125,68,.15); background:linear-gradient(160deg,rgba(255,255,255,0.95),rgba(235,251,243,0.9)); padding:6px; flex-shrink:0; backdrop-filter:blur(14px); }
.nav{ display:flex; align-items:center; flex-wrap:wrap; gap:16px; }
.nav .nav-cart{ margin-left:auto; }
.nav .nav-cta{ margin-left:0; }
.header-search{
  position:relative;
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px 12px 10px 16px;
  border-radius:999px;
  background:rgba(255,255,255,0.68);
  border:1px solid rgba(255,255,255,0.55);
  box-shadow:0 18px 36px rgba(17,51,31,.16);
  backdrop-filter:saturate(170%) blur(26px);
  transition:box-shadow .25s ease, background .25s ease, border-color .25s ease, transform .25s ease;
}
.header-search:focus-within{
  background:rgba(255,255,255,0.82);
  border-color:rgba(30,125,68,0.45);
  box-shadow:0 24px 46px rgba(17,51,31,.22);
  transform:translateY(-1px);
}
.header-search:focus-within .header-search__icon{
  background:linear-gradient(135deg,rgba(30,125,68,0.95),rgba(63,183,116,0.92));
  color:#fff;
  box-shadow:0 8px 18px rgba(30,125,68,.32);
}
.header-search__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  border-radius:999px;
  background:rgba(30,125,68,0.14);
  color:#195636;
  flex:0 0 auto;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,0.6), 0 8px 16px rgba(21,91,47,.18);
  transition:background .25s ease, color .25s ease, box-shadow .25s ease;
}
.header-search__icon-svg{ display:block; }
.header-search__input{
  flex:1 1 auto;
  border:0;
  background:transparent;
  color:#0f2f1c;
  font:inherit;
  font-size:15px;
  min-width:200px;
  padding:0;
}
.header-search__input::placeholder{ color:#5f7868; }
.header-search__input:focus{ outline:none; }
.header-search__submit{
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:0;
  border-radius:999px;
  background:linear-gradient(135deg,#1e7d44 0%,#3fb774 100%);
  color:#fff;
  font:inherit;
  font-weight:600;
  padding:10px 18px;
  cursor:pointer;
  box-shadow:0 16px 32px rgba(30,125,68,.28);
  transition:opacity .2s ease, transform .2s ease, box-shadow .2s ease;
}
.header-search__submit:hover,
.header-search__submit:focus-visible{
  opacity:.92;
  transform:translateY(-1px);
  box-shadow:0 22px 44px rgba(30,125,68,.32);
  outline:none;
}
.header-search__submit-icon{ display:block; }
.header-search__submit-label{ line-height:1; }
.nav-link{ display:inline-flex; align-items:center; gap:6px; padding:12px 18px; border-radius:16px; background:var(--glass-bg); color:#0f2f1c; font-weight:600; transition:transform .25s ease, box-shadow .25s ease, background .25s ease; cursor:pointer; border:1px solid transparent; font:inherit; backdrop-filter:saturate(160%) blur(18px); }
.nav-link:hover,
.nav-link:focus-visible{ background:var(--glass-bg-strong); box-shadow:0 14px 30px rgba(15,47,28,.12); transform:translateY(-2px); text-decoration:none; outline:none; border-color:rgba(255,255,255,0.6); }
.nav-cart{ position:relative; }
.cart-count{ display:inline-flex; align-items:center; justify-content:center; min-width:24px; padding:2px 8px; border-radius:999px; background:#155b2f; color:#fff; font-size:14px; font-weight:600; line-height:1; }
.cart-count[hidden]{ display:none !important; }
.nav > a.nav-link{ color:#155b2f; }
.nav-dropdown{ position:relative; display:flex; }
.nav-dropdown > summary{ list-style:none; }
.nav-dropdown > summary::-webkit-details-marker{ display:none; }
.nav-submenu{ display:none; position:absolute; top:calc(100% + 8px); left:0; background:var(--glass-bg-strong); border-radius:18px; box-shadow:var(--surface-shadow); padding:10px 0; min-width:220px; z-index:20; backdrop-filter:saturate(160%) blur(22px); border:1px solid rgba(255,255,255,0.65); }
.nav-dropdown[open] .nav-submenu{ display:flex; flex-direction:column; }
.nav-submenu a{ display:block; padding:12px 20px; color:#0f2f1c; white-space:nowrap; }
.nav-submenu a:hover,
.nav-submenu a:focus-visible{ background:rgba(255,255,255,0.85); text-decoration:none; outline:none; }
.card{ background:var(--glass-bg); border-radius:24px; padding:24px; box-shadow:var(--surface-shadow); border:1px solid rgba(255,255,255,0.65); backdrop-filter:saturate(160%) blur(28px); }
details.admin-entity{ background:var(--glass-bg); border-radius:20px; border:1px solid rgba(255,255,255,0.7); padding:16px 20px; backdrop-filter:blur(18px); box-shadow:var(--surface-shadow); }
details.admin-entity + details.admin-entity{ margin-top:12px; }
details.admin-entity > summary{ list-style:none; cursor:pointer; font-weight:600; }
details.admin-entity > summary::-webkit-details-marker{ display:none; }
details.admin-entity form + form{ margin-top:8px; }
.grid{ display:grid; gap:18px; }
.grid-3{ grid-template-columns: repeat(auto-fill,minmax(240px,1fr)); }
.grid-2{ grid-template-columns: repeat(auto-fit,minmax(280px,1fr)); }
.h1{ font-size:30px; font-weight:800; margin:0 0 12px; letter-spacing:-0.01em; }
.h2{ font-size:24px; font-weight:700; margin:0 0 10px; letter-spacing:-0.01em; }
.h3{ font-size:18px; font-weight:700; margin:0 0 8px; letter-spacing:-0.01em; }
.btn{ display:inline-flex; align-items:center; justify-content:center; padding:14px 28px; border-radius:18px; background:linear-gradient(135deg,#1e7d44 0%,#3fb774 100%); color:#fff; box-shadow:0 16px 30px rgba(30,125,68,.25); font-size:16px; font-weight:600; letter-spacing:0.01em; transition:transform .25s ease, box-shadow .25s ease, opacity .2s ease; border:0; cursor:pointer; font:inherit; }
.btn:hover{ opacity:.9; text-decoration:none; transform:translateY(-2px); box-shadow:0 22px 40px rgba(30,125,68,.28); }
.btn.outline{ background:rgba(255,255,255,0.6); border:1px solid rgba(30,125,68,0.3); color:var(--brand); box-shadow:0 12px 24px rgba(30,125,68,.12); backdrop-filter:blur(16px); }
.btn.small{ padding:10px 18px; font-size:14px; box-shadow:none; border-radius:14px; }
.btn.full{ width:100%; }
.input, .textarea, .select{ width:100%; padding:12px 14px; border:1px solid rgba(255,255,255,0.6); border-radius:14px; background:rgba(255,255,255,0.7); box-shadow:0 10px 20px rgba(17,51,31,.06); backdrop-filter:blur(18px); transition:border-color .2s ease, box-shadow .2s ease; }
.input:focus, .textarea:focus, .select:focus{ outline:none; border-color:rgba(30,125,68,0.45); box-shadow:0 12px 24px rgba(30,125,68,.18); }
.textarea{ min-height:120px; resize:vertical; }
.mt-2{ margin-top:8px; } .mt-3{ margin-top:12px; } .mt-4{ margin-top:16px; }
.mt-5{ margin-top:24px; }
.mb-2{ margin-bottom:8px; } .mb-3{ margin-bottom:12px; } .mb-4{ margin-bottom:16px; }
.section{ margin:32px 0; }
.pill-list{ display:flex; flex-wrap:wrap; gap:12px; padding:0; margin:12px 0 0; list-style:none; }
.pill{ display:inline-flex; align-items:center; padding:8px 14px; border-radius:999px; background:rgba(255,255,255,0.65); color:#155b2f; font-weight:600; backdrop-filter:blur(12px); }
.hero{ display:grid; gap:20px; }
.hero-actions{ display:flex; flex-wrap:wrap; gap:12px; }
.hero-figure{ display:grid; gap:14px; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); }
.hero-stat{ padding:16px; border-radius:18px; background:rgba(255,255,255,0.6); color:#0f2f1c; font-weight:600; text-align:center; border:1px solid rgba(255,255,255,0.6); box-shadow:0 14px 28px rgba(17,51,31,.12); backdrop-filter:blur(18px); }
.benefits{ display:grid; gap:18px; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); margin-top:16px; }
.benefit-card{ background:var(--glass-bg); border-radius:22px; padding:20px; border:1px solid rgba(255,255,255,0.65); box-shadow:var(--surface-shadow); backdrop-filter:blur(26px); }
.benefit-card .icon{ font-size:26px; }
.service-card{ display:grid; gap:12px; }
.service-gallery{ display:grid; gap:12px; grid-template-columns:repeat(2,minmax(80px,1fr)); }
.service-gallery--single{ grid-template-columns:minmax(120px,1fr); }
.before-after{ position:relative; border-radius:20px; background:linear-gradient(145deg,rgba(90,206,150,0.8),rgba(24,121,68,0.75)); color:#0f3d21; height:140px; display:flex; align-items:flex-end; justify-content:flex-start; padding:18px; font-weight:700; box-shadow:0 18px 36px rgba(24,121,68,.25); overflow:hidden; }
.before-after::after{ content:""; position:absolute; inset:0; background:radial-gradient(60% 60% at 20% 20%,rgba(255,255,255,.45)0%,rgba(255,255,255,0)70%); mix-blend-mode:screen; }
.before-after.after{ background:linear-gradient(145deg,rgba(151,235,196,0.9),rgba(30,125,68,0.9)); color:#fff; }
.before-after .label{ position:absolute; top:10px; left:10px; font-size:12px; text-transform:uppercase; letter-spacing:.08em; }
.photo-placeholder{ display:flex; align-items:center; justify-content:center; width:100%; height:100%; border-radius:14px; background:rgba(255,255,255,0.35); text-transform:uppercase; font-size:12px; letter-spacing:.08em; font-weight:600; color:inherit; backdrop-filter:blur(6px); }
.before-after.after .photo-placeholder{ background:rgba(255,255,255,0.25); }
.inline-form{ display:inline; margin:0; }
.timeline{ list-style:none; padding:0; margin:0; border-left:3px solid rgba(255,255,255,0.6); }
.timeline li{ position:relative; padding:12px 0 12px 20px; }
.timeline li::before{ content:""; position:absolute; top:16px; left:-8px; width:12px; height:12px; border-radius:50%; background:var(--brand); box-shadow:0 0 0 6px rgba(30,125,68,0.12); }
.timeline li strong{ display:block; margin-bottom:4px; }
.contact-grid{ display:grid; gap:16px; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); }
.contact-card{ background:var(--glass-bg); border-radius:22px; padding:22px; border:1px solid rgba(255,255,255,0.65); box-shadow:var(--surface-shadow); backdrop-filter:blur(24px); }
.map{ border-radius:16px; overflow:hidden; border:1px solid #e1f3e8; background:#f4fbf7; }
.service-map{ width:100%; min-height:320px; }
.map-legend{ color:#5f7868; font-size:14px; }
.reviews-grid{ display:grid; gap:16px; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); }
.review-card{ background:var(--glass-bg); border-radius:22px; padding:20px; border:1px solid rgba(255,255,255,0.65); box-shadow:var(--surface-shadow); backdrop-filter:blur(26px); }
.review-card .review-photo{ margin:-6px -6px 12px; border-radius:18px; overflow:hidden; box-shadow:0 10px 24px rgba(18,76,38,.15); }
.review-card .review-photo img{ display:block; width:100%; height:auto; object-fit:cover; }
.review-card.compact{ padding:18px; }
.review-card .review-rating{ display:inline-flex; align-items:center; gap:4px; color:#f7b519; margin:12px 0 8px; }
.review-card .review-rating svg{ width:18px; height:18px; fill:currentColor; }
.review-card .author{ font-weight:700; margin-top:12px; }
.reviews-snippets{ display:grid; gap:12px; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); }
.gallery{ display:grid; gap:16px; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); margin-top:16px; }
.gallery-item{ position:relative; border-radius:22px; overflow:hidden; background:linear-gradient(140deg,rgba(30,125,68,0.85),rgba(23,95,52,0.9)); color:#fff; padding:20px; min-height:160px; display:flex; flex-direction:column; justify-content:flex-end; box-shadow:0 18px 32px rgba(23,87,45,.25); }
.gallery-item::before{ content:""; position:absolute; inset:0; background:linear-gradient(145deg,rgba(0,0,0,.15),rgba(0,0,0,.4)); }
.gallery-item span{ position:relative; font-weight:600; }
.portfolio-preview{ display:grid; gap:16px; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); }
.portfolio-preview-card{ display:grid; gap:14px; padding:18px; border-radius:22px; border:1px solid rgba(255,255,255,0.65); background:var(--glass-bg); color:inherit; transition:box-shadow .2s ease, transform .2s ease; box-shadow:var(--surface-shadow); backdrop-filter:blur(26px); }
.portfolio-preview-card:hover{ text-decoration:none; box-shadow:0 12px 24px rgba(18,76,38,.14); transform:translateY(-3px); }
.portfolio-preview-image{ width:100%; padding-top:56%; border-radius:16px; background-size:cover; background-position:center; box-shadow:0 12px 20px rgba(18,76,38,.18); }
.portfolio-preview-count{ font-weight:600; color:#0f2f1c; }
.portfolio-grid{ display:grid; gap:20px; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); }
.portfolio-card{ display:grid; gap:16px; padding:22px; border:1px solid rgba(255,255,255,0.65); border-radius:24px; background:var(--glass-bg); box-shadow:var(--surface-shadow); backdrop-filter:blur(26px); }
.portfolio-card-cover{ width:100%; padding-top:60%; border-radius:14px; background-size:cover; background-position:center; }
.portfolio-thumbs{ display:grid; gap:8px; grid-template-columns:repeat(auto-fit,minmax(100px,1fr)); }
.portfolio-thumbs img{ width:100%; height:100%; object-fit:cover; border-radius:12px; }
.portfolio-more{ display:flex; align-items:center; justify-content:center; border-radius:12px; background:#eaf7ef; color:#155b2f; font-weight:700; }
.portfolio-before-after{ display:grid; gap:16px; }
.portfolio-stage{ display:grid; gap:8px; }
.portfolio-stage-title{ font-weight:600; font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:#155b2f; }
.portfolio-stage-grid{ display:grid; gap:10px; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); }
.portfolio-stage-grid img{ width:100%; height:100%; object-fit:cover; border-radius:16px; box-shadow:0 10px 24px rgba(21,91,47,.16); }
.tag{ display:inline-flex; align-items:center; padding:6px 10px; border-radius:999px; background:#f0f7f2; color:#155b2f; font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.08em; }
.blog-grid{ display:grid; gap:18px; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); }
.article-card{ background:var(--glass-bg); border-radius:22px; padding:20px; border:1px solid rgba(255,255,255,0.65); display:grid; gap:12px; box-shadow:var(--surface-shadow); backdrop-filter:blur(26px); }
.article-card .meta{ color:#567560; font-size:14px; }
.article-card .link{ justify-self:flex-start; }
.article-full{ display:grid; gap:20px; }
.article-content{ display:grid; gap:18px; line-height:1.65; }
.article-content p{ margin:0; }
.article-content .article-image{ margin:0; }
.article-content .article-image img{ display:block; width:100%; border-radius:24px; box-shadow:0 18px 32px rgba(21,91,47,.18); }
.search-page-form{ display:grid; gap:14px; }
.search-page-form__controls{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.search-page-form__input{ flex:1 1 260px; min-width:200px; }
.search-page-form__submit{ flex:0 0 auto; }
.search-page-form__hint{ margin:0; }
.search-help-list{ margin:12px 0 0; padding-left:18px; display:grid; gap:8px; }
.search-help-list li{ margin:0; }
.search-section{ display:grid; gap:16px; margin-top:24px; }
.search-results{ display:grid; gap:16px; }
.search-result-card{ background:var(--glass-bg); border-radius:20px; padding:18px; border:1px solid rgba(255,255,255,0.65); box-shadow:var(--surface-shadow); backdrop-filter:blur(22px); display:grid; gap:12px; }
.search-result-card__top{ display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; }
.search-result-card__title a{ color:inherit; text-decoration:none; font-weight:700; }
.search-result-card__title a:hover{ text-decoration:underline; }
.search-result-card__snippet{ margin:0; color:#365443; line-height:1.55; }
.search-result-card__meta{ display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; }
.search-result-card__price{ font-weight:600; }
.search-result-card__link{ color:var(--brand); font-weight:600; }
.search-result-badge{ display:inline-flex; align-items:center; padding:6px 12px; border-radius:999px; background:rgba(30,125,68,0.12); color:#155b2f; font-weight:600; font-size:14px; }
.search-result-meta{ font-size:14px; }
.search-section__header{ margin-bottom:4px; }
.lead{ font-size:18px; font-weight:500; color:#1f4a2d; }
.list-reset{ margin:0; padding:0; list-style:none; }
.cta-banner{ background:linear-gradient(135deg,rgba(30,125,68,0.92),rgba(65,187,123,0.9)); color:#fff; padding:28px; border-radius:28px; display:grid; gap:16px; box-shadow:0 24px 40px rgba(30,125,68,.28); position:relative; overflow:hidden; }
.cta-banner::after{ content:""; position:absolute; inset:0; background:radial-gradient(80% 60% at 0% 0%,rgba(255,255,255,.45)0%,rgba(255,255,255,0)70%); mix-blend-mode:screen; }
.cta-banner > *{ position:relative; }
.cta-banner .cta-actions{ display:flex; flex-wrap:wrap; gap:12px; }
.table caption{ text-align:left; font-weight:700; margin-bottom:8px; }
.notice{ background:var(--glass-bg); border:1px solid rgba(255,255,255,0.65); border-radius:20px; padding:20px; box-shadow:var(--surface-shadow); backdrop-filter:blur(22px); }
.popular-services-grid{ gap:12px; }
.popular-service-card{ display:flex; flex-direction:column; gap:8px; padding:18px; border-radius:20px; border:1px solid rgba(255,255,255,0.6); background:var(--glass-bg); color:inherit; transition:box-shadow .2s ease, transform .2s ease; box-shadow:var(--surface-shadow); backdrop-filter:blur(24px); }
.popular-service-card:hover{ text-decoration:none; box-shadow:0 16px 28px rgba(23,87,45,.18); transform:translateY(-3px); }
.popular-service-title{ font-weight:700; }
.notice.warning{ background:rgba(255,244,229,0.75); border-color:rgba(255,215,161,0.8); color:#8a5300; box-shadow:0 16px 30px rgba(138,83,0,.18); }
.flex-between{ display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.text-muted{ color:#5f7868; }
.text-small{ font-size:14px; }
.two-column{ display:grid; gap:24px; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); }
.equipment-grid{ display:grid; gap:18px; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); }
.equipment-card{ background:var(--glass-bg); border-radius:22px; padding:20px; border:1px solid rgba(255,255,255,0.65); box-shadow:var(--surface-shadow); backdrop-filter:blur(24px); }
.team-card{ background:var(--glass-bg); border-radius:24px; padding:24px; border:1px solid rgba(255,255,255,0.65); display:flex; flex-direction:column; gap:10px; box-shadow:var(--surface-shadow); backdrop-filter:blur(26px); }
.team-card .role{ color:#567560; font-size:14px; }
.stacked{ display:grid; gap:16px; }
.calc-distance-controls{ display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.calc-distance-controls .input{ flex:1 1 220px; min-width:200px; }
.calc-distance-controls .btn{ flex-shrink:0; }
.calc-distance-status{ color:#5f7868; min-height:1.2em; }
.calc-distance-status.is-loading{ color:#0f2f1c; }
.calc-distance-status.is-error{ color:#b4231a; }
.calc-distance-status.is-success{ color:#166534; }
.form-field{ display:grid; gap:6px; }
.form-field label{ font-weight:600; }
.bonus-check-form{
  display:grid;
  gap:18px;
  margin-top:18px;
  padding:22px;
  border-radius:20px;
  background:rgba(255,255,255,0.72);
  border:1px solid rgba(255,255,255,0.65);
  box-shadow:0 16px 32px rgba(17,51,31,.14);
  backdrop-filter:saturate(150%) blur(20px);
}
.bonus-check-form__grid{
  display:grid;
  gap:16px;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
}
.bonus-check-form__captcha{
  padding:16px;
  border-radius:16px;
  background:rgba(30,125,68,0.08);
  border:1px solid rgba(30,125,68,0.16);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.6);
}
.bonus-check-form__caption{
  font-size:14px;
  font-weight:600;
  color:#155b2f;
}
.bonus-check-form__captcha-question{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:600;
  color:#0f2f1c;
}
.bonus-check-form__captcha-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  border-radius:50%;
  background:linear-gradient(135deg,#1e7d44,#3fb774);
  color:#fff;
  font-weight:700;
  box-shadow:0 10px 18px rgba(30,125,68,.25);
}
.bonus-check-form__hint{
  margin-top:-6px;
}
@media (max-width: 640px){
  .bonus-check-form{ padding:18px; }
}
.form-error{ color:#c0392b; font-size:14px; }
.callback-card{ background:linear-gradient(135deg,rgba(255,255,255,0.85),rgba(235,251,246,0.75)); backdrop-filter:blur(24px); box-shadow:var(--surface-shadow); }
.callback-grid{ display:grid; gap:20px; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); align-items:start; }
.notice.success{ background:#e8f8ee; border-color:#b6e2c3; color:#155b2f; }
.badge.success{ background:#1e7d44; color:#fff; }
.stats-grid{ display:grid; gap:18px; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); }
.stat-card{ background:var(--glass-bg); border-radius:22px; padding:20px; border:1px solid rgba(255,255,255,0.65); box-shadow:var(--surface-shadow); backdrop-filter:blur(24px); }
.table{ width:100%; border-collapse:collapse; }
.table th, .table td{ padding:10px 6px; border-top:1px solid #eee; text-align:left; }
.badge{ display:inline-block; padding:6px 12px; border-radius:999px; background:rgba(255,255,255,0.7); color:#0f2f1c; font-size:12px; border:1px solid rgba(255,255,255,0.65); box-shadow:0 8px 16px rgba(17,51,31,.12); backdrop-filter:blur(14px); }
.cookie-banner{
  position:fixed;
  inset:auto 20px 20px 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px 22px;
  border-radius:22px;
  background:var(--glass-bg-strong);
  border:1px solid rgba(255,255,255,0.75);
  box-shadow:0 20px 36px rgba(17,51,31,.22);
  backdrop-filter:saturate(160%) blur(22px);
  z-index:100;
}
.cookie-banner[hidden]{
  display:none !important;
}
.cookie-banner__content{
  display:grid;
  gap:6px;
  color:#0f2f1c;
  font-size:14px;
}
.cookie-banner__content p{
  margin:0;
}
.cookie-banner a{
  color:inherit;
  font-weight:600;
  text-decoration:underline;
}
.cookie-banner a:hover{
  text-decoration:none;
}
.cookie-banner .btn{
  flex-shrink:0;
}
.print-hidden{ display:block; }
@media (max-width: 860px){
  .header-search{
    order:10;
    flex:1 1 100%;
    flex-wrap:wrap;
    padding:12px;
    gap:10px;
  }
  .header-search__icon{ width:34px; height:34px; }
  .header-search__input{ min-width:0; width:100%; }
  .nav{ gap:12px; }
}
@media (max-width: 640px){
  .search-page-form__controls{ flex-direction:column; align-items:stretch; }
  .search-page-form__submit{ width:100%; }
  .header-search{ gap:8px; }
  .header-search__submit{ width:100%; justify-content:center; text-align:center; }
}
@media print {
  .print-hidden{ display:none !important; }
  a{ color:#000; text-decoration:none; }
  body{ background:#fff; }
  .card{ box-shadow:none; border:1px solid #ddd; background:#fff; }
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .header,
  .footer,
  .nav-link,
  .nav-submenu,
  .card,
  details.admin-entity,
  .benefit-card,
  .contact-card,
  .review-card,
  .portfolio-preview-card,
  .portfolio-card,
  .article-card,
  .popular-service-card,
  .stat-card,
  .notice,
  .cta-banner,
  .callback-card,
  .input,
  .textarea,
  .select,
  .hero-stat{
    background:rgba(255,255,255,0.95);
  }
}

.lead-modal{
  position:fixed;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:2000;
  transition:opacity .25s ease, visibility .25s ease;
  visibility:hidden;
  opacity:0;
}
.lead-modal.is-visible{
  visibility:visible;
  opacity:1;
}
.lead-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(15,47,28,0.55);
  backdrop-filter:blur(4px);
}
.lead-modal__dialog{
  position:relative;
  z-index:1;
  background:var(--glass-bg-strong);
  border-radius:28px;
  padding:28px;
  max-width:420px;
  width:100%;
  box-shadow:0 28px 48px rgba(15,47,28,0.32);
  border:1px solid rgba(255,255,255,0.75);
  backdrop-filter:saturate(160%) blur(28px);
  display:grid;
  gap:16px;
}
.cart-modal .lead-modal__dialog{ max-width:520px; }
.cart-modal__content{ display:flex; flex-direction:column; gap:16px; margin-top:8px; }
.cart-list{ display:flex; flex-direction:column; gap:12px; }
.cart-item{ display:flex; justify-content:space-between; gap:16px; align-items:flex-start; padding:14px 18px; border-radius:18px; background:var(--glass-bg); border:1px solid rgba(255,255,255,0.65); box-shadow:0 12px 24px rgba(15,47,28,0.12); }
.cart-item__info{ display:flex; flex-direction:column; gap:8px; flex:1 1 auto; }
.cart-item__title{ font-weight:600; margin-bottom:4px; }
.cart-item__label{ font-weight:600; color:#155b2f; text-transform:uppercase; letter-spacing:0.04em; }
.cart-item__quantity{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.cart-item__input{ width:120px; }
.cart-item__unit{ color:#0f2f1c; background:rgba(21,91,47,0.08); border-radius:999px; padding:4px 10px; }
.cart-item__controls{ display:flex; flex-direction:column; gap:8px; align-items:flex-end; }
.cart-item__price{ font-weight:600; color:#155b2f; }
.cart-summary{ display:flex; flex-direction:column; gap:12px; margin-top:8px; }
.cart-total{ font-size:18px; font-weight:600; }
.cart-actions{ display:flex; flex-wrap:wrap; gap:12px; }
.cart-actions .btn{ flex:1 1 auto; }
.cart-actions .btn.outline.small{ flex:0 0 auto; }
.cart-feedback{ margin-top:12px; }
[data-cart-add].is-in-cart{ background:#e8f8ee; border:1px solid #b6e2c3; color:#155b2f; box-shadow:none; }
[data-cart-add].is-in-cart:hover,
[data-cart-add].is-in-cart:focus-visible{ background:#dff2e6; color:#0f2f1c; }
.lead-modal__close{
  position:absolute;
  top:14px;
  right:14px;
  width:36px;
  height:36px;
  border-radius:50%;
  border:0;
  background:rgba(255,255,255,0.75);
  color:#0f2f1c;
  font-size:22px;
  font-weight:700;
  line-height:1;
  cursor:pointer;
  box-shadow:0 12px 24px rgba(15,47,28,0.18);
}
.lead-modal__close:hover{ background:#fff; }
.lead-modal__fieldset{
  border:1px solid rgba(255,255,255,0.65);
  border-radius:18px;
  padding:14px 16px;
  background:rgba(255,255,255,0.65);
  display:grid;
  gap:12px;
  margin:0;
}
.lead-modal__fieldset legend{
  font-weight:600;
  padding:0 8px;
}
.lead-modal__option{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:600;
  color:#155b2f;
}
.lead-modal__option input{
  accent-color:#1e7d44;
}
.lead-modal__badge{
  display:inline-flex;
  align-items:center;
  padding:2px 8px;
  margin-left:6px;
  border-radius:999px;
  background:#1e7d44;
  color:#fff;
  font-size:12px;
  font-weight:600;
}
.lead-modal__channels{
  display:grid;
  gap:16px;
}
.lead-modal__channel{
  display:none;
}
.lead-modal__channel.is-active,
.lead-modal__channel:not([hidden]){
  display:block;
}
.lead-modal__telegram-card{
  display:grid;
  gap:12px;
  justify-items:center;
  text-align:center;
}
.lead-modal__hint{
  margin:12px 0 24px;
}
.lead-modal__actions{
  margin-top:24px;
}
.lead-modal__actions .btn{
  flex-direction:column;
  gap:6px;
  text-align:center;
}
.lead-modal__qr-wrapper{
  width:200px;
  height:200px;
  padding:12px;
  border-radius:20px;
  background:rgba(255,255,255,0.78);
  box-shadow:0 18px 36px rgba(15,47,28,0.18);
  display:flex;
  align-items:center;
  justify-content:center;
}
.lead-modal__qr-wrapper img{
  max-width:100%;
  max-height:100%;
  display:block;
}
.lead-modal__telegram-card .btn.full{
  width:100%;
}
.lead-modal__recaptcha{
  margin-top:4px;
}
.lead-modal [data-lead-errors]{
  background:rgba(255,244,229,0.9);
  border-color:rgba(255,215,161,0.9);
  color:#8a5300;
}
.lead-modal [data-lead-success]{
  background:#e8f8ee;
  border-color:#b6e2c3;
  color:#155b2f;
}
