/**
 * SC Calendar — стили. Требует переменные темы на родителе (см. пример):
 *   --sc-surface, --sc-ink, --sc-muted, --sc-border, --sc-primary, --sc-primary-soft
 *
 * Ожидаемая разметка (создаётся вручную на странице, содержимое рендерит сам виджет):
 *   <div class="sc-field" id="scFieldDates">           <!-- позиционирующий родитель (position: relative) -->
 *       ...
 *       <div class="sc-calendar-dropdown" id="scCalendarDropdown"></div>
 *       <div class="sc-cal-backdrop" id="scCalBackdrop"></div>  <!-- опционально, для мобильной подложки -->
 *   </div>
 */

.sc-calendar-dropdown {
    display: none;
    position: absolute;
    top: calc(100% + 10px);
    left: 50%;
    transform: translateX(-50%);
    background: var(--sc-surface, #fff);
    border-radius: 4px;
    box-shadow: 0 12px 32px rgba(27, 31, 59, 0.16);
    z-index: 9999;
    padding: 20px;
}

.sc-calendar-dropdown.show {
    display: block;
}

.sc-cal-panels {
    display: flex;
    gap: 28px;
    width: max-content;
}

.sc-cal-panel {
    flex: 0 0 280px;
    width: 280px;
}

.sc-cal-header {
    display: flex;
    align-items: center;
    margin-bottom: 14px;
}

.sc-cal-nav {
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    border: none;
    border-radius: 4px;
    background: var(--sc-primary-soft, #EEF2FB);
    color: var(--sc-primary, var(--blue,#1E4FA3));
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 0;
    transition: background 0.15s;
}

.sc-cal-nav:hover {
    background: var(--sc-primary, var(--blue,#1E4FA3));
    color: #fff;
}

.sc-cal-nav svg {
    width: 14px;
    height: 14px;
}

.sc-cal-title {
    flex: 1 1 auto;
    text-align: center;
    font-size: 15px;
    font-weight: 700;
    color: var(--sc-ink, var(--ink,#12213B));
    white-space: nowrap;
}

.sc-cal-weekdays {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    margin-bottom: 4px;
}

.sc-cal-weekdays span {
    text-align: center;
    font-size: 12px;
    font-weight: 700;
    color: var(--muted-2,#9AA1AD);
    text-transform: uppercase;
}

.sc-cal-days {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    grid-auto-rows: 38px;
}

.sc-cal-day {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    color: var(--sc-ink, var(--ink,#12213B));
    border-radius: 4px;
    cursor: pointer;
    user-select: none;
}

.sc-cal-day:hover:not(.sc-cal-day--disabled) {
    background: #F4F6FB;
}

.sc-cal-day--muted {
    color: #C7CBD6;
}

.sc-cal-day--disabled {
    color: #D7DAE3;
    cursor: not-allowed;
}

/* t_046cab9e: выходные видно с одного взгляда — полупрозрачный оранжевый фон
   плюс красный текст (раньше был только текст, и то лишь в мобильном рендере).
   Фон намеренно слабый: он не должен спорить с подсветкой выбранного диапазона,
   которая объявлена ниже и поэтому перебивает его при равной специфичности. */
.sc-cal-day--weekend {
    color: var(--danger,#E5484D);
    background: rgba(255, 138, 0, 0.12);
}

.sc-cal-day--weekend:hover:not(.sc-cal-day--disabled) {
    background: rgba(255, 138, 0, 0.22);
}

.sc-cal-day--empty {
    cursor: default;
}

.sc-cal-day--today {
    border: 1px solid var(--sc-primary, var(--blue,#1E4FA3));
}

/* t_046cab9e: промежуток между заездом и выездом. Было #EEF2FB — почти белый,
   на светлом фоне диапазон практически не читался, и понять, что именно выбрано,
   можно было только по двум синим краям. Фон усилен, текст в диапазоне — цветом
   акцента, чтобы полоса воспринималась как одно целое. */
.sc-cal-day--inrange {
    background: #DCE6FB;
    color: var(--sc-primary, var(--blue,#1E4FA3));
    border-radius: 0;
}

/* Предпросмотр: диапазон от выбранного заезда до дня под курсором, пока выезд
   ещё не кликнут. Тот же рисунок, но бледнее — видно, что это ещё не выбор. */
.sc-cal-day--preview {
    background: #EBF1FD;
    color: var(--sc-primary, var(--blue,#1E4FA3));
    border-radius: 0;
}

/* Правый край предпросмотра: контур вместо заливки — «здесь будет выезд».
   Селектор из двух классов намеренно: ниже .sc-cal-day--selected заливает фон
   синим через !important, и правило с одним классом до него бы не достучалось. */
.sc-cal-day--selected.sc-cal-day--preview-end,
.sc-cal-day--preview-end {
    background: transparent !important;
    color: var(--sc-primary, var(--blue,#1E4FA3)) !important;
    box-shadow: inset 0 0 0 1.5px var(--sc-primary, var(--blue,#1E4FA3));
}

.sc-cal-day--selected {
    background: var(--sc-primary, var(--blue,#1E4FA3)) !important;
    color: #fff !important;
}

.sc-cal-day--start {
    border-radius: 4px 0 0 4px;
}

.sc-cal-day--end {
    border-radius: 0 4px 4px 0;
}

.sc-cal-reset {
    width: 100%;
    margin: 0 0 14px;
    padding: 10px;
    background: transparent;
    border: 1.5px solid var(--sc-border, #E1E6F2);
    border-radius: 4px;
    color: var(--sc-primary, var(--blue,#1E4FA3));
    font-weight: 600;
    font-size: 13px;
    cursor: pointer;
    transition: background 0.15s;
    font-family: inherit;
}

.sc-cal-reset:hover {
    background: var(--sc-primary-soft, #EEF2FB);
}

.sc-cal-sticky-top {
    position: sticky;
    top: -20px;
    margin: -20px -20px 14px;
    padding: 20px 20px 0;
    background: var(--sc-surface, #fff);
    z-index: 5;
}

/* Мобильный вид календаря — сплошной скролл месяцев (как в Яндекс.Путешествиях) */
.sc-cal-mobile-header {
    display: none;
}

.sc-cal-mobile-list {
    display: none;
}

.sc-cal-mobile-month-title {
    font-size: 15px;
    font-weight: 700;
    color: var(--sc-ink, var(--ink,#12213B));
    margin-bottom: 10px;
}

@media (max-width: 860px) {
    .sc-calendar-dropdown {
        position: fixed;
        left: 12px;
        right: 12px;
        top: auto;
        bottom: 12px;
        transform: none;
        width: auto;
        max-height: 78vh;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    .sc-cal-panels {
        display: none;
    }

    .sc-cal-mobile-header {
        display: grid;
        grid-template-columns: repeat(7, 1fr);
        margin: 0 0 8px;
        padding-bottom: 8px;
        border-bottom: 1px solid var(--sc-border, #E1E6F2);
    }

    .sc-cal-mobile-header span {
        text-align: center;
        font-size: 12px;
        font-weight: 700;
        color: var(--sc-muted, var(--muted,#6B7280));
        text-transform: uppercase;
    }

    .sc-cal-mobile-list {
        display: block;
    }

    .sc-cal-mobile-month {
        margin-bottom: 20px;
    }

    .sc-cal-mobile-month:last-of-type {
        margin-bottom: 4px;
    }
}

/* Затемнение фона + блокировка скролла страницы, пока открыт календарь (мобильный режим) */
.sc-cal-backdrop {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(17, 20, 39, 0.45);
    z-index: 9998;
}

.sc-cal-backdrop.show {
    display: block;
}

body.sc-scroll-lock {
    overflow: hidden;
}

/**
 * SC Location Autocomplete + SC Guests Counter — стили.
 * Тоже используют переменные темы (--sc-surface/--sc-ink/--sc-muted/--sc-border/--sc-primary/--sc-primary-soft).
 */

.sc-location-dropdown {
    display: none;
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    right: 0;
    background: var(--sc-surface, #fff);
    border-radius: 4px;
    box-shadow: 0 12px 32px rgba(27, 31, 59, 0.16);
    z-index: 1000;
    max-height: 320px;
    overflow-y: auto;
    padding: 6px;
}

.sc-location-dropdown.show {
    display: block;
}

.sc-location-item {
    padding: 11px 14px;
    cursor: pointer;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 500;
    color: var(--sc-ink, var(--ink,#12213B));
    transition: background 0.15s;
}

/* t_046cab9e: в строке подсказки главное — название, вторичное (регион, число
   объектов) уводим в приглушённый цвет и меньший кегль, чтобы список читался
   с одного взгляда, а не сплошным серым текстом. */
.sc-location-item__name {
    display: block;
    font-weight: 600;
    color: var(--sc-ink, var(--ink,#12213B));
}

.sc-location-item__meta {
    display: block;
    margin-top: 2px;
    font-size: 12px;
    color: #8A90A2;
}

.sc-location-item:hover {
    background: var(--sc-primary-soft, #EEF2FB);
}

.sc-guests-dropdown {
    display: none;
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    width: 320px;
    background: var(--sc-surface, #fff);
    border-radius: 4px;
    box-shadow: 0 12px 32px rgba(27, 31, 59, 0.16);
    z-index: 1000;
    padding: 18px;
}

.sc-guests-dropdown.show {
    display: block;
}

.sc-counter {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid #EEF0F5;
}

.sc-counter:last-of-type {
    border-bottom: none;
    margin-bottom: 8px;
    padding-bottom: 0;
}

.sc-counter__info {
    min-width: 0;
}

.sc-counter__title {
    font-size: 14px;
    font-weight: 600;
    color: var(--sc-ink, var(--ink,#12213B));
    margin-bottom: 2px;
}

.sc-counter__subtitle {
    font-size: 12px;
    color: var(--sc-muted, var(--muted,#6B7280));
}

.sc-counter__controls {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.sc-counter__buttons {
    display: flex;
    align-items: center;
    gap: 14px;
}

.sc-counter__btn {
    width: 30px;
    height: 30px;
    border: 1.5px solid var(--sc-border, #E1E6F2);
    border-radius: 4px;
    background: var(--sc-surface, #fff);
    cursor: pointer;
    font-size: 16px;
    line-height: 1;
    color: var(--sc-ink, var(--ink,#12213B));
    transition: all 0.15s;
}

.sc-counter__btn:hover:not(:disabled) {
    border-color: var(--sc-primary, var(--blue,#1E4FA3));
    color: var(--sc-primary, var(--blue,#1E4FA3));
}

.sc-counter__btn:disabled {
    opacity: 0.35;
    cursor: not-allowed;
}

.sc-counter__value {
    font-size: 15px;
    font-weight: 600;
    color: var(--sc-ink, var(--ink,#12213B));
    min-width: 22px;
    text-align: center;
}

.sc-ages {
    display: none;
    margin: 4px 0 12px;
    padding: 14px;
    background: var(--sc-primary-soft, #EEF2FB);
    border-radius: 4px;
}

.sc-ages.show {
    display: block;
}

.sc-ages__title {
    font-size: 13px;
    font-weight: 500;
    color: var(--sc-ink, var(--ink,#12213B));
    margin-bottom: 10px;
}

.sc-ages__row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}

.sc-ages__row:last-child {
    margin-bottom: 0;
}

.sc-ages__label {
    flex: 0 0 90px;
    font-size: 13px;
    color: var(--sc-muted, var(--muted,#6B7280));
}

.sc-ages__select {
    flex: 1;
    padding: 7px 8px;
    border: 1.5px solid var(--sc-border, #E1E6F2);
    border-radius: 4px;
    font-size: 13px;
    color: var(--sc-ink, var(--ink,#12213B));
    background: var(--sc-surface, #fff);
    cursor: pointer;
}

.sc-ages__select:focus {
    outline: none;
    border-color: var(--sc-primary, var(--blue,#1E4FA3));
}

.sc-pets {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 4px;
}

.sc-pets__label {
    font-size: 14px;
    font-weight: 500;
    color: var(--sc-ink, var(--ink,#12213B));
}

/* =============================================================================
   t_0ae843ce (20.09.2026, постановка Арсения): ТУМБЛЕР «С ПИТОМЦАМИ» МОЖЕТ БЫТЬ
   ЗАПРЕЩЁН ЦЕЛИКОМ. Если в отеле не принимают с животными ни в одном номере —
   включать тумблер незачем: поиск заведомо вернёт пусто. Вместо этого отказ
   показывается сразу: строка-объяснение + короткий «мотающий головой» толчок.
   Модификаторы живут здесь, а не в постраничном CSS: класс sc-* принадлежит
   компоненту поиска, и заводить его копию на одной странице — ровно тот способ
   разъехаться, который запрещает диздок кита (19.09.2026).
   Значения — токенами vse-ui.css с запасным хексом, как и весь остальной файл
   (компонент подключается и там, где кит ещё не подключён).
   ============================================================================= */
.sc-pets__note {
    margin-top: 6px;
    font-size: 12.5px;
    line-height: 1.35;
    color: var(--sc-muted, var(--muted,#6B7280));
}
/* Отказ — не нейтральная подпись, его должно быть видно с одного взгляда. */
.sc-pets__note--block {
    font-weight: 600;
    color: var(--coral,#E8502A);
}
/* Заблокированный тумблер выглядит недоступным, но остаётся кликабельным:
   по клику человек получает объяснение, а не молчание. disabled его бы
   проглотил — клик по disabled-инпуту событий не шлёт. */
.sc-pets--locked .sc-switch {
    opacity: .45;
}
.sc-pets--locked .sc-pets__label {
    color: var(--muted,#6B7280);
}
.sc-pets--refuse {
    animation: scPetsRefuse .5s cubic-bezier(.36,.07,.19,.97);
}
@keyframes scPetsRefuse {
    0%,100% { transform: translateX(0); }
    15%     { transform: translateX(-7px); }
    30%     { transform: translateX(6px); }
    45%     { transform: translateX(-4px); }
    60%     { transform: translateX(3px); }
    80%     { transform: translateX(-1px); }
}
/* Движение — украшение, смысл несёт текст: при «меньше движения» остаётся он. */
@media (prefers-reduced-motion:reduce) {
    .sc-pets--refuse { animation: none; }
}

.sc-switch {
    position: relative;
    width: 44px;
    height: 24px;
}

.sc-switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.sc-switch__slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #D4DAE8;
    transition: 0.3s;
    border-radius: 26px;
}

.sc-switch__slider:before {
    position: absolute;
    content: "";
    height: 18px;
    width: 18px;
    left: 3px;
    bottom: 3px;
    background-color: #fff;
    transition: 0.3s;
    border-radius: 50%;
}

.sc-switch input:checked + .sc-switch__slider {
    background-color: var(--sc-primary, var(--blue,#1E4FA3));
}

.sc-switch input:checked + .sc-switch__slider:before {
    transform: translateX(20px);
}

.sc-guests-done {
    width: 100%;
    padding: 11px;
    background: var(--sc-primary, var(--blue,#1E4FA3));
    color: #fff;
    border: none;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    margin-top: 16px;
    transition: background 0.15s;
    font-family: inherit;
}

.sc-guests-done:hover {
    background: var(--sc-primary-deep, #1A3A9A);
}

@media (max-width: 860px) {
    .sc-guests-dropdown {
        /* t_ca551ab1: раньше был width:100%/left:0 относительно узкого родителя
           (.sc-field--guests) — на реальном телефоне превращался в кривой дропдаун,
           прибитый к полю. Теперь как у календаря на этом же брейкпоинте — плавающая
           панель у низа экрана (см. sc-calendar.js: open() на мобиле больше не
           задаёт инлайновые left/width под поле, а очищает их и отдаёт это CSS). */
        position: fixed;
        left: 12px;
        right: 12px;
        top: auto;
        bottom: 12px;
        width: auto;
        max-height: 78vh;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        padding: 12px;
        box-shadow: 0 -4px 24px rgba(17, 20, 39, .18);
        border: 1px solid var(--sc-border, #E1E6F2);
    }

    .sc-counter {
        margin-bottom: 10px;
        padding-bottom: 10px;
    }

    .sc-counter__title {
        font-size: 13px;
    }

    .sc-counter__subtitle {
        font-size: 11px;
    }

    .sc-counter__btn {
        width: 26px;
        height: 26px;
        font-size: 14px;
    }

    .sc-counter__value {
        font-size: 13px;
    }

    .sc-guests-done {
        padding: 8px;
        font-size: 13px;
        margin-top: 10px;
    }

    .sc-pets__label {
        font-size: 13px;
    }
}

/* ===== t_51657e9d (27.09.2026, Данил: «календарь квадратный, угловатый, появляется резко без анимации») =====
   Скругления в стиле кита, мягкое появление, диапазон — сплошной лентой со скруглёнными краями,
   выходные без заливки-квадратов (только цвет цифры). */
.sc-calendar-dropdown,.sc-guests-dropdown,.sc-location-dropdown{border-radius:20px;box-shadow:0 18px 48px rgba(18,33,59,.18),0 2px 6px rgba(18,33,59,.06);}
.sc-calendar-dropdown.show{animation:scCalIn .22s cubic-bezier(.2,.8,.3,1);}
.sc-guests-dropdown.show,.sc-location-dropdown.show{animation:scPopIn .18s cubic-bezier(.2,.8,.3,1);}
@keyframes scCalIn{from{opacity:0;margin-top:-6px;}to{opacity:1;margin-top:0;}}
@keyframes scPopIn{from{opacity:0;transform:translateY(-4px);}to{opacity:1;transform:none;}}
.sc-cal-nav{border-radius:50%;width:32px;height:32px;flex-basis:32px;}
.sc-cal-days{grid-auto-rows:40px;row-gap:2px;}
.sc-cal-day{border-radius:12px;font-weight:500;transition:background .12s,color .12s;}
.sc-cal-day--weekend{background:transparent;}
.sc-cal-day--weekend:hover:not(.sc-cal-day--disabled){background:rgba(229,72,77,.08);}
.sc-cal-day--today{border:0;box-shadow:inset 0 0 0 1.5px var(--sc-primary,var(--blue,#1E4FA3));}
.sc-cal-day--inrange,.sc-cal-day--preview{border-radius:0;}
.sc-cal-day--selected{border-radius:12px;font-weight:700;}
.sc-cal-day--start{border-radius:12px 0 0 12px;}
.sc-cal-day--end{border-radius:0 12px 12px 0;}
.sc-cal-day--start.sc-cal-day--end{border-radius:12px;}
.sc-cal-day--preview-end{border-radius:0 12px 12px 0;}
.sc-cal-reset,.sc-location-item,.sc-ages,.sc-ages__select{border-radius:12px;}
.sc-counter__btn{border-radius:50%;}
.sc-cal-backdrop.show{animation:scFade .2s ease;}
@keyframes scFade{from{opacity:0;}to{opacity:1;}}
@media (max-width:860px){
  /* мобила: шторка снизу во всю ширину с язычком, выезжает */
  .sc-calendar-dropdown{left:0;right:0;bottom:0;border-radius:22px 22px 0 0;max-height:86vh;padding-bottom:calc(20px + env(safe-area-inset-bottom,0px));}
  .sc-calendar-dropdown.show{animation:scSheetUp .28s cubic-bezier(.2,.8,.3,1);}
  .sc-calendar-dropdown::before{content:'';position:sticky;top:-14px;display:block;width:36px;height:4px;margin:-12px auto 10px;border-radius:2px;background:#d5dbe3;z-index:6;}
  .sc-cal-sticky-top{top:-20px;}
}
@keyframes scSheetUp{from{transform:translateY(40%);opacity:.4;}to{transform:none;opacity:1;}}
@media (prefers-reduced-motion:reduce){.sc-calendar-dropdown.show,.sc-guests-dropdown.show,.sc-location-dropdown.show,.sc-cal-backdrop.show{animation:none;}}
@media (max-width:860px){
  .sc-guests-dropdown{border-radius:22px 22px 0 0;}
  .sc-guests-dropdown.show{animation:scSheetUp .26s cubic-bezier(.2,.8,.3,1);}
}
@media (max-width:860px){
  .sc-guests-dropdown{left:0;right:0;bottom:0;border:0;padding:14px 16px calc(16px + env(safe-area-inset-bottom,0px));}
}
/* ===== t_51657e9d: единый экран «Даты и гости» на мобиле — в шторке детальной («Выбрать даты») и в шторке
   попапа номера календарь встроен прямо в экран (не выпрыгивает поверх), под ним гости и питомцы и кнопка. ===== */
@media (max-width:860px){
  body.hd-sheet-open .hd-side .sc-calendar-dropdown,
  .hrp--dates .hrp__dates .sc-calendar-dropdown{display:block!important;position:static;left:auto;right:auto;bottom:auto;transform:none;
    max-height:none;overflow:visible;margin:12px -4px 4px;padding:0;border-radius:0;box-shadow:none;animation:none;background:transparent;}
  body.hd-sheet-open .hd-side .sc-calendar-dropdown::before,
  .hrp--dates .hrp__dates .sc-calendar-dropdown::before{display:none;}
  body.hd-sheet-open .hd-side .sc-cal-mobile-list,
  .hrp--dates .hrp__dates .sc-cal-mobile-list{max-height:min(46vh,380px);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding-right:2px;}
  body.hd-sheet-open .hd-side .sc-cal-sticky-top,
  .hrp--dates .hrp__dates .sc-cal-sticky-top{position:static;margin:0 0 8px;padding:0;}
  body.hd-sheet-open .sc-cal-backdrop,
  html.hrp-lock .sc-cal-backdrop{display:none!important;}
}
/* ===== t_c24624fa (29.09.2026): единая мобильная шторка календаря и гостей —
   язычок + заголовок + «Сбросить»/✕ в шапке, липкая «Готово» снизу, safe-area, свайп вниз (sc-calendar.js → scSheet) ===== */
.sc-sheet-head,.sc-sheet-foot{display:none;}
@media (max-width:860px){
  .sc-sheet-head{display:block;touch-action:none;background:var(--sc-surface,#fff);}
  .sc-sheet-grip{display:block;width:40px;height:4px;margin:0 auto 10px;border-radius:2px;background:#d5dbe3;}
  .sc-sheet-bar{display:flex;align-items:center;gap:8px;min-height:38px;}
  .sc-sheet-title{flex:1;min-width:0;font:700 18px/1.2 var(--font-display,'Inter',sans-serif);color:var(--sc-ink,#12213b);}
  .sc-sheet-extra{display:inline-flex;}
  .sc-sheet-link{border:0;background:none;padding:8px 6px;color:var(--sc-primary,#1e4fa3);font:600 14px/1 inherit;font-family:inherit;cursor:pointer;}
  .sc-sheet-x{flex:none;width:36px;height:36px;border:0;border-radius:50%;background:var(--paper,#f1f3f6);color:var(--sc-ink,#12213b);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent;}
  .sc-calendar-dropdown.sc-has-head::before{display:none;}
  .sc-calendar-dropdown.sc-has-head{padding-bottom:0;}
  .sc-calendar-dropdown.sc-has-head .sc-cal-sticky-top{padding-top:8px;box-shadow:0 1px 0 var(--sc-border,#e1e6f2);}
  .sc-calendar-dropdown.sc-has-head .sc-cal-mobile-header{border-bottom:0;margin-bottom:0;}
  .sc-sheet-foot{display:block;position:sticky;bottom:0;margin:4px -20px 0;padding:12px 20px calc(12px + env(safe-area-inset-bottom,0px));background:var(--sc-surface,#fff);box-shadow:0 -1px 0 var(--sc-border,#e1e6f2);z-index:6;}
  .sc-sheet-done{display:block;width:100%;height:50px;border:0;border-radius:14px;background:var(--sc-primary,#1e4fa3);color:#fff;font:700 16px/1 inherit;font-family:inherit;cursor:pointer;}
  .sc-guests-dropdown.sc-has-head{z-index:9999;}
  .sc-guests-dropdown .sc-sheet-head{position:sticky;top:-14px;z-index:3;margin:-14px -16px 12px;padding:8px 16px 10px;box-shadow:0 1px 0 var(--sc-border,#e1e6f2);}
  body.sc-sheet-on .hd-subnav,body.sc-sheet-on .hd-mobile-bar{visibility:hidden;}
}
/* ===== t_530c5538 (29.09): шторки v2 — без крестика, подзаголовок-итог, аккуратный «Сбросить», красивые гости ===== */
.sc-sheet-tt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;}
.sc-sheet-sub{font-size:13.5px;line-height:1.3;color:var(--sc-muted,#6b7a90);}
.sc-sheet-sub:empty{display:none;}
.sc-sheet-x{display:none!important;}
@media (max-width:860px){
  .sc-sheet-bar{align-items:center;min-height:44px;}
  .sc-sheet-link{height:32px;padding:0 12px!important;border-radius:999px!important;background:var(--paper,#f1f3f6)!important;color:var(--sc-ink,#12213b)!important;font:600 13px/1 inherit!important;}
  .sc-sheet-link[hidden]{display:none!important;}
  .sc-sheet-done:disabled{background:#c9d3e3;cursor:default;}
  .sc-calendar-dropdown.sc-has-head .sc-cal-status[hidden]{display:none!important;}
  /* гости */
  .sc-guests-dropdown.sc-has-head{padding:14px 20px calc(16px + env(safe-area-inset-bottom,0px));}
  .sc-guests-dropdown.sc-has-head .sc-sheet-head{margin:-14px -20px 6px;padding:8px 20px 12px;}
  .sc-guests-dropdown.sc-has-head .sc-counter{display:flex;align-items:center;justify-content:space-between;margin:0;padding:14px 0;border-bottom:1px solid var(--sc-border,#e1e6f2);}
  .sc-guests-dropdown.sc-has-head .sc-counter__title{font-size:16px;font-weight:600;color:var(--sc-ink,#12213b);}
  .sc-guests-dropdown.sc-has-head .sc-counter__subtitle{margin-top:2px;font-size:13px;color:var(--sc-muted,#6b7a90);}
  .sc-guests-dropdown.sc-has-head .sc-counter__buttons{display:flex;align-items:center;gap:14px;}
  .sc-guests-dropdown.sc-has-head .sc-counter__btn{width:40px;height:40px;border-radius:50%;border:1.5px solid var(--sc-border,#d5dbe6);background:#fff;color:var(--sc-primary,#1e4fa3);font-size:22px;line-height:1;display:inline-flex;align-items:center;justify-content:center;padding:0;}
  .sc-guests-dropdown.sc-has-head .sc-counter__btn:active{background:var(--sc-primary-soft,#eef2fb);}
  .sc-guests-dropdown.sc-has-head .sc-counter__value{min-width:22px;text-align:center;font-size:18px;font-weight:700;color:var(--sc-ink,#12213b);}
  .sc-guests-dropdown.sc-has-head .sc-pets{display:flex;align-items:center;justify-content:space-between;margin:0;padding:16px 0 6px;}
  .sc-guests-dropdown.sc-has-head .sc-pets__label{font-size:16px;font-weight:600;color:var(--sc-ink,#12213b);}
  .sc-guests-dropdown.sc-has-head .sc-pets__note{margin:0 0 6px;padding:0;background:none;font-size:13px;color:var(--sc-muted,#6b7a90);}
  .sc-guests-dropdown.sc-has-head .sc-guests-done{width:100%;height:50px;margin-top:14px;border-radius:14px;font-size:16px;font-weight:700;}
}
/* десктоп-календарь: «Сбросить» — ссылкой в строке статуса, статус — спокойной строкой без плашки */
@media (min-width:861px){
  .sc-calendar-dropdown .sc-cal-sticky-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-bottom:4px;}
  .sc-calendar-dropdown .sc-cal-status{order:1;flex:1 1 auto;margin:0!important;padding:4px 0!important;background:none!important;font-size:14px;font-weight:600;}
  .sc-calendar-dropdown .sc-cal-status--ok{color:var(--sc-ink,#12213b)!important;}
  .sc-calendar-dropdown .sc-cal-status--ok .sc-cal-status__ico,.sc-calendar-dropdown .sc-cal-status--info .sc-cal-status__ico{display:none;}
  .sc-calendar-dropdown .sc-cal-status--info{color:var(--sc-muted,#6b7a90)!important;font-weight:500;}
  .sc-calendar-dropdown .sc-cal-status--warn{padding:8px 12px!important;background:#fff4e5!important;border-radius:10px;}
  .sc-calendar-dropdown .sc-cal-reset{order:2;width:auto;margin:0 0 0 auto;padding:6px 12px;border:0;border-radius:999px;background:var(--paper,#f1f3f6);color:var(--sc-ink,#12213b);font-size:13px;font-weight:600;}
  .sc-calendar-dropdown .sc-cal-reset:hover{background:#e6eaf1;}
}
