/* Лендинг Envoy: плашка cookie. Сплошная белая карточка с тенью (без рамки), внизу по центру экрана.
   Компьютер: 600 px, текст слева, «Принять» и «Настроить» справа в одну строку; в настройках всё в столбик.
   Кнопки компактные по ширине текста: 36 px на компьютере, 40 px на телефоне.
   Телефон: по центру над нижней кнопкой «Запросить смету» (--ck-lift ставит landing-cookies.js), поля 16 px.
   Появление и уход только прозрачностью 200 мс; при «уменьшить движение» без перехода. */

.ck {
  position: fixed; left: 0; right: 0; bottom: 24px; z-index: 35; width: 600px; max-width: calc(100% - 24px); margin-inline: auto;
  display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px 20px;
  padding: 16px 16px 16px 20px; border-radius: var(--r-lg); background: #FFFFFF; color: var(--ink);
  box-shadow: 0 2px 6px -2px rgb(0 0 0 / 0.08), 0 16px 40px -12px rgb(0 0 0 / 0.24);
  transform: translateY(calc(-1 * var(--ck-lift, 0px)));
  opacity: 0; transition: opacity var(--t-state) var(--ease), transform var(--t-panel) var(--ease);
}
.ck[hidden] { display: none; }
.ck.on { opacity: 1; }
.ck [hidden] { display: none; }
.ck-text { font-size: 14px; line-height: 1.45; }
.ck-text a { color: var(--ink); text-underline-offset: 3px; border-radius: 2px; }
@media (hover: hover) and (pointer: fine) { .ck-text a:hover { text-decoration-thickness: 2px; } }

.ck-acts { display: flex; gap: 8px; }
.ck-acts .btn { min-height: 36px; padding: 0 16px; border-radius: 10px; font: 500 14px/1.2 var(--font); }

/* Настройки открыты: текст, строки переключателей и «Сохранить» справа */
.ck.open { grid-template-columns: minmax(0, 1fr); }
.ck.open .ck-acts { justify-content: flex-end; }
.ck-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 52px; border-bottom: 1px solid var(--paper-line); cursor: pointer; }
.ck-row:has(:disabled) { cursor: default; }
.ck-name { display: grid; font-size: 15px; line-height: 1.3; font-weight: 500; }
.ck-name small { font-size: 13px; line-height: 1.4; font-weight: 400; color: var(--graphite); }

/* Переключатель 44 на 26: выключен серый, включён тёмный; «Необходимые» всегда включён (графит) */
.ck-sw {
  appearance: none; position: relative; flex: none; width: 44px; height: 26px; margin: 0; border-radius: 13px;
  background: #8C8B8B; cursor: pointer; transition: background-color var(--t-hover) var(--ease);
}
.ck-sw::before {
  content: ""; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%;
  background: #FFFFFF; transition: transform var(--t-state) var(--ease);
}
.ck-sw:checked { background: var(--ink); }
.ck-sw:checked::before { transform: translateX(18px); }
.ck-sw:disabled { background: var(--graphite); cursor: default; }
.ck-sw:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }

/* Телефон: столбик, кнопки поровну во всю ширину */
@media (max-width: 767px) {
  .ck { grid-template-columns: minmax(0, 1fr); width: auto; max-width: 440px; left: 12px; right: 12px; bottom: 12px; padding: 16px; }
  .ck-text { font-size: 15px; }
  .ck-acts .btn { min-height: 40px; }
}
@media (prefers-reduced-motion: reduce) {
  .ck, .ck-sw, .ck-sw::before { transition: none; }
}
