/* Scoped — префикс down- */
#raion-main-replace{ --down-accent:#3b82f6; --down-accent-2:#8b5cf6; --down-green:#10b981; font-family:Inter,system-ui,-apple-system,'Segoe UI',Roboto,Arial; color:#fff; box-sizing:border-box; }
#raion-main-replace *{ box-sizing:inherit; }

/* Контейнер: НЕ добавляем внутренние боковые паддинги —
   он будет лежать внутри <main class="main-content"> и унаследует оттуда отступы */
#raion-main-replace .down-container{ max-width:1200px; margin:0 auto; padding:20px 0 0 0; }

/* HERO */
#raion-main-replace .down-hero{ text-align:center; padding:30px; border-radius:12px; background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.008)); border:1px solid rgba(255,255,255,0.04); box-shadow:0 14px 40px rgba(2,6,23,0.32); }
#raion-main-replace .down-title{ font-weight:800; font-size:clamp(1.6rem,4.6vw,2.6rem); color:transparent; background:linear-gradient(90deg,#fff,#bfe7ff); -webkit-background-clip:text; background-clip:text; margin:0; }
#raion-main-replace .down-sub{ margin-top:10px; color:rgba(255,255,255,0.9); font-size:0.98rem; }

/* CTA buttons — прозрачность на hover, без смещений */
#raion-main-replace .down-ctas{ display:flex; gap:12px; justify-content:center; margin-top:16px; flex-wrap:wrap; }
#raion-main-replace .down-btn{ padding:10px 16px; border-radius:12px; border:0; font-weight:800; color:#fff; background:linear-gradient(90deg,var(--down-accent),#2563eb); cursor:pointer; transition: opacity .16s ease, box-shadow .16s ease; transform:none !important; }
#raion-main-replace .down-btn.secondary{ background:linear-gradient(90deg,var(--down-accent-2),#6d4ff0); }
#raion-main-replace .down-btn.green{ background:linear-gradient(180deg,#38d18a,#28a745); }
#raion-main-replace .down-btn.positive{ background:linear-gradient(90deg,var(--down-green),#34d399); color:#042; }
#raion-main-replace .down-btn:hover{ opacity:.84; box-shadow:0 14px 36px rgba(2,6,23,0.24); }
#raion-main-replace .down-btn:active{ opacity:.78; transform:none !important; box-shadow:0 10px 24px rgba(2,6,23,0.18); }
#raion-main-replace .down-btn:focus-visible{ outline:3px solid rgba(59,130,246,0.12); border-radius:12px; }

/* Основная сетка: колонки и gaps — больше пространства между панелями */
#raion-main-replace .down-grid{ display:grid; grid-template-columns: minmax(0,1fr) 380px; gap:36px; align-items:start; margin-top:22px; }
@media (max-width:900px){ #raion-main-replace .down-grid{ grid-template-columns: 1fr; gap:20px; } }

/* Панели: padding увеличен, чтобы визуально соответствовать остальным блокам страницы */
#raion-main-replace .down-panel{ padding:22px; border-radius:12px; background:linear-gradient(180deg, rgba(255,255,255,0.01), rgba(255,255,255,0.006)); border:1px solid rgba(255,255,255,0.04); box-shadow:0 12px 40px rgba(2,6,23,0.28); position:relative; }

/* LEFT stack spacing (чтобы блоки не прилипали друг к другу) */
#raion-main-replace .down-left-stack{ display:flex; flex-direction:column; gap:22px; }
#raion-main-replace .down-section-title{ font-weight:800; font-size:1.02rem; margin-bottom:6px; }
#raion-main-replace .down-desc{ color:rgba(255,255,255,0.86); font-size:0.95rem; line-height:1.38; }

/* Кнопки малого типа: прозрачность по hover, без движения */
#raion-main-replace .down-small{ padding:8px 12px; border-radius:10px; background:rgba(255,255,255,0.03); border:1px solid rgba(255,255,255,0.04); color:#fff; cursor:pointer; font-weight:700; transition: opacity .16s ease, box-shadow .16s ease; transform:none !important; }
#raion-main-replace .down-small:hover{ opacity:.82; box-shadow:0 10px 20px rgba(2,6,23,0.16); }
#raion-main-replace .down-small:active{ opacity:.78; transform:none !important; }

/* Sidebar и soft-grid */
#raion-main-replace .down-highlight{ padding:14px; border-radius:10px; background:linear-gradient(90deg, rgba(59,130,246,0.03), rgba(99,102,241,0.01)); border:1px solid rgba(59,130,246,0.06); color:rgba(255,255,255,0.95); }
#raion-main-replace .down-soft-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin-top:12px; }
@media (max-width:520px){ #raion-main-replace .down-soft-grid{ grid-template-columns:1fr; } }

#raion-main-replace .down-hr{ height:1px; background:rgba(255,255,255,0.03); border-radius:2px; margin:12px 0; }

/* Контейнер действий клиента (торрент / яндекс) — раздельно и на мобилке вертикально */
#raion-main-replace .down-client-actions{ display:flex; gap:12px; align-items:center; justify-content:flex-start; flex-wrap:nowrap; }
@media (max-width:640px){
  /* контейнер шире на мобилке — уменьшаем боковые отступы внутри main, чтобы блоки были ближе к краю экрана */
  #raion-main-replace .down-container{ padding-left:6px; padding-right:6px; }
  #raion-main-replace .down-panel{ padding-left:16px; padding-right:16px; padding-top:18px; padding-bottom:18px; }
  #raion-main-replace .down-client-actions{ flex-direction:column; align-items:stretch; gap:10px; }
  #raion-main-replace .down-client-actions .down-small,
  #raion-main-replace .down-client-actions .down-btn{ width:100%; box-sizing:border-box; }

  /* уменьшенная высота модала на мобильных (оставляет запас под адресную/панель браузера) */
  #raion-main-replace .down-modal{ max-height: calc(100vh - 96px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)); }
  #raion-main-replace .down-modal-body{ padding-left:10px; padding-right:10px; }

  /* у нас уже в одном столбце — чуть меньше gap */
  #raion-main-replace .down-grid{ gap:18px; }
}

/* Modal: fixed header + internal scrolling */
#raion-main-replace .down-modal-bg{ position:fixed; inset:0; display:none; align-items:center; justify-content:center; background:rgba(4,8,16,0.6); z-index:6500; padding:env(safe-area-inset-top,16px) 16px env(safe-area-inset-bottom,16px); }
#raion-main-replace .down-modal{ width:100%; max-width:760px; border-radius:12px; background:rgba(10,18,30,0.94); border:1px solid rgba(255,255,255,0.04); display:flex; flex-direction:column; overflow:hidden; margin:0 auto; }
#raion-main-replace .down-modal-header{ flex:0 0 auto; padding:12px; border-bottom:1px solid rgba(255,255,255,0.03); display:flex; justify-content:space-between; align-items:center; gap:12px; }
#raion-main-replace .down-modal-body{ flex:1 1 auto; overflow:auto; -webkit-overflow-scrolling:touch; padding:12px; }
#raion-main-replace .down-modal-body::-webkit-scrollbar{ height:0; width:0; } 
#raion-main-replace .down-modal-body{ scrollbar-width:none; -ms-overflow-style:none; }

/* reveal (cheap) */
#raion-main-replace .down-reveal{ opacity:0; transform:translateY(8px); transition: opacity .42s ease, transform .42s cubic-bezier(.2,.9,.16,1); }
#raion-main-replace .down-revealed{ opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){ #raion-main-replace .down-reveal{ transition:none !important; transform:none !important; opacity:1 !important; } }