/* ── Страница контактов ── */
.contacts-hero-section {
  background: var(--bs-dark, #0d1117);
  color: #fff;
  padding: 3rem 0 2.5rem;
}
.contacts-hero-section .eyebrow {
  font-size: .75rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #adb5bd;
  margin-bottom: .5rem;
}
.contacts-hero-section h1 {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(2rem, 5vw, 3.2rem);
  font-weight: 800;
  margin-bottom: .75rem;
}
.contacts-hero-section .lead { color: #ced4da; }
.contacts-channels {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem;
  margin-top: 2rem;
}
.contacts-channel {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: .5rem;
  padding: 1.25rem 1rem;
  display: flex;
  flex-direction: column;
  gap: .4rem;
  color: #fff;
  text-decoration: none;
  transition: background .2s;
}
.contacts-channel:hover { background: rgba(255,255,255,.1); color: #fff; }
.contacts-channel i { font-size: 1.4rem; color: var(--accent, #0d6efd); }
.contacts-channel strong { font-size: 1rem; }
.contacts-channel span { font-size: .82rem; color: #adb5bd; }
.contacts-channel a { color: #fff; }
.contacts-section { padding: 3rem 0; }
.contacts-section--soft { background: #f8f9fa; padding: 3rem 0; }
.contacts-section__title {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700;
  font-size: clamp(1.5rem, 3vw, 2rem);
  margin-bottom: .5rem;
  color: #fff;
}
.contacts-section__sub { color: #6c757d; margin-bottom: 2rem; }
.contacts-locations {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.25rem;
}
.contacts-location {
  background: #fff;
  border: 1px solid #dee2e6;
  border-radius: .5rem;
  padding: 1.5rem;
}
.contacts-location i { font-size: 1.6rem; color: #495057; margin-bottom: .75rem; display: block; }
.contacts-location h3 { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 1.2rem; margin-bottom: .75rem; color: #495057;}
.contacts-location p { font-size: .9rem; color: #495057; margin-bottom: .4rem; }
.contacts-location a { color: #0d6efd; }
.seo-map-wrap { border-radius: .5rem; overflow: hidden; margin-bottom: 1.25rem; }
.seo-map-wrap iframe { display: block; }
.contacts-map-link { font-size: .875rem; }
.contacts-schedule {
  background: #fff;
  border: 1px solid #dee2e6;
  border-radius: .5rem;
  padding: 1.25rem 1.5rem;
  margin-top: 1.25rem;
}
.contacts-schedule__title { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 1.1rem; margin-bottom: .5rem;  color: #495057;}
.contacts-schedule__list { list-style: none; padding: 0; margin: 0; font-size: .9rem; color: #495057;}
.contacts-schedule__list li { padding: .25rem 0; }
.seo-table-wrap { overflow-x: auto; }
.seo-table { width: 100%; border-collapse: collapse; font-size: .875rem; }
.seo-table th, .seo-table td { padding: .65rem .9rem; border: 1px solid #dee2e6; vertical-align: top; }
.seo-table th {  font-weight: 600; white-space: nowrap; width: 220px; }
.seo-table td a { color: #0d6efd; }
.contacts-faq { }
.contacts-faq__list { display: flex; flex-direction: column; gap: .75rem; }
.contacts-faq__item {
  background: #fff;
  border: 1px solid #dee2e6;
  border-radius: .5rem;
  padding: 1rem 1.25rem;
}
.contacts-faq__item summary {
  cursor: pointer;
  font-weight: 600;
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: .5rem;
}
.contacts-faq__item summary::-webkit-details-marker { display: none; }
.contacts-faq__icon::after { content: '+'; font-size: 1.2rem; color: #6c757d; }
.contacts-faq__item[open] .contacts-faq__icon::after { content: '−'; }
.contacts-faq__answer { padding-top: .75rem; font-size: .9rem; color: #495057; }
.contacts-faq__answer p { margin: 0; }
.contacts-cta-section { padding: 3rem 0; }
.contacts-cta-card {
  background: #0d1117;
  color: #fff;
  border-radius: .75rem;
  padding: 2.5rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.5rem;
  align-items: start;
}
@media (max-width: 768px) {
  .contacts-cta-card { grid-template-columns: 1fr; }
}
.contacts-cta-card__eyebrow { font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; color: #adb5bd; margin-bottom: .5rem; }
.contacts-cta-card h2 { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: clamp(1.5rem, 3vw, 2rem); margin-bottom: .75rem; }
.contacts-cta-card p { color: #adb5bd; font-size: .9rem; }
.contacts-form { display: flex; flex-direction: column; gap: .85rem; }
.contacts-form .form-label { font-size: .82rem; color: #adb5bd; margin-bottom: .25rem; }
.contacts-form .form-control {
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.15);
  color: #fff;
  border-radius: .375rem;
  padding: .5rem .75rem;
  font-size: .9rem;
}
.contacts-form .form-control::placeholder { color: #6c757d; }
.contacts-form .form-control:focus {
  background: rgba(255,255,255,.1);
  border-color: #0d6efd;
  color: #fff;
  box-shadow: 0 0 0 .2rem rgba(13,110,253,.25);
  outline: none;
}
.contacts-form textarea.form-control { resize: vertical; min-height: 80px; }
.contacts-form .form-check-label { font-size: .8rem; color: #adb5bd; }
.contacts-form .form-check-input { background-color: rgba(255,255,255,.1); border-color: rgba(255,255,255,.3); }
.contacts-form .form-note { font-size: .75rem; color: #6c757d; }
.contacts-form .kaptcha-row { display: flex; gap: .75rem; align-items: center; }
.contacts-form .kaptcha-row img { border-radius: .25rem; }
.breadcrumb-section { background: #f8f9fa; padding: .75rem 0; border-bottom: 1px solid #dee2e6; }
.breadcrumb-section ol { margin: 0; padding: 0; list-style: none; display: flex; gap: .4rem; font-size: .82rem; color: #6c757d; flex-wrap: wrap; }
.breadcrumb-section ol li + li::before { content: '/'; margin-right: .4rem; }
.breadcrumb-section ol a { color: #0d6efd; text-decoration: none; }
.breadcrumb-section ol a:hover { text-decoration: underline; }
