/* ConsentKit v1.2.0 — Frontend Banner */
#ck-banner *, #ck-banner *::before, #ck-banner *::after { box-sizing: border-box; }

/* ── OVERLAY ─────────────────────────────────────────────────────────────── */
#ck-overlay {
  position:fixed;inset:0;background:rgba(0,0,0,0.55);z-index:99998;
  opacity:0;transition:opacity 0.3s ease;pointer-events:none;
}
#ck-overlay.is-visible { opacity:1;pointer-events:all; }

/* ── BANNER ──────────────────────────────────────────────────────────────── */
#ck-banner {
  position:fixed;z-index:99999;
  font-family:var(--ck-font-body,-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif);
  color:var(--ck-text,#1c1a17);
  background:var(--ck-bg,#ffffff);
  border:1px solid var(--ck-border,#e8e5df);
  border-radius:var(--ck-radius,12px);
  box-shadow:0 8px 40px rgba(0,0,0,0.12);
  transition:transform 0.4s cubic-bezier(0.4,0,0.2,1),opacity 0.4s ease;
  max-width:var(--ck-max-width,560px);
  width:calc(100% - 48px);
}

/* ── POSITIONS ───────────────────────────────────────────────────────────── */
#ck-banner.ck-pos--top-left      { top:24px;left:24px;width:auto;transform:translateY(-140%); }
#ck-banner.ck-pos--top-center    { top:24px;left:50%;transform:translateX(-50%) translateY(-140%); }
#ck-banner.ck-pos--top-right     { top:24px;right:24px;left:auto;width:auto;transform:translateY(-140%); }
#ck-banner.ck-pos--center-left   { top:50%;left:24px;width:auto;transform:translateY(-50%) translateX(-140%); }
#ck-banner.ck-pos--center        { top:50%;left:50%;transform:translate(-50%,-60%);opacity:0; }
#ck-banner.ck-pos--center-right  { top:50%;right:24px;left:auto;width:auto;transform:translateY(-50%) translateX(140%); }
#ck-banner.ck-pos--bottom-left   { bottom:24px;left:24px;width:auto;transform:translateY(140%); }
#ck-banner.ck-pos--bottom-center { bottom:24px;left:50%;transform:translateX(-50%) translateY(140%); }
#ck-banner.ck-pos--bottom-right  { bottom:24px;right:24px;left:auto;width:auto;transform:translateY(140%); }

/* is-visible */
#ck-banner.is-visible.ck-pos--top-left,
#ck-banner.is-visible.ck-pos--top-right,
#ck-banner.is-visible.ck-pos--bottom-left,
#ck-banner.is-visible.ck-pos--bottom-right   { transform:translateY(0); }
#ck-banner.is-visible.ck-pos--top-center,
#ck-banner.is-visible.ck-pos--bottom-center  { transform:translateX(-50%) translateY(0); }
#ck-banner.is-visible.ck-pos--center         { transform:translate(-50%,-50%);opacity:1; }
#ck-banner.is-visible.ck-pos--center-left    { transform:translateY(-50%) translateX(0); }
#ck-banner.is-visible.ck-pos--center-right   { transform:translateY(-50%) translateX(0); }

/* ── INNER ───────────────────────────────────────────────────────────────── */
.ck-inner { padding:var(--ck-padding,20px); }

.ck-title  { font-weight:700;font-size:var(--ck-fs-title,15px);margin:0 0 6px;color:var(--ck-text,#1c1a17);font-family:var(--ck-font-heading,inherit); }
.ck-desc   { font-size:var(--ck-fs-desc,13px);color:var(--ck-muted,#7a7369);line-height:1.55;margin:0 0 16px;font-family:var(--ck-font-body,inherit); }
.ck-desc a { color:var(--ck-text,#1c1a17);text-decoration:underline; }

/* ── ACTIONS ─────────────────────────────────────────────────────────────── */
.ck-actions { display:flex;gap:8px;align-items:center;flex-wrap:wrap; }


/* GDPR: accept and reject must have equal visual prominence */
.ck-btn-accept {
  background:var(--ck-btn-accept,#1c1a17);
  color:var(--ck-btn-accept-text,#ffffff);
  border:none;
  border-radius:var(--ck-btn-radius,6px);
  box-sizing:content-box;
  padding:var(--ck-btn-pad-v,10px) var(--ck-btn-pad-h,20px) !important;
  font-size:var(--ck-fs-btn,13px);font-weight:600;cursor:pointer;white-space:nowrap;
  font-family:var(--ck-font-button,inherit);transition:background 0.3s ease-in-out,color 0.3s ease-in-out,border-color 0.3s ease-in-out;
}
.ck-btn-accept:hover { background:var(--ck-btn-accept-hover,var(--ck-btn-accept,#1c1a17));color:var(--ck-btn-accept-hover-text,var(--ck-btn-accept-text,#ffffff));opacity:1; }

.ck-btn-reject {
  background:var(--ck-btn-reject,#f2f0eb);
  color:var(--ck-btn-reject-text,#1c1a17);
  border:1.5px solid transparent !important;
  border-radius:var(--ck-btn-radius,6px);
  padding:var(--ck-btn-pad-v,10px) var(--ck-btn-pad-h,20px) !important;
  font-size:var(--ck-fs-btn,13px);font-weight:600;cursor:pointer;white-space:nowrap;
  font-family:var(--ck-font-button,inherit);transition:background 0.3s ease-in-out,color 0.3s ease-in-out,border-color 0.3s ease-in-out;
}
.ck-btn-reject:hover { background:var(--ck-btn-reject-hover,var(--ck-btn-reject,#f2f0eb));color:var(--ck-btn-reject-hover-text,var(--ck-btn-reject-text,#1c1a17)); }

.ck-btn-save {
  transition:background 0.3s ease-in-out,color 0.3s ease-in-out;
  background:var(--ck-btn-save,#1c1a17);
  color:var(--ck-btn-save-text,#ffffff);
  border:none;
  border-radius:var(--ck-btn-radius,6px);
  padding:var(--ck-btn-pad-v,10px) var(--ck-btn-pad-h,20px) !important;
  font-size:var(--ck-fs-btn,13px);font-weight:600;cursor:pointer;white-space:nowrap;
  font-family:var(--ck-font-button,inherit);transition:background 0.3s ease-in-out,color 0.3s ease-in-out,border-color 0.3s ease-in-out;
}

.ck-btn-text {
  background:none;border:none;color:var(--ck-muted,#7a7369);
  font-size:var(--ck-fs-btn,13px);cursor:pointer;text-decoration:underline;
  padding:4px 8px;font-family:var(--ck-font-button,inherit);
}
.ck-btn-text:hover { color:var(--ck-text,#1c1a17); }

/* ── CATEGORIES PANEL ────────────────────────────────────────────────────── */
.ck-cats-panel {
  border-top:1px solid var(--ck-border,#e8e5df);
  padding:0 var(--ck-padding,20px) var(--ck-padding,20px);
  display:none;
}
.ck-cats-panel.is-open { display:block; }

.ck-cat { border-bottom:1px solid var(--ck-border,#e8e5df); }
.ck-cat:last-child { border-bottom:none; }

.ck-cat__header {
  display:flex;align-items:center;justify-content:space-between;
  gap:12px;padding:12px 0;cursor:pointer;
}
.ck-cat__header-left { display:flex;align-items:center;gap:8px;flex:1;min-width:0; }
.ck-cat__name  { font-weight:600;font-size:var(--ck-panel-fs-name,13px);color:var(--ck-panel-heading-text,var(--ck-text,#1c1a17));font-family:var(--ck-font-heading,inherit); }
.ck-cat__arrow { font-size:9px;color:var(--ck-muted,#7a7369);transition:transform 0.2s;flex-shrink:0; }
.ck-cat.is-open .ck-cat__arrow { transform:rotate(180deg); }
.ck-cat__desc  { font-size:var(--ck-panel-fs-desc,12px);color:var(--ck-panel-body-text,var(--ck-muted,#7a7369));line-height:1.5;padding:0 0 12px;display:none;font-family:var(--ck-font-body,inherit); }
.ck-cat.is-open .ck-cat__desc { display:block; }

/* Toggle */
.ck-toggle { position:relative;width:40px;height:22px;flex-shrink:0; }
.ck-toggle input { opacity:0;width:0;height:0;position:absolute;margin:0;padding:0; }
.ck-toggle__track {
  position:absolute;inset:0;background:var(--ck-border,#e8e5df);
  border-radius:11px;cursor:pointer;transition:background 0.2s;
}
.ck-toggle input:checked + .ck-toggle__track { background:var(--ck-toggle-on,#1c1a17); }
.ck-toggle input:disabled + .ck-toggle__track { opacity:0.5;cursor:not-allowed; }
.ck-toggle__track::after {
  content:'';position:absolute;top:3px;left:3px;
  width:16px;height:16px;background:white;border-radius:50%;
  transition:transform 0.2s;box-shadow:0 1px 3px rgba(0,0,0,0.2);
}
.ck-toggle input:checked + .ck-toggle__track::after { transform:translateX(18px); }

.ck-always-active { font-size:11px;color:var(--ck-muted,#7a7369);font-style:italic;white-space:nowrap;flex-shrink:0; }

/* ── POWERED BY ──────────────────────────────────────────────────────────── */
.ck-powered { text-align:center;padding:8px;font-size:10px;color:var(--ck-muted,#7a7369);border-top:1px solid var(--ck-border,#e8e5df); }
.ck-powered a { color:inherit;text-decoration:none; }

/* ── RECALL BUTTON ───────────────────────────────────────────────────────── */
#ck-recall {
  position:fixed;z-index:99997;
  background:var(--ck-recall-bg,#1c1a17);
  color:var(--ck-recall-text,#ffffff);
  border:none;border-radius:100px;
  padding:9px 16px;font-size:13px;font-weight:600;font-family:inherit;
  cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,0.2);
  display:flex;align-items:center;gap:6px;
  opacity:0;pointer-events:none;
  transition:opacity 0.3s ease,transform 0.2s ease;
}
#ck-recall.is-visible  { opacity:1;pointer-events:all; }
#ck-recall:hover       { transform:translateY(-2px); }
#ck-recall.recall-bottom-left   { bottom:20px;left:20px;right:auto;transform:none; }
#ck-recall.recall-bottom-right  { bottom:20px;right:20px;left:auto;transform:none; }
#ck-recall.recall-bottom-center { bottom:20px;left:50%;right:auto;transform:translateX(-50%); }
#ck-recall.recall-bottom-center:hover { transform:translateX(-50%) translateY(-2px) !important; }

/* ── POLICY SHORTCODE ────────────────────────────────────────────────────── */
.ck-policy { max-width:720px;line-height:1.7; }
.ck-policy h2 { margin:24px 0 8px;font-size:20px; }
.ck-policy h3 { margin:16px 0 6px;font-size:16px; }
.ck-policy p  { margin-bottom:12px;color:#555; }
.ck-policy__required { font-size:12px;color:#888;font-weight:normal; }
.ck-policy__btn { margin-top:16px;padding:10px 20px;background:#1c1a17;color:white;border:none;border-radius:6px;cursor:pointer;font-size:14px; }
.ck-policy__date { color:#888;font-size:13px;margin-bottom:16px; }
.ck-reopen-btn { padding:8px 16px;border:1.5px solid currentColor;border-radius:6px;cursor:pointer;font-size:14px;background:none; }

/* ── MOBILE ──────────────────────────────────────────────────────────────── */
@media (max-width:600px) {
  #ck-banner { width:calc(100% - 24px);left:12px !important;right:12px !important; }
  #ck-banner.ck-pos--top-center,
  #ck-banner.ck-pos--bottom-center { left:12px !important;transform:translateY(-140%); }
  #ck-banner.is-visible.ck-pos--top-center,
  #ck-banner.is-visible.ck-pos--bottom-center { transform:translateY(0); }
  .ck-actions { flex-wrap:wrap; }
  
}

.ck-btn-save:hover { background:var(--ck-btn-save-hover,var(--ck-btn-save,#1c1a17));color:var(--ck-btn-save-hover-text,var(--ck-btn-save-text,#ffffff)); }
