/* ============================================================
   Реплика — Партнёрская программа (partners page)
   Supplementary CSS: responsive layout overrides + utilities
   that replace the dc-runtime's isMobile/notMobile state.
   Breakpoint mirrors the source: window.innerWidth < 880.
   ============================================================ */

/* --- responsive show/hide (replaces sc-if isMobile / notMobile) --- */
dc-when { display: contents; }
.u-desktop { display: contents; }
.u-mobile  { display: none; }
@media (max-width: 879px) {
  .u-desktop { display: none !important; }
  .u-mobile  { display: contents !important; }
}

/* --- conditional (stateful) branches: demo idle/loading/done, nav --- */
.dc-cond { display: contents; }
.dc-cond[hidden] { display: none !important; }

/* --- responsive grid overrides (replaces isMobile ? a : b bindings) --- */
@media (max-width: 879px) {
  [data-rk="painCols"] { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  [data-rk="dashCols"] { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  [data-rk="fitCols"]  { grid-template-columns: 1fr !important; }
  /* блок «теряют выручку»: 4 метрики → 2×2 на мобиле (как S04) */
  .pain-metrics        { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
}

/* --- reveal-on-scroll (kept additive: content is visible even without JS) --- */
@media (prefers-reduced-motion: no-preference) {
  .js .reveal[data-reveal] { opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .6s cubic-bezier(.22,.61,.36,1); }
  .js .reveal[data-reveal].is-in { opacity: 1; transform: none; }
}
