/* Cookie settings bar (includes/class-consent.php, assets/js/consent.js). */
.kz-consent { position: fixed; left: 0; right: 0; bottom: 0; z-index: 100000; max-height: 85vh; overflow-y: auto; background: #f5f7f9; color: #14212b; border-top: 1px solid #e3e9ee; box-shadow: 0 -8px 30px rgba(20,33,43,.12); font-size: 15px; line-height: 1.5; text-align: center; }
.kz-consent[hidden] { display: none; }
.kz-consent-in { max-width: 1140px; margin: 0 auto; padding: 22px 20px 18px; }
.kz-consent-title { margin: 0 0 6px; font-size: 24px; line-height: 1.3; color: #14212b; outline: none; }
.kz-consent-text { margin: 0 auto 16px; max-width: 900px; }
.kz-consent-text a { color: inherit; text-decoration: underline; }
.kz-consent-buttons { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-bottom: 14px; }
.kz-consent-btn { min-width: 150px; padding: 9px 22px; border: 1px solid var(--kz-accent, #00aeef); border-radius: 4px; background: #fff; color: #14212b; font: inherit; font-weight: 600; cursor: pointer; transition: background .2s, color .2s; }
.kz-consent-btn:focus-visible, .kz-consent-cat input:focus-visible, .kz-consent-details summary:focus-visible, .kz-consent-open:focus-visible { outline: 2px solid #14212b; outline-offset: 2px; }
/* Accepting and rejecting look the same (no nudge either way); the selection is the outlined one. */
.kz-consent-all, .kz-consent-none { background: var(--kz-accent, #00aeef); color: #fff; }
.kz-consent-all:hover, .kz-consent-none:hover { background: #0090c6; border-color: #0090c6; }
.kz-consent-selection:hover { background: #e9f6fc; }
.kz-consent-cats { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 26px; margin: 0; padding: 0; border: 0; }
.kz-consent-cat { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; }
.kz-consent-cat input { width: 18px; height: 18px; margin: 0; accent-color: var(--kz-accent, #00aeef); cursor: pointer; }
.kz-consent-cat input:disabled { cursor: default; }
.kz-consent-details { margin-top: 10px; font-size: 14px; }
.kz-consent-details summary { display: inline-block; color: #5d6b76; text-decoration: underline; cursor: pointer; }
.kz-consent-details dl { max-width: 760px; margin: 10px auto 0; text-align: start; }
.kz-consent-details dt { font-weight: 700; }
.kz-consent-details dd { margin: 0 0 8px; color: #5d6b76; }
@media (max-width: 768px) {
	.kz-consent { font-size: 14px; }
	.kz-consent-in { padding: 16px 16px 14px; }
	.kz-consent-title { font-size: 20px; }
	.kz-consent-btn { flex: 1 1 100%; }
}
