/* Kurtezy Cookie Consent — RGPD banner
 * Uses kurtezy-v2.html CSS custom properties (--bg, --border, --text, --v, etc.).
 * Falls back to safe defaults if those vars are absent.
 */
.kcc-root {
  position: fixed; left: 0; right: 0; bottom: 0;
  z-index: 2147483000; /* top of the app, below browser UI only */
  background: var(--bg, #fff);
  color: var(--text, #111);
  border-top: 1px solid var(--border, #e5e5e5);
  box-shadow: var(--sh3, 0 8px 32px rgba(0,0,0,.14));
  font-family: var(--ff-b, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Arial, sans-serif);
  transform: translateY(100%);
  transition: transform .3s ease-out;
  visibility: hidden;
}
.kcc-root.kcc-visible { transform: translateY(0); visibility: visible; }
.kcc-inner { max-width: 1200px; margin: 0 auto; padding: 20px 36px; }
.kcc-row { display: flex; gap: 24px; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; }
.kcc-text { flex: 1 1 420px; min-width: 0; }
.kcc-title {
  font-family: var(--ff-h, inherit); font-size: 14px; font-weight: 600;
  letter-spacing: .04em; text-transform: uppercase; margin: 0 0 6px 0;
}
.kcc-msg { font-size: 13px; line-height: 1.5; color: var(--text, #111); margin: 0 0 6px 0; }
.kcc-learn { font-size: 12px; color: var(--v, #3566E0); text-decoration: underline; }
.kcc-actions { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.kcc-btn {
  font-family: var(--ff-h, inherit); font-size: 11px; font-weight: 600;
  letter-spacing: .06em; text-transform: uppercase;
  padding: 10px 16px; border: 1px solid transparent; cursor: pointer;
  transition: background .15s, color .15s, border-color .15s;
}
.kcc-btn-ghost { background: transparent; color: var(--text, #111); border-color: var(--border, #d4d4d4); }
.kcc-btn-ghost:hover { background: var(--v-pale, #f2f2f2); }
.kcc-btn-primary { background: var(--v, #3566E0); color: #fff; border-color: var(--v, #3566E0); }
.kcc-btn-primary:hover { background: var(--v-mid, #7C9DE8); border-color: var(--v-mid, #7C9DE8); }
.kcc-btn:focus-visible { outline: 2px solid var(--v, #3566E0); outline-offset: 2px; }

.kcc-prefs { margin-top: 16px; padding-top: 16px; border-top: 1px dashed var(--border, #e5e5e5);
  display: flex; gap: 18px; align-items: center; flex-wrap: wrap; }
.kcc-prefs[hidden] { display: none; }
.kcc-toggle { display: inline-flex; gap: 8px; align-items: center; font-size: 13px; cursor: pointer; user-select: none; }
.kcc-toggle input { width: 16px; height: 16px; accent-color: var(--v, #3566E0); cursor: pointer; }
.kcc-toggle input[disabled] { cursor: not-allowed; opacity: .7; }

@media (max-width: 640px) {
  .kcc-inner { padding: 16px; }
  .kcc-row { flex-direction: column; gap: 12px; }
  .kcc-actions { width: 100%; }
  .kcc-actions .kcc-btn { flex: 1 1 auto; }
}
@media (prefers-reduced-motion: reduce) {
  .kcc-root { transition: none; }
}
