/* «Блог первого руководителя»: блок на главной и страница /blog */

/* ---------- Блок на главной ---------- */
.chief-blog-block {
  padding-bottom: 24px;
}
.chief-blog-card {
  display: flex;
  align-items: center;
  gap: 32px;
  padding: 28px;
  background: #fff;
  border: 1px solid rgba(64, 131, 212, .45);
  border-radius: 20px;
  box-shadow: 0 10px 30px rgba(35, 99, 176, .08);
}
.chief-blog-photo {
  flex: 0 0 200px;
  width: 200px;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: top;
  border-radius: 16px;
  background: #EEF1F4;
}
.chief-blog-body {
  flex: 1;
  min-width: 0;
}
.chief-blog-quote {
  margin: 0 0 20px;
  font-size: 1.15rem;
  line-height: 1.6;
  font-style: italic;
  color: #334155;
}
.chief-blog-name {
  font-family: 'IBMPlexSans_BOLD', sans-serif;
  font-size: 1.15rem;
  color: #2363B0;
}
.chief-blog-position {
  font-size: .95rem;
  color: #64748B;
}
.chief-blog-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 20px;
  padding: 12px 26px;
  border-radius: 12px;
  background: #2363B0;
  color: #fff;
  font-family: 'IBMPlexSans_BOLD', sans-serif;
  font-size: 1rem;
  text-decoration: none;
  transition: background-color .2s ease, transform .2s ease;
}
.chief-blog-btn:hover,
.chief-blog-btn:focus-visible {
  background: #1A4F91;
  color: #fff;
  text-decoration: none;
  transform: translateY(-2px);
}
@media (max-width: 767.98px) {
  .chief-blog-card {
    flex-direction: column;
    align-items: stretch;
    gap: 20px;
    padding: 20px;
  }
  .chief-blog-photo {
    width: 160px;
    flex-basis: auto;
    align-self: center;
  }
}

/* ---------- Страница /blog ---------- */
.chief-blog-page {
  padding-bottom: 60px;
  color: #475569;
}
.chief-blog-page h1 {
  font-family: 'IBMPlexSans_BOLD', sans-serif;
  font-size: 2.3rem;
  color: #2363B0;
  margin: 0 0 28px;
}
.chief-blog-page .cbp-photo {
  width: 100%;
  border-radius: 16px;
  background: #EEF1F4;
}
.chief-blog-page .cbp-sign-name {
  margin-top: 14px;
  font-family: 'IBMPlexSans_BOLD', sans-serif;
  font-size: 1.1rem;
  color: #2363B0;
}
.chief-blog-page .cbp-text p {
  font-size: 1.05rem;
  line-height: 1.7;
  text-align: justify;
}
.chief-blog-page .cbp-signature {
  margin: 24px 0;
  font-size: 1.05rem;
  line-height: 1.6;
}
.chief-blog-page .cbp-note {
  padding: 18px 22px;
  border-radius: 12px;
  background: #F4F9FD;
  border: 1px solid rgba(64, 131, 212, .3);
  font-style: italic;
  line-height: 1.6;
}
.chief-blog-page .cbp-note p:last-child { margin-bottom: 0; }

/* форма «Виртуальная приёмная» */
.chief-blog-page .cbp-reception {
  margin-top: 40px;
  padding: 28px;
  background: #fff;
  border: 1px solid rgba(64, 131, 212, .45);
  border-radius: 20px;
  box-shadow: 0 10px 30px rgba(35, 99, 176, .08);
  scroll-margin-top: 100px;
}
.chief-blog-page .cbp-reception h2 {
  font-family: 'IBMPlexSans_BOLD', sans-serif;
  font-size: 1.5rem;
  color: #2363B0;
  margin: 0 0 20px;
}
.chief-blog-page .cbp-field label {
  display: block;
  margin-bottom: 6px;
  font-size: .9rem;
  color: #475569;
}
.chief-blog-page .cbp-field label span { color: #DC2626; }
.chief-blog-page .cbp-field input,
.chief-blog-page .cbp-field select,
.chief-blog-page .cbp-field textarea {
  width: 100%;
  padding: 10px 14px;
  border: 1px solid #D5DCE4;
  border-radius: 10px;
  font-size: 1rem;
  color: #1E293B;
  background: #fff;
}
.chief-blog-page .cbp-field textarea {
  min-height: 150px;
  resize: vertical;
}
.chief-blog-page .cbp-field select {
  height: 46px;
  cursor: pointer;
}
/* «Другое»: вместо списка — поле для своей темы и ссылка обратно к списку */
.chief-blog-page .cbp-theme-back {
  margin-top: 6px;
  padding: 0;
  border: 0;
  background: none;
  color: #2363B0;
  font-size: .85rem;
  cursor: pointer;
}
.chief-blog-page .cbp-theme-back::before { content: "\2190  "; }
.chief-blog-page .cbp-theme-back:hover { text-decoration: underline; }
.chief-blog-page .cbp-field input:focus,
.chief-blog-page .cbp-field select:focus,
.chief-blog-page .cbp-field textarea:focus {
  outline: none;
  border-color: #2363B0;
  box-shadow: 0 0 0 3px rgba(35, 99, 176, .15);
}
.chief-blog-page .is-invalid input,
.chief-blog-page .is-invalid select,
.chief-blog-page .is-invalid textarea {
  border-color: #DC2626;
}
.chief-blog-page .cbp-consent {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-size: .95rem;
  cursor: pointer;
}
.chief-blog-page .cbp-consent input { margin-top: 4px; }
.chief-blog-page .cbp-consent.is-invalid { color: #DC2626; }
.chief-blog-page .cbp-required { font-size: .9rem; margin: 0; }
.chief-blog-page .cbp-required span { color: #DC2626; }
.chief-blog-page .cbp-submit {
  padding: 12px 34px;
  border: 0;
  border-radius: 12px;
  background: #2363B0;
  color: #fff;
  font-family: 'IBMPlexSans_BOLD', sans-serif;
  font-size: 1rem;
  cursor: pointer;
}
.chief-blog-page .cbp-submit:hover { background: #1A4F91; }
.chief-blog-page .cbp-submit:disabled { opacity: .7; cursor: wait; }
.chief-blog-page .cbp-status {
  display: none;
  margin-top: 16px;
  padding: 12px 16px;
  border-radius: 10px;
}
.chief-blog-page .cbp-status.is-ok {
  display: block;
  background: rgba(14, 159, 110, .08);
  border: 1px solid rgba(14, 159, 110, .35);
  color: #0B7A55;
}
.chief-blog-page .cbp-status.is-error {
  display: block;
  background: rgba(220, 38, 38, .06);
  border: 1px solid rgba(220, 38, 38, .3);
  color: #B91C1C;
}
@media (max-width: 767.98px) {
  .chief-blog-page h1 { font-size: 1.8rem; }
  .chief-blog-page .cbp-text p { text-align: left; }
  .chief-blog-page .cbp-reception { padding: 20px; }
}
