#leimu-cc, #leimu-cc * { box-sizing: border-box; }
#leimu-cc { --orange:#F08236; --ink:#141210; --muted:#5b574f; --line:#e9e4dc;
  font-family:'Open Sans',-apple-system,Segoe UI,Roboto,Arial,sans-serif; }
#leimu-cc-banner {
  position:fixed; left:16px; right:16px; bottom:16px; z-index:999999;
  max-width:1600px; margin:0 auto; background:#fff; color:var(--ink);
  border:1px solid var(--line); border-radius:16px; box-shadow:0 10px 40px rgba(0,0,0,.18);
  padding:15px 28px; display:flex; gap:20px; align-items:center; justify-content:space-between; flex-wrap:wrap;
}
#leimu-cc-banner .cc-text { flex:1 1 620px; min-width:260px; font-size:13px; line-height:1.45; color:var(--muted); margin:0; }
#leimu-cc-banner .cc-text a { color:#c25e16; font-weight:600; text-decoration:underline; }
#leimu-cc .cc-btns { display:flex; gap:10px; flex-wrap:wrap; }
#leimu-cc button { cursor:pointer; border-radius:10px; padding:9px 16px; font-size:13px; font-weight:700; border:1px solid transparent; white-space:nowrap; font-family:inherit; transition:.18s; }
#leimu-cc .cc-accept, #leimu-cc .cc-accept-all2 { background:var(--orange); color:#fff; }
#leimu-cc .cc-accept:hover, #leimu-cc .cc-accept-all2:hover { background:#d96f25; }
#leimu-cc .cc-reject { background:#f1f1f1; color:var(--ink); border-color:#dcdcdc; }
#leimu-cc .cc-reject:hover { background:#e6e6e6; }
#leimu-cc .cc-settings, #leimu-cc .cc-save { background:#fff; color:#c25e16; border-color:var(--orange); }
#leimu-cc .cc-settings:hover, #leimu-cc .cc-save:hover { background:#fdf3ea; }
/* модалка настроек */
#leimu-cc-modal { position:fixed; inset:0; z-index:1000000; background:rgba(20,18,16,.55); display:flex; align-items:center; justify-content:center; padding:16px; }
#leimu-cc-modal .cc-modal-card { background:#fff; color:var(--ink); border-radius:16px; max-width:560px; width:100%; padding:28px; max-height:90vh; overflow:auto; box-shadow:0 20px 60px rgba(0,0,0,.3); }
#leimu-cc-modal h3 { font-family:'Exo 2','Open Sans',sans-serif; font-weight:600; font-size:22px; margin:0 0 8px; }
#leimu-cc-modal .cc-sub { font-size:13.5px; color:var(--muted); margin:0 0 18px; }
#leimu-cc .cc-cat { border:1px solid var(--line); border-radius:12px; padding:14px 16px; margin-bottom:12px; }
#leimu-cc .cc-cat label { display:flex; align-items:center; gap:10px; font-weight:700; font-size:15px; cursor:pointer; }
#leimu-cc .cc-cat input { width:18px; height:18px; accent-color:var(--orange); }
#leimu-cc .cc-cat p { margin:8px 0 0 28px; font-size:13px; color:var(--muted); line-height:1.5; }
#leimu-cc .cc-modal-btns { display:flex; gap:10px; flex-wrap:wrap; margin-top:18px; }
#leimu-cc [hidden] { display:none !important; }
@media (max-width:640px){
  #leimu-cc-banner { left:8px; right:8px; bottom:8px; padding:16px; }
  #leimu-cc .cc-btns { width:100%; }
  #leimu-cc .cc-btns button { flex:1 1 auto; }
}
/* Телефон: баннер занимал две трети экрана — абзац и три кнопки столбиком.
   Текст остаётся целиком (формулировка юристов, её не режем), а кнопки
   встают в одну строку: две главные рядом, «Настроить» — строкой-ссылкой
   под ними. Высота падает вдвое, первый экран снова виден. */
@media (max-width:640px){
  #leimu-cc-banner { padding:12px 14px; gap:10px; border-radius:12px; }
  #leimu-cc-banner .cc-text { font-size:12px; line-height:1.4; flex-basis:auto; min-width:0; }
  #leimu-cc .cc-btns { gap:8px; }
  #leimu-cc .cc-btns .cc-accept, #leimu-cc .cc-btns .cc-reject { flex:1 1 0; padding:10px 8px; font-size:13px; }
  #leimu-cc .cc-btns .cc-settings {
    flex:1 1 100%; order:3; background:none; border:0; padding:4px 0 0;
    font-weight:600; font-size:12px; text-decoration:underline;
  }
}
