/* ============ БАЗА: палитра, типографика ============ */
:root{
  --rv-primary:#6c5ce7;      /* violet */
  --rv-primary-2:#4e3fe1;
  --rv-accent:#00c2ff;       /* aqua */
  --rv-ink:#0a0d14;
  --rv-muted:#6b7280;
  --rv-bg:#f6f7fb;

  --rv-18h:44px;
}

/* База 17px для всего текста (кроме заголовков) */
html{ font-size:17px; }
body{
  font-family:Manrope,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--rv-ink);
  background:var(--rv-bg);
}
.nav-link, .btn, .accordion-button, .accordion-body, .form-control,
label, input, textarea, select, table, .table, p, li, a, dd, dt { font-size:17px; }
h1,h2,h3,h4,h5,h6{ font-family:"Space Grotesk",Manrope,system-ui,Arial,sans-serif; }

/* ============ 18+ фиксированный бар ============ */
.r-18bar{
  height:var(--rv-18h); position:sticky; top:0; z-index:1035;
  color:#fff; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(90deg,#ff7a59, #ef4444 45%, var(--rv-accent));
  box-shadow:0 2px 0 rgba(0,0,0,.06);
}
.r-18pill{
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.35rem .85rem; border-radius:999px;
  background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.28);
  font-weight:800; letter-spacing:.02em; backdrop-filter:blur(6px);
}

