/* ==========================================================================
   Блоки-карточки «Своё против готового / Риски / Что болит» (04.10.2026)
   Посадочные JSON-CMS: ИИ, CRM, ERP, СЭД и 10 подстраниц _subpage_render.php.
   Разметку даёт site2023/reasons_cards.php (w2r_grid). Было: аккордеон, текст
   открывался по клику. Стало: сетка карточек, весь текст виден сразу.
   Всё под #__nuxt .w2r — правила билда тоже пишутся через #__nuxt (вес ID),
   без него наши правила им проигрывают (§8.51).
   ========================================================================== */

#__nuxt .w2r .w2r__head{
  display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);
  gap:20px 56px; align-items:end; margin:0 0 44px;
}
#__nuxt .w2r .w2r__head .tag{ justify-content:flex-start; margin:0; }
#__nuxt .w2r .w2r__head .section__title{ margin:14px 0 0; text-align:left; }
#__nuxt .w2r .w2r__lead{ margin:0; font-size:17px; line-height:1.6; color:#56566a; }
#__nuxt .w2r .w2r__lead a{ color:#8f42ec; }

/* --- сетка: по умолчанию 3 колонки (6 пунктов = 3×2) --- */
#__nuxt .w2r .w2r__grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
#__nuxt .w2r .w2r__grid--n4{ grid-template-columns:repeat(2,minmax(0,1fr)); }
#__nuxt .w2r .w2r__grid--n8{ grid-template-columns:repeat(4,minmax(0,1fr)); }
/* 7 пунктов: верхний ряд из четырёх, нижний из трёх — без дыры в конце */
#__nuxt .w2r .w2r__grid--n7{ grid-template-columns:repeat(12,minmax(0,1fr)); }
#__nuxt .w2r .w2r__grid--n7 > :nth-child(-n+4){ grid-column:span 3; }
#__nuxt .w2r .w2r__grid--n7 > :nth-child(n+5){ grid-column:span 4; }
/* 5 пунктов: три сверху, два снизу */
#__nuxt .w2r .w2r__grid--n5{ grid-template-columns:repeat(6,minmax(0,1fr)); }
#__nuxt .w2r .w2r__grid--n5 > :nth-child(-n+3){ grid-column:span 2; }
#__nuxt .w2r .w2r__grid--n5 > :nth-child(n+4){ grid-column:span 3; }

/* --- карточка --- */
#__nuxt .w2r .w2r__card{
  position:relative; isolation:isolate; overflow:hidden;
  display:flex; flex-direction:column; min-width:0;
  padding:28px 26px 26px; margin:0;
  background:#fff; border:1px solid #e6e6ef; border-radius:20px;
  font-family:inherit; text-align:left;
  transition:transform .35s cubic-bezier(.2,.7,.2,1), border-color .35s ease, box-shadow .35s ease;
}
/* мягкое акцентное свечение из угла — проявляется на ховере */
#__nuxt .w2r .w2r__card::after{
  content:''; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:radial-gradient(120% 80% at 0% 0%, rgba(143,66,236,.07), rgba(143,66,236,0) 60%);
  opacity:0; transition:opacity .35s ease;
}
#__nuxt .w2r .w2r__top{ display:flex; align-items:flex-start; justify-content:space-between; }
#__nuxt .w2r .w2r__ico{
  display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto;
  width:52px; height:52px; border-radius:50%;
  background:rgba(143,66,236,.1); color:#8f42ec;
  transition:background-color .35s ease, color .35s ease, transform .35s cubic-bezier(.2,.7,.2,1);
}
#__nuxt .w2r .w2r__ico svg{ display:block; width:24px; height:24px; }
#__nuxt .w2r .w2r__num{
  font-size:13px; line-height:1; font-weight:600; letter-spacing:.08em;
  color:#b6b6c6; font-variant-numeric:tabular-nums; padding-top:6px;
}
#__nuxt .w2r .w2r__title{
  margin:22px 0 10px; padding:0;
  font-size:20px; line-height:1.3; font-weight:600; color:#131727; letter-spacing:-.005em;
}
#__nuxt .w2r .w2r__text{ flex:1 1 auto; margin:0; font-size:15.5px; line-height:1.6; color:#56566a; }
#__nuxt .w2r .w2r__text a, #__nuxt .w2r .w2r__fix-text a{ color:#8f42ec; text-decoration:underline; text-underline-offset:2px; }

