/* =========================================================
   Информационные страницы: о нас, контакты, партнёрам, банкам,
   частые вопросы, политика конфиденциальности.
   Строгая типографика в стиле сайта, без декоративных излишеств.
   ========================================================= */

.ip-layout{ display:grid; grid-template-columns:minmax(0,1fr) 260px; gap:28px; align-items:start }
.ip-main{ min-width:0 }

/* ---------- Шапка страницы ---------- */
.ip-head{ margin:0 0 22px }
.ip-head__kicker{
  display:inline-block; margin-bottom:10px; padding:4px 12px; border-radius:999px;
  background:var(--brand-soft, rgba(26,35,126,.07)); color:var(--color-primary);
  font-size:12px; font-weight:700; letter-spacing:.6px; text-transform:uppercase;
}
.ip-head h1{ margin:0 0 10px; font-size:34px; font-weight:800; line-height:1.15; letter-spacing:-.4px; color:var(--text) }
.ip-head__lead{ margin:0; max-width:760px; font-size:17px; line-height:1.6; color:var(--muted) }

/* ---------- Текстовый блок ---------- */
.ip-body{
  padding:28px 32px; background:#fff; border:1px solid var(--bdr); border-radius:18px;
  box-shadow:0 2px 12px rgba(0,0,0,.05); font-size:16px; line-height:1.7; color:#334155;
}
.ip-body > :first-child{ margin-top:0 }
.ip-body > :last-child{ margin-bottom:0 }
.ip-body h2{
  margin:32px 0 14px; padding-top:24px; border-top:1px solid var(--bdr-weak);
  font-size:22px; font-weight:800; color:var(--text); letter-spacing:-.2px;
}
.ip-body h2:first-child{ margin-top:0; padding-top:0; border-top:none }
.ip-body h3{ margin:22px 0 10px; font-size:17px; font-weight:700; color:var(--text) }
.ip-body p{ margin:0 0 14px }
.ip-body a{ color:var(--color-primary); text-decoration:underline; text-underline-offset:2px }
.ip-body a:hover{ color:var(--color-accent-dark) }
.ip-body ul, .ip-body ol{ margin:0 0 16px; padding-left:22px }
.ip-body li{ margin-bottom:8px }
.ip-body strong{ color:var(--text) }
.ip-body small{ color:var(--muted) }

/* ---------- Заметка и выводы ---------- */
.ip-note{
  margin:18px 0; padding:16px 18px; border-left:3px solid var(--color-primary);
  background:rgba(26,35,126,.04); border-radius:0 12px 12px 0; font-size:15px;
}
.ip-note--accent{ border-left-color:var(--color-accent); background:rgba(0,200,83,.07) }
.ip-note p:last-child{ margin-bottom:0 }

