/* ---------- LAKEFOX section-cookie-banner.css ----------
   任务 11 — 全局 Cookie 同意横幅（GDPR）

   契约（与 assets/cookie-banner.js 一字不差）：
     [data-lf-cookie-banner] 容器 → JS 隐藏时加 .lf-cookie-banner--hidden
   §7 动效：仅 transform + opacity，--duration-slow + --ease-out；
   prefers-reduced-motion 由 base.css §12 全局降级（0.01ms），JS 另有兜底。
   层级：z-index 1000，压在水印（0）之上、低于跳过链接（9999）。
   按钮外观不重写：accept=金底深字（--button-primary-*）、reject=砖红底白字
   （--button-secondary-*）由 base.css .lf-btn 系列承担，min-height 44px。 */

.lf-cookie-banner {
  /* 定位：fixed 底部，移动端全宽（375px 基线，§6 mobile-first） */
  position: fixed;
  inset-inline: 0;
  bottom: 0;
  margin-inline: auto;
  width: 100%;
  z-index: 1000; /* 水印(0) 之上，跳过链接(9999) 之下 */

  /* 表面：卡片令牌 */
  background: var(--bg-white);
  color: var(--text-primary);
  border: 1px solid var(--color-card-border);
  border-inline: 0;
  border-bottom: 0;
  border-radius: 0;
  box-shadow: var(--shadow-lift);
  padding: var(--space-4) var(--space-6);

  /* 入场（§7：仅 transform + opacity，ease-out） */
  animation: lf-cookie-banner-in var(--duration-slow) var(--ease-out) both;
}

/* JS 已完成选择 → 隐藏（display:none 从布局/读屏/焦点全部移除） */
.lf-cookie-banner--hidden {
  display: none;
}

.lf-cookie-banner__text {
  margin-block-end: var(--space-3); /* 逻辑写法（原 margin: 0 0 var(--space-3) 物理 shorthand） */
  font-size: var(--text-3); /* 14px 移动端 */
  line-height: var(--leading-body);
  color: var(--text-primary);
}

/* 按钮行：两按钮等宽（客户 2026-09 核对：接受/拒绝对齐）+ 可换行，间隙 --space-3 */
.lf-cookie-banner__actions {
  display: grid;
  grid-template-columns: 1fr 1fr; /* 两按钮等宽 */
  gap: var(--space-3);
}

.lf-cookie-banner__actions .lf-btn {
  width: 100%; /* 网格内撑满、文本居中（base .lf-btn 已 center） */
}

/* 极窄屏（<340px）：按钮换行堆叠，仍等宽 */
@media (max-width: 340px) {
  .lf-cookie-banner__actions {
    grid-template-columns: 1fr;
  }
}

/* 焦点可见性（键盘导航）：全局 focus-visible 基础上再明确一次 */
.lf-cookie-banner .lf-btn:focus-visible,
.lf-cookie-banner a:focus-visible {
  outline: 2px solid var(--acc);
  outline-offset: 2px;
}

/* 链接：非按钮，--text-primary 下划线（§5.1 Link 变体），触摸 ≥44px */
.lf-cookie-banner__links {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
  margin-block-start: var(--space-3);
}

.lf-cookie-banner__links a {
  display: inline-flex;
  align-items: center;
  min-height: 44px; /* 触摸目标（§8 链接 ≥44px） */
  color: var(--text-primary);
  font-size: var(--text-3);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.lf-cookie-banner__links a:hover {
  color: var(--acc-hi); /* 深底链接 hover = 亮朱（G§02 深底强调） */
}

/* 桌面 ≥768px：居中卡片，max-width ≈720px（§6 breakpoint-tablet） */
@media (min-width: 768px) {
  .lf-cookie-banner {
    bottom: var(--space-6);
    width: min(720px, calc(100% - var(--space-6) * 2));
    border: 1px solid var(--color-card-border);
    border-radius: var(--radius-card);
    padding: var(--space-4) var(--space-6);
  }

  .lf-cookie-banner__text,
  .lf-cookie-banner__links a {
    font-size: var(--text-5); /* 16px 桌面 */
  }
}

@keyframes lf-cookie-banner-in {
  from {
    transform: translateY(16px);
    opacity: 0;
  }
  to {
    transform: none;
    opacity: 1;
  }
}
