/* 8KEYS REAL ESTATE — privacy and cookie UI, isolated from the existing website styles */
:root { --k8-ink:#14232d; --k8-deep:#11191c; --k8-orange:#ff792e; --k8-paper:#fff; --k8-mist:#eff3f5; }
.k8-cookie-banner, .k8-cookie-modal, .k8-marketing-options, .k8-legal-footer { font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.k8-cookie-banner *, .k8-cookie-modal *, .k8-marketing-options *, .k8-legal-footer * { box-sizing:border-box; }
.k8-cookie-banner[hidden], .k8-cookie-modal[hidden] { display:none!important; }
.k8-cookie-banner { position:fixed; z-index:2147483600; bottom:16px; left:16px; right:auto; width:min(590px,calc(100% - 32px)); margin:0; padding:16px 18px; color:var(--k8-ink); background:#fff; box-shadow:0 10px 55px rgba(0,0,0,.27); border:1px solid #d9e1e5; border-radius:14px; line-height:1.45; text-align:left; }
.k8-cookie-banner__inner { display:grid; grid-template-columns:1fr; gap:11px; align-items:center; }
.k8-cookie-banner__eyebrow { color:#a84e17; font-size:11px; letter-spacing:.13em; font-weight:800; text-transform:uppercase; margin:0 0 4px; }
.k8-cookie-banner h2 { font-size:17px!important; font-weight:800!important; color:var(--k8-ink)!important; line-height:1.2!important; margin:0 0 8px!important; }
.k8-cookie-banner p { font-size:12.5px!important; margin:0 0 8px!important; max-width:750px; color:#354650!important; line-height:1.5!important; }
.k8-cookie-banner a, .k8-cookie-modal a, .k8-marketing-options a, .k8-legal-footer a { color:#a74c15; text-decoration:underline; text-underline-offset:3px; }
.k8-cookie-actions { display:grid; width:100%; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.k8-cookie-button { appearance:none; cursor:pointer; width:100%; border:1px solid #c6d0d6; border-radius:10px; font-family:inherit; font-weight:750; font-size:12px; padding:9px 10px; min-height:40px; display:inline-flex; justify-content:center; align-items:center; transition:filter .15s,transform .15s; }
.k8-cookie-button:hover { filter:brightness(.96); }
.k8-cookie-button:focus-visible, .k8-cookie-toggle:focus-visible { outline:3px solid #ffad6d; outline-offset:3px; }
.k8-cookie-button--primary { background:#e96c26; border-color:#e96c26; color:#111; }
.k8-cookie-button--neutral { background:#fff; color:#18303d; }
.k8-cookie-button--soft { background:#f1f4f5; color:#18303d; }
.k8-cookie-modal { position:fixed; inset:0; z-index:2147483601; padding:18px; display:grid; place-items:center; background:rgba(9,17,22,.72); overflow:auto; }
.k8-cookie-panel { position:relative; max-width:640px; width:100%; max-height:min(90vh,850px); overflow-y:auto; background:#fff; border-radius:18px; padding:clamp(22px,4vw,34px); color:var(--k8-ink); box-shadow:0 12px 75px rgba(0,0,0,.34); text-align:left; }
.k8-cookie-panel h2 { color:var(--k8-ink)!important; font-size:25px!important; margin:0 0 10px!important; }
.k8-cookie-panel p { font-size:14px!important; line-height:1.65!important; color:#415059!important; }
.k8-cookie-panel__close { cursor:pointer; position:absolute; right:14px; top:12px; border:0; background:#f0f2f4; color:#172a34; width:38px; height:38px; border-radius:50%; font-size:23px; }
.k8-cookie-category { border:1px solid #dde3e6; border-radius:12px; padding:15px; display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin:12px 0; }
.k8-cookie-category h3 { font-size:15px!important; margin:0 0 4px!important; line-height:1.3!important; color:var(--k8-ink)!important; }
.k8-cookie-category p { margin:0!important; font-size:12.5px!important; }
.k8-cookie-toggle { width:22px; height:22px; flex-shrink:0; accent-color:#d86620; margin-top:3px; cursor:pointer; }
.k8-cookie-modal__actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:18px; }
.k8-cookie-note { font-size:12px!important; color:#59666e!important; margin:12px 0 0!important; }
.k8-legal-footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:9px 20px; padding:15px 22px 26px; color:#c6d0d4; text-align:center; font-size:12.5px; }
.k8-legal-footer a { color:#f4c29f!important; font-size:inherit; }
.k8-marketing-options { display:grid; gap:10px; padding:15px; margin:10px 0 15px; background:#f7f8f8; color:#20303a; border:1px solid #dfe4e7; border-radius:13px; }
.k8-marketing-options strong { color:#182b36; font-size:14px; }
.k8-marketing-option { display:flex!important; align-items:flex-start!important; gap:10px!important; font-size:13px!important; font-weight:400!important; line-height:1.55; color:#263640!important; margin:0!important; cursor:pointer; }
.k8-marketing-option input { flex:none; margin:3px 0 0!important; min-width:17px; width:17px; height:17px; accent-color:#dc702d; cursor:pointer; }
.k8-marketing-disclaimer { font-size:11.5px!important; margin:2px 0 0!important; color:#5b6870!important; }
.k8-privacy-link { color:inherit; text-decoration:underline; text-underline-offset:3px; }
.k8-legal-main { min-height:50vh; }
.k8-legal-content { max-width:850px; margin:40px auto 70px; padding:0 22px; color:#263640; }
.k8-legal-content h1 { font-size:clamp(29px,5vw,49px)!important; line-height:1.15!important; }
.k8-legal-content h2 { font-size:clamp(19px,2vw,25px)!important; line-height:1.3!important; margin:36px 0 10px!important; }
.k8-legal-content p, .k8-legal-content li { font-size:15px!important; line-height:1.8!important; }
.k8-legal-content p { margin:12px 0!important; }
.k8-legal-content a { text-decoration:underline; color:#a65318; }
.k8-legal-content ul { list-style:disc; padding-left:26px; margin:12px 0 18px; }
.k8-legal-content table { border-collapse:collapse; width:100%; font-size:13px; }
.k8-legal-content th,.k8-legal-content td { padding:12px; border:1px solid #d9e0e3; text-align:left; }
.k8-legal-content th { background:#eff2f4; }
.k8-legal-content .k8-legal-updated { color:#667780; font-size:13px!important; }
.k8-visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
@media (max-width:760px){ .k8-cookie-banner { bottom:8px;left:8px;right:8px;width:calc(100% - 16px);padding:14px; border-radius:14px; max-height:65vh;overflow-y:auto; } .k8-cookie-banner__inner {grid-template-columns:1fr;gap:10px;} .k8-cookie-actions {width:100%;grid-template-columns:1fr 1fr;} .k8-cookie-actions .k8-cookie-button:last-child {grid-column:1/-1;} .k8-cookie-modal__actions {grid-template-columns:1fr;} .k8-cookie-panel {max-height:93vh;} }
@media (prefers-reduced-motion:reduce){ .k8-cookie-button {transition:none;} }

/* V35 — separate affirmative choice; no automatic marketing opt-in. */
.k8-marketing-select-all {display:flex!important;align-items:flex-start!important;gap:12px!important;cursor:pointer;padding:13px 14px!important;border:1px solid #d9bc98;border-radius:11px;background:#fff6eb;margin:3px 0 2px!important;font-size:13px!important;color:#24313c!important;}
.k8-marketing-select-all input {width:20px!important;min-width:20px; height:20px!important; margin:2px 0 0!important;accent-color:#d36c2a;cursor:pointer;}
.k8-marketing-select-all span {display:grid;gap:3px;}
.k8-marketing-select-all strong {font-size:13px!important;color:#24313c!important;}
.k8-marketing-select-all small {font-size:12px!important;line-height:1.45;color:#59646f!important;}
.k8-marketing-red-note {margin:0 0 4px!important;color:#b33432!important;font-size:12px!important;font-weight:600!important;line-height:1.5!important;}
.k8-marketing-options:focus-within {border-color:#e2b288;}
.k8-marketing-options.k8-marketing-highlight {box-shadow:0 0 0 3px rgba(221,119,54,.15);border-color:#da9c75;}