/* ---------- Плитки ---------- */
.ip-cards{ display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:14px; margin:18px 0 22px }
.ip-card{ padding:18px; background:var(--surface-2, #f8fafc); border:1px solid var(--bdr-weak); border-radius:14px }
.ip-card h3{ margin:0 0 6px; font-size:16px }
.ip-card p{ margin:0; font-size:14px; line-height:1.55; color:var(--muted) }

/* ---------- Показатели ---------- */
.ip-stats{ display:grid; grid-template-columns:repeat(auto-fit, minmax(150px, 1fr)); gap:14px; margin:18px 0 24px }
.ip-stat{ padding:16px 18px; background:#fff; border:1px solid var(--bdr); border-radius:14px }
.ip-stat__value{
  display:block; font-size:28px; font-weight:800; letter-spacing:-.5px; line-height:1.1;
  background:linear-gradient(135deg, var(--color-primary), var(--color-accent));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.ip-stat__label{ display:block; margin-top:4px; font-size:13px; color:var(--muted) }

/* ---------- Шаги ---------- */
.ip-steps{ list-style:none; counter-reset:ipstep; margin:18px 0 24px; padding:0; display:grid; gap:12px }
.ip-steps li{ position:relative; padding:14px 16px 14px 56px; background:var(--surface-2,#f8fafc); border-radius:14px; margin:0 }
.ip-steps li::before{
  counter-increment:ipstep; content:counter(ipstep);
  position:absolute; left:16px; top:14px; width:26px; height:26px; border-radius:9px;
  display:flex; align-items:center; justify-content:center;
  background:var(--color-primary); color:#fff; font-size:13px; font-weight:800;
}
.ip-steps b{ display:block; margin-bottom:2px; color:var(--text) }
.ip-steps span{ font-size:14px; color:var(--muted) }

/* ---------- Таблица ---------- */
.ip-table-wrap{ overflow-x:auto; margin:16px 0 22px }
.ip-table{ width:100%; border-collapse:collapse; font-size:15px; min-width:520px }
.ip-table th{
  text-align:left; padding:10px 14px; border-bottom:2px solid var(--bdr);
  font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.4px; color:var(--muted);
}
.ip-table td{ padding:12px 14px; border-bottom:1px solid var(--bdr-weak); vertical-align:top }
.ip-table tr:last-child td{ border-bottom:none }

/* ---------- Контакты ---------- */
.ip-contacts{ display:grid; grid-template-columns:repeat(auto-fit, minmax(240px,1fr)); gap:14px; margin:18px 0 22px }
.ip-contact{ padding:18px; border:1px solid var(--bdr); border-radius:14px; background:#fff }
.ip-contact h3{ margin:0 0 4px; font-size:15px }
.ip-contact a{ font-size:16px; font-weight:700; text-decoration:none }
.ip-contact p{ margin:6px 0 0; font-size:13px; color:var(--muted) }

/* ---------- Частые вопросы ---------- */
.ip-faq{ display:grid; gap:10px; margin:18px 0 24px }
.ip-faq details{ border:1px solid var(--bdr); border-radius:14px; background:#fff; overflow:hidden }
.ip-faq details[open]{ border-color:rgba(26,35,126,.25); box-shadow:0 6px 18px rgba(26,35,126,.07) }
.ip-faq summary{
  display:block; padding:16px 48px 16px 18px; position:relative; cursor:pointer;
  font-size:16px; font-weight:700; color:var(--text); list-style:none;
}
.ip-faq summary::-webkit-details-marker{ display:none }
.ip-faq summary::marker{ content:'' }
.ip-faq summary::after{
  content:''; position:absolute; right:20px; top:22px; width:9px; height:9px;
  border-right:2px solid #94a3b8; border-bottom:2px solid #94a3b8;
  transform:rotate(45deg); transition:transform .2s ease;
}
.ip-faq details[open] summary::after{ transform:rotate(-135deg); top:26px }
.ip-faq summary:hover{ color:var(--color-primary) }
.ip-faq__answer{ padding:0 18px 18px; font-size:15px; line-height:1.65; color:#475569 }
.ip-faq__answer > :last-child{ margin-bottom:0 }

/* ---------- Боковая навигация ---------- */
.ip-side{ display:grid; gap:14px; position:sticky; top:88px }
.ip-side__box{ padding:18px; background:#fff; border:1px solid var(--bdr); border-radius:16px; box-shadow:0 2px 12px rgba(0,0,0,.05) }
.ip-side__title{ margin:0 0 10px; font-size:13px; font-weight:700; letter-spacing:.5px; text-transform:uppercase; color:var(--muted) }
.ip-side__nav{ display:grid; gap:2px }
.ip-side__nav a{
  padding:9px 12px; border-radius:10px; font-size:14px; color:#334155; transition:background .15s ease, color .15s ease;
}
.ip-side__nav a:hover{ background:var(--surface-2,#f8fafc); color:var(--color-primary) }
.ip-side__nav a.is-current{ background:rgba(26,35,126,.07); color:var(--color-primary); font-weight:700 }
.ip-side__cta p{ margin:0 0 12px; font-size:14px; color:var(--muted); line-height:1.55 }
.ip-side__cta .btn{ width:100%; justify-content:center }

@media (max-width:1024px){
  .ip-layout{ grid-template-columns:1fr }
  .ip-side{ position:static }
}
@media (max-width:768px){
  .ip-head h1{ font-size:26px }
  .ip-head__lead{ font-size:15px }
  .ip-body{ padding:20px 18px; font-size:15px }
  .ip-body h2{ font-size:19px; margin-top:26px; padding-top:20px }
  .ip-steps li{ padding-left:52px }
}
