/* ===== Росюрист: бренд, hero, формы, страница обратной связи ===== */

/* --- Логотип (текстовый, без картинки) --- */
.brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none !important;
  line-height: 1;
}
.brand__mark { display: inline-flex; width: 40px; height: 40px; flex-shrink: 0; }
.brand__mark svg { width: 100%; height: 100%; display: block; }
.brand__text { display: flex; flex-direction: column; gap: 4px; }
.brand__name {
  font-family: 'Circe Extra', 'Circe Bold', 'Montserrat', Arial, sans-serif;
  font-weight: 900;
  font-size: 26px;
  letter-spacing: 0.01em;
  color: #154ebc;
}
.brand__name b { color: #cc0029; font-weight: inherit; }
.brand__sub {
  font-family: 'Circe Light', 'Montserrat', Arial, sans-serif;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #5a6b85;
}
.brand--light .brand__name { color: #fff; }
.brand--light .brand__name b { color: #fff; }
.brand--light .brand__sub { color: rgba(255, 255, 255, 0.75); }
.logo .brand { padding: 2px 0; }
.logo-mobile .brand__name { font-size: 22px; }

/* --- Иконки мессенджеров в шапке --- */
header .socseti a img { display: block; }

/* --- Hero: бренд + лицензии --- */
.hero-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 8px 22px 8px 10px;
  margin: 0 0 26px;
  background: #fff;
  border-radius: 60px;
  box-shadow: 0 10px 30px rgba(8, 28, 70, 0.25);
}
.hero-brand .brand__mark { width: 36px; height: 36px; }
.hero-brand__name {
  font-family: 'Circe Extra', 'Circe Bold', 'Montserrat', Arial, sans-serif;
  font-weight: 900;
  font-size: 22px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #154ebc;
}
.hero-brand__name b { color: #cc0029; font-weight: inherit; }

.hero-license {
  display: flex;
  align-items: center;
  gap: 18px;
  max-width: 600px;
  margin: 38px 0 0;
  padding: 18px 26px 18px 18px;
  color: #fff;
  background: rgba(255, 255, 255, 0.13);
  border: 1px solid rgba(255, 255, 255, 0.35);
  border-radius: 22px;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  box-shadow: 0 12px 34px rgba(5, 20, 55, 0.28);
}
.hero-license__icon {
  flex-shrink: 0;
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border-radius: 50%;
}
.hero-license__icon svg { width: 32px; height: 32px; display: block; }
.hero-license__label {
  display: block;
  margin-bottom: 4px;
  font-family: 'Montserrat', Arial, sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.78);
}
.hero-license__text {
  display: block;
  font-family: 'Montserrat', Arial, sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.3;
  color: #fff;
}

/* --- Формы --- */
.rs-form .hp-field {
  position: absolute !important;
  left: -9999px !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
}
.rs-form .rs-msg {
  display: none;
  width: 100%;
  margin-top: 14px;
  padding: 11px 16px;
  border-radius: 12px;
  font-size: 14px;
  line-height: 1.4;
  text-align: left;
}
.rs-form .rs-msg--ok { background: #e6f6ea; color: #17602f; }
.rs-form .rs-msg--err { background: #fdecef; color: #a3001f; }
.rs-form .rs-invalid { box-shadow: 0 0 0 2px #ffc933 !important; }
#modal-callback .rs-form .rs-invalid { box-shadow: 0 0 0 2px #cc0029 !important; }
.rs-form input[type='submit']:disabled { opacity: 0.65; cursor: wait; }
.box-feedback .box-form .rs-form { width: 100%; }

/* --- Страница обратной связи --- */
.feedback--page { margin: 170px 0 70px; }
.box-feedback .caption-section h1 {
  color: #fff;
  font-family: 'Circe Extra', 'Circe Bold', 'Montserrat', sans-serif !important;
  font-size: 44px;
  line-height: 110% !important;
  text-transform: uppercase;
  margin: 0 0 14px;
}
.box-feedback .rs-lead {
  max-width: 330px;
  margin: 0;
  color: rgba(255, 255, 255, 0.92);
  font-size: 17px;
  line-height: 1.4;
}

/* --- Блок «Об адвокате» --- */
.lawyer { margin: 0 0 110px; }
.lawyer .box-about_content h2 {
  margin: 0 0 18px;
  font-family: 'Circe Extra', 'Circe Bold', 'Montserrat', sans-serif;
  color: #154ebc;
  font-size: 34px;
  text-transform: uppercase;
}
.lawyer .box-about_content p { font-size: 18px; line-height: 1.5; }
.lawyer__contacts {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 22px 0 0;
}
.lawyer__contacts a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 11px 22px;
  border-radius: 50px;
  border: 1px solid #154ebc;
  color: #154ebc;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.3s;
}
.lawyer__contacts a:hover { background: #154ebc; color: #fff; }
.lawyer__contacts a img { width: 22px; height: 22px; display: block; }

/* --- Футер --- */
footer .footer-contact { flex-direction: column; align-items: flex-start; gap: 10px; }
footer .footer-contact .fc-row { display: flex; align-items: center; gap: 10px; }
footer .footer-contact .fc-row img { width: 22px; height: 22px; }
footer .footer-contact .fc-row a { color: #fff; font-size: 14px; font-weight: 700; text-decoration: none; transition: all 0.3s; }
footer .footer-contact .fc-row a:hover { color: #cc0029; }
.footer-inn {
  margin: 30px 0 0;
  padding: 18px 0 6px;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  text-align: center;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.85);
  letter-spacing: 0.03em;
}

/* --- Адаптив --- */
@media (max-width: 991px) {
  .feedback--page { margin: 90px 0 50px; }
  .box-feedback .caption-section h1 { font-size: 34px; }
  .box-feedback .rs-lead { max-width: 100%; }
  .lawyer { margin-bottom: 70px; }
}
@media (max-width: 767px) {
  .hero-brand { padding: 6px 16px 6px 8px; margin-bottom: 18px; }
  .hero-brand__name { font-size: 17px; }
  .hero-brand .brand__mark { width: 30px; height: 30px; }
  .hero-license { margin-top: 26px; padding: 14px 16px; gap: 14px; border-radius: 18px; }
  .hero-license__icon { width: 46px; height: 46px; }
  .hero-license__icon svg { width: 26px; height: 26px; }
  .hero-license__text { font-size: 15px; }
  .hero-license__label { font-size: 10px; }
  .feedback--page { margin: 40px 0 40px; }
  .box-feedback .caption-section h1 { font-size: 28px; }
  .lawyer .box-about_content h2 { font-size: 26px; }
  .lawyer .box-about_content p { font-size: 16px; }
  .lawyer__contacts a { width: 100%; justify-content: center; }
  .brand__name { font-size: 22px; }
}

/* --- Шапка: иконки мессенджеров в один ряд --- */
header .contact .socseti { display: flex; align-items: center; gap: 6px; flex-shrink: 0; margin-left: 10px; }
header .contact .phone a { white-space: nowrap; }
header .contact .callback a { white-space: nowrap; }
.brand__name b { font-weight: inherit; }

/* --- Без горизонтальной прокрутки из-за флага --- */
body.rs-page-feedback { overflow-x: hidden; }
.rs-feedback-page { overflow-x: clip; }
footer .footer-contact { align-items: flex-end; }
