/* Cookie Consent Banner & Preferences — Allele Life Sciences */
#cc-banner{position:fixed;left:0;right:0;bottom:0;z-index:100000;background:#fff;border-top:3px solid #1a76d1;box-shadow:0 -4px 20px rgba(0,0,0,.15);padding:20px 24px;font-family:Poppins,sans-serif;display:none;animation:cc-slide-up .35s ease}
#cc-banner.cc-visible{display:block}
@keyframes cc-slide-up{from{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}
.cc-inner{max-width:1140px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:18px;justify-content:space-between}
.cc-text{flex:1 1 420px;color:#2c2d3f;font-size:13.5px;line-height:1.6}
.cc-text strong{display:block;font-size:15px;font-weight:600;margin-bottom:4px;color:#2c2d3f}
.cc-text a{color:#1a76d1;text-decoration:underline}
.cc-actions{flex:0 0 auto;display:flex;flex-wrap:wrap;gap:10px}
.cc-btn{border:none;cursor:pointer;font-family:Poppins,sans-serif;font-size:13px;font-weight:500;padding:11px 20px;border-radius:5px;text-transform:capitalize;transition:all .3s ease;white-space:nowrap}
.cc-btn-deny{background:#fff;color:#2c2d3f;border:1px solid #ccc}
.cc-btn-deny:hover{border-color:#2c2d3f;background:#f6f6f6}
.cc-btn-prefs{background:#fff;color:#1a76d1;border:1px solid #1a76d1}
.cc-btn-prefs:hover{background:#eef5fd}
.cc-btn-allow{background:#1a76d1;color:#fff}
.cc-btn-allow:hover{background:#155fa8}
#cc-reopen{position:fixed;left:18px;bottom:18px;z-index:99999;background:#2c2d3f;color:#fff;border:none;border-radius:50%;width:44px;height:44px;font-size:18px;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.25);display:none;align-items:center;justify-content:center}
#cc-reopen.cc-visible{display:flex}
#cc-reopen:hover{background:#1a76d1}

@media (max-width:767px){
  #cc-banner{padding:16px}
  .cc-actions{width:100%}
  .cc-btn{flex:1 1 auto;text-align:center}
}

/* ===== Privacy Preferences page ===== */
.privacy-prefs{padding:60px 0 90px;background:#f8f8f8}
.privacy-prefs .prefs-card{background:#fff;border-radius:8px;box-shadow:0 0 15px rgba(0,0,0,.08);padding:40px}
.privacy-prefs h1{font-size:28px;font-weight:600;color:#2c2d3f;margin-bottom:10px}
.privacy-prefs .prefs-intro{color:#666;font-size:14px;line-height:1.7;margin-bottom:30px}
.prefs-category{border:1px solid #eee;border-radius:6px;padding:20px 22px;margin-bottom:16px}
.prefs-category-head{display:flex;align-items:center;justify-content:space-between;gap:16px}
.prefs-category-head h3{font-size:16px;font-weight:600;color:#2c2d3f;margin:0}
.prefs-category p{color:#777;font-size:13px;line-height:1.6;margin:8px 0 0}
.prefs-locked{font-size:12px;color:#1a76d1;font-weight:500;background:#eef5fd;padding:4px 10px;border-radius:12px;white-space:nowrap}

/* toggle switch */
.cc-switch{position:relative;display:inline-block;width:46px;height:26px;flex:0 0 auto}
.cc-switch input{opacity:0;width:0;height:0}
.cc-switch .cc-slider{position:absolute;cursor:pointer;inset:0;background:#ccc;transition:.3s;border-radius:26px}
.cc-switch .cc-slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background:#fff;transition:.3s;border-radius:50%}
.cc-switch input:checked + .cc-slider{background:#1a76d1}
.cc-switch input:checked + .cc-slider:before{transform:translateX(20px)}
.cc-switch input:disabled + .cc-slider{background:#9fc7ea;cursor:not-allowed}

.prefs-buttons{margin-top:30px;display:flex;flex-wrap:wrap;gap:12px}
.prefs-buttons .btn{margin:0}
.prefs-status{margin-top:16px;font-size:13px;color:#1a76d1;font-weight:500;display:none}
.prefs-status.cc-visible{display:block}
