/* ============================================================
   KPOP.WANG · 设计师作品详情页（/designer/detail/<id>）页面级样式
   ------------------------------------------------------------
   命名空间：.kdd-page / .kdd-*  —— 仅由本页 <head> 引入，物理隔离
   配色：严格沿用全站浅色品牌蓝规范，不新增色值
         底 #F7F8FA · 卡 #FFFFFF · 浅填充 #F2F3F5 · 边框 #E5E6EB
         主字 #1D2129 · 次字 #4E5969 · 弱字 #86909C
         品牌蓝 #1677FF → #0958D9 · 浅蓝 #E8F3FF
   铁律：
     1) 不写任何全局选择器；不触碰 .kpnav / .kp-foot /
        .kp-contact-float / .kp-ai-chat（全站导航·页脚·客服）
     2) 复用全站已有卡片圆角(14px)与按钮胶囊(60px)规范，不新造组件
     3) 页脚之上、导航之下的中间内容层，才归本文件管
   更新：2026-09-15 首版（重排作品详情页：左右分栏 + 网格画廊 + 设计师卡）
   ============================================================ */

.kdd-page{ background:#F7F8FA; color:#1D2129; }

/* ---------- 1. 顶部标题行（面包屑 + 标题 + 分类/创作者） ---------- */
.kdd-page .cc-hero{ position:relative; background:linear-gradient(135deg,#EAF2FF 0%,#F7FAFF 52%,#EAF2FF 100%); border-bottom:1px solid #E5E6EB; }
.kdd-page .cc-hero-bg{ display:none; }
.kdd-page .cc-container{ max-width:1200px; margin:0 auto; padding:0 16px; }
.kdd-page .cc-hero .cc-container{ padding-top:20px; padding-bottom:20px; }
.kdd-page .cc-crumb{ font-size:13px; color:#86909C; margin-bottom:10px; line-height:1.6; }
.kdd-page .cc-crumb a{ color:#4E5969; text-decoration:none; }
.kdd-page .cc-crumb a:hover{ color:#1677FF; }
.kdd-page .cc-crumb i{ font-style:normal; margin:0 8px; color:#C9CDD4; }
.kdd-page .cc-crumb span{ color:#86909C; }
.kdd-page .cc-hero-title{ margin:0 0 8px; font-size:29px; line-height:1.3; color:#1D2129; font-weight:800; letter-spacing:.3px; }
.kdd-page .cc-hero-sub{ margin:0; color:#4E5969; font-size:14px; line-height:1.7; }

/* ---------- 2. 通用容器 ---------- */
.kdd-wrap{ max-width:1200px; margin:0 auto; padding:22px 16px 56px; }

/* 共创子导航（仅 /cocreate/detail 有该条；浅色化，复用既有 DOM，不新增组件） */
.kdd-page .cc-subnav{ background:#FFFFFF; border-bottom:1px solid #E5E6EB; }
.kdd-page .cc-subnav .cc-container{ display:flex; gap:4px; overflow-x:auto; }
.kdd-page .cc-subnav a{ position:relative; display:block; padding:14px 16px; color:#4E5969; font-size:14.5px; text-decoration:none; white-space:nowrap; }
.kdd-page .cc-subnav a:hover{ color:#1677FF; }
.kdd-page .cc-subnav a.on{ color:#1677FF; font-weight:700; }
.kdd-page .cc-subnav a.on::after{ content:""; position:absolute; left:16px; right:16px; bottom:0; height:2px; border-radius:2px; background:linear-gradient(90deg,#1677FF,#0958D9); }

.kdd-sec-hd{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin:30px 0 14px; }
.kdd-sec-hd h2{ margin:0; font-size:19px; font-weight:700; color:#1D2129; line-height:1.4; }
.kdd-sec-hd h2 i{ display:inline-block; width:3px; height:16px; background:linear-gradient(180deg,#1677FF,#0958D9); border-radius:2px; margin-right:9px; vertical-align:-2px; }
.kdd-sec-hd a{ font-size:13px; color:#1677FF; text-decoration:none; white-space:nowrap; }
.kdd-sec-hd a:hover{ color:#0958D9; }

/* 通用按钮（沿用全站胶囊按钮规范） */
.kdd-btn{ display:inline-flex; align-items:center; justify-content:center; gap:7px; height:46px; padding:0 26px;
  border:0; border-radius:60px; font-size:15px; font-weight:600; line-height:1; cursor:pointer;
  background:linear-gradient(135deg,#1677FF,#0958D9); color:#FFFFFF; text-decoration:none; white-space:nowrap;
  transition:transform .18s, box-shadow .18s, background .18s; }
.kdd-btn:hover{ color:#FFFFFF; box-shadow:0 10px 24px -10px rgba(22,119,255,.65); }
.kdd-btn:active{ transform:scale(.97); }
.kdd-btn--ghost{ background:#FFFFFF; color:#1D2129; border:1px solid #E5E6EB; }
.kdd-btn--ghost:hover{ color:#1677FF; border-color:#1677FF; box-shadow:none; }
.kdd-btn--ghost:disabled{ color:#86909C; border-color:#E5E6EB; cursor:default; }
.kdd-btn svg{ display:block; flex-shrink:0; }

/* ============================================================
   3. 第一大区块：主预览区（左大图 + 右核心业务信息卡）
   ============================================================ */
.kdd-main{ display:grid; grid-template-columns:minmax(0,1fr) 404px; gap:22px; align-items:start; }

/* 左：主模特大图 —— 固定统一容器尺寸，等比裁切，禁止拉伸变形 */
.kdd-media{ position:relative; background:#F2F3F5; border:1px solid #E5E6EB; border-radius:14px; overflow:hidden; }
.kdd-media__img{ display:block; width:100%; aspect-ratio:4/5; object-fit:cover; object-position:center; }
.kdd-media__zoom{ position:absolute; right:12px; bottom:12px; width:40px; height:40px; display:flex; align-items:center; justify-content:center;
  border:0; border-radius:10px; background:rgba(255,255,255,.92); color:#1D2129; cursor:pointer; box-shadow:0 4px 14px rgba(0,0,0,.12); }
.kdd-media__zoom:hover{ background:#1677FF; color:#FFFFFF; }
.kdd-media__zoom svg{ display:block; }

/* 右：核心业务信息卡片（设计说明 / 工艺与成本 / 起订与打样 / 版权说明） */
.kdd-side{ position:sticky; top:14px; }
.kdd-card{ background:#FFFFFF; border:1px solid #E5E6EB; border-radius:14px; padding:20px; }
.kdd-card + .kdd-card{ margin-top:14px; }
.kdd-card__hd{ padding-bottom:14px; border-bottom:1px solid #E5E6EB; margin-bottom:16px; }
.kdd-card__cat{ display:inline-block; background:#E8F3FF; color:#1677FF; border:1px solid rgba(22,119,255,.28);
  border-radius:6px; font-size:12px; line-height:1; padding:5px 9px; margin-bottom:10px; }
.kdd-card__t{ margin:0; font-size:20px; line-height:1.42; font-weight:700; color:#1D2129; }
.kdd-badge{ display:inline-block; vertical-align:2px; margin-left:8px; font-size:12px; font-weight:600; line-height:1;
  padding:5px 9px; border-radius:6px; border:1px solid transparent; }
.kdd-badge--ok{ background:rgba(0,180,42,.08); color:#00B42A; border-color:rgba(0,180,42,.3); }
.kdd-badge--warn{ background:rgba(255,125,0,.08); color:#FF7D00; border-color:rgba(255,125,0,.3); }
.kdd-badge--no{ background:rgba(245,63,63,.08); color:#F53F3F; border-color:rgba(245,63,63,.3); }

/* 供应链参数正文（原 detail 富文本，样式分组但不改一个字） */
.kdd-params{ font-size:14px; line-height:1.85; color:#4E5969; }
.kdd-params h3{ position:relative; margin:20px 0 10px; padding-left:11px; font-size:15px; line-height:1.5; font-weight:700; color:#1D2129; }
.kdd-params h3:first-child{ margin-top:0; }
.kdd-params h3::before{ content:""; position:absolute; left:0; top:4px; bottom:4px; width:3px; border-radius:2px; background:linear-gradient(180deg,#1677FF,#0958D9); }
.kdd-params p{ margin:0 0 10px; }
.kdd-params ul{ margin:0 0 10px; padding:0; list-style:none; }
.kdd-params li{ position:relative; padding-left:16px; margin:6px 0; line-height:1.8; color:#4E5969; }
.kdd-params li::before{ content:""; position:absolute; left:3px; top:.72em; width:5px; height:5px; border-radius:50%; background:#1677FF; opacity:.55; }
.kdd-params b{ color:#1D2129; font-weight:700; }
.kdd-params a{ color:#1677FF; text-decoration:none; border-bottom:1px solid rgba(22,119,255,.32); }
.kdd-params img{ display:block; max-width:100%; height:auto; border-radius:10px; margin:10px 0; }

/* 标签 */
.kdd-tags{ display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; padding-top:14px; border-top:1px solid #E5E6EB; }
.kdd-tags a{ display:inline-block; background:#F2F3F5; color:#4E5969; border-radius:6px; font-size:12.5px; line-height:1;
  padding:7px 11px; text-decoration:none; }
.kdd-tags a:hover{ background:#E8F3FF; color:#1677FF; }
.kdd-tags .kdd-dim{ color:#86909C; font-size:13px; }

/* ============================================================
   4. 第二大区块：操作按钮行（主预览区下方，居中对齐）
   ============================================================ */
.kdd-actions{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:14px; margin:22px 0 0; }
.kdd-actions .kdd-btn{ min-width:150px; }
.kdd-actions .kdd-like__n{ font-style:normal; margin-left:3px; }
.kdd-actions .kdd-btn--ghost:hover .kdd-like__n{ color:#1677FF; }
.kdd-actions .kdd-btn:disabled{ cursor:default; }
.kdd-actions .kdd-btn:disabled:hover{ box-shadow:none; }

/* 投票期次提示 */
.kdd-invote{ display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:16px auto 0; max-width:1200px;
  background:#E8F3FF; border:1px solid rgba(22,119,255,.28); border-radius:12px; padding:13px 18px; font-size:13.5px; color:#4E5969; }
.kdd-invote b{ color:#1677FF; font-size:15px; }
.kdd-invote .kdd-btn{ height:36px; padding:0 16px; font-size:13px; }

/* ============================================================
   5. 第三大区块：素材图库（附加实拍图/工艺图，2 列网格画廊）
   ============================================================ */
.kdd-gallery__grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.kdd-gcard{ position:relative; display:block; background:#F2F3F5; border:1px solid #E5E6EB; border-radius:14px;
  overflow:hidden; cursor:zoom-in; padding:0; border-width:1px; }
.kdd-gcard img{ display:block; width:100%; aspect-ratio:1/1; object-fit:cover; transition:transform .38s ease; }
.kdd-gcard:hover img{ transform:scale(1.045); }
.kdd-gcard::after{ content:"点击放大"; position:absolute; right:10px; bottom:10px; z-index:2;
  background:rgba(0,0,0,.55); color:#FFFFFF; font-size:12px; line-height:1; padding:6px 10px; border-radius:6px;
  opacity:0; transition:opacity .22s; pointer-events:none; }
.kdd-gcard:hover::after{ opacity:1; }

/* ============================================================
   6. 第四大区块：设计师信息卡 + 其他作品横滚
   ============================================================ */
.kdd-designer{ display:grid; grid-template-columns:352px minmax(0,1fr); gap:22px; align-items:start; }
.kdd-dcard{ background:#FFFFFF; border:1px solid #E5E6EB; border-radius:14px; padding:20px; }
.kdd-dcard__top{ display:flex; align-items:center; gap:12px; }
.kdd-avatar{ flex-shrink:0; width:52px; height:52px; border-radius:50%; overflow:hidden; background:#E8F3FF; color:#1677FF;
  display:flex; align-items:center; justify-content:center; font-size:20px; font-weight:700; }
.kdd-avatar img{ width:100%; height:100%; object-fit:cover; display:block; }
.kdd-dcard__name{ min-width:0; }
.kdd-dcard__name b{ display:block; font-size:16px; font-weight:700; color:#1D2129; line-height:1.4; }
.kdd-dcard__name span{ display:block; font-size:12.5px; color:#86909C; line-height:1.6; }
.kdd-cert{ display:inline-flex; align-items:center; gap:4px; margin-top:6px; background:rgba(0,180,42,.08); color:#00B42A;
  border:1px solid rgba(0,180,42,.28); border-radius:6px; font-size:11.5px; line-height:1; padding:4px 8px; }
.kdd-dstat{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin:16px 0 0; padding:14px 0;
  border-top:1px solid #E5E6EB; border-bottom:1px solid #E5E6EB; text-align:center; }
.kdd-dstat div{ min-width:0; }
.kdd-dstat b{ display:block; font-size:19px; font-weight:800; color:#1677FF; line-height:1.3; }
.kdd-dstat span{ display:block; font-size:12.5px; color:#86909C; line-height:1.6; }
.kdd-kv{ margin:14px 0 0; }
.kdd-kv div{ display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:7px 0; font-size:13.5px; line-height:1.7; }
.kdd-kv div + div{ border-top:1px dashed #E5E6EB; }
.kdd-kv span{ color:#86909C; flex-shrink:0; }
.kdd-kv b{ color:#1D2129; font-weight:600; text-align:right; }
.kdd-kv b.kdd-gold{ color:#FF7D00; }
.kdd-dcard .kdd-link{ display:inline-block; margin-top:14px; font-size:13.5px; color:#1677FF; text-decoration:none; }
.kdd-dcard .kdd-link:hover{ color:#0958D9; }

/* 其他作品：横向滚动卡片，统一尺寸 */
.kdd-others__rail{ display:flex; gap:14px; overflow-x:auto; padding:2px 2px 10px; scroll-snap-type:x proximity; }
.kdd-others__rail::-webkit-scrollbar{ height:6px; }
.kdd-others__rail::-webkit-scrollbar-thumb{ background:#DCDFE5; border-radius:3px; }
.kdd-mini{ flex:0 0 190px; width:190px; background:#FFFFFF; border:1px solid #E5E6EB; border-radius:12px;
  overflow:hidden; text-decoration:none; scroll-snap-align:start; transition:box-shadow .22s, border-color .22s; }
.kdd-mini:hover{ border-color:rgba(22,119,255,.5); box-shadow:0 12px 28px -14px rgba(22,119,255,.55); }
.kdd-mini img{ display:block; width:100%; aspect-ratio:1/1; object-fit:cover; background:#F2F3F5; }
.kdd-mini span{ display:block; padding:10px 12px; font-size:13px; line-height:1.55; color:#1D2129;
  overflow:hidden; text-overflow:ellipsis; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.kdd-dim{ color:#86909C; font-size:13px; }

/* ============================================================
   7. 底部：我也要上传作品
   ============================================================ */
.kdd-foot{ display:flex; justify-content:center; margin:30px 0 0; padding-top:26px; border-top:1px solid #E5E6EB; }

/* ============================================================
   8. 图片放大预览（与版型页灯箱同一视觉，页面级隔离）
   ============================================================ */
.kdd-lb{ position:fixed; inset:0; z-index:2000; background:rgba(8,12,22,.86); display:flex; align-items:center; justify-content:center;
  padding:4vh 4vw; -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px); }
.kdd-lb[hidden]{ display:none; }
.kdd-lb img{ max-width:100%; max-height:92vh; border-radius:10px; box-shadow:0 24px 70px rgba(0,0,0,.5); }
.kdd-lb__x{ position:absolute; top:18px; right:22px; width:42px; height:42px; border-radius:50%; border:0;
  background:rgba(255,255,255,.14); color:#FFFFFF; font-size:22px; line-height:1; cursor:pointer; }
.kdd-lb__x:hover{ background:rgba(255,255,255,.26); }

/* ============================================================
   9. 响应式：≤900px 自动转上下流式
   ============================================================ */
@media (max-width:1100px){
  .kdd-main{ grid-template-columns:minmax(0,1fr) 356px; }
  .kdd-designer{ grid-template-columns:320px minmax(0,1fr); }
}
@media (max-width:900px){
  /* 上下流式：大图 → 业务信息卡 → 画廊 → 设计师卡 */
  .kdd-main{ grid-template-columns:minmax(0,1fr); gap:16px; }
  .kdd-side{ position:static; }
  .kdd-designer{ grid-template-columns:minmax(0,1fr); gap:16px; }
  .kdd-page .cc-hero-title{ font-size:23px; }
  .kdd-page .cc-hero-sub{ font-size:13px; }
}
@media (max-width:768px){
  .kdd-wrap{ padding:16px 14px 40px; }
  .kdd-media__img{ aspect-ratio:1/1; }
  .kdd-card{ padding:16px; border-radius:12px; }
  .kdd-card__t{ font-size:17px; }
  .kdd-params{ font-size:13.5px; line-height:1.8; }
  .kdd-params h3{ font-size:14.5px; margin-top:16px; }
  .kdd-dcard{ padding:16px; border-radius:12px; }
  .kdd-mini{ flex:0 0 154px; width:154px; }
  /* 按钮自适应宽度、不重叠：单列铺满 */
  .kdd-actions{ flex-direction:column; align-items:stretch; gap:10px; }
  .kdd-actions .kdd-btn{ width:100%; min-width:0; height:48px; font-size:15px; }
  .kdd-invote{ flex-direction:column; align-items:flex-start; }
  .kdd-sec-hd h2{ font-size:17px; }
}
@media (max-width:420px){
  .kdd-gallery__grid{ gap:10px; }
  .kdd-mini{ flex:0 0 138px; width:138px; }
  .kdd-mini span{ font-size:12.5px; padding:8px 10px; }
  .kdd-page .cc-hero-title{ font-size:20px; }
  .kdd-dstat b{ font-size:17px; }
}
