#kq-privacy-controls { font-family: inherit; color: #15283e; }
#kq-privacy-reopen { position: fixed; bottom: 1rem; left: 1rem; z-index: 1100; }
#kq-privacy-controls button { font: inherit; font-weight: 600; color: #15283e; background: #fff; border: 1px solid #51647a; border-radius: .5rem; padding: .65rem .9rem; cursor: pointer; min-height: 44px; }
#kq-privacy-controls button:hover { background: #edf3fa; }
#kq-privacy-controls button:focus-visible, #kq-privacy-controls input:focus-visible { outline: 3px solid #1668b7; outline-offset: 3px; }
#kq-privacy-controls .kq-consent-panel { position: fixed; bottom: 4.5rem; left: 1rem; right: 1rem; z-index: 1100; max-width: 44rem; max-height: 75vh; overflow-y: auto; overscroll-behavior: contain; padding: 1.25rem; background: #fff; border: 1px solid #51647a; border-radius: .8rem; box-shadow: 0 4px 24px #14283e33; }
#kq-privacy-controls [hidden] { display: none !important; }
#kq-privacy-controls h2 { font-size: 1.2rem; line-height: 1.35; margin: 0 0 .6rem; }
#kq-privacy-controls p { font-size: .95rem; line-height: 1.5; margin: .65rem 0; }
#kq-privacy-controls .kq-consent-actions { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1rem; }
#kq-privacy-controls fieldset { margin-top: 1rem; padding: .8rem; border: 1px solid #51647a; }
#kq-privacy-controls label { display: flex; align-items: center; gap: .65rem; padding: .5rem 0; }
#kq-privacy-controls input[type="checkbox"] { width: 1.25rem; height: 1.25rem; flex-shrink: 0; accent-color: #1668b7; }
#kq-privacy-controls .kq-visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
@media (max-width: 480px) { #kq-privacy-controls .kq-consent-panel { left: .5rem; right: .5rem; padding: 1rem; } #kq-privacy-controls .kq-consent-actions > button { flex: 1 1 auto; } }

.kq-policy-link, .kq-privacy-footer { text-align: center; padding: .75rem 1rem; }
.kq-privacy-page { max-width: 68rem; padding-bottom: 5rem; }
.kq-privacy-page section { margin: 2rem 0; }
.kq-privacy-page h2 { margin-bottom: 1rem; }
.kq-privacy-page p { line-height: 1.7; }
.kq-privacy-page a, #kq-privacy-controls a { text-decoration: underline; text-underline-offset: .15em; }
.kq-cookie-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.kq-cookie-list article { padding: 1.2rem; border: 1px solid #d6e0e8; border-radius: .75rem; background: #f5f8fb; }
.kq-cookie-list h3 { margin-top: 0; }
.kq-cookie-list code { overflow-wrap: anywhere; font-size: .85em; }
@media (max-width: 800px) { .kq-cookie-list { grid-template-columns: 1fr; } }

/* Direct WhatsApp contact remains available independently of measurement consent. */
.kq-whatsapp-float { position: fixed; right: max(1rem, env(safe-area-inset-right)); bottom: max(1rem, env(safe-area-inset-bottom)); z-index: 1050; display: inline-flex; align-items: center; justify-content: center; gap: .6rem; min-width: 56px; min-height: 56px; padding: .75rem 1.1rem; border: 1px solid #ffffff70; border-radius: 999px; background: #075e54; color: #fff !important; box-shadow: 0 4px 18px #18282130; font: 600 .95rem/1.2 system-ui, sans-serif; text-decoration: none !important; }
.kq-whatsapp-float:hover { background: #064e46; }
.kq-whatsapp-float:focus-visible { outline: 3px solid #075e54; outline-offset: 4px; }
.kq-whatsapp-float svg { flex: 0 0 28px; }
body:has(#kq-consent-panel:not([hidden])) .kq-whatsapp-float, body.newsletter-modal-open .kq-whatsapp-float { visibility: hidden; }
@media (max-width: 600px) { .kq-whatsapp-float { padding: .75rem; } .kq-whatsapp-float span { display: none; } }
