/* assets/css/school.css */

/* Базовые */
.school-page .school-title {
  font-size: 28px;
  font-weight: 700;
  margin: 12px 0 18px;
}

.school-preview {
  display: flex;
  gap: 16px;
  align-items: center;
  margin-bottom: 16px;
}
.school-logo img {
  width: 80px;
  height: 80px;
  object-fit: cover;
  border-radius: 12px;
}
.school-summary p { margin: 0; }

.school-badges { display: flex; gap: 8px; margin-top: 8px; flex-wrap: wrap; }
.badge { padding: 4px 8px; border-radius: 999px; font-size: 12px; border: 1px solid #e5e7eb; }
.badge-green { background: #ecfdf5; color: #047857; border-color: #a7f3d0; }
.badge-blue  { background: #eff6ff; color: #1d4ed8; border-color: #bfdbfe; }
.badge-gray  { background: #f3f4f6; color: #374151; border-color: #e5e7eb; }

.school-info .info-list { list-style:none; padding:0; margin: 20px 0; }
.info-row { display:flex; gap: 16px; padding: 8px 0; border-bottom:1px solid #f1f5f9; }
.info-label { width: 240px; font-weight:600; color:#475569; }
.info-value { flex:1; }

/* Рейтинг */
.school-rating-block { margin: 18px 0; }
.rating-box { display:flex; align-items:center; gap:8px; }
.rating-box .fas.fa-star { color:#f59e0b; }
.rating-value { font-size:20px; font-weight:700; }
.rating-reviews { color:#6b7280; }

/* Двухколоночная раскладка + sticky сайдбар */
.school-layout { display:grid; grid-template-columns: 1fr 320px; gap: 24px; margin-top: 24px; }
.school-layout__main { min-width:0; }
.school-sidebar { position: relative; }
.sticky-cta {
  position: sticky;
  top: 90px;
  padding: 16px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0,0,0,.04);
}
.sticky-cta .cta-logo { text-align:center; margin-bottom: 8px; }
.sticky-cta .cta-logo img { width: 80px; height: 80px; object-fit: cover; border-radius: 12px; }
.sticky-cta .cta-title { font-weight:700; font-size:16px; margin-bottom:6px; }
.sticky-cta .cta-text { color:#374151; font-size:14px; margin-bottom:12px; }
.sticky-cta .cta-button {
  display:block; text-align:center; padding:10px 12px; background:#16a34a; color:#fff; border-radius:8px; text-decoration:none; font-weight:600;
}
.sticky-cta .cta-button:hover { background:#15803d; }

/* Подробнее */
.school-details h2 { font-size:22px; margin: 20px 0 10px; }
.school-details-content p { margin: 12px 0; }

/* FAQ аккордеон */
.school-faq h2 { font-size:22px; margin: 20px 0 10px; }
.accordion { border-radius:8px; border:1px solid #e5e7eb; overflow:hidden; }
.accordion-item + .accordion-item { border-top:1px solid #e5e7eb; }
.accordion-header {
  width:100%; text-align:left; padding:12px 14px; background:#f8fafc; border:0; font-weight:600; cursor:pointer;
}
.accordion-panel { display:none; padding:12px 14px; background:#fff; }
.accordion-item.open .accordion-panel { display:block; }

/* Списки в тексте — зелёные кружки с галочкой/цифрой */
.school-details-content ul { list-style:none; padding-left:0; }
.school-details-content ul li {
  position:relative; padding-left:28px; margin:8px 0;
}
.school-details-content ul li:before {
  content:""; position:absolute; left:0; top:4px; width:18px; height:18px; border-radius:50%;
  background:#10b981;
}
.school-details-content ul li:after {
  content:""; position:absolute; left:6px; top:9px; width:6px; height:3px; border-left:2px solid #fff; border-bottom:2px solid #fff; transform:rotate(-45deg);
}

/* Нумерованные списки — зелёные кружки с цифрой */
.school-details-content ol { counter-reset:num; padding-left:0; }
.school-details-content ol li { counter-increment:num; position:relative; padding-left:28px; margin:8px 0; list-style:none; }
.school-details-content ol li:before {
  content: counter(num); position:absolute; left:0; top:2px; width:18px; height:18px; border-radius:50%;
  background:#10b981; color:#fff; font-size:12px; font-weight:700; display:flex; align-items:center; justify-content:center;
}

/* Адаптив */
@media (max-width: 900px) {
  .school-layout { grid-template-columns: 1fr; }
  .school-sidebar { order: -1; }
}

/* Нормальный отступ снизу, чтобы контент не прилипал к футеру */
.school-page {
  padding-bottom: 60px;
}

/* Небольшой отступ после блока описания */
.school-details {
  margin-bottom: 40px;
}
