/* ============================================================
   Ночная тема — применяется на всю страницу через body.night-mode.
   Класс вешается в header.php при $isNightContext (страница /night
   или в корзине есть ночной товар IS_NIGHT_ITEM).
   Подключается только в этом случае (см. header.php), на обычные
   страницы не влияет.
   ============================================================ */

body.night-mode {
    background: #2C2C2C;
    /* ВАЖНО: глобальный светлый цвет текста на body НЕ ставим.
       Стандартные страницы (корзина/чекаут) свёрстаны под светлую
       тему — часть текста лежит на белых/светло-серых плашках
       (выпадашка корзины, попап входа, карточки товаров) и при
       светлом цвете становится «светлым на белом». Светлый текст
       задаём точечно ниже — только там, где фон тёмный. */
}

/* Общие контейнеры */
body.night-mode .wrapper,
body.night-mode .body {
    background: #2C2C2C;
}

/* Базовый цвет ссылок — фирменный оранжевый (как в .night-page).
   ВАЖНО: исключаем кнопки-ссылки (.btn*), иначе их подпись красится
   оранжевым на оранжевом фоне (кнопка «Оформить» становилась невидимой). */
body.night-mode a:not(.btn):not([class*="btn"]) {
    color: #ef7b22;
}

/* ---------- Шапка ---------- */
body.night-mode .page-header,
body.night-mode .page-header__top,
body.night-mode .page-header__main {
    background: #1A1A1A;
    border-color: #383838;
}
/* текст/ссылки шапки — светлые (перебивают общий оранжевый ниже по
   специфичности: 0,2,1 > 0,1,1) */
body.night-mode .page-header,
body.night-mode .page-header a,
body.night-mode .page-header__top a,
body.night-mode .header-nav a,
body.night-mode .page-header__location,
body.night-mode .page-header__delivery-time,
body.night-mode .page-header__contacts a {
    color: #F5F5F5;
}
/* поле поиска */
body.night-mode .page-header input,
body.night-mode .page-header .search input {
    background: #2C2C2C;
    color: #F5F5F5;
    border-color: #444;
}
body.night-mode .page-header input::placeholder {
    color: #888;
}
/* иконки-svg в шапке (если задаются через fill/stroke currentColor) */
body.night-mode .page-header svg {
    color: #F5F5F5;
}

/* ---------- Подвал ---------- */
body.night-mode .page-footer {
    background: #1A1A1A;
    color: #C8C8C8;
    border-top: 1px solid #383838;
}
body.night-mode .page-footer a {
    color: #C8C8C8;
}
body.night-mode .page-footer a:hover {
    color: #ef7b22;
}
body.night-mode .footer-form__title,
body.night-mode .page-footer .footer-form__text {
    color: #F5F5F5;
}
body.night-mode .footer-form input {
    background: #2C2C2C;
    color: #F5F5F5;
    border-color: #444;
}

/* ---------- Мобильная нижняя панель ---------- */
body.night-mode .nav-panel {
    background: #1A1A1A;
    border-top: 1px solid #383838;
}
body.night-mode .nav-panel__item {
    color: #C8C8C8;
}
body.night-mode .nav-panel svg {
    color: #C8C8C8;
}

/* ---------- Белые «карточные» блоки на общих страницах ---------- */
/* На /night контент уже тёмный (.night-page). Этот блок — для
   корзины/чекаута в ночном режиме (добьём при их доработке). */
body.night-mode .page-wrapper {
    background: transparent;
}

/* ---------- Кнопки-иконки в шапке (избранное / корзина / профиль) ----------
   В светлой теме у них фон #f2f2f2 + тёмная иконка. На тёмной странице это
   белёсые квадраты, а иконок не видно. Делаем тёмный фон + светлую иконку. */
body.night-mode .page-header .button-icon,
body.night-mode .page-header .button-icon--tertiary {
    background: rgba(255, 255, 255, .07);
    border: 1px solid #34343f;
}
body.night-mode .page-header .button-icon:hover,
body.night-mode .page-header .button-icon--tertiary:hover {
    background: rgba(255, 255, 255, .14);
}
body.night-mode .page-header .button-icon svg,
body.night-mode .page-header .button-icon svg path {
    fill: #F5F5F5 !important;
}

/* ---------- Липкая шапка (.fixed-header) ----------
   На скролле сайт показывает ОТДЕЛЬНУЮ зафиксированную шапку
   .fixed-header.is-fixed — в светлой теме она белая. Красим так же,
   как обычную .page-header, иначе при прокрутке верх становится белым. */
