/* =========================================================
   СОВА — тёмная тема (всё, кроме шапки)
   Включается атрибутом <html data-theme="dark">.
   Шапка (header) намеренно остаётся в светлой палитре.
   ========================================================= */

/* 1. Палитра: переопределяем переменные для body… */
html[data-theme="dark"] body{
  --bg:#131210; --bg2:#24221f; --panel:#2b2926;
  --ink:#ece8e2; --ink-soft:#aba49c;
  --line:#45413c; --pin:#ece8e2;
  --on-ink:#151412;           /* текст на «чернильных» плашках */
  --card:#2b2926;             /* бывшие белые карточки */
  color-scheme:dark;
  background:var(--bg);
}
/* …и возвращаем светлую палитру шапке (вместе с выпадающим меню) */
html[data-theme="dark"] header{
  --bg:#ece8e2; --bg2:#f8f7f5; --panel:#ffffff;
  --ink:#0b0a08; --ink-soft:#8f8a87;
  --line:#c5c5c5; --pin:#0b0a08;
  color:var(--ink);
  color-scheme:light;
}

/* 2. Плашки с фоном var(--ink) и белым текстом → тёмный текст */
html[data-theme="dark"] body > :not(header) :is(
  .tag,.btn.solid,.b-card-cta,.b-card-cta h3,.b-card-cta p,
  .dlv .day:not(.off):hover,.dlv .day.lit,.dlv .day.pinned,
  .dlv .route:hover,.dlv .route.selected,.dlv .route.match,
  .dlv .route:hover .mini,.dlv .route.selected .mini,.dlv .route.match .mini,
  .dlv .route.match .route-chev,.dlv .route.selected .route-chev,
  .dlv .dlv-next.on,.qty-new button,.order-submit:not(.order-add),
  .foot-col .foot-social a:hover,.wr-more:hover,
  .co-x:hover,.co-go,.co-qty button,.chip.on,.cal-grid button.on
){color:var(--on-ink)}
html[data-theme="dark"] .dlv-tip{color:var(--on-ink)}
html[data-theme="dark"] .dlv-tip i{border-top-color:rgba(0,0,0,.2)}
html[data-theme="dark"] .dlv .route.match,
html[data-theme="dark"] .dlv .route.selected{background:var(--ink)}
html[data-theme="dark"] .dlv .route.match .mini,
html[data-theme="dark"] .dlv .route.selected .mini{border-color:rgba(0,0,0,.35)}

