/* Дополнения к референсным стилям: публичный сайт kumari-phases (без лоадера) */

.logo--text {
  text-decoration: none;
  display: inline-flex;
  align-items: baseline;
  gap: 0.15em;
  font-family: "Zen Maru Gothic", "Open Sans", sans-serif;
  font-size: 1.75rem;
  max-height: none;
  line-height: 1.1;
}

.logo__brand {
  color: #303a4d;
  font-weight: 700;
}

.logo__accent {
  color: #4f5987;
  font-weight: 700;
}

/* Как в референсе: img в шапке/подвале; в style.css у всех img pointer-events: none */
.header__logo img,
.footer__logo img {
  pointer-events: auto;
}

/* Размер как в Reference/website/css/style.css → .logo img { max-height: 96px; … } */
.header__logo img {
  display: block;
  height: auto;
  width: auto;
  max-height: 96px;
  object-fit: contain;
}

.footer__logo img {
  display: block;
  height: auto;
  width: auto;
  max-height: 120px;
  object-fit: contain;
}

/**
 * В style.css при min-width: 1100px меню центрируется через position:absolute + left:50%,
 * из-за этого блок наезжает на логотип. Восстанавливаем поток: лого слева, меню по центру
 * свободного места, «Войти» справа.
 */
@media (min-width: 1100px) {
  .header__container {
    position: relative;
    display: flex;
    align-items: center;
    gap: 1.25rem;
  }

  .header__logo {
    flex: 0 0 auto;
    margin-inline-end: 0.75rem;
  }

  .header__navigation {
    position: static !important;
    left: auto !important;
    transform: none !important;
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    min-width: 0;
    justify-content: flex-end;
  }

  .header__navigation > .header__menu.menu,
  .header__navigation > .menu {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    justify-content: center;
  }

  .header__navigation > .header__menu.menu .menu__body,
  .header__navigation > .menu .menu__body {
    width: 100%;
    justify-content: space-evenly;
  }

  .header__navigation > .actions-header {
    flex: 0 0 auto;
  }

  /* Пункты меню равномерно занимают всё место между лого и кнопкой Войти */
  .menu__list {
    width: 100%;
    gap: 0;
    justify-content: space-evenly;
  }

  .menu__link {
    padding: 0 0.4rem;
  }
}

.header__login {
  font-family: "Zen Maru Gothic", "Open Sans", sans-serif;
  font-weight: 600;
  font-size: 1.1rem;
  color: #303a4d;
  text-decoration: none;
  padding: 0.5rem 1rem;
  border-radius: 30px;
  border: 2px solid #303a4d;
  transition: box-shadow 0.3s ease, color 0.2s ease;
  white-space: nowrap;
}

.header__login:hover,
.header__login.active {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
  color: #A62A21;
  border-color: #A62A21;
}

/* Кнопка «Выйти» в шапке публичного сайта (та же разметка, что в ЛК) */
.lk-logout-form {
  display: inline;
  margin: 0;
  padding: 0;
}

.lk-logout-form .header__login {
  font: inherit;
  cursor: pointer;
  background: transparent;
}

.menu__link.active {
  color: #303a4d;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

/* Фон секций без отсутствующих в репозитории JPG */
.main::before,
.main_tours::before {
  background: linear-gradient(135deg, #e8ecf5 0%, #f8f9fb 48%, #ffffff 100%);
  opacity: 0.55;
}

.main--kumari-home .main__tours-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 992px) {
  .main--kumari-home .main__tours-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .main--kumari-home .main__tours-list {
    grid-template-columns: 1fr;
  }
}

.main--kumari-home .main__tours-price,
.main--kumari-home .main__tours-inclusions {
  display: none;
}

.main__tours-image--placeholder {
  width: 100%;
  height: 100%;
  min-height: 12rem;
  background: linear-gradient(145deg, #dfe4ef 0%, #f4f6fa 100%);
}

/* Референсный style.css отключает pointer-events у img; для клика по карточке нужен hit target */
.main--kumari-home .main__tours-image {
  pointer-events: auto;
}

audio {
  pointer-events: auto;
  width: 100%;
  max-width: 36rem;
}

.kp-prose {
  font-size: 1.05rem;
  line-height: 1.65;
  color: #303a4d;
}

.kp-prose--lectures {
  margin-top: 0.65rem;
}

.kp-prose img {
  max-width: 100%;
  height: auto;
}

/* Размер шрифта из редактора Quill (классы span) */
.kp-prose .ql-size-small {
  font-size: 0.85em;
}
.kp-prose .ql-size-large {
  font-size: 1.35em;
}
.kp-prose .ql-size-huge {
  font-size: 1.85em;
}

.kp-muted {
  color: #808793;
  font-size: 0.95rem;
}

.kp-card-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.kp-card {
  background: #fff;
  border-radius: 4px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
  padding: 1.25rem 1.5rem;
  transition: box-shadow 0.3s;
}

.kp-card:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

.kp-card__title {
  margin: 0 0 0.5rem 0;
  font-size: 1.25rem;
  font-weight: 600;
  color: #3f4974;
}

.kp-card__title a {
  color: inherit;
  text-decoration: none;
}

.kp-card__title a:hover {
  color: #A62A21;
}

.kp-badge {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: #4f5987;
  margin-bottom: 0.35rem;
}

.kp-review__author {
  font-weight: 600;
  color: #2c3544;
  margin-bottom: 0.35rem;
}

@media (max-width: 991px) {
  .header__login {
    font-size: 1rem;
    padding: 0.45rem 0.85rem;
  }
}
