/* ========== friends-matery.css (clean) ========== */

/* 顶部标题 */
.friends-hero{margin:16px 0 24px;text-align:center}
.friends-hero h1{font-size:2rem;margin:0}

/* 网格容器 */
.friends-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:18px;
}

/* 卡片基础（白卡） */
.friend-card{
  position:relative;
  padding:20px;
  border-radius:20px;
  border:1px solid var(--card-border,rgba(0,0,0,.06));
  background:var(--card-bg,rgba(255,255,255,.6));
  box-shadow:0 8px 26px rgba(0,0,0,.08);
  backdrop-filter:saturate(1.05) blur(2px);
  will-change:transform;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

/* 悬停动效 */
.friend-card:hover{transform:translateY(-4px);box-shadow:0 14px 36px rgba(0,0,0,.12)}

/* —— 布局：左图右文 + 按钮吸底 —— */
.friend-card{
  display:grid;
  grid-template-columns:84px minmax(0,1fr);  /* 左头像 / 右内容 */
  grid-template-rows:auto 1fr auto;          /* 标题 | 描述 | 按钮 */
  column-gap:16px;
  row-gap:8px;
  align-items:start;
  min-height:190px;
}

/* 头像 */
.friend-card .avatar{
  grid-column:1; grid-row:1 / span 3;
  width:84px;height:84px;border-radius:50%;
  border:3px solid transparent;object-fit:cover;align-self:center;
}

/* 右侧信息区 */
.friend-card .meta{grid-column:2;grid-row:1 / span 2;min-width:0;display:flex;flex-direction:column}

/* 标题更大 */
.friend-card h3{
  margin:0;
  font-weight:800;
  font-size:1.5rem;
  line-height:1.25;
  letter-spacing:.2px;
}

/* 分隔线（白卡下为浅灰，渐变模式下会自动变浅白） */
.friend-card .title-line{
  width:56px;height:3px;border-radius:2px;
  background:rgba(0,0,0,.12);
  margin:6px 0 8px;
}

/* 描述，两行省略 */
.friend-card p{
  margin:0;opacity:.9;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden;white-space:normal;
}

/* 按钮吸底 */
.friend-card .btn{
  grid-column:2;grid-row:3;justify-self:center; /* 居中改为 center */
  margin:0;border-radius:999px;
  padding:.5rem .9rem;
  border:1px solid rgba(0,0,0,.08);
  font-weight:700;line-height:1;text-decoration:none;
}
.friend-card .btn:hover{box-shadow:0 6px 18px rgba(0,0,0,.12)}

/* 键盘可见焦点 */
.friend-card:focus-within{outline:3px solid rgba(59,130,246,.5);outline-offset:2px}

/* 深色模式 */
:root[theme='dark'] .friend-card{
  --card-bg:rgba(18,18,18,.65);
  --card-border:rgba(255,255,255,.08);
  box-shadow:0 10px 30px rgba(0,0,0,.45);
}

/* 低动效偏好 */
@media (prefers-reduced-motion: reduce){
  .friend-card,.friend-card:hover{transform:none}
}

/* ===== 渐变彩卡（在容器 .friends-grid 上加 .gradient 即可启用） ===== */
.friends-grid.gradient .friend-card{
  border:none;background:transparent;color:#fff;box-shadow:0 16px 36px rgba(0,0,0,.25);
}
.friends-grid.gradient .friend-card::before{
  content:"";position:absolute;inset:0;border-radius:inherit;z-index:0;
  background:linear-gradient(135deg,var(--g1,#00c6ff),var(--g2,#0072ff));
}
.friends-grid.gradient .friend-card > *{position:relative;z-index:1}
.friends-grid.gradient .title-line{background:rgba(255,255,255,.35)}
.friends-grid.gradient .avatar{border-color:rgba(255,255,255,.75)}
.friends-grid.gradient .btn{background:rgba(255,255,255,.95);color:#111;border-color:transparent}
.friends-grid.gradient .btn:hover{box-shadow:0 10px 24px rgba(0,0,0,.28)}

/* 6 组轮换渐变色（可按需改） */
.friends-grid.gradient .friend-card:nth-child(6n+1){--g1:#00c6ff;--g2:#0072ff}
.friends-grid.gradient .friend-card:nth-child(6n+2){--g1:#7f00ff;--g2:#e100ff}
.friends-grid.gradient .friend-card:nth-child(6n+3){--g1:#f093fb;--g2:#f5576c}
.friends-grid.gradient .friend-card:nth-child(6n+4){--g1:#36d1dc;--g2:#5b86e5}
.friends-grid.gradient .friend-card:nth-child(6n+5){--g1:#4facfe;--g2:#00f2fe}
.friends-grid.gradient .friend-card:nth-child(6n){--g1:#fa709a;--g2:#fee140}

/* 小屏优化 */
@media (max-width:480px){
  .friend-card{grid-template-columns:72px 1fr;min-height:170px}
  .friend-card .avatar{width:72px;height:72px}
  .friend-card h3{font-size:1.12rem}
}
/* ========== friends-matery.css (clean) ========== */

/* 顶部标题 */
.friends-hero{margin:16px 0 24px;text-align:center}
.friends-hero h1{font-size:2rem;margin:0}

/* 网格容器 */
.friends-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:18px;
}

/* 卡片基础（白卡） */
.friend-card{
  position:relative;
  padding:20px;
  border-radius:20px;
  border:1px solid var(--card-border,rgba(0,0,0,.06));
  background:var(--card-bg,rgba(255,255,255,.6));
  box-shadow:0 8px 26px rgba(0,0,0,.08);
  backdrop-filter:saturate(1.05) blur(2px);
  will-change:transform;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

/* 悬停动效 */
.friend-card:hover{transform:translateY(-4px);box-shadow:0 14px 36px rgba(0,0,0,.12)}

/* —— 布局：左图右文 + 按钮吸底 —— */
.friend-card{
  display:grid;
  grid-template-columns:84px minmax(0,1fr);  /* 左头像 / 右内容 */
  grid-template-rows:auto 1fr auto;          /* 标题 | 描述 | 按钮 */
  column-gap:16px;
  row-gap:8px;
  align-items:start;
  min-height:190px;
}

/* 头像 */
.friend-card .avatar{
  grid-column:1; grid-row:1 / span 3;
  width:84px;height:84px;border-radius:50%;
  border:3px solid transparent;object-fit:cover;align-self:center;
}

/* 右侧信息区 */
.friend-card .meta{grid-column:2;grid-row:1 / span 2;min-width:0;display:flex;flex-direction:column}

/* 标题更大 */
.friend-card h3{
  margin:0;
  font-weight:800;
  font-size:1.25rem;
  line-height:1.25;
  letter-spacing:.2px;
}

/* 分隔线（白卡下为浅灰，渐变模式下会自动变浅白） */
.friend-card .title-line{
  width:56px;height:3px;border-radius:2px;
  background:rgba(0,0,0,.12);
  margin:6px 0 8px;
}

/* 描述，两行省略 */
.friend-card p{
  margin:0;opacity:.9;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden;white-space:normal;
}

/* 按钮吸底 */
.friend-card .btn{
  grid-column:2;grid-row:3;justify-self:start; /* 居中改为 center */
  margin:0;border-radius:999px;
  padding:.5rem .9rem;
  border:1px solid rgba(0,0,0,.08);
  font-weight:700;line-height:1;text-decoration:none;
}
.friend-card .btn:hover{box-shadow:0 6px 18px rgba(0,0,0,.12)}

/* 键盘可见焦点 */
.friend-card:focus-within{outline:3px solid rgba(59,130,246,.5);outline-offset:2px}

/* 深色模式 */
:root[theme='dark'] .friend-card{
  --card-bg:rgba(18,18,18,.65);
  --card-border:rgba(255,255,255,.08);
  box-shadow:0 10px 30px rgba(0,0,0,.45);
}

/* 低动效偏好 */
@media (prefers-reduced-motion: reduce){
  .friend-card,.friend-card:hover{transform:none}
}

/* ===== 渐变彩卡（在容器 .friends-grid 上加 .gradient 即可启用） ===== */
.friends-grid.gradient .friend-card{
  border:none;background:transparent;color:#fff;box-shadow:0 16px 36px rgba(0,0,0,.25);
}
.friends-grid.gradient .friend-card::before{
  content:"";position:absolute;inset:0;border-radius:inherit;z-index:0;
  background:linear-gradient(135deg,var(--g1,#00c6ff),var(--g2,#0072ff));
}
.friends-grid.gradient .friend-card > *{position:relative;z-index:1}
.friends-grid.gradient .title-line{background:rgba(255,255,255,.35)}
.friends-grid.gradient .avatar{border-color:rgba(255,255,255,.75)}
.friends-grid.gradient .btn{background:rgba(255,255,255,.95);color:#111;border-color:transparent}
.friends-grid.gradient .btn:hover{box-shadow:0 10px 24px rgba(0,0,0,.28)}

/* 6 组轮换渐变色（可按需改） */
.friends-grid.gradient .friend-card:nth-child(6n+1){--g1:#00c6ff;--g2:#0072ff}
.friends-grid.gradient .friend-card:nth-child(6n+2){--g1:#7f00ff;--g2:#e100ff}
.friends-grid.gradient .friend-card:nth-child(6n+3){--g1:#f093fb;--g2:#f5576c}
.friends-grid.gradient .friend-card:nth-child(6n+4){--g1:#36d1dc;--g2:#5b86e5}
.friends-grid.gradient .friend-card:nth-child(6n+5){--g1:#4facfe;--g2:#00f2fe}
.friends-grid.gradient .friend-card:nth-child(6n){--g1:#fa709a;--g2:#fee140}

/* 小屏优化 */
@media (max-width:480px){
  .friend-card{grid-template-columns:72px 1fr;min-height:170px}
  .friend-card .avatar{width:72px;height:72px}
  .friend-card h3{font-size:1.12rem}
}


/* —— 布局与间距微调 —— */
.friends-grid{
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); /* 卡片更稳 */
  gap:18px;
}
.friend-card{
  padding:20px;
  border-radius:20px;
  display:flex;              /* 统一卡片高度 */
  flex-direction:column;
  min-height:190px;
  will-change:transform;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  border:1px solid var(--card-border, rgba(0,0,0,.06));
  box-shadow:0 8px 26px rgba(0,0,0,.08);
}
.friend-card:hover{
  transform:translateY(-4px);
  box-shadow:0 14px 36px rgba(0,0,0,.12);
}

/* —— 头像、标题、描述 —— */
.friend-card .avatar{
  width:80px; height:80px;
  margin:2px 0 12px;
  border-radius:50%;
  border:3px solid transparent;
}
.friend-card h3{
  margin:.1rem 0 .35rem;
  font-weight:800;
  letter-spacing:.2px;
}
.friend-card p{
  margin:0 0 1rem;
  opacity:.9;
  /* 描述两行省略 */
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  white-space:normal;
}

/* —— 按钮强化，贴底 —— */
.friend-card .btn{
  margin-top:auto;
  border-radius:999px;
  padding:.5rem .9rem;
  border:1px solid rgba(0,0,0,.08);
  font-weight:700;
}
.friend-card .btn:hover{ box-shadow:0 6px 18px rgba(0,0,0,.12); }

/* —— 可见焦点（键盘无障碍） —— */
.friend-card:focus-within{
  outline:3px solid rgba(59,130,246,.5);
  outline-offset:2px;
}

/* —— 深色模式对比度 —— */
:root[theme='dark'] .friend-card{
  --card-bg:rgba(18,18,18,.65);
  --card-border:rgba(255,255,255,.08);
  box-shadow:0 10px 30px rgba(0,0,0,.45);
}

/* —— 低动效偏好 —— */
@media (prefers-reduced-motion: reduce){
  .friend-card, .friend-card:hover{ transform:none; }
}

/* =========================
   可选：渐变彩卡风格（开关见第 3 部分）
   ========================= */
.friends-grid.gradient .friend-card{
  position:relative;
  border:none;
  color:#fff;
  background:transparent;
  box-shadow:0 16px 36px rgba(0,0,0,.25);
}
.friends-grid.gradient .friend-card::before{
  content:"";
  position:absolute; inset:0; z-index:0; border-radius:inherit;
  background:linear-gradient(135deg,var(--g1,#00c6ff),var(--g2,#0072ff));
}
.friends-grid.gradient .friend-card > *{ position:relative; z-index:1; }
.friends-grid.gradient .avatar{ border-color:rgba(255,255,255,.7); }
.friends-grid.gradient .btn{
  background:rgba(255,255,255,.92);
  color:#111; border-color:transparent;
}
.friends-grid.gradient .btn:hover{ box-shadow:0 10px 24px rgba(0,0,0,.28); }

/* 自动配色（6色轮替），想要更个性可以自行改色值 */
.friends-grid.gradient .friend-card:nth-child(6n+1){ --g1:#00c6ff; --g2:#0072ff; }
.friends-grid.gradient .friend-card:nth-child(6n+2){ --g1:#7f00ff; --g2:#e100ff; }
.friends-grid.gradient .friend-card:nth-child(6n+3){ --g1:#f093fb; --g2:#f5576c; }
.friends-grid.gradient .friend-card:nth-child(6n+4){ --g1:#36d1dc; --g2:#5b86e5; }
.friends-grid.gradient .friend-card:nth-child(6n+5){ --g1:#4facfe; --g2:#00f2fe; }
.friends-grid.gradient .friend-card:nth-child(6n){   --g1:#fa709a; --g2:#fee140; }

/* —— 按钮加长（覆盖前面的规则） —— */
.friends-grid .friend-card .btn{
  min-width: 250px;      /* 想再长一点就调成 180/200px */
  padding: .6rem 1.2rem; /* 稍加粗手感 */
  font-size: .95rem;
  letter-spacing: .2px;
}

/* 小屏略收一点 */
@media (max-width: 480px){
  .friends-grid .friend-card .btn{ min-width: 140px; }
}
