/* LETTRANS – cookie consent (GDPR, opt-in) – 2026-06 */
.lc-root, .lc-root * { box-sizing: border-box; }
.lc-root {
  --lc-accent: #a64c26;
  --lc-accent2: #f79e19;
  --lc-dark: #3b2525;
  --lc-green: #228c53;
  --lc-gray: #f2f2f2;
  font-family: inherit;
  color: var(--lc-dark);
}
.lc-hidden { display: none !important; }

/* ---- prvá vrstva: lišta ---- */
.lc-bar {
  position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 99999;
  max-width: 1100px; margin: 0 auto;
  background: #fff; border-radius: 16px;
  box-shadow: 0 12px 40px rgba(59,37,37,.25);
  padding: 22px 26px;
  display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px;
}
.lc-bar__text { flex: 1 1 420px; min-width: 260px; font-size: 15px; line-height: 1.5; }
.lc-bar__text h2 { margin: 0 0 6px; font-size: 19px; color: var(--lc-dark); }
.lc-bar__text p { margin: 0; }
.lc-bar__actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.lc-bar__legal { flex-basis: 100%; text-align: right; font-size: 12.5px; margin-top: 2px; }
.lc-bar__legal a { color: var(--lc-accent); }

/* ---- tlačidlá ---- */
.lc-btn {
  font: inherit; font-size: 15px; cursor: pointer; border: 0;
  padding: 12px 22px; border-radius: 40px; line-height: 1; white-space: nowrap;
  transition: all 250ms ease; text-decoration: none; display: inline-block;
}
.lc-btn--primary { background: var(--lc-accent); color: #fff; }
.lc-btn--primary:hover { background: #8c3f1f; }
.lc-btn--secondary { background: var(--lc-gray); color: var(--lc-dark); }
.lc-btn--secondary:hover { background: #e6e2e0; }
.lc-btn--ghost { background: transparent; color: var(--lc-dark); border: 1.5px solid #d9d2cf; }
.lc-btn--ghost:hover { border-color: var(--lc-accent); color: var(--lc-accent); }

/* ---- druhá vrstva: modal "Spravovať možnosti" ---- */
.lc-overlay {
  position: fixed; inset: 0; z-index: 100000;
  background: rgba(28,18,18,.55); display: flex; align-items: center; justify-content: center;
  padding: 16px;
}
.lc-modal {
  background: #fff; border-radius: 18px; width: 100%; max-width: 640px;
  max-height: 88vh; display: flex; flex-direction: column; overflow: hidden;
  box-shadow: 0 20px 60px rgba(0,0,0,.35);
}
.lc-modal__head { padding: 24px 26px 12px; }
.lc-modal__head h2 { margin: 0 0 6px; font-size: 22px; color: var(--lc-dark); }
.lc-modal__head p { margin: 0; font-size: 14px; line-height: 1.5; }
.lc-modal__head p a { color: var(--lc-accent); }
.lc-modal__body { padding: 8px 26px; overflow-y: auto; }
.lc-modal__foot {
  padding: 16px 26px 22px; display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end;
  border-top: 1px solid var(--lc-gray);
}

/* ---- kategória ---- */
.lc-cat { border-bottom: 1px solid var(--lc-gray); padding: 16px 0; }
.lc-cat:last-child { border-bottom: 0; }
.lc-cat__row { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.lc-cat__title { font-weight: 700; font-size: 16px; }
.lc-cat__desc { margin: 8px 0 0; font-size: 13.5px; line-height: 1.5; color: #5b4a4a; display: none; }
.lc-cat.is-open .lc-cat__desc { display: block; }
.lc-cat__more { background: none; border: 0; padding: 0; color: var(--lc-accent); cursor: pointer; font: inherit; font-size: 13px; margin-top: 6px; }

/* ---- prepínač ---- */
.lc-switch { position: relative; width: 46px; height: 26px; flex: 0 0 auto; }
.lc-switch input { opacity: 0; width: 0; height: 0; position: absolute; }
.lc-slider { position: absolute; inset: 0; background: #cfc7c4; border-radius: 26px; transition: .25s; cursor: pointer; }
.lc-slider::before { content: ""; position: absolute; height: 20px; width: 20px; left: 3px; top: 3px; background: #fff; border-radius: 50%; transition: .25s; }
.lc-switch input:checked + .lc-slider { background: var(--lc-green); }
.lc-switch input:checked + .lc-slider::before { transform: translateX(20px); }
.lc-switch input:disabled + .lc-slider { background: var(--lc-green); opacity: .55; cursor: not-allowed; }

/* ---- znovu-vyvolanie (floating button) ---- */
.lc-fab {
  position: fixed; left: 16px; bottom: 16px; z-index: 99998;
  width: 46px; height: 46px; border-radius: 50%; border: 0; cursor: pointer;
  background: var(--lc-accent); color: #fff; font-size: 22px; line-height: 1;
  box-shadow: 0 6px 18px rgba(59,37,37,.3);
}
.lc-fab:hover { background: #8c3f1f; }

@media (max-width: 600px) {
  .lc-bar { padding: 18px; }
  .lc-bar__actions { width: 100%; }
  .lc-bar__actions .lc-btn { flex: 1 1 auto; text-align: center; }
  .lc-bar__legal { text-align: left; }
  /* modal: tlačidlá na celú šírku pod seba (čistejšie ako "schodík") */
  .lc-modal__foot { flex-direction: column; gap: 8px; }
  .lc-modal__foot .lc-btn { width: 100%; text-align: center; }
}
