/* EU-style cookie consent (banner + preferences modal) */
#cc-banner, #cc-modal, #cc-settings-btn { font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; }
#cc-banner{
  position: fixed; left: 16px; right: 16px; bottom: 16px;
  z-index: 9999;
  background: rgba(18,22,30,.98);
  color: rgba(255,255,255,.92);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 16px;
  box-shadow: 0 12px 40px rgba(0,0,0,.35);
  max-width: 980px;
  margin: 0 auto;
}
#cc-banner .cc-inner{ display:flex; gap:16px; align-items:flex-start; padding: 16px; flex-wrap: wrap; }
#cc-banner .cc-title{ font-weight: 700; letter-spacing:.2px; }
#cc-banner .cc-text{ flex: 1 1 420px; min-width: 260px; }
#cc-banner p{ margin: 8px 0 0; line-height: 1.4; color: rgba(255,255,255,.82); }
#cc-banner a{ color: rgba(255,255,255,.92); text-decoration: underline; text-underline-offset: 3px; }
#cc-banner .cc-actions{ display:flex; gap:10px; flex: 0 0 auto; align-items:center; flex-wrap: wrap; }
.cc-btn{
  border-radius: 999px;
  padding: 10px 14px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.08);
  color: rgba(255,255,255,.92);
  cursor: pointer;
  font-weight: 650;
}
.cc-btn:hover{ background: rgba(255,255,255,.14); }
.cc-btn.primary{ background: rgba(255,255,255,.92); color: rgba(18,22,30,.98); border-color: rgba(255,255,255,.92); }
.cc-btn.primary:hover{ background: #fff; }
.cc-btn.link{ background: transparent; border-color: transparent; text-decoration: underline; text-underline-offset: 3px; padding-left: 6px; padding-right: 6px; }

#cc-settings-btn{
  position: fixed;
  right: 16px;
  bottom: 16px;
  z-index: 9998;
  border-radius: 999px;
  padding: 10px 12px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(18,22,30,.92);
  color: rgba(255,255,255,.9);
  cursor: pointer;
  display: none;
}
#cc-settings-btn:hover{ background: rgba(18,22,30,.98); }

#cc-modal{
  position: fixed; inset: 0;
  z-index: 10000;
  display: none;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,.55);
  padding: 20px;
}
#cc-modal .cc-card{
  width: min(720px, 100%);
  background: rgba(18,22,30,.98);
  color: rgba(255,255,255,.92);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 18px;
  box-shadow: 0 18px 60px rgba(0,0,0,.45);
}
#cc-modal .cc-head{ padding: 16px 16px 10px; display:flex; align-items:center; justify-content: space-between; gap: 12px; }
#cc-modal .cc-head h2{ margin: 0; font-size: 18px; }
#cc-modal .cc-close{ border:1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.08); color: rgba(255,255,255,.92); border-radius: 12px; padding: 8px 10px; cursor:pointer; }
#cc-modal .cc-body{ padding: 0 16px 16px; }
#cc-modal .cc-body p{ margin: 8px 0 14px; color: rgba(255,255,255,.82); line-height: 1.45; }
#cc-modal .cc-row{
  display:flex; gap: 12px; align-items:flex-start; justify-content: space-between;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 14px;
  padding: 12px;
  margin: 10px 0;
  background: rgba(255,255,255,.04);
}
#cc-modal .cc-row .meta{ flex:1 1 auto; min-width: 260px; }
#cc-modal .cc-row .meta .k{ font-weight: 700; }
#cc-modal .cc-row .meta .d{ margin-top: 6px; font-size: 13px; color: rgba(255,255,255,.78); }
#cc-modal .cc-toggle{ flex: 0 0 auto; display:flex; align-items:center; gap: 10px; }
#cc-modal .cc-toggle input{ width: 18px; height: 18px; }
#cc-modal .cc-foot{
  padding: 12px 16px 16px;
  display:flex; gap: 10px; justify-content: flex-end; flex-wrap: wrap;
}
@media (max-width: 520px){
  #cc-banner{ left: 10px; right: 10px; bottom: 10px; }
  #cc-settings-btn{ right: 10px; bottom: 10px; }
}


/* screen-reader only */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
