:root{
  --cc-bg:#0b1220;
  --cc-text:#f8fafc;
  --cc-muted:#cbd5e1;
  --cc-border:rgba(255,255,255,.14);
  --cc-shadow:0 16px 50px rgba(0,0,0,.35);
  --cc-radius:14px;
  --cc-z:99999;
  --cc-max:1100px;
  --cc-btn:#ffffff;
  --cc-btn-text:#0b1220;
  --cc-btn-ghost:rgba(255,255,255,.08);
  --cc-danger:rgba(239,68,68,.14);
  --cc-danger-border:rgba(239,68,68,.35);
  --cc-danger-text:#fecaca;
}

.cc-hidden{display:none!important;}
.cc-lock{overflow:hidden;}

.cc-banner{
  position:fixed;
  left:0; right:0; bottom:0;
  z-index:var(--cc-z);
  padding:12px;
  background:linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.18) 30%, rgba(0,0,0,.35) 100%);
}
.cc-banner__inner{
  max-width:var(--cc-max);
  margin:0 auto;
  background:var(--cc-bg);
  border:1px solid var(--cc-border);
  border-radius:var(--cc-radius);
  box-shadow:var(--cc-shadow);
  color:var(--cc-text);
  padding:14px;
  display:flex;
  gap:12px;
  align-items:flex-start;
}
.cc-banner__text{
  flex:1;
  font-size:14px;
  line-height:1.5;
  color:var(--cc-muted);
}
.cc-banner__text strong{color:var(--cc-text);}
.cc-banner__text a{color:#93c5fd; text-decoration:none;}
.cc-banner__text a:hover{text-decoration:underline;}

.cc-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.cc-btn{
  border:none;
  border-radius:12px;
  padding:10px 12px;
  font-size:14px;
  cursor:pointer;
  user-select:none;
  transition:transform .05s ease, opacity .15s ease, background .15s ease;
}
.cc-btn:active{transform:translateY(1px);}
.cc-btn--primary{background:var(--cc-btn); color:var(--cc-btn-text);}
.cc-btn--ghost{
  background:var(--cc-btn-ghost);
  color:var(--cc-text);
  border:1px solid var(--cc-border);
}
.cc-btn--danger{
  background:var(--cc-danger);
  color:var(--cc-danger-text);
  border:1px solid var(--cc-danger-border);
}

/* modal */
.cc-modal{
  position:fixed;
  inset:0;
  z-index:calc(var(--cc-z) + 1);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:14px;
}
.cc-backdrop{position:absolute; inset:0; background:rgba(0,0,0,.55);}
.cc-dialog{
  position:relative;
  width:min(760px, 100%);
  background:var(--cc-bg);
  border:1px solid var(--cc-border);
  border-radius:16px;
  box-shadow:var(--cc-shadow);
  overflow:hidden;
  color:var(--cc-text);
}
.cc-head{
  padding:16px 16px 10px 16px;
  border-bottom:1px solid var(--cc-border);
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
}
.cc-title{margin:0; font-size:18px;}
.cc-desc{margin:6px 0 0 0; font-size:13px; color:var(--cc-muted); line-height:1.55;}
.cc-close{
  width:38px; height:38px;
  border-radius:12px;
  border:1px solid var(--cc-border);
  background:transparent;
  color:var(--cc-muted);
  cursor:pointer;
}
.cc-close:hover{color:var(--cc-text);}

.cc-body{padding:14px 16px;}
.cc-row{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:12px 0;
  border-bottom:1px dashed rgba(255,255,255,.12);
}
.cc-row:last-child{border-bottom:none;}
.cc-row__main{flex:1;}
.cc-row__label{margin:0 0 4px 0; font-size:14px; font-weight:700;}
.cc-row__hint{margin:0; font-size:13px; color:var(--cc-muted); line-height:1.45;}

/* switch */
.cc-switch{
  position:relative;
  width:46px;
  height:28px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  border:1px solid var(--cc-border);
  cursor:pointer;
  flex:0 0 auto;
}
.cc-switch[data-on="true"]{
  background:rgba(34,197,94,.20);
  border-color:rgba(34,197,94,.45);
}
.cc-switch__dot{
  position:absolute;
  top:3px; left:3px;
  width:22px; height:22px;
  border-radius:999px;
  background:#fff;
  transition:transform .18s ease;
}
.cc-switch[data-on="true"] .cc-switch__dot{transform:translateX(18px);}
.cc-switch[data-disabled="true"]{opacity:.55; cursor:not-allowed;}

.cc-foot{
  padding:12px 16px 16px 16px;
  border-top:1px solid var(--cc-border);
  display:flex;
  justify-content:flex-end;
  gap:10px;
}

@media (max-width:640px){
  .cc-banner__inner{flex-direction:column;}
  .cc-actions{justify-content:flex-start;}
}
/* ===== 覆盖：全宽白底 ===== */
#cookie-policy__card{
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100vw;
  z-index: 99999;
}

#cookie-policy__card .cookie-policy{
  width: 100%;
  max-width: none;          /* 取消最大宽度 */
  margin: 0;
  border-radius: 0;         /* 全宽一般不需要圆角 */
  background: #fff !important;
  color: #111 !important;
  border-top: 1px solid #e5e7eb;
  box-shadow: 0 -8px 24px rgba(0,0,0,.12);
  padding: 14px 16px;
  display: flex;
  align-items: center;
  gap: 14px;
}

#cookie-policy__card .cookie-policy__desc{
  flex: 1;
  color: #111 !important;
  font-size: 14px;
  line-height: 1.5;
}

#cookie-policy__card .cookie-policy__buttons{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

#cookie-policy__card .cookie-policy__personalize-button,
#cookie-policy__card .cookie-policy__accept-button{
  border-radius: 10px;
  padding: 10px 14px;
  font-size: 14px;
  cursor: pointer;
}

/* 让关闭图标在白底可见 */
#cookie-policy__card .cookie-policy__close-icon{
  color: #111 !important;
  cursor: pointer;
  flex: 0 0 auto;
}

/* 手机端：按钮自动换行 */
@media (max-width: 640px){
  #cookie-policy__card .cookie-policy{
    flex-direction: column;
    align-items: stretch;
  }
  #cookie-policy__card .cookie-policy__buttons{
    justify-content: flex-start;
  }
}
#cookie-policy__card .cookie-policy__learnmore{
  color: #2563eb;
  text-decoration: none;
}
#cookie-policy__card .cookie-policy__learnmore:hover{
  text-decoration: underline;
}
