
/* Cookie Banner & Preferences Modal - OlaTech AI style */
:root{
  --occm-accent:#00bcd4;
  --occm-accent-2:#ff9800;
  --occm-dark:#005f73;
  --occm-bg:#ffffff;
  --occm-text:#333;
}
#occm-banner{
  position:fixed; left:0; right:0; bottom:0; z-index:99999;
  background:var(--occm-bg); color:var(--occm-text);
  box-shadow:0 -10px 30px rgba(0,0,0,.15);
  padding:18px 14px; font-family: 'Montserrat', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}
#occm-banner .occm-inner{
  max-width: 1100px; margin:0 auto; display:flex; gap:18px; align-items:flex-start; flex-wrap:wrap;
}
#occm-banner h4{ margin:0 0 6px 0; color:var(--occm-dark) }
#occm-banner p{ margin:0; line-height:1.5 }
#occm-banner .occm-actions{ margin-left:auto; display:flex; gap:8px; flex-wrap:wrap }
#occm-banner .occm-btn{
  border:none; border-radius:8px; padding:10px 14px; cursor:pointer; font-weight:600;
}
#occm-accept{ background:linear-gradient(135deg,var(--occm-accent),var(--occm-accent-2)); color:#fff }
#occm-reject{ background:#ececec }
#occm-config{ background:#fff; border:2px solid var(--occm-accent); color:var(--occm-dark) }

/* Modal */
#occm-modal-backdrop{
  position:fixed; inset:0; background:rgba(0,0,0,.45); z-index:99998; display:none;
}
#occm-modal{
  position:fixed; left:50%; top:50%; transform:translate(-50%,-50%);
  width:min(680px,92vw); max-height:84vh; overflow:auto;
  background:#fff; border-radius:14px; box-shadow:0 20px 70px rgba(0,0,0,.35);
  z-index:99999; display:none; padding:22px;
  font-family: 'Montserrat', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}
#occm-modal h3{ margin:0 0 4px 0; color:var(--occm-dark) }
#occm-modal p{ margin:0 0 14px 0 }
.occm-row{ display:flex; justify-content:space-between; align-items:center; padding:10px 0; border-bottom:1px solid #eee }
.occm-mini{ font-size:.9rem; color:#555 }
label.occm-switch{
  position:relative; display:inline-block; width:54px; height:28px;
}
label.occm-switch input{ display:none }
label.occm-switch span{
  position:absolute; inset:0; background:#ddd; border-radius:999px; transition:.25s;
}
label.occm-switch span:after{
  content:""; position:absolute; width:22px; height:22px; left:3px; top:3px; background:#fff; border-radius:50%; box-shadow:0 2px 6px rgba(0,0,0,.2); transition:.25s;
}
label.occm-switch input:checked + span{ background:var(--occm-accent) }
label.occm-switch input:checked + span:after{ transform:translateX(26px) }

#occm-modal .occm-actions{ display:flex; gap:10px; justify-content:flex-end; margin-top:16px }
#occm-save{ background:linear-gradient(135deg,var(--occm-accent),var(--occm-accent-2)); color:#fff }
#occm-cancel{ background:#ececec }
#occm-accept-all{ background:linear-gradient(135deg,var(--occm-accent),var(--occm-accent-2)); color:#fff }
#occm-reject-all{ background:#ececec }
#occm-save, #occm-cancel, #occm-accept-all, #occm-reject-all{
  border:none; border-radius:10px; padding:11px 16px; cursor:pointer; font-weight:700;
}
@media (prefers-color-scheme: dark){
  #occm-banner, #occm-modal{ background:#0f172a; color:#e5e7eb }
  #occm-banner p, #occm-modal p { color:#cbd5e1 }
  #occm-reject, #occm-cancel, #occm-reject-all { background:#1f2937; color:#e5e7eb }
}
