/* =========================================================
   ConvertWise — Consent banner (GDPR / AdSense compatible)
   ========================================================= */

.cbar {
  position: fixed; inset-inline: 0; bottom: 0; z-index: 90;
  background: #fff; border-top: 1px solid var(--border, #d5e0d5);
  box-shadow: 0 -6px 24px rgba(0, 30, 0, .1);
  padding: 20px 0;
}
.cbar[hidden] { display: none; }
.cbar__in {
  display: flex; align-items: center; justify-content: space-between; gap: 28px;
  max-width: 1240px; margin: 0 auto; padding: 0 24px;
}
.cbar__txt { margin: 0; font-size: .95rem; line-height: 1.55; }
.cbar__txt strong { display: block; color: var(--ink, #001e00); font-size: 1.02rem; margin-bottom: 3px; }
.cbar__btns { display: flex; flex-wrap: wrap; gap: 10px; flex-shrink: 0; }

@media (max-width: 900px) {
  .cbar__in { flex-direction: column; align-items: stretch; gap: 16px; }
  .cbar__btns .btn { flex: 1 1 auto; }
}

/* ---------- Preferences dialog ---------- */
.cmodal {
  position: fixed; inset: 0; z-index: 95;
  display: flex; align-items: center; justify-content: center;
  padding: 20px; background: rgba(0, 30, 0, .55);
}
.cmodal[hidden] { display: none; }
.cmodal__box {
  width: 100%; max-width: 620px; max-height: 88vh; overflow-y: auto;
  background: #fff; border-radius: 16px; padding: 30px;
}
.cmodal__box h2 { font-size: 1.5rem; margin-bottom: 10px; }

.copt {
  border: 1px solid var(--border, #d5e0d5); border-radius: 10px;
  padding: 18px 20px; margin-bottom: 12px;
}
.copt__hd { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 6px; }
.copt__hd h3 { margin: 0; font-size: 1.05rem; }
.copt p { margin: 0; font-size: .9rem; color: var(--muted, #5e6d55); }

/* Toggle */
.tgl { position: relative; display: inline-block; width: 48px; height: 27px; flex-shrink: 0; }
.tgl input { position: absolute; opacity: 0; width: 0; height: 0; }
.tgl i {
  position: absolute; inset: 0; cursor: pointer; border-radius: 999px;
  background: #dfe6df; transition: background-color .15s;
}
.tgl i::before {
  content: ''; position: absolute; top: 3px; left: 3px;
  width: 21px; height: 21px; border-radius: 50%; background: #fff;
  transition: transform .15s;
}
.tgl input:checked + i { background: var(--green, #14a800); }
.tgl input:checked + i::before { transform: translateX(21px); }
.tgl input:disabled + i { opacity: .5; cursor: not-allowed; }

.cmodal__btns {
  display: flex; flex-wrap: wrap; gap: 10px;
  margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--border, #d5e0d5);
}