/* ============ Navbar ============ */
.navbar{ background:#fff; box-shadow:0 1px 0 rgba(2,6,23,.06); }
.r-mark{
  width:2.2rem; height:2.2rem; display:grid; place-items:center; border-radius:.9rem; color:#fff;
  background:linear-gradient(135deg,var(--rv-primary),var(--rv-primary-2));
  box-shadow:inset 0 8px 30px rgba(108,92,231,.35);
}
.nav-link{ border-radius:999px; }
.nav-link:hover{ background:rgba(108,92,231,.12); }

/* ============ HERO (параллакс, оверлей, яркие CTA) ============ */
.r-hero{ position:relative; overflow:hidden; color:#e6ecf5; min-height:54vh; display:flex; align-items:center; }
.r-parallax{
  position:absolute; inset:0;
  background:url('images/hero-parallax.jpg') center/cover no-repeat;
  background-attachment:fixed; will-change:transform;
  filter:saturate(1.05) brightness(.92);
}
.r-overlay{
  position:absolute; inset:0;
  background:
    radial-gradient(1000px 380px at 15% -10%, rgba(0,0,0,.35), transparent 60%),
    linear-gradient(180deg, rgba(6,10,16,.80), rgba(6,10,16,.55));
  z-index:1;
}
.r-hero .container-xxl{ position:relative; z-index:2; }
.r-hero h1{ color:#fff; }
.r-hero p{ color:#dbe3ef; }

/* CTA */
.btn-cta{
  --c1:#ff6b6b; --c2:#ff3d7b;
  background:linear-gradient(135deg,var(--c1),var(--c2));
  border:0; color:#fff; font-weight:800;
  box-shadow:0 12px 24px rgba(255,61,123,.32), 0 3px 0 rgba(255,255,255,.2) inset;
}
.btn-cta:hover{ filter:brightness(1.05) saturate(1.1); transform:translateY(-1px); }
.btn-ghost{
  color:#fff; border:1px solid rgba(255,255,255,.6); background:rgba(255,255,255,.06);
  backdrop-filter:blur(6px);
}
.btn-ghost:hover{ background:rgba(255,255,255,.12); border-color:#fff; }

/* Chip */
.r-chip{
  display:inline-flex; gap:.5rem; align-items:center;
  background:#e9e5ff; color:#3b33b6; border:1px solid #d3cbff;
  padding:.28rem .7rem; border-radius:999px; font-size:.78rem; font-weight:800; text-transform:uppercase; letter-spacing:.05em;
}

/* ============ Карточки/мягкие панели ============ */
.r-card{ background:#fff; border:1px solid rgba(2,6,23,.08); border-radius:1rem; box-shadow:0 12px 28px rgba(2,6,23,.06); }
.r-soft{ background:linear-gradient(180deg,#ffffff, #f3f6fb); border:1px solid #e3eaf2; border-radius:.9rem; }
.shadow-strong{ box-shadow:0 18px 40px rgba(0,0,0,.18); }

/* ============ CRITÈRES (фон-картинка + оверлей) ============ */
.r-criteria{ position:relative; overflow:hidden; padding:64px 0; }
.r-criteria .r-bg{
  position:absolute; inset:0; background:url('images/criteria-new.jpg') center/cover no-repeat;
  filter:brightness(.9) saturate(1.15);
}
.r-criteria .r-ov{
  position:absolute; inset:0; background:linear-gradient(180deg, rgba(10,15,20,.50), rgba(10,15,20,.70));
}
.r-criteria .container{ position:relative; z-index:2; }
.r-glass{
  background:rgba(255,255,255,.94); border:1px solid rgba(2,6,23,.08); border-radius:1rem; backdrop-filter:blur(6px);
}

/* ============ Таблица ============ */
.r-table .table{ margin-bottom:0; }

/* ============ FAQ (фон-картинка, ответы читаемые) ============ */
.rv-faq{ position:relative; overflow:hidden; }
.rv-faq .rv-bg{
  position:absolute; inset:0; background:url('images/faq-bg.jpg') center/cover no-repeat;
  filter:brightness(.95) saturate(1.1); z-index:0;
}
.rv-faq .rv-ov{
  position:absolute; inset:0; background:linear-gradient(180deg, rgba(7,12,18,.55), rgba(7,12,18,.35)); z-index:1;
}
.rv-faq .container-xxl{ position:relative; z-index:2; }
.rv-faq .accordion-item{ border:1px solid #e8edf3; border-radius:.9rem; overflow:hidden; }
.rv-faq .accordion-button{ background:#fff; }
.rv-faq .accordion-button:not(.collapsed){ background:#eef2ff; color:#2b2e6b; }
.rv-faq .accordion-body{ background:#fff; border-top:1px solid #eef2f7; }

/* ============ CONTACT (2 колонки, справа изображение) ============ */
.r-contact .r-side{
  min-height:380px; border-radius:1rem;
  background:url('images/contact-side.jpg') center/cover no-repeat;
}

/* ============ Prévention / логотипы / Footer ============ */
.logos-row img{ height:2.5rem; }
.r-footer{ background:linear-gradient(180deg,#0c1120,#0a0f1d 60%,#090d18); color:#e2e8f0; }
.r-footer a{ color:#e2e8f0; text-decoration:none; }
.r-footer a:hover{ text-decoration:underline; }
.r-legal{ color:#cbd5e1; background:rgba(255,255,255,.06); }

/* ============ Мобайл правки ============ */
@media (max-width: 991.98px){
  .r-parallax{ background-attachment:scroll; } /* безопасный параллакс на мобиле */
}
/* ===== Cookie bar ===== */
.r-cookie{
  position: fixed; left: 1rem; right: 1rem; bottom: 1rem; z-index: 1080;
  display: none;
}
.r-cookie.show{ display:block; }
.r-cookie-inner{
  background:#ffffff; border:1px solid rgba(2,6,23,.12);
  border-radius:1rem; box-shadow:0 20px 40px rgba(2,6,23,.18);
  padding:.9rem 1rem; display:flex; gap:.8rem; align-items:center;
}
.r-cookie-text{ margin:0; color:#0a0d14; }
.r-cookie-link{ color:#6c5ce7; font-weight:700; text-decoration:underline; }
.r-cookie-actions{ margin-left:auto; display:flex; gap:.5rem; }
.r-btn-ghost{
  color:#0a0d14; border:1px solid rgba(2,6,23,.16); background:transparent;
}
.r-btn-ghost:hover{ background:rgba(2,6,23,.04); }

/* узкие экраны: в столбик */
@media (max-width: 576px){
  .r-cookie-inner{ flex-direction:column; align-items:stretch; }
  .r-cookie-actions{ margin-left:0; }
}
