/* =========================================================
   GreenFuture 主题 - 产品详情页样式
   面包屑 / 画廊 / 产品信息 / 描述富文本 / 相关产品 / 询价弹窗
   仅 front/product-detail.html 引用
   公共样式：gf/base.css（按钮、产品卡片）+ gf/sidebar.css（侧边栏）
   弹窗体系：gf/footer.css（.modal-*）
   ========================================================= */

/* ===== 面包屑条（公共样式，见 gf/base.css .gf-breadcrumb） ===== */

/* ===== 页面布局：主内容 + 右侧边栏 ===== */
.pd-page { padding: 48px 0 80px; }
.pd-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 32px; align-items: start; }

/* ===== 产品主卡片（画廊 + 信息） ===== */
.pd-card {
    background: var(--surface); border: 1px solid var(--border);
    border-radius: var(--radius); box-shadow: var(--shadow); padding: 36px;
}
.pd-top { display: grid; grid-template-columns: minmax(0, 46%) 1fr; gap: 40px; }

/* --- 画廊 --- */
.pd-gallery-main {
    position: relative; border-radius: var(--radius); overflow: hidden;
    border: 1px solid var(--border); background: var(--bg); aspect-ratio: 1;
}
.pd-gallery-main img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s; }
.pd-gallery-main:hover img { transform: scale(1.05); }
.pd-gallery-placeholder {
    width: 100%; height: 100%; display: flex; align-items: center; justify-content: center;
    font-size: 72px; color: var(--border);
}
.pd-thumbs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; margin-top: 12px; }
.pd-thumb {
    border-radius: var(--radius-sm); overflow: hidden; cursor: pointer;
    border: 2px solid var(--border); background: var(--bg);
    aspect-ratio: 1; opacity: 0.65; transition: var(--transition); padding: 0;
}
.pd-thumb img { width: 100%; height: 100%; object-fit: cover; }
.pd-thumb:hover { opacity: 1; border-color: var(--primary-light); transform: translateY(-2px); }
.pd-thumb.active {
    opacity: 1; border-color: var(--primary);
    box-shadow: 0 4px 14px rgba(6,182,212,0.3);
}

/* --- 产品信息 --- */
.pd-cat-chip {
    display: inline-block; padding: 5px 14px; border-radius: 20px;
    background: linear-gradient(135deg, var(--primary-light), #D1FAE5);
    color: var(--primary-dark); font-size: 12px; font-weight: 700;
    text-transform: uppercase; letter-spacing: 0.8px; margin-bottom: 14px;
}
.pd-cat-chip:hover { color: var(--accent-dark); }
.pd-title { font-size: 30px; font-weight: 800; color: var(--secondary); line-height: 1.25; margin-bottom: 12px; }
.pd-sku {
    display: inline-flex; align-items: center; gap: 6px;
    font-size: 13px; font-weight: 600; color: var(--text-muted);
    background: var(--bg); border: 1px solid var(--border);
    padding: 4px 12px; border-radius: 8px; margin-bottom: 18px;
}
.pd-short { font-size: 15px; color: var(--text-muted); line-height: 1.8; margin-bottom: 20px; }
.pd-short p { margin-bottom: 8px; }

/* 元信息：分类 / 标签 */
.pd-meta { border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); padding: 16px 0; margin-bottom: 24px; }
.pd-meta-row { display: flex; align-items: baseline; gap: 14px; padding: 6px 0; }
.pd-meta-label {
    flex-shrink: 0; width: 92px;
    font-size: 12px; font-weight: 700; color: var(--text-muted);
    text-transform: uppercase; letter-spacing: 0.8px;
}
.pd-meta-value { font-size: 14px; }
.pd-meta-value a { color: var(--secondary-light); font-weight: 600; }
.pd-meta-value a:hover { color: var(--primary); }
.pd-tag-chip {
    display: inline-block; padding: 4px 14px; margin: 2px 6px 2px 0;
    border-radius: 20px; border: 1px solid var(--primary-light);
    background: #ECFEFF; color: var(--primary-dark);
    font-size: 12.5px; font-weight: 600; transition: var(--transition);
}
.pd-tag-chip:hover {
    background: linear-gradient(135deg, var(--primary), var(--accent));
    color: #fff; border-color: transparent; transform: translateY(-1px);
}

/* CTA 区 */
.pd-cta { display: flex; gap: 14px; }
.pd-cta .btn-primary {
    flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    padding: 14px 28px; font-size: 15px; border-radius: 28px;
}

/* ===== 区块标题（左对齐 + 渐变下划线，呼应 gf 侧边栏标题） ===== */
.pd-section-title {
    font-size: 22px; font-weight: 800; color: var(--secondary);
    padding-bottom: 14px; margin-bottom: 24px; position: relative;
}
.pd-section-title::after {
    content: ''; position: absolute; bottom: 0; left: 0;
    width: 56px; height: 4px; border-radius: 2px;
    background: linear-gradient(90deg, var(--primary), var(--accent));
}

/* ===== 产品描述（富文本 th:utext 区域；排版复用 gf/base.css .gf-richtext） ===== */
.pd-desc-card { margin-top: 32px; }

/* ===== 相关产品（卡片基础样式见 gf/base.css .product-card，此处为本页微调） ===== */
.pd-related-card-wrap { margin-top: 32px; }
.pd-related-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.pd-related-grid .img-wrap { height: 180px; }
.pd-related-grid .img-wrap img { transition: transform 0.6s; }
.pd-related-grid .product-card:hover .img-wrap img { transform: scale(1.08); }
.pd-related-grid .card-cat {
    font-size: 11px; font-weight: 700; color: var(--primary-dark);
    text-transform: uppercase; letter-spacing: 0.6px;
    display: block; margin-bottom: 6px;
}
.pd-related-grid h3 { font-size: 15px; line-height: 1.4; margin-bottom: 0; }
.pd-related-grid h3 a:hover { color: var(--primary); }
.pd-related-grid .card-link { display: inline-flex; align-items: center; gap: 6px; margin-top: 10px; font-size: 13px; font-weight: 700; color: var(--primary); }
.pd-related-grid .card-link:hover { color: var(--accent-dark); gap: 10px; }

/* ===== 响应式（.gf-sidebar 的响应式规则为公共样式，见 gf/sidebar.css） ===== */
@media (max-width: 1080px) {
    .pd-layout { grid-template-columns: 1fr; }
}
@media (max-width: 860px) {
    .pd-top { grid-template-columns: 1fr; gap: 28px; }
    .pd-related-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
    .pd-page { padding: 28px 0 56px; }
    .pd-card { padding: 22px; }
    .pd-title { font-size: 22px; }
    .pd-thumbs { grid-template-columns: repeat(4, 1fr); }
    .pd-cta { flex-direction: column; }
    .pd-meta-label { width: 76px; }
}