body.night-mode .fixed-header,
body.night-mode .fixed-header.is-fixed {
    background: #1A1A1A !important;
    border-bottom: 1px solid #383838;
}
body.night-mode .fixed-header,
body.night-mode .fixed-header a,
body.night-mode .fixed-header span,
body.night-mode .fixed-header [class*="nav"] a,
body.night-mode .fixed-header [class*="phone"],
body.night-mode .fixed-header [class*="title"] {
    color: #F5F5F5;
}
body.night-mode .fixed-header svg {
    color: #F5F5F5;
}
body.night-mode .fixed-header input {
    background: #2C2C2C;
    color: #F5F5F5;
    border-color: #444;
}
body.night-mode .fixed-header input::placeholder {
    color: #888;
}
/* кнопки-иконки в липкой шапке — как в обычной */
body.night-mode .fixed-header .button-icon,
body.night-mode .fixed-header .button-icon--tertiary {
    background: rgba(255, 255, 255, .07);
    border: 1px solid #34343f;
}
body.night-mode .fixed-header .button-icon svg,
body.night-mode .fixed-header .button-icon svg path {
    fill: #F5F5F5 !important;
}

/* ---------- Служебный заголовок страницы + хлебные крошки ----------
   Шаблон рисует <h1> и .breadcrumbs прямым потомком .content над контентом.
   На /night они дублируют hero и тёмно-серые на тёмном — еле видно.
   Скрываем (наш контент .night-page лежит отдельным потомком .content). */
body.night-mode .content > h1,
body.night-mode .content > .breadcrumbs {
    display: none;
}