/* «как решаем» — отдельная плашка внизу карточки */
#__nuxt .w2r .w2r__fix{
  margin-top:18px; padding:14px 16px 15px;
  background:rgba(143,66,236,.06); border-radius:14px;
}
#__nuxt .w2r .w2r__fix-label{
  display:flex; align-items:center; gap:6px; margin-bottom:6px;
  font-size:12px; line-height:1; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:#8f42ec;
}
#__nuxt .w2r .w2r__fix-label svg{ width:14px; height:14px; flex:0 0 auto; }
#__nuxt .w2r .w2r__fix-text{ margin:0; font-size:15px; line-height:1.55; color:#2a2e3f; }

/* --- ховер: подъём, акцентная рамка, иконка заливается акцентом --- */
@media (hover:hover){
  #__nuxt .w2r .w2r__card:hover{
    transform:translateY(-4px);
    border-color:rgba(143,66,236,.45);
    box-shadow:0 22px 44px -18px rgba(76,29,149,.22), 0 2px 6px rgba(19,23,39,.04);
  }
  #__nuxt .w2r .w2r__card:hover::after{ opacity:1; }
  #__nuxt .w2r .w2r__card:hover .w2r__ico{ background:#8f42ec; color:#fff; transform:scale(1.04); }
}

/* --- появление со сдвигом. Класс w2r-anim ставит только скрипт, поэтому
   без JS (и при prefers-reduced-motion) карточки видны сразу. Анимируем
   свойство translate, а не transform — transform занят ховером. --- */
#__nuxt .w2r .w2r__grid.w2r-anim > .w2r__card{
  opacity:0; translate:0 18px;
  transition:opacity .6s cubic-bezier(.2,.7,.2,1), translate .6s cubic-bezier(.2,.7,.2,1),
             transform .35s cubic-bezier(.2,.7,.2,1), border-color .35s ease, box-shadow .35s ease;
  transition-delay:calc(var(--w2r-d, 0) * 80ms), calc(var(--w2r-d, 0) * 80ms), 0s, 0s, 0s;
}
#__nuxt .w2r .w2r__grid.w2r-anim > .w2r__card.is-in{ opacity:1; translate:0 0; }

/* --- планшет: две колонки --- */
@media (max-width:1100px){
  #__nuxt .w2r .w2r__grid,
  #__nuxt .w2r .w2r__grid--n5,
  #__nuxt .w2r .w2r__grid--n7,
  #__nuxt .w2r .w2r__grid--n8{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  #__nuxt .w2r .w2r__grid > *{ grid-column:auto !important; }
  /* нечётное число — последняя карточка на всю ширину, без дыры */
  #__nuxt .w2r .w2r__grid--n5 > :last-child,
  #__nuxt .w2r .w2r__grid--n7 > :last-child{ grid-column:1 / -1 !important; }
  #__nuxt .w2r .w2r__head{ grid-template-columns:1fr; gap:14px; margin-bottom:32px; }
}

/* --- телефон: одна колонка --- */
@media (max-width:767px){
  #__nuxt .w2r .w2r__grid{ grid-template-columns:1fr !important; gap:14px; }
  #__nuxt .w2r .w2r__card{ padding:22px 20px 20px; }
  #__nuxt .w2r .w2r__ico{ width:46px; height:46px; }
  #__nuxt .w2r .w2r__ico svg{ width:22px; height:22px; }
  #__nuxt .w2r .w2r__title{ margin-top:16px; font-size:18px; }
  #__nuxt .w2r .w2r__text{ font-size:15px; }
  #__nuxt .w2r .w2r__lead{ font-size:16px; }
  #__nuxt .w2r .w2r__head{ margin-bottom:24px; }
}

@media (prefers-reduced-motion:reduce){
  #__nuxt .w2r .w2r__card,
  #__nuxt .w2r .w2r__card::after,
  #__nuxt .w2r .w2r__ico{ transition:none !important; }
  #__nuxt .w2r .w2r__grid > .w2r__card{ opacity:1 !important; translate:none !important; }
  #__nuxt .w2r .w2r__card:hover,
  #__nuxt .w2r .w2r__card:hover .w2r__ico{ transform:none !important; }
}
