/* Folder: /assets/styles | File: footer.css
   Purpose: Rebuilt footer to match site design system.
   Note: Uses global CSS variables defined in main.css. */

/* ===== Base ===== */
.site-footer {
  margin-top: 3rem;
  color: var(--fg);
  background: transparent;
}

/* ===== Wave Decoration ===== */
.footer__wave {
  margin: 50px 0 -5px;
}
.footer__wave-svg {
  display: block;
  width: 100%;
  height: auto;
  overflow: hidden;
}
.footer__wave-path {
  fill: var(--brand);            /* 由主题统一控制品牌色 */
  opacity: 1;                    /* 基础不透明度 */
  fill: color-mix(in oklab, var(--brand), white 14%);
}
.footer__wave-path.is-0 { opacity: .25; }
.footer__wave-path.is-1 { opacity: .35; }
.footer__wave-path.is-2 { opacity: .35; }
.footer__wave-path.is-3 { opacity: 1; }

/* ===== Footer content ===== */
.footer {
  padding: 1.5rem 0 1rem;
  /*background: linear-gradient(330deg, color-mix(in oklab, var(--brand) 35%, transparent), transparent 60%);*/
  background: radial-gradient(900px 600px at 50% 0%, rgba(168, 174, 206, .18), transparent 60%), radial-gradient(900px 600px at 20% 80%, rgba(168, 74, 206, .18), transparent 60%), radial-gradient(1200px 800px at 100% 95%, rgba(92, 9, 49, .28), transparent 60%), var(--bg);
  border-top: 1px solid var(--border);
}

.footer__grid {
  display: grid;
  /* Auto-wrap cards: each block min 280px, grow to fill row */
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1rem;
}

.footer__grid hr {
  grid-column: 1 / -1; /* hr 横跨所有列 */
  border: none;
  border-top: 1px solid;
  margin: 1.2rem 0;
  opacity: .4;
}

.footer__block {
  /*background: var(--card);*/
  /*border: 1px solid var(--border);*/
  border-radius: 1rem;
  padding: 1rem;
  display: grid;
  gap: .5rem;
  min-height: 80px;
}

.footer__title {
  margin: 0 0 .25rem 0;
  font-size: 1.05rem;
  letter-spacing: .01em;
}
.footer__desc {
  margin: 0;
  color: var(--muted);
  font-size: .92rem;
}

/* List */
.footer__list {
  margin: .25rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: .5rem;
}
.footer__item {
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: .5rem;
  align-items: center;
}
.footer__label {
  color: var(--muted);
  font-size: .92rem;
}
.footer__value {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  flex-wrap: wrap;
}
.footer__value span{
    cursor: pointer;
}
.footer__sep {
  color: var(--muted);
}

/* Code chip */
.footer__code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
  font-size: .9rem;
  padding: .1rem .4rem;
  border-radius: .4rem;
  /*border: 1px dashed var(--border);*/
  /*background: color-mix(in oklab, var(--card), var(--bg) 30%);*/
}

/* Buttons (reuse site tokens) */
.footer .btn {
  border-radius: .6rem;
  /*border: 1px solid var(--border);*/
  background: var(--card);
  color: var(--fg);
  padding: .35rem .6rem;
  cursor: pointer;
}
.footer .btn:hover { background: var(--card-hover); }
.footer .btn--ghost { background: transparent; /*border-color: var(--border);*/ }
.footer .btn--xs { font-size: .8rem; padding: .25rem .5rem; }

/* 占整行 + 左右分布 */
.footer__bottom {
  grid-column: 1 / -1;                 /* 继续跨整行 */
  display: flex;
  align-items: center;
  justify-content: space-between;      /* 左右分布 */
  gap: .75rem;
  /*border-top: 1px solid var(--border);*/
  padding-top: .6rem;
}

/* 右侧语言切换“float right”的现代写法 */
.footer__locale {
  display: flex;
  align-items: center;
  gap: .4rem;
  color: var(--muted);
  margin-left: auto;                    /* 靠右推 */
}
.footer__locale a {
  color: inherit;
  text-decoration: none;
  padding: .1rem .25rem;
  border-radius: .4rem;
}
/*.footer__locale a:hover { color: var(--fg); background: var(--card-hover); }*/
.footer__locale .sep { opacity: .45; margin: 0 .15rem; }
.footer__icon { margin-right: .2rem; }

/* A11y */
.site-footer a { color: inherit; text-decoration: none; }
.site-footer a:focus-visible, .btn:focus-visible { outline: var(--ring); }

@media (max-width: 600px) {
  .footer__bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: .4rem;
  }
  .footer__locale { margin-left: 0; }
}