/* ---------- Ночной режим чекаута ---------- */
/* Плашка вместо выбора слота: «Доставим за 60–90 минут после оплаты». */
.night-delivery-notice {
    background: #1f2030;
    border: 1px solid #ef7b22;
    border-radius: 10px;
    padding: 16px 18px;
    margin: 0 10px 18px;
    color: #f5f5f5;
    font-size: 16px;
    line-height: 1.45;
}
.night-delivery-notice strong { color: #ef7b22; }
/* Предупреждение о смешанной корзине (ночные + обычные товары). */
.night-mix-warning {
    background: #3a2a18;
    border: 1px solid #d4670c;
    border-radius: 10px;
    padding: 14px 16px;
    margin: 0 10px 16px;
    color: #ffd9b3;
    font-size: 14px;
    line-height: 1.45;
}

/* ============================================================
   Ночной режим — читаемость СТАНДАРТНЫХ страниц (корзина, чекаут).
   Эти страницы свёрстаны под СВЕТЛУЮ тему: часть текста на белых /
   светло-серых карточках (читается своим тёмным цветом), часть —
   прямо на тёмном фоне страницы (нужен светлый). Глобально светлый
   цвет на body не навешиваем (см. body.night-mode выше), а красим
   точечно только то, что лежит на тёмном фоне.
   ============================================================ */

/* Блок выбора способа доставки
   (Курьер / Ближайшая доставка / бесплатно / «или выберите другую дату») —
   лежит прямо на тёмном фоне страницы. Часть текста («или выберите другую
   дату») имеет inline-стиль color — его бьёт только !important. */
body.night-mode .checkout__pickup,
body.night-mode .checkout__pickup * {
    color: #F5F5F5 !important;
}

/* Иконка машины (курьер) — псевдоэлемент .pickup__entry::before с тёмной
   картинкой, на тёмном фоне не видна. Осветляем в белый силуэт. */
body.night-mode .checkout__pickup .pickup__entry::before {
    filter: brightness(0) invert(1);
    opacity: .85;
}
/* Ночью прячем дневную сводку курьера («Ближайшая доставка — сегодня
   с HH:00 / или выберите другую дату»): ночью таймингов нет, доставка
   60–90 минут после оплаты (см. плашку ниже). Оставляем «Курьер … бесплатно».
   Время («— сегодня c HH:00») — голые текстовые узлы внутри .label__title,
   их CSS-ом по отдельности не скрыть, поэтому глушим font-size контейнера
   и возвращаем 14px только для .upper («Курьер»). */
body.night-mode .checkout__pickup .pickup__entry_delivery .label__title {
    font-size: 0 !important;
}
body.night-mode .checkout__pickup .pickup__entry_delivery .label__title .upper {
    font-size: 14px !important;
}
body.night-mode .checkout__pickup .pickup__entry_delivery .label__title strong,
body.night-mode .checkout__pickup .pickup__entry_delivery .label__container > div:not([class]) {
    display: none !important;
}

/* Иерархия текста (раньше всё было чисто-белым и «било в глаза», выглядело
   аляповато):
   — заголовки секций («Отправитель», «Получатель», «Оплата») — заметные,
     но не чисто-белые;
   — подписи полей и чекбоксов — приглушённый серый (вторичный текст);
   — пояснения/хинты — ещё тусклее;
   — значения и суммы (b/strong) — яркие. */
body.night-mode .checkout__title {
    color: #dcdcdc;
}
body.night-mode .checkout .form__caption,
body.night-mode .checkout .custom__title,
body.night-mode .checkout label {
    color: #9c9c9c;
}
body.night-mode .checkout p {
    color: #8a8a8a;
}
body.night-mode .checkout b,
body.night-mode .checkout strong {
    color: #f0f0f0;
}

/* Названия способов оплаты («Онлайн оплата…»): в шаблоне жёстко
   прописан чёрный (#000) — на тёмном фоне невидим, делаем светлым. */
body.night-mode .checkout .payment__entry,
body.night-mode .checkout .payment__entry .entry__name,
body.night-mode .checkout .payment__entry .entry__value,
body.night-mode .checkout .payment__entry .entry__value p {
    color: #F5F5F5 !important;
}

/* Хлебные крошки (если показаны). */
body.night-mode .breadcrumbs__entry,
body.night-mode .breadcrumbs__entry a {
    color: #cfcfcf;
}

/* Поля ввода на тёмной странице — тёмный фон + светлый текст
   (белые поля «резали глаз» на чёрном). Чекбоксы/радио НЕ трогаем —
   только текстовые поля, textarea, select. */
body.night-mode .checkout .form__input,
body.night-mode .checkout input[type="text"],
body.night-mode .checkout input[type="tel"],
body.night-mode .checkout input[type="email"],
body.night-mode .checkout input[type="number"],
body.night-mode .checkout textarea,
body.night-mode .checkout select,
body.night-mode .checkout .promocode__input,
body.night-mode .checkout .gmb-input,
body.night-mode .basket .form__input,
body.night-mode .basket input[type="text"],
body.night-mode .basket input[type="tel"],
body.night-mode .basket textarea {
    background: #242424 !important;
    color: #F5F5F5 !important;
    border-color: #4a4a4a !important;
}
body.night-mode .checkout .form__input::placeholder,
body.night-mode .checkout textarea::placeholder,
body.night-mode .basket .form__input::placeholder {
    color: #8a8a8a !important;
}
/* Подсказки адреса (DaData) — тоже тёмные. */
body.night-mode .suggestions-suggestions {
    background: #242424 !important;
    border: 1px solid #4a4a4a !important;
    color: #F5F5F5 !important;
}
body.night-mode .suggestions-suggestions .suggestions-suggestion {
    color: #F5F5F5 !important;
    border-color: #383838 !important;
}
body.night-mode .suggestions-suggestions .suggestions-suggestion:hover,
body.night-mode .suggestions-suggestions .suggestions-selected {
    background: #383838 !important;
}
/* Счётчик количества в корзине — тёмный. */
body.night-mode .basket .amount {
    background: #242424 !important;
    border-color: #4a4a4a !important;
}

/* Карточки товаров и шапка таблицы в корзине — тёмные (были светло-серые,
   «белые панели» на тёмной странице). Текст внутри — светлый. */
body.night-mode .basket .entry__wrapper,
body.night-mode .basket__head {
    background: #1f1f1f !important;
    border-color: #383838 !important;
}
body.night-mode .basket .entry__wrapper,
body.night-mode .basket .entry__wrapper *:not(.btn):not([class*="btn"]):not(input),
body.night-mode .basket__head,
body.night-mode .basket__head * {
    color: #F5F5F5;
}

/* Блок «Открытка» в корзине (ночная тема): заголовок «Открытка:»,
   подсказка «Осталось N символов» и textarea были тёмно-серыми на
   тёмном фоне — почти не читались. Делаем читаемыми. */
body.night-mode .basket .postcard__title {
    color: #dcdcdc !important;
}
body.night-mode .basket .postcard__hint,
body.night-mode .basket .postcard__hint i {
    color: #9c9c9c !important;
}
body.night-mode .basket .entry__postcard textarea,
body.night-mode .basket textarea[name="postcard-msg-field"] {
    background: #242424 !important;
    color: #F5F5F5 !important;
    border-color: #4a4a4a !important;
}
body.night-mode .basket .entry__postcard textarea::placeholder {
    color: #8a8a8a !important;
}
body.night-mode .basket .postcard__toggler {
    color: #ef7b22 !important;
}

/* Плашка «доставка за городом — платная»: была кремовая (светлая заплатка
   на тёмном). Делаем тёмно-янтарной с тёплым текстом — в стиле темы. */
body.night-mode .checkout .delivery-zone-quote {
    background: #2a2620 !important;
    border-color: #d4670c !important;
}
body.night-mode .checkout .delivery-zone-quote,
body.night-mode .checkout .delivery-zone-quote * {
    color: #e3b482 !important;
}

/* Блок цен: «Стоимость товаров/доставки» (.pricing__leftside) раньше были
   #111 на тёмном (чёрное на чёрном). Делаем приглушённо-читаемыми, а итог
   (.pricing__overall) — ярким. */
body.night-mode .checkout .pricing__leftside,
body.night-mode .checkout .pricing__leftside * {
    color: #bdbdbd;
}
body.night-mode .checkout .pricing__overall,
body.night-mode .checkout .pricing__overall *,
body.night-mode .checkout .pricing {
    color: #f0f0f0;
}

/* Сообщения/подписи блока промокода (на тёмном фоне).
   Кнопку «ПРИМЕНИТЬ» (.promocode__btn, светлый фон) НЕ трогаем. */
body.night-mode .checkout .promocode__messages,
body.night-mode .checkout .promocode__messages *,
body.night-mode .checkout .promocode__warning,
body.night-mode .checkout .promocode__note {
    color: #F5F5F5;
}

/* Сводка корзины (кол-во товаров, итоговая сумма, кнопка «Оформить») —
   лежит на тёмном фоне страницы. */
body.night-mode .basket__overall,
body.night-mode .basket__overall * {
    color: #F5F5F5;
}

/* Сумма списания бонусов: чип «.star» в строке «будут использованы…»
   (.gmb-bonus-count-use) был светлым числом на белом чипе (#f3f5f7) —
   не видно, сколько спишется. Делаем тёмный чип со светлым числом.
   Зелёный чип начисления (.gmb-bonus-count-charge) НЕ трогаем. */
body.night-mode .checkout .gmb-bonus-count-use .star {
    background: #242424 !important;
    color: #f0f0f0 !important;
    border: 1px solid #4a4a4a !important;
}

/* Кнопка «Применить» промокода — была светло-серой (#f2f2f2 — светлая
   заплатка). Делаем тёмной. */
body.night-mode .checkout .promocode__btn {
    background: #333 !important;
    color: #dddddd !important;
    border: 1px solid #4a4a4a !important;
}

/* Вторичная кнопка «Перейти в корзину» в выпадашке корзины — была светлый
   текст на бледно-персиковом фоне (#ffeedd), не видно совсем. Оранжевый контур. */
body.night-mode .basket-dropdown__dropdown .button-solid--secondary {
    background: transparent !important;
    border: 1px solid #ef7b22 !important;
    color: #ef7b22 !important;
}

/* Оранжевый акцент в плашке «60–90 минут». */
body.night-mode .night-delivery-notice strong {
    color: #ef7b22 !important;
}

/* ============================================================
   Белые плавающие панели ВНУТРИ шапки.
   Выпадающая корзина (.basket-dropdown__dropdown) и модалки (.popup)
   лежат внутри .page-header и наследуют светлый цвет текста от правил
   шапки — а фон у них белый. Возвращаем тёмный текст. Кнопки (.btn*)
   не трогаем — у них свой фон/цвет.
   ============================================================ */
/* Выпадающая корзина — тёмная панель + светлый текст (была белая). */
body.night-mode .basket-dropdown__dropdown {
    background: #1f1f1f !important;
    border-color: #383838 !important;
}
body.night-mode .basket-dropdown__dropdown,
body.night-mode .basket-dropdown__dropdown a:not(.btn):not([class*="btn"]):not(.button-solid),
body.night-mode .basket-dropdown__dropdown *:not(.btn):not([class*="btn"]):not(.button-solid) {
    color: #F5F5F5;
}
body.night-mode .basket-dropdown__dropdown .js-remove-from-basket svg,
body.night-mode .basket-dropdown__dropdown .button-icon svg {
    fill: #aaa !important;
}
/* Модалки (вход/регистрация) — белый фон, тёмный текст (читаемо). */
body.night-mode .popup,
body.night-mode .popup a:not(.btn):not([class*="btn"]),
body.night-mode .popup *:not(.btn):not([class*="btn"]) {
    color: #222;
}
