:root {
  --template-special-color: #3200f0;
  --template-link-color: #3200f0;
}

/* Hero и full-width секции: выход за пределы контейнера на всю ширину экрана */
.index-section {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
}

body {
  overflow-x: hidden;
  background-color: #f5f5f5;
}

.brand-logo svg,
.brand-logo img {
  display: block;
  max-width: 360px;
  height: auto;
}

.brand-logo--footer svg {
  max-width: 360px;
  height: auto;
  color: #3200ed;
}

/* header__logo: фиксированная высота как на zabota-uk.ru */
.header__logo svg {
  height: 128px;
}

.header__phone {
  margin-right: 1rem;
}

.header__phone a,
.footer__contacts a {
  color: inherit;
}

.header__topbar {
  display: flex;
  align-items: center;
  margin-left: auto;
}

.admin-page {
  padding: 2rem 0 4rem;
}

.footer__soc .soc-list__item a {
  display: inline-flex;
  align-items: center;
}

.footer__soc .soc-list__item svg {
  width: 24px;
  height: 24px;
}

.footer__soc .soc-list__item a:hover svg {
  fill: #3200f0;
}

.object-page .item-page p {
  margin-bottom: 0.8rem;
}

.object-page .item-page p strong {
  display: inline-block;
  color: #313241;
}

.footer__copyright p {
  margin-bottom: 0.5rem;
}

.footer__copyright p:last-child {
  margin-bottom: 0;
}

