/* Вошедший гость: общая шапка, нижнее меню и экраны кабинета. */
body { padding-bottom: 68px; }
.g-top { position: relative; height: 70px; }
.g-logo { position: absolute; left: 21px; top: 24px; font-size: 27px; letter-spacing: -.04em; }
.g-bell { position: absolute; right: 125px; top: 22px; border-radius: 50%; }
.g-bell b { position: absolute; left: 17px; top: -7px; display: grid; place-items: center; width: 16px; height: 16px; border-radius: 50%; background: var(--accent-soft); font-size: 10px; font-weight: 800; }
.g-ava { position: absolute; right: 66px; top: 15px; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--avatar); color: var(--avatar-ink); font-size: 15px; font-weight: 800; }
.g-gear { position: absolute; right: 21px; top: 22px; border-radius: 50%; }
.g-h1 { margin: 13px 0 0 20px; color: var(--white); font-size: 22px; font-weight: 700; line-height: 30px; letter-spacing: -.01em; }
.g-h1--p { margin-left: 13px; }
.g-chev { margin-left: auto; }
/* Брони */
.b-sec { margin: 20px 0 0 21px; font-size: 19px; font-weight: 800; line-height: 26px; }
.b-sec--2 { margin-top: 35px; }
.b-sec + .b-row { margin-top: 5px; }
.b-row { display: flex; align-items: center; gap: 16px; height: 99px; margin: 0 16px 0 22px; border-bottom: 1px solid var(--line); }
.b-row img { flex: none; width: 70px; height: 70px; border-radius: 12px; }
.b-row b { display: block; font-size: 17px; font-weight: 700; line-height: 25px; }
.b-row span span { display: block; color: var(--ink-sub); font-size: 14.5px; line-height: 25px; }
.b-row small { display: block; color: var(--ink-2); font-size: 13px; line-height: 21px; }
.b-row small.is-ok { color: var(--ok); }
.b-row .g-chev { margin-right: 4px; }
.b-row:last-child { margin-bottom: 26px; }
/* Профиль */
.pr-head { display: flex; align-items: center; gap: 22px; margin: 9px 15px 0; }
.pr-ava { display: grid; place-items: center; flex: none; width: 76px; height: 76px; border-radius: 50%; background: var(--avatar); color: var(--avatar-ink); font-size: 29px; font-weight: 800; }
.pr-head b { display: block; font-size: 17px; font-weight: 800; line-height: 24px; }
.pr-head div > span { display: block; font-size: 16px; line-height: 30px; }
.pr-head small { display: block; color: var(--ink-2); font-size: 12px; line-height: 22px; }
.pr-head small button { margin-left: 8px; color: var(--link-soft); }
.pr-list { display: grid; gap: 10px; margin: 33px 14px 22px; }
.pr-row { display: flex; align-items: center; gap: 19px; width: 100%; height: 66px; padding: 0 24px; border: 1px solid var(--line); border-radius: 33px; }
.pr-row--low { height: 64px; }
.pr-row b { display: block; font-size: 16px; font-weight: 700; line-height: 22px; }
.pr-row small { display: block; color: var(--ink-2); font-size: 13px; line-height: 22px; }
/* Личные данные */
.d-h1 { margin: 15px 0 0 18px; font-size: 23px; }
.d-sub { margin: 23px 18px 0; font-size: 16px; font-weight: 600; line-height: 20px; color: var(--ink-tab); }
.d-label { display: block; margin: 23px 18px 7px; font-size: 13.5px; font-weight: 700; line-height: 20px; }
.d-label--thin { margin-top: 12px; font-weight: 400; color: var(--ink-tab); }
.d-label small { margin-left: 10px; color: var(--ink-2); font-size: 11.5px; font-weight: 400; }
.d-input { display: block; width: calc(100% - 35px); height: 46px; margin-left: 18px; padding: 0 18px; border: 1px solid var(--line-5); border-radius: 23px; outline: 0; background: var(--plate-3); color: var(--ink); font: inherit; font-size: 14.5px; }
.d-input::placeholder { color: var(--ink-3); opacity: .75; }
.d-save { display: block; width: calc(100% - 35px); height: 44px; margin: 16px 0 23px 18px; border-radius: 22px; background: var(--accent-book); color: var(--white); text-align: center; font-size: 15px; font-weight: 700; }
body:has(.d-h1) { background: var(--bg-deep); }
/* Избранное */
.f-h1 { margin: 6px 0 0 20px; font-size: 21px; font-weight: 600; }
.f-h1--e { margin-top: 5px; font-size: 25px; font-weight: 700; }
.f-card { display: block; margin: 13px 16px 22px 19px; overflow: hidden; border-radius: 18px; background: var(--plate-2); }
.f-card img { display: block; width: 100%; height: 216px; object-fit: cover; }
.f-card div { padding: 6px 14px 11px; }
.f-card b { display: block; font-size: 19px; font-weight: 700; line-height: 26px; }
.f-card span { display: flex; justify-content: space-between; color: var(--ink-tab); font-size: 14px; line-height: 25px; }
.f-card em { display: flex; align-items: center; gap: 5px; font-style: normal; }
.f-empty { display: flex; flex-direction: column; align-items: center; width: 100%; margin: 255px 0 92px; text-align: center; color: var(--ink-tab); font-size: 15px; line-height: 22px; }
.f-empty svg { margin-bottom: 18px; color: var(--white); }
body:has(.f-h1--e) { background: var(--bg-mid); }
/* Уведомления */
.n-h1 { margin: 18px 0 0 16px; font-size: 25px; }
.n-lead { margin: 7px 16px 0; color: var(--ink-2); font-size: 14px; line-height: 20px; }
.n-card { margin: 14px 16px 0; padding: 23.5px 24px; border: 1px solid var(--line); border-radius: 28px; }
.n-card + .n-card { margin-bottom: 32px; }
.n-card h2 { font-size: 18px; font-weight: 700; line-height: 26px; }
.n-card p { margin-top: 9px; color: var(--ink-2); font-size: 14px; line-height: 21px; }
.n-btn { display: block; width: 219px; height: 44px; margin-top: 15px; border: 1px solid var(--line-2); border-radius: 22px; text-align: center; font-size: 14px; font-weight: 700; }
.n-btn--main { border: 0; background: var(--accent); }
/* Банкет */
.q-h1 { margin-top: 5px; text-align: center; font-size: 18.7px; font-weight: 700; line-height: 25px; }
.q-lead { margin: 16px 12px 0 16px; color: var(--ink-tab); font-size: 14.8px; line-height: 22px; }
.q-form { margin: 15px 16px 0; padding: 18px 17px 16px; border: 1px solid var(--line); border-radius: 22px; }
.q-form label { display: block; margin: 13px 0 6px 8px; font-size: 13.8px; font-weight: 500; line-height: 20px; }
.q-form label:first-child { margin-top: 0; }
.q-field { display: flex; align-items: center; justify-content: space-between; width: 100%; height: 44px; padding: 0 20px 0 14px; border: 1px solid var(--line); border-radius: 22px; background: var(--plate-3); font-size: 14.500px; }
.q-field input { width: 100%; border: 0; outline: 0; background: none; color: var(--ink); font-size: 14.500px; }
.q-field input::placeholder { color: var(--ink-3); opacity: .7; }
.q-send { display: block; width: calc(100% + 4px); height: 48px; margin: 12px -2px 0; border-radius: 24px; background: var(--accent-book); color: var(--white); text-align: center; font-size: 14.500px; font-weight: 700; }
.q-note { margin: 15px 14px 0 16px; color: var(--ink-tab); font-size: 13px; line-height: 19px; }
.q-foot { display: flex; align-items: center; gap: 16px; height: 64px; margin: 10px 12px 13px; padding: 0 18px 0 17px; border: 1px solid var(--line); border-radius: 32px; }
.q-ico { display: grid; place-items: center; flex: none; width: 34px; height: 34px; border: 2px solid var(--accent-soft); border-radius: 50%; color: var(--accent-soft); }
.q-t b { display: block; font-size: 17px; font-weight: 700; line-height: 22px; }
.q-t small { display: block; margin-top: 2px; color: var(--ink-2); font-size: 13.500px; }
/* О сервисе, Документы, О нас */
.i-top { position: relative; height: 62px; }
.i-logo { position: absolute; left: 0; right: 0; top: 21px; text-align: center; font-size: 31px; letter-spacing: -.04em; }
.i-gear { position: absolute; right: 21px; top: 18px; border-radius: 50%; }
.i-eyebrow { margin: 11px 19px 0; color: var(--link-soft); font-size: 12px; font-weight: 800; letter-spacing: .07em; line-height: 18px; }
.i-h1 { margin: 6px 19px 0; font-size: 22px; font-weight: 700; line-height: 30px; }
.i-h1--docs { margin-top: 18px; }
.i-h1--about { margin: 20px 16px 0; font-size: 28px; line-height: 36px; }
.i-lead { margin: 3px 19px 0; color: var(--ink-2); font-size: 14.500px; line-height: 22px; }
.i-lead--about { margin: 0 16px; }
.i-list { display: grid; gap: 10px; margin: 21px 16px 0; }
.i-list--2 { margin-top: 15px; }
.i-list--docs { margin: 26px 16px 25px; gap: 9px; }
.i-row { display: flex; align-items: center; gap: 22px; width: 100%; height: 58px; padding: 0 0 0 17px; border: 1px solid var(--line); border-radius: 29px; background: var(--plate-3); }
.i-list--docs .i-row { height: 63px; border-radius: 32px; }
.i-ic { display: grid; place-items: center; flex: none; width: 30px; height: 30px; border-radius: 50%; }
.i-ic.is-accent { background: var(--accent-book); }
.i-row small { display: block; color: var(--ink-2); font-size: 12.500px; line-height: 19px; }
.i-row b { display: block; font-size: 15.500px; font-weight: 600; line-height: 21px; }
.i-sec { margin: 21px 19px 0; color: var(--ink-2); font-size: 12.500px; font-weight: 700; line-height: 18px; }
.i-sec--soc { margin-top: 15px; }
.i-soc { display: grid; grid-template-columns: repeat(6, 1fr); margin: 4px 18px 14px 13px; }
.i-soc button { display: grid; place-items: center; height: 50px; color: var(--ink-tab); }
.i-box { margin: 25px 16px 0; padding: 12px 24px 14px; border: 1px solid var(--line); border-radius: 28px; }
.i-box + .i-box { margin-top: 10px; }
.i-box small { display: block; color: var(--ink-2); font-size: 11.500px; line-height: 22px; }
.i-box p { margin-top: 3px; font-size: 15.500px; font-weight: 500; line-height: 23px; }
.i-osm { margin: 16px 16px 0; color: var(--ink-2); font-size: 12.500px; line-height: 18px; }
.i-osm button { color: var(--link-soft); }
.i-foot { margin-top: 32px; }
/* Заявка отправлена */
.w-ico { display: grid; place-items: center; width: 62px; height: 62px; margin: 28px auto 0; border-radius: 50%; background: var(--avatar); color: var(--accent-soft); }
.w-h1 { margin-top: 15px; text-align: center; font-size: 18px; font-weight: 700; line-height: 26px; }
.w-lead { margin-top: 6px; text-align: center; color: var(--ink-tab); font-size: 14px; line-height: 22px; }
.w-card { display: flex; gap: 16px; margin: 21px 14px 0; padding: 13px 11px; border: 1px solid var(--line); border-radius: 22px; }
.w-card img { flex: none; width: 90px; height: 90px; border-radius: 12px; }
.w-card b { display: block; font-size: 18.500px; font-weight: 700; line-height: 26px; }
.w-card span span { display: block; margin-top: 3px; color: var(--ink-sub); font-size: 13.500px; line-height: 22px; }
.w-card em { display: inline-flex; align-items: center; gap: 9px; height: 31px; margin-top: 6px; padding: 0 15px; border-radius: 16px; background: var(--status-bg); color: var(--link-soft); font-style: normal; font-size: 14.500px; font-weight: 600; }
.w-chat { position: relative; display: flex; flex-direction: column; align-items: center; height: 295px; margin: 16px 14px 26px; padding-top: 19px; border: 1px solid var(--line); border-radius: 22px; }
.w-chat h2 { font-size: 16.500px; font-weight: 700; line-height: 26px; }
.w-chat svg { margin-top: 56px; color: var(--ink-2); }
.w-chat p { margin-top: 10px; color: var(--ink-tab); font-size: 14px; line-height: 22px; }
.w-send { position: absolute; left: 10px; right: 10px; bottom: 10px; display: flex; align-items: center; height: 41px; padding: 0 4px 0 24px; border: 1px solid var(--line); border-radius: 21px; }
.w-send input { flex: 1; min-width: 0; border: 0; outline: 0; background: none; color: var(--ink); font-size: 14px; }
.w-send input::placeholder { color: var(--ink-3); opacity: .75; }
.w-send button { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--accent-book); }
.w-send svg { margin: 0; color: var(--white); }
/* Бронь подтверждена */
.k-ico { width: 52px; height: 52px; margin-top: 6px; }
.k-h1 { margin-top: 14px; text-align: center; font-size: 21px; font-weight: 700; line-height: 30px; }
.k-lead { margin-top: 2px; text-align: center; color: var(--ink-tab); font-size: 14px; line-height: 20px; }
.k-place { display: flex; gap: 14px; align-items: center; height: 132px; margin: 19px 16px 0; padding: 0 12px; border: 1px solid var(--line); border-radius: 24px; }
.k-place img { flex: none; width: 96px; height: 106px; border-radius: 14px; }
.k-place b { display: block; font-size: 18px; font-weight: 700; line-height: 26px; }
.k-place span span { display: flex; align-items: center; gap: 11px; margin-top: 3px; color: var(--ink-tab); font-size: 12.500px; line-height: 21px; white-space: nowrap; }
.k-steps { display: flex; align-items: center; gap: 9px; height: 24px; margin: 18px 16px 0 20px; font-size: 12px; color: var(--ink-2); }
.k-steps i { display: grid; place-items: center; flex: none; width: 24px; height: 24px; border-radius: 50%; background: var(--accent); color: var(--white); }
.k-steps u { flex: 1; height: 1px; background: var(--line); }
.k-steps b { font-weight: 700; color: var(--ink); white-space: nowrap; }
.k-card { margin: 0 16px; border: 1px solid var(--line); border-radius: 24px; }
.k-card h2 { font-size: 18px; font-weight: 700; line-height: 26px; }
.k-meet { height: 175px; margin-top: 19px; padding: 16px 17px; }
.k-two { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 12px; }
.k-btn { display: flex; align-items: center; justify-content: center; gap: 10px; height: 46px; width: 100%; border: 1px solid var(--line); border-radius: 23px; font-size: 13.500px; font-weight: 600; }
.k-btn--off { margin-top: 10px; color: var(--ink-tab); font-weight: 500; }
.k-main { display: grid; place-items: center; height: 48px; margin: 16px 16px 0; border-radius: 24px; background: var(--accent); color: var(--white); font-size: 15px; font-weight: 700; }
.k-chat { height: 263px; margin-top: 17px; padding: 16px 17px; }
.k-chat p { margin-top: 7px; color: var(--ink-tab); font-size: 13.500px; line-height: 24px; }
.k-chat textarea { display: block; width: 100%; height: 78px; margin-top: 11px; padding: 12px 16px; border: 1px solid var(--line); border-radius: 24px; outline: 0; resize: none; background: none; color: var(--ink); font: inherit; font-size: 13.500px; }
.k-chat textarea::placeholder { color: var(--ink-3); opacity: .75; }
.k-btn--send { margin-top: 10px; font-weight: 500; }
.k-more { display: flex; align-items: center; justify-content: space-between; height: 60px; margin-top: 17px; padding: 0 17px; color: var(--accent-soft); }
.k-more h2 { color: var(--ink); font-size: 19px; }
.k-foot { margin: 18px 20px 26px; color: var(--ink-tab); font-size: 13.500px; line-height: 20px; }
.k-det { margin-top: 18px; padding: 15px 17px 12px; height: 327px; }
.k-det__h { display: flex; align-items: center; justify-content: space-between; color: var(--accent-soft); }
.k-det__h h2 { color: var(--ink); font-size: 19px; }
.k-badge { display: inline-block; margin-top: 8px; padding: 0 14px; height: 30px; border-radius: 15px; background: var(--ok-bg); color: var(--ok); font-size: 13px; line-height: 30px; }
.k-d { display: flex; align-items: center; gap: 14px; height: 56px; color: var(--accent-soft); }
.k-d__half { display: flex; align-items: center; gap: 14px; }
.k-d > i { width: 1px; height: 34px; background: var(--line); }
.k-d small { display: block; color: var(--ink-2); font-size: 12px; line-height: 18px; }
.k-d b { display: block; color: var(--ink); font-size: 14.500px; font-weight: 700; line-height: 20px; white-space: nowrap; }
.k-d b.is-acc { color: var(--accent-ink); }
/* Как это работает */
.h2-h1 { margin: 11px 16px 0; font-size: 18.700px; font-weight: 700; line-height: 26px; }
.h2-lead { margin: 12px 16px 16px; color: var(--ink-tab); font-size: 14.200px; line-height: 20px; }
.h2-step { display: flex; gap: 18px; margin: 0 16px; padding: 18px 0 11px; border-bottom: 1px solid var(--line-3); }
.h2-step:nth-of-type(3) { border: 0; }
.h2-step > span { display: grid; place-items: center; flex: none; width: 36px; height: 36px; border-radius: 50%; background: var(--avatar); color: var(--accent-soft); font-size: 14px; font-weight: 700; }
.h2-step h2 { font-size: 15px; font-weight: 700; line-height: 22px; }
.h2-step p { margin-top: 5px; color: var(--ink-tab); font-size: 15px; line-height: 21.700px; }
.h2-sec { margin: 19px 16px 0; font-size: 19px; font-weight: 700; line-height: 28px; }
.h2-faq { margin: 12px 16px 0; padding: 15px 17px 17px; border: 1px solid var(--line); border-radius: 18px; }
.h2-faq h3 { font-size: 15px; font-weight: 700; line-height: 22px; }
.h2-faq p { margin-top: 9px; color: var(--ink-tab); font-size: 15px; line-height: 21.700px; }
.h2-faq a { color: var(--accent-ink); }
.h2-cta { margin: 12px 16px 0; height: 181px; padding-top: 14px; border: 1px solid var(--line); border-radius: 18px; text-align: center; }
.h2-cta h2 { padding-right: 28px; font-size: 18.700px; font-weight: 700; line-height: 26px; }
.h2-cta p { margin: 15px 20px 0; color: var(--ink-tab); font-size: 15px; line-height: 21.700px; }
.h2-cta a { display: inline-grid; place-items: center; width: 162px; height: 46px; margin-top: 14px; border-radius: 23px; background: var(--accent-book); font-size: 14px; font-weight: 600; }
.h2-foot { margin: 22.5px 12px 14px; }
/* Контакты */
.o-h1 { margin: 5px 16px 0; font-size: 29.500px; font-weight: 700; line-height: 36px; }
.o-lead { margin: 8px 16px 0; color: var(--ink-2); font-size: 14px; line-height: 21px; }
.o-card { margin: 13px 16px 0; padding: 15px 18px 17px; border: 1px solid var(--line); border-radius: 26px; }
.o-card h2 { font-size: 18px; font-weight: 700; line-height: 26px; }
.o-row { display: flex; align-items: center; gap: 16px; width: 100%; margin-top: 12px; font-size: 14.500px; }
.o-card > .o-row:first-of-type { margin-top: 15px; }
.o-ic { display: grid; place-items: center; flex: none; width: 40px; height: 40px; border-radius: 50%; background: var(--plate); color: var(--accent-ink); }
.o-row small { display: block; color: var(--ink-2); font-size: 12.500px; line-height: 20px; }
.o-row b { display: block; color: var(--accent-ink); font-size: 16.500px; font-weight: 700; line-height: 24px; }
.o-link { display: flex; align-items: center; justify-content: space-between; width: 100%; margin-top: 15px; color: var(--accent-ink); }
.o-link b { display: block; color: var(--ink); font-size: 15px; font-weight: 700; line-height: 22px; }
.o-link small { display: block; color: var(--ink-2); font-size: 13px; line-height: 18px; }
.o-soc { display: flex; justify-content: space-between; margin: 17px 16px 12px; padding-top: 1px; }
.o-link:first-of-type { margin-top: 17px; }
.o-card--docs { padding-bottom: 26px; }
.o-soc button { display: grid; place-items: center; width: 50px; height: 50px; border-radius: 50%; background: var(--plate); }
@media (max-width: 360px) {
  .k-steps { font-size: 9.5px; gap: 5px; margin-left: 16px; }
  .k-place span span { white-space: normal; line-height: 16px; }
  .k-d b { white-space: normal; }
  .k-d__half { gap: 6px; }
}