/* 3. Тёмные акцентные блоки (#2b2926) — делаем светлее фона, чтобы читались как акцент */
/* Полоса УТП (цена, «всегда новая бутыль»): в светлой теме тёмная — в тёмной инвертируем: светлый фон, тёмный текст */
html[data-theme="dark"] .offer-strip{background:#ece8e2;color:#151412}
html[data-theme="dark"] .offer-strip .os-item small{color:#5f5a57}
html[data-theme="dark"] .offer-strip .os-sep{background:#151412}
html[data-theme="dark"] .fp-cta .fp-face,
html[data-theme="dark"] .fsc-cta{background:#ece8e2;border-color:#ece8e2;color:#151412}
html[data-theme="dark"] .fp-cta .fp-num,html[data-theme="dark"] .fp-cta h3,
html[data-theme="dark"] .fsc-cta .fsc-num{color:#151412}
html[data-theme="dark"] .fp-cta p,html[data-theme="dark"] .fp-cta .fp-of{color:rgba(21,20,18,.65)}
html[data-theme="dark"] .fp-cta .fp-face::before{border-color:rgba(21,20,18,.18)}
html[data-theme="dark"] .fp-cta .btn,
html[data-theme="dark"] .fsc-btn{color:#151412;border-color:#151412}
html[data-theme="dark"] .fp-cta .btn:hover{background:#151412;color:#ece8e2}
html[data-theme="dark"] .net-more:hover{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}
html[data-theme="dark"] .dlv{--hl:#d9d4cc}
html[data-theme="dark"] .rail-line i{background:linear-gradient(to bottom,rgba(236,232,226,0),#ece8e2 40px)}
html[data-theme="dark"] .rail-st.passed::before{background:#ece8e2;border-color:#ece8e2}
html[data-theme="dark"] .rail-st.passed span{color:#ece8e2}

/* 4. Бывшие белые поверхности (карточки, поля формы) */
html[data-theme="dark"] .fld:focus-within,
html[data-theme="dark"] .co-promo-row input:focus{background:var(--card);box-shadow:0 6px 18px rgba(0,0,0,.4)}
html[data-theme="dark"] .fld:focus-within input:-webkit-autofill{-webkit-box-shadow:0 0 0 40px var(--card) inset;-webkit-text-fill-color:var(--ink)}
html[data-theme="dark"] :is(.fld .co-conflict,.fld .co-routehint,.fld .co-addrnote,.fld .co-geo){border-top-color:var(--line)}
html[data-theme="dark"] .chk input{accent-color:#ece8e2}
html[data-theme="dark"] body > :not(header) :is(input,textarea,select){color:var(--ink)}

/* 5. Градиенты-«затухания» под цвет фона */
html[data-theme="dark"] .b-track-wrap::after{background:linear-gradient(to right,rgba(21,20,18,0),var(--bg) 78%)}
html[data-theme="dark"] .net-toggle:not(:checked)~.net-grid .pin-card:nth-child(3)::after{background:linear-gradient(rgba(21,20,18,0),var(--bg) 85%)}

/* 6. SVG-иконки с зашитым чёрным цветом */
html[data-theme="dark"] body > :not(header) svg[stroke="#0b0a08"],
html[data-theme="dark"] body > :not(header) svg [stroke="#0b0a08"]{stroke:var(--ink)}
html[data-theme="dark"] body > :not(header) svg[fill="#0b0a08"],
html[data-theme="dark"] body > :not(header) svg [fill="#0b0a08"]{fill:var(--ink)}

/* 7. Первый экран: фото светлое, поэтому заголовок остаётся тёмным поверх фото */
html[data-theme="dark"] .hero h1,
html[data-theme="dark"] .hero-foot{color:#0b0a08}

/* 8. Карта доставки */
html[data-theme="dark"] .map-wrap svg rect[fill="#f3f0eb"]{fill:#1c1a18}

/* Переключатель темы (кнопка в подвале) */
.theme-switch{display:inline-flex;align-items:center;gap:8px;margin-top:14px;padding:7px 14px;border:1px solid var(--line);border-radius:100px;background:none;color:var(--ink);font:600 12.5px/1 Manrope,sans-serif;cursor:pointer}
.theme-switch:hover{border-color:var(--ink)}
.theme-switch svg{width:15px;height:15px}

/* Логотип вне шапки (подвал и т.п.) — инвертируем в светлый */
html[data-theme="dark"] body > :not(header) .logo-mark{filter:invert(1) hue-rotate(180deg)}

/* Доработки после проверки */
html[data-theme="dark"] .order-add{color:var(--ink)}
html[data-theme="dark"] .pin-card p{color:var(--ink-soft)}
html[data-theme="dark"] .pin-card{box-shadow:0 10px 20px rgba(0,0,0,.25)}
/* Карта: светлая векторная подложка → инвертируем, «туман» по краям — под цвет тёмного фона */
html[data-theme="dark"] .map image{filter:invert(1) hue-rotate(180deg) brightness(.9)}
html[data-theme="dark"] .map #mfT stop,
html[data-theme="dark"] .map #mfL stop{stop-color:#1c1a18}
/* Шапка при прокрутке: стекло делаем плотнее, чтобы она оставалась светлой над тёмным контентом */
html[data-theme="dark"] header.is-glass{background:rgba(248,247,245,.96)}
/* Мобильная: строка «Самая … вода» стоит под фото, на тёмном фоне — делаем светлой */
@media(max-width:860px){
  html[data-theme="dark"] .hero-foot{color:var(--ink)}
  html[data-theme="dark"] .hero-foot .k{color:#a59e96}
}

/* Контраст «тёмное на тёмном»: форма заказа и мелкие элементы */
html[data-theme="dark"] .co-qty button:disabled{background:#3a3733;color:#77716a}
html[data-theme="dark"] .co-head,html[data-theme="dark"] .co-foot{background:#1c1a18}
html[data-theme="dark"] .co-shade{background:rgba(0,0,0,.6)}
html[data-theme="dark"] .co-promo-row input{background:var(--bg2);color:var(--ink)}
html[data-theme="dark"] .co-login-row input{background:var(--card);color:var(--ink)}
html[data-theme="dark"] .co-login-box{background:var(--bg2)}
html[data-theme="dark"] .co-addrnote{background:#4a3f17;color:#f3e6b5}
html[data-theme="dark"] .co-addrnote.wait{background:var(--bg2);color:var(--ink-soft)}
html[data-theme="dark"] :is(.co-promo-note.ok,.co-routehint.ok){color:#7fcf98}
html[data-theme="dark"] .co-routehint.ok{border-left-color:#7fcf98}
html[data-theme="dark"] :is(.co-promo-note.bad,.co-bad-msg,.fld .err,.co-login-msg.bad){color:#ff8a7e}
html[data-theme="dark"] :is(.fld.bad input,.fld.bad textarea){border-color:#ff8a7e;outline-color:#ff8a7e}
html[data-theme="dark"] .co-routehint.warn{border-left-color:#ff8a7e}
html[data-theme="dark"] .cal-grid button{opacity:.6}
html[data-theme="dark"] .cal-grid button.ok{opacity:1}
html[data-theme="dark"] .chip:disabled{color:#837d76}
html[data-theme="dark"] .fld .co-addrnote{background:none;color:var(--ink-soft)}
html[data-theme="dark"] .fld .co-routehint.warn,html[data-theme="dark"] .co-routecheck.warn,
html[data-theme="dark"] .fld .co-conflict.bad p,html[data-theme="dark"] .fld.bad>span,html[data-theme="dark"] .co-err{color:#ff8a7e}
html[data-theme="dark"] .fld.bad{background:#3a2220}
html[data-theme="dark"] .fld.bad input:-webkit-autofill{-webkit-box-shadow:0 0 0 40px #3a2220 inset}
/* календарь: доступные дни — приглушённо-зелёные плашки, читаемые на тёмном */
html[data-theme="dark"] .cal-grid button.ok{background:#2f3a2a;color:#e4ebda}
html[data-theme="dark"] .cal-grid button.ok:hover{background:#3b4a34}
html[data-theme="dark"] .cal-grid button.on{color:var(--on-ink)}
html[data-theme="dark"] .cal-top button{background:#33302c}
html[data-theme="dark"] .co-routes .chip.on,html[data-theme="dark"] .co-routes .chip.on *{color:var(--on-ink)}
/* «В корзину»: общее правило для чернильных кнопок перебивало цвет текста — поднимаем приоритет */
html[data-theme="dark"] body > :not(header) .order-submit.order-add{background:transparent;color:var(--ink);border:1.5px solid var(--ink)}
html[data-theme="dark"] body > :not(header) .order-submit.order-add:hover{background:var(--bg2)}
