/* Cookie 同意条 + 年龄提示（独立文件，landing/legal 也要加载）*/
/* ==========================================================================
   Cookie 同意条 / 年龄提示
   ========================================================================== */
.consent-bar{
  position:fixed;left:50%;transform:translate(-50%,140%);z-index:400;
  bottom:calc(env(safe-area-inset-bottom) + 16px);
  width:min(760px,calc(100% - 24px));
  display:flex;align-items:center;gap:16px;flex-wrap:wrap;
  padding:14px 18px;border-radius:14px;
  background:rgba(20,21,22,.96);backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.14);box-shadow:0 18px 50px rgba(0,0,0,.55);
  transition:transform .35s cubic-bezier(.34,.06,.36,1),opacity .3s ease;
  opacity:0;
}
.consent-bar.is-show{transform:translate(-50%,0);opacity:1}
.consent-bar__text{flex:1;min-width:240px;font-size:13px;line-height:1.6;color:var(--text-muted)}
.consent-bar__text b{color:#fff;display:block;margin-bottom:2px;font-size:13.5px}
.consent-bar__text a{color:var(--primary);text-decoration:underline}
.consent-bar__actions{display:flex;gap:10px;flex-wrap:wrap}
.consent-btn{
  padding:10px 18px;border-radius:9999px;font-size:13px;font-weight:700;
  background:var(--primary);color:#fff;border:0;transition:filter .2s ease,background .2s ease;
}
.consent-btn:hover{filter:brightness(1.08)}
.consent-btn--ghost{background:rgba(255,255,255,.1);color:var(--text-dim)}
.consent-btn--ghost:hover{background:rgba(255,255,255,.18);color:#fff}
.age-note{
  display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:6px;
  border:1px solid rgba(255,255,255,.22);font-size:11px;font-weight:700;letter-spacing:.4px;
  color:var(--text-muted);text-transform:uppercase;
}
@media (max-width:600px){
  .consent-bar{flex-direction:column;align-items:stretch;gap:12px}
  .consent-bar__actions{justify-content:flex-end}
}

/* 同意条出现时，把落地页/详情页的固定 CTA 顶上去，避免遮挡 */
body.consent-open .ns-cta-wrap{
  bottom:calc(max(1rem,env(safe-area-inset-bottom)) + 7.4rem);
}
.ns-cta-wrap{transition:bottom .35s cubic-bezier(.34,.06,.36,1)}
@media (max-width:600px){
  body.consent-open .ns-cta-wrap{bottom:calc(max(1rem,env(safe-area-inset-bottom)) + 9.6rem)}
}
