/* Согласия под формой записи (?p=entry) */
.consent {
  max-width: 800px;
  margin: 10px auto 0;
  padding: 20px 22px;
  text-align: left;
  background-color: #fffaf1;
  border: 1px solid #f9dfb0;
  border-radius: 10px;
}
.consent__title {
  margin-bottom: 6px;
  font-weight: 700;
}
.consent__item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 6px 0;
}
.consent__check {
  position: relative;
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  cursor: pointer;
}
/* Нативный чекбокс прозрачный, но остаётся на месте — для доступности и подсказки required */
.consent__check input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}
.consent__box {
  display: block;
  width: 22px;
  height: 22px;
  background-color: #fff;
  border: 2px solid #f5a218;
  border-radius: 6px;
  transition: background-color .2s, box-shadow .2s;
}
.consent__box::after {
  content: '';
  display: block;
  width: 6px;
  height: 11px;
  margin: 2px 0 0 6px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg) scale(0);
  transition: transform .15s ease-out;
}
.consent__check input:checked + .consent__box {
  background-color: #f5a218;
}
.consent__check input:checked + .consent__box::after {
  transform: rotate(45deg) scale(1);
}
.consent__check input:focus-visible + .consent__box,
.consent__check:hover .consent__box {
  box-shadow: 0 0 0 4px rgba(245, 162, 24, .25);
}
.consent__link,
.consent__note a {
  color: #3a3a3a;
  text-decoration: none;
  border-bottom: 1px dashed #f5a218;
  transition: color .2s, border-color .2s;
}
.consent__link {
  font-size: 15px;
  line-height: 22px;
}
.consent__link:hover,
.consent__note a:hover {
  color: #f41b24;
  border-bottom-color: #f41b24;
}
.consent__required {
  color: #f41b24;
  font-weight: 700;
}
.consent__item .consent__required {
  margin-left: -8px;
}
.consent__note {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #f9dfb0;
  font-size: 12px;
  line-height: 18px;
  color: #888;
}

/* Модальное окно с документом (поверх стилей jquery-modal) */
.blocker {
  z-index: 1000;
  background-color: rgba(30, 20, 5, .6);
}
.modal.doc-modal {
  max-width: 760px;
  width: 92%;
  padding: 0;
  border-radius: 16px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, .35);
  overflow: hidden;
  text-align: left;
}
.doc-modal__head {
  padding: 24px 64px 20px 32px;
  font-family: "AvenirNextCyr-Medium", sans-serif;
  font-size: 20px;
  line-height: 28px;
  color: #3a3a3a;
  background: linear-gradient(135deg, #fff4dd 0%, #fffaf1 100%);
  border-bottom: 3px solid #f5a218;
}
.doc-modal__body {
  max-height: 65vh;
  overflow-y: auto;
  padding: 8px 32px 28px;
  font-size: 15px;
  line-height: 24px;
  color: #3a3a3a;
}
.doc-modal__body h4 {
  margin: 22px 0 8px;
  font-family: "AvenirNextCyr-Medium", sans-serif;
  font-size: 16px;
  color: #000;
}
.doc-modal__body p {
  margin: 10px 0;
}
.doc-modal__body ul {
  margin: 8px 0;
  padding-left: 0;
  list-style: none;
}
.doc-modal__body li {
  position: relative;
  padding-left: 22px;
  margin: 4px 0;
}
.doc-modal__body li::before {
  content: '';
  position: absolute;
  left: 4px;
  top: 9px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background-color: #f5a218;
}
.doc-modal__body a {
  color: #f41b24;
}
.modal.doc-modal a.close-modal {
  top: 20px;
  right: 20px;
  width: 36px;
  height: 36px;
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .12);
  transition: background-color .2s, transform .2s;
}
.modal.doc-modal a.close-modal::before,
.modal.doc-modal a.close-modal::after {
  content: '';
  position: absolute;
  top: 17px;
  left: 10px;
  width: 16px;
  height: 2px;
  background-color: #3a3a3a;
  transform: rotate(45deg);
  transition: background-color .2s;
}
.modal.doc-modal a.close-modal::after {
  transform: rotate(-45deg);
}
.modal.doc-modal a.close-modal:hover {
  background-color: #f5a218;
  transform: rotate(90deg);
}
.modal.doc-modal a.close-modal:hover::before,
.modal.doc-modal a.close-modal:hover::after {
  background-color: #fff;
}

@media (max-width: 590px) {
  .consent {
    padding: 16px 14px;
  }
  .consent__link {
    font-size: 14px;
  }
  .doc-modal__head {
    padding: 18px 56px 16px 18px;
    font-size: 17px;
    line-height: 24px;
  }
  .doc-modal__body {
    padding: 6px 18px 22px;
    font-size: 14px;
    line-height: 22px;
  }
  .modal.doc-modal a.close-modal {
    top: 14px;
    right: 12px;
  }
}

/* Кнопка «Отправить», пока не отмечены обязательные согласия */
.entry__btn {
  transition: background-color .2s, opacity .2s;
}
.entry__btn:disabled {
  background-color: #c4c4c4;
  cursor: not-allowed;
}
.entry__btn:disabled::before {
  filter: grayscale(1);
  opacity: .6;
}
