/* ============================================================
   Tulkit — cookie lišta + nastavení souhlasu (GDPR / ePrivacy)
   Sdílené pro všechny stránky. Viz cookie-consent.js
   ============================================================ */
:root {
  --cc-ink: #141210;
  --cc-muted: #7a7671;
  --cc-border: #e4e2dc;
  --cc-blue: #1a6fb5;
  --cc-blue-dark: #155a94;
  --cc-white: #fff;
  --cc-bg: #f7f6f3;
}

/* ── Lišta ── */
.cc-bar {
  position: fixed; bottom: 0; left: 0; right: 0; z-index: 9500;
  background: var(--cc-white);
  border-top: 1px solid var(--cc-border);
  box-shadow: 0 -8px 32px rgba(20,18,16,.10);
  padding: 1.15rem 5vw;
  font-family: 'Outfit', system-ui, sans-serif;
  display: none;
}
.cc-bar.cc-show { display: block; }
.cc-bar-inner {
  max-width: 1100px; margin: 0 auto;
  display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap;
}
.cc-text { flex: 1; min-width: 260px; font-size: .875rem; line-height: 1.6; color: var(--cc-ink); font-weight: 300; }
.cc-text strong { font-weight: 600; }
.cc-text a { color: var(--cc-blue); text-decoration: underline; }
.cc-actions { display: flex; gap: .6rem; align-items: center; flex-wrap: wrap; }

/* Tlačítka — „Odmítnout" musí být stejně dostupné jako „Přijmout" */
.cc-btn {
  font-family: inherit; font-size: .875rem; font-weight: 500;
  padding: .65rem 1.4rem; border-radius: 9px; cursor: pointer;
  border: 1.5px solid transparent; white-space: nowrap;
  transition: background .2s, border-color .2s, transform .15s;
}
.cc-btn-accept { background: var(--cc-blue); color: #fff; }
.cc-btn-accept:hover { background: var(--cc-blue-dark); transform: translateY(-1px); }
.cc-btn-reject { background: var(--cc-white); color: var(--cc-ink); border-color: var(--cc-border); }
.cc-btn-reject:hover { border-color: var(--cc-blue); }
.cc-btn-settings {
  background: none; border: none; color: var(--cc-muted);
  font-family: inherit; font-size: .85rem; cursor: pointer;
  text-decoration: underline; padding: .65rem .5rem; white-space: nowrap;
}
.cc-btn-settings:hover { color: var(--cc-blue); }

/* ── Modal s nastavením ── */
.cc-modal { position: fixed; inset: 0; z-index: 9600; display: none; align-items: center; justify-content: center; padding: 1rem; }
.cc-modal.cc-show { display: flex; }
.cc-overlay { position: absolute; inset: 0; background: rgba(20,18,16,.55); backdrop-filter: blur(3px); }
.cc-box {
  position: relative; z-index: 1; background: var(--cc-white);
  border-radius: 18px; padding: 1.75rem; width: 100%; max-width: 540px;
  max-height: 90vh; overflow-y: auto; box-shadow: 0 24px 80px rgba(0,0,0,.22);
  font-family: 'Outfit', system-ui, sans-serif;
}
.cc-box h2 { font-family: 'Instrument Serif', Georgia, serif; font-size: 1.5rem; margin: 0 0 .4rem; color: var(--cc-ink); font-weight: 400; }
.cc-box > p { font-size: .875rem; color: var(--cc-muted); line-height: 1.65; margin: 0 0 1.5rem; font-weight: 300; }
.cc-box > p a { color: var(--cc-blue); }

.cc-group {
  border: 1px solid var(--cc-border); border-radius: 11px;
  padding: 1rem 1.15rem; margin-bottom: .75rem;
}
.cc-group-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .35rem; }
.cc-group-title { font-size: .95rem; font-weight: 600; color: var(--cc-ink); }
.cc-group-desc { font-size: .8rem; color: var(--cc-muted); line-height: 1.55; font-weight: 300; }
.cc-badge { font-size: .7rem; font-weight: 600; color: var(--cc-muted); background: var(--cc-bg); border-radius: 100px; padding: .2rem .6rem; white-space: nowrap; }

/* Přepínač */
.cc-switch { position: relative; width: 44px; height: 25px; flex-shrink: 0; }
.cc-switch input { opacity: 0; width: 0; height: 0; position: absolute; }
.cc-slider {
  position: absolute; inset: 0; cursor: pointer;
  background: #cfccc6; border-radius: 25px; transition: background .22s;
}
.cc-slider::before {
  content: ''; position: absolute; height: 19px; width: 19px; left: 3px; top: 3px;
  background: #fff; border-radius: 50%; transition: transform .22s;
  box-shadow: 0 1px 4px rgba(0,0,0,.2);
}
.cc-switch input:checked + .cc-slider { background: var(--cc-blue); }
.cc-switch input:checked + .cc-slider::before { transform: translateX(19px); }
.cc-switch input:focus-visible + .cc-slider { outline: 2px solid var(--cc-blue); outline-offset: 2px; }

.cc-modal-actions { display: flex; gap: .6rem; margin-top: 1.5rem; flex-wrap: wrap; }
.cc-modal-actions .cc-btn { flex: 1; min-width: 140px; text-align: center; }

/* Odkaz v patičce pro pozdější změnu volby */
.cc-footer-link {
  background: none; border: none; padding: 0; cursor: pointer;
  font-family: inherit; font-size: inherit; color: inherit;
  text-decoration: none; opacity: .85;
}
.cc-footer-link:hover { opacity: 1; text-decoration: underline; }

@media (max-width: 720px) {
  .cc-bar { padding: 1rem 1.25rem; }
  .cc-bar-inner { gap: 1rem; }
  .cc-actions { width: 100%; }
  .cc-actions .cc-btn { flex: 1; }
  .cc-btn-settings { width: 100%; order: 3; }
}