.admin-grid {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.admin-card {
  padding: 1.5rem;
  margin-bottom: 1.5rem;
  border: 1px solid rgba(50, 0, 240, 0.12);
  border-radius: 1rem;
  background: #fff;
}

.admin-form {
  display: grid;
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.admin-form label {
  display: grid;
  gap: 0.35rem;
  font-weight: 600;
}

.admin-form input[type="text"],
.admin-form textarea {
  width: 100%;
  padding: 0.8rem 1rem;
  border: 1px solid #d9def2;
  border-radius: 0.75rem;
  font: inherit;
}

.admin-form textarea {
  min-height: 7rem;
}

.admin-form--page textarea[name="body_html"] {
  min-height: 24rem;
}

.admin-list {
  display: grid;
  gap: 0.5rem;
}

.admin-actions {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.checkbox {
  display: flex !important;
  gap: 0.5rem;
  align-items: center;
}

.object-section {
  margin-top: 1rem;
}

/* Фото управляющего — в правой колонке, квадрат как на zabota-uk.ru (543×543) */
.object-page__manager-photo {
  margin-bottom: 0;
}

.object-page__manager-photo img {
  width: min(543px, 100%);
  aspect-ratio: 1;
  object-fit: cover;
  display: block;
}

@media (max-width: 1024px) {
  .object-page__manager-photo img {
    width: min(350px, 100%);
  }
}

@media (max-width: 767px) {
  .object-page__manager-photo img {
    width: min(200px, 100%);
  }
}

/* Объекты без картинки: убираем лишний отступ слева */
.object-block--no-img .object-block__wrap {
  padding-left: 15px;
}

/* Стили для страниц БЕЗ hero-картинки (FAQ, статика) */
.object-page__head:not(:has(.object-page__bg)) {
  margin: 0 calc(-50vw + 50%);
  padding: 96px calc(50vw - 50% + 15px) 72px;
  background:
    linear-gradient(rgba(8, 21, 89, 0.78), rgba(8, 21, 89, 0.45)),
    url("/images/proektiruem%20budusee%20uk%20zabota.jpg") center/cover no-repeat;
}

/* Страницы объектов С hero-картинкой: как на zabota-uk.ru (высокий hero) */
.object-page__head:has(.object-page__bg) {
  margin: 0 calc(-50vw + 50%);
  padding: 124px calc(50vw - 50% + 15px) 216px;
}
.object-page__head:has(.object-page__bg) .object-page__breadcrumbs {
  margin-bottom: 100px;
}
@media (max-width: 1024px) {
  .object-page__head:has(.object-page__bg) {
    padding: 124px calc(50vw - 50% + 15px) 32px;
  }
  .object-page__head:has(.object-page__bg) .object-page__breadcrumbs {
    margin-bottom: 64px;
  }
}
@media (max-width: 767px) {
  .object-page__head:has(.object-page__bg) {
    padding: 64px calc(50vw - 50% + 15px) 24px;
  }
}

.object-page__breadcrumbs {
  margin-bottom: 64px;
  color: #dddddd;
}

.object-page__breadcrumbs a {
  color: inherit;
}

.object-page__body {
  padding-top: 64px;
}

.object-page__content {
  font-size: 16px;
  line-height: 1.35;
}

.object-page__content p {
  margin-bottom: 1rem;
}

.object-page__list {
  margin-top: 0.5rem;
}

.object-page .tabs__body {
  padding-top: 1rem;
}

/* Табы: активная вкладка с правой границей как на zabota-uk.ru */
.tabs__nav-item.is-active:not(:last-child) {
  border-right: 1px solid #3100f0;
}

.services-page__desc {
  margin-bottom: 48px;
}

.contacts-page__title,
.services-page__title {
  margin-bottom: 32px;
}

/* Карта на странице контактов: фиксированная высота, принудительное отображение */
.contacts-page .map-section {
  min-height: 550px;
  height: 550px;
  margin-top: 48px;
}
.contacts-page .map-section__map {
  min-height: 550px;
  height: 550px;
}
/* Переопределяем display:none от расширений/скриптов */
.contacts-page .map-section__map iframe {
  display: block !important;
  visibility: visible !important;
}

.contacts-page__row.row {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -15px;
}
.contacts-page__row .contacts-page__info,
.contacts-page__row .contacts-page__phones,
.contacts-page__row .contacts-page__mails {
  padding: 0 15px;
}
.contacts-page__phones ul {
  list-style: none;
  margin: 0 0 30px;
  padding: 0;
}
.contacts-page__phones ul li {
  margin-bottom: 8px;
  padding-left: 0;
}
.contacts-page__phones ul li:before {
  display: none;
}

.breadcrumbs {
  margin-bottom: 24px;
}


@media (max-width: 992px) {
  .header__menu {
    margin-left: 0;
  }

  .brand-logo svg,
  .brand-logo img {
    max-width: 140px;
  }

  .object-page__head:not(:has(.object-page__bg)) {
    padding: 72px calc(50vw - 50% + 15px) 40px;
  }

  .object-page__breadcrumbs {
    margin-bottom: 32px;
  }
}

/* Форма FAQ — как на zabota-uk.ru: две колонки, input-row с плавающими лейблами */
.form-block.main-section__form {
  margin-top: 80px;
}
.form-block__row.row {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -15px;
}
.form-block__row .form-block__col {
  padding: 0 15px;
  margin-bottom: 0;
}
.form-block__row .form-block__col:first-child .form-block__input {
  margin-bottom: 20px;
}
.form-block__row .form-block__col:first-child .form-block__input:last-of-type {
  margin-bottom: 0;
}
.form-block__row .input-row textarea.form-control {
  height: 170px;
  min-height: 133px;
}
@media (max-width: 767px) {
  .form-block.main-section__form {
    margin-top: 40px;
  }
  .form-block__row .form-block__col {
    margin-bottom: 16px;
  }
  .form-block__row .form-block__col:first-child .form-block__input {
    margin-bottom: 16px;
  }
}

@media (max-width: 767px) {
  .header__logo svg {
    height: 32px;
  }
  .object-page__head:not(:has(.object-page__bg)) {
    padding: 56px calc(50vw - 50% + 15px) 24px;
  }
  .object-page__head:has(.object-page__bg) .object-page__breadcrumbs {
    margin-bottom: 36px;
  }

  .object-page__body {
    padding-top: 24px;
  }

  .services-page__desc {
    margin-bottom: 24px;
  }

  .contacts-page__title,
  .services-page__title {
    margin-bottom: 20px;
  }
}