/* Удаление аккаунта (10.11). */
.del-p { margin: 16px 18px 0; color: var(--ink-2); font-size: 14px; line-height: 20px; }
.del-list { margin: 12px 18px 0 36px; color: var(--ink-2); font-size: 13.5px; line-height: 19px; list-style: disc; }
.del-list li + li { margin-top: 6px; }
.del-check { display: flex; align-items: flex-start; gap: 11px; margin: 18px 18px 0; color: var(--ink-2); font-size: 13px; line-height: 18px; }
.del-check input { flex: none; appearance: none; width: 18px; height: 18px; margin: 0; border: 1px solid var(--ink-2); border-radius: 5px; }
.del-check input:checked { background: var(--accent-book); border-color: var(--accent-book); }
.del-btn { background: #C8372D; }
.del-back { display: block; margin: 0 18px 24px; text-align: center; color: var(--ink-sub); font-size: 14px; }

/* Уведомления о брони в профиле гостя — переключатели (Влад 2026-11-10). */
.pr-notify { margin: 4px 14px 30px; }
.pr-sub { margin: 0 4px 12px; font-size: 17px; font-weight: 700; }
.pr-sw { display: flex; align-items: center; gap: 19px; min-height: 66px; padding: 10px 18px 10px 24px; border: 1px solid var(--line); border-radius: 33px; }
.pr-sw + .pr-status + .pr-sw { margin-top: 10px; }
.pr-sw > span { flex: 1; min-width: 0; }
.pr-sw b { display: block; font-size: 16px; font-weight: 700; line-height: 22px; }
.pr-sw small { display: block; margin-top: 2px; color: var(--ink-sub); font-size: 12.5px; line-height: 16px; }
.pr-sw form { display: contents; }
.pr-switch { position: relative; flex: none; width: 50px; height: 30px; border-radius: 15px; background: var(--line-5, rgba(128,128,128,.35)); transition: background .2s; }
.pr-switch i { position: absolute; top: 3px; left: 3px; width: 24px; height: 24px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.25); transition: transform .2s; }
.pr-switch[aria-checked="true"] { background: var(--accent-book); }
.pr-switch[aria-checked="true"] i { transform: translateX(20px); }
.pr-switch[aria-busy="true"] { opacity: .6; }
.pr-switch:disabled { opacity: .4; }
.pr-status { margin: 6px 24px 0; color: var(--ink-sub); font-size: 12.5px; line-height: 16px; }
.pr-status:empty { display: none; }
/* Логотип в шапке гостя — по центру (Влад 2026-11-10). */
.g-top--guest .g-logo { left: 50%; transform: translateX(-50%); }
