/* Вход, личный кабинет, кабинет компании, формы посетителя: подсказки, фото к отзыву, «Полезно». */

/* поле-ловушка для ботов: человек его не видит и не заполняет */
.hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

/* подсказка внутри шторки или карточки */
.notice { padding: 10px 12px; border-radius: var(--r-sm); background: var(--surface); font-size: 13px; line-height: 19px; color: var(--text-2); }
.notice b { font-weight: 500; color: var(--text); }
.notice--warn { background: var(--warn-tint); color: var(--warn-ink); }
.notice--danger { background: var(--danger-tint); color: var(--danger-ink); }
.notice--danger b, .notice--warn b { color: inherit; }
.notice .link { color: inherit; font-weight: 500; }

/* выбор фото: миниатюры выбранных файлов */
.photo-list { display: flex; flex-wrap: wrap; gap: 8px; }
.photo-list:empty { display: none; }
.photo-chip { width: 56px; height: 56px; border-radius: var(--r-sm); overflow: hidden; background: var(--surface); box-shadow: var(--ring-inset); }
.photo-chip img { width: 100%; height: 100%; object-fit: cover; display: block; }
.dropzone.is-invalid { box-shadow: var(--ring-danger); }
.options.is-invalid .option__mark { box-shadow: var(--ring-danger); }

/* фото в отзыве */
.review__photos { display: flex; flex-wrap: wrap; gap: 8px; }
.review__photo { display: block; width: 72px; height: 72px; border-radius: var(--r-sm); overflow: hidden; background: var(--surface); box-shadow: var(--ring-inset); --press: .97; }
.review__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* «Полезно» нажато */
.btn--toggle[aria-pressed="true"] { background: var(--brand-tint); color: var(--brand-ink); box-shadow: none; }

/* строка выбора с пояснением под названием */
.option--top { align-items: flex-start; padding-block: 10px; }
.option--top .option__mark { margin-top: 1px; }
.option b { font-weight: 500; }

/* страница входа и нового пароля */
.auth-page { display: flex; justify-content: center; padding-block: 40px 72px; }
.auth-card { display: flex; flex-direction: column; gap: 20px; width: 100%; max-width: 440px; padding: 24px; }
.auth-card__alt { text-align: center; }
.form-stack { display: flex; flex-direction: column; gap: 16px; min-width: 0; }

/* личный кабинет */
.account, .business { padding-bottom: 72px; }
.account-head { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 16px; padding-block: 20px 16px; }
.account-head__text { flex: 1 1 220px; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.account-head__text p { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; overflow-wrap: anywhere; }
.account-head__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.account-verify { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 16px; }
.account-tabs { margin-bottom: 16px; }
.my-review { display: flex; flex-direction: column; gap: 10px; }
.my-review__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-width: 0; }
.my-review__top .company__head { --press: .98; }
.account-settings { display: grid; gap: 16px; max-width: 640px; }

/* кабинет компании */
.business__h { margin: 32px 0 12px; }
.claim { display: flex; flex-direction: column; gap: 12px; }
.claim__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.dns-box { display: flex; flex-direction: column; gap: 10px; padding: 14px; border-radius: var(--r-inner); background: var(--surface); }
.dns-box__code { display: block; padding: 10px 12px; border-radius: var(--r-sm); background: var(--card); box-shadow: var(--ring-inset);
  font: 13px/18px ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; overflow-wrap: anywhere; user-select: all; }
.stat-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-bottom: 16px; }
.stat-card { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px; }
.stat-card b { font: 300 24px/30px var(--font-display); letter-spacing: -.02em; }
.owner-review { display: flex; flex-direction: column; gap: 8px; }
.owner-review__bar { display: flex; flex-wrap: wrap; gap: 6px; padding-left: 4px; }
@media (max-width: 559.98px) {
  .stat-cards { grid-template-columns: 1fr; }
  .stat-card { flex-direction: row; align-items: baseline; justify-content: space-between; }
}
