/* Product catalogue / detail pages — TIANZI OEM */

/* page head (shared by listing + detail) */
.page-head{
  background:linear-gradient(120deg,#06333d 0%,#0a4653 55%,#00aebb 140%);
  color:#fff;padding:52px 0 46px;position:relative;overflow:hidden;
}
.page-head:after{
  content:"";position:absolute;right:-90px;top:-110px;width:340px;height:340px;
  background:radial-gradient(circle,rgba(255,255,255,.13),transparent 62%);
}
.page-head .wrap{position:relative;z-index:1}
.page-head .eyebrow{color:#7fd6df;letter-spacing:.2em;font-size:.72rem;
  text-transform:uppercase;font-weight:700;margin:0 0 10px}
.page-head h1{color:#fff;margin:0 0 12px;font-size:2rem;max-width:820px;line-height:1.25}
.page-head .lede{color:#cfe6ea;margin:0;max-width:760px;font-size:1rem}
.crumb{font-size:.78rem;color:#9fc4cb;margin-bottom:14px}
.crumb a{color:#9fc4cb}
.crumb a:hover{color:#fff}
.crumb span{color:#fff}

/* category block on listing */
.pcat{margin:0 0 38px}
.pcat h2{font-size:1.15rem;margin:0 0 16px;color:var(--deep);
  border-left:3px solid var(--teal);padding-left:10px}

/* product card */
.grid-3{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.pcard{display:block;background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:0;overflow:hidden;transition:.18s;text-decoration:none;color:inherit}
.pcard:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(6,51,61,.12);
  border-color:#c8e6ea}
.pcard .pimg{display:block;height:210px;background:#f2f7f8;overflow:hidden}
.pcard .pimg img{width:100%;height:100%;object-fit:contain;display:block;transition:.3s;padding:8px}
.pcard:hover .pimg img{transform:scale(1.04)}
.pnoimg{display:flex;align-items:center;justify-content:center;height:100%;
  color:#c3d3d8;font-weight:800;letter-spacing:.18em;font-size:.85rem}
.pcard h3{margin:14px 16px 6px;font-size:1rem;color:var(--deep);line-height:1.4}
.pcard p{margin:0 16px 12px;font-size:.85rem;color:var(--body);min-height:2.6em}
.pcard .spec{margin:0 16px 12px;padding:0;list-style:none;
  border-top:1px solid var(--line);padding-top:10px}
.pcard .spec li{display:flex;justify-content:space-between;font-size:.78rem;padding:2px 0}
.pcard .spec .k{color:var(--off)}
.pcard .spec .v{color:var(--ink);font-weight:600}
.pmore{display:block;margin:0 16px 16px;color:var(--teal-d);font-size:.82rem;font-weight:600}

/* detail layout */
.pd{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:34px;padding-top:38px}
.pd-gal .pd-main{border:1px solid var(--line);border-radius:var(--radius);
  overflow:hidden;background:#f7fafb}
.pd-main img{width:100%;display:block;aspect-ratio:1/1;object-fit:cover}
.pd-thumbs{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.pd-thumbs img{width:74px;height:74px;object-fit:cover;border-radius:8px;
  border:1px solid var(--line);cursor:pointer;background:#f7fafb}
.pd-thumbs img:hover{border-color:var(--teal)}
.pd-info .pd-h{font-size:1.05rem;margin:0 0 12px;color:var(--deep)}
.pd-info .spec{list-style:none;margin:0 0 22px;padding:0;border:1px solid var(--line);
  border-radius:var(--radius);overflow:hidden}
.pd-info .spec li{display:flex;gap:12px;padding:9px 14px;font-size:.85rem;
  border-bottom:1px solid var(--line)}
.pd-info .spec li:last-child{border-bottom:none}
.pd-info .spec li:nth-child(odd){background:#fafcfd}
.pd-info .spec .k{flex:0 0 130px;color:var(--off)}
.pd-info .spec .v{color:var(--ink);font-weight:500}

/* tiered pricing table */
table.tiers{width:100%;border-collapse:collapse;margin-bottom:20px;
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
table.tiers th{background:#f2f8f9;font-size:.75rem;color:var(--body);
  padding:9px 12px;text-align:left;border-bottom:1px solid var(--line)}
table.tiers td{padding:9px 12px;font-size:.85rem;border-bottom:1px solid var(--line)}
table.tiers tr:last-child td{border-bottom:none}
table.tiers td b{color:var(--teal-d)}
.pd-cta{display:flex;flex-direction:column;align-items:stretch;gap:10px;margin:18px 0 10px}
.pd-cta .btn{width:100%;text-align:center}
.pd-note{font-size:.76rem;color:var(--off);line-height:1.7;margin:0}

/* body + related */
.pd-body{padding:34px 0 10px}
.pd-body h2{font-size:1.15rem;color:var(--deep);margin:0 0 14px}
.pd-text{font-size:.92rem;line-height:1.9;color:var(--body);max-width:820px}
.pd-text p{margin:0 0 12px}
.pd-text h2,.pd-text h3,.pd-text h4{font-size:1.05rem;color:var(--deep);margin:20px 0 10px}
.pd-text h2{font-size:1.15rem}
.pd-text ul,.pd-text ol{margin:0 0 14px;padding-left:24px}
.pd-text li{margin-bottom:6px}
.pd-text img{max-width:100%;height:auto;border-radius:8px;display:block;margin:16px 0}
.pd-text blockquote{border-left:3px solid var(--teal);margin:14px 0;padding:8px 16px;background:#f7fafb;color:var(--body)}
.pd-text a{color:var(--teal-d);text-decoration:underline}
.pd-text table{width:100%;border-collapse:collapse;margin:14px 0;font-size:.85rem}
.pd-text td,.pd-text th{border:1px solid var(--line);padding:8px 10px;text-align:left}
.pd-text th{background:#f7fafb}
.rel-h{font-size:1.15rem;color:var(--deep);margin:38px 0 16px}
.empty{padding:60px 20px;text-align:center;color:var(--off);font-size:.9rem}
.cta-strip{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:8px}
.cta-strip .btn{min-width:280px;text-align:center;justify-content:center}
/* cta-strip sits on a light background — restyle buttons for visibility */
.cta-strip .btn.primary{
  background:var(--teal);color:#fff;border-radius:24px;padding:12px 30px;
  font-weight:700;letter-spacing:.02em;box-shadow:0 4px 14px rgba(0,174,187,.28);
}
.cta-strip .btn.primary:hover{background:#06333d;box-shadow:0 6px 18px rgba(6,51,61,.3)}
.cta-strip .btn-outline{border-color:var(--teal);color:var(--teal);border-radius:24px;padding:12px 22px}
.cta-strip .btn-outline:hover{background:var(--teal);color:#fff}
/* product detail / inquiry buttons on light background — visible (teal) */
.pd-cta .btn.primary,.pi-cta .btn.primary{
  background:var(--teal);color:#fff;border-radius:24px;padding:12px 30px;
  font-weight:700;letter-spacing:.02em;box-shadow:0 4px 14px rgba(0,174,187,.28);
  text-decoration:none;display:inline-block;border:0;cursor:pointer;
}
.pd-cta .btn.primary:hover,.pi-cta .btn.primary:hover{background:#06333d;box-shadow:0 6px 18px rgba(6,51,61,.3)}
.pd-cta .btn-outline,.pi-cta .btn-outline{
  border:2px solid var(--teal);color:var(--teal);background:transparent;
  border-radius:24px;padding:12px 22px;font-weight:600;text-decoration:none;
  display:inline-block;cursor:pointer;
}
.pd-cta .btn-outline:hover,.pi-cta .btn-outline:hover{background:var(--teal);color:#fff}

@media(max-width:820px){
  .pd{grid-template-columns:1fr;gap:22px}
  .page-head{padding:38px 0 32px}
  .page-head h1{font-size:1.4rem}
  .pd-info .spec .k{flex:0 0 100px}
}
[dir="rtl"] .pd-info .spec .k{text-align:right}
[dir="rtl"] .pmore{text-align:right}

/* ---------- cases / knowledge base ---------- */
.pcard .pc-meta{font-size:.74rem;color:var(--teal-d);font-weight:600;
  margin:12px 16px 0;letter-spacing:.02em}
.pcard .pc-tags{display:flex;gap:6px;flex-wrap:wrap;align-items:center;
  margin:0 16px 12px;min-height:1px}
.ctag{display:inline-block;background:#eaf7f8;color:#07707f;border-radius:20px;
  padding:2px 9px;font-size:.7rem;font-weight:600}
.pd-tags{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin:2px 0 14px}
.pd-tags .ctag{background:#eaf7f8;color:#07707f}
.cfiles{display:inline-block;color:var(--off);font-size:.72rem;font-weight:600}

.cs{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:34px;padding-top:36px}
/* 详情页头图：宽度撑满、高度按图片原始比例自适应，不裁切不变形 */
.cs-cover{margin-bottom:22px;border-radius:var(--radius);overflow:hidden;background:#f2f7f8}
.cs-cover img{width:100%;height:auto;display:block}
.pcard .pimg .case-cover-img{object-fit:cover;height:100%;padding:0}
.cs-text{max-width:none}
.cs-side{display:flex;flex-direction:column;gap:16px}
.cs-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px}
.cs-card h3{font-size:.95rem;color:var(--deep);margin:0 0 12px;
  border-left:3px solid var(--teal);padding-left:9px}
.cs-card .spec{margin:0;padding:0;list-style:none}
.cs-card .spec li{display:flex;justify-content:space-between;font-size:.82rem;
  padding:6px 0;border-bottom:1px dashed var(--line)}
.cs-card .spec li:last-child{border-bottom:0}
.cs-card .spec .k{color:var(--off)}
.cs-card .spec .v{color:var(--ink);font-weight:600;text-align:right}

.cs-file{display:flex;justify-content:space-between;align-items:center;gap:10px;
  padding:10px 12px;border:1px solid var(--line);border-radius:9px;margin-bottom:8px;
  text-decoration:none;color:inherit;transition:.16s;font-size:.85rem}
.cs-file:last-of-type{margin-bottom:0}
a.cs-file:hover{border-color:#c8e6ea;background:#f5fbfc}
.cs-file span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cs-file em{font-style:normal;color:var(--teal-d);font-weight:700;font-size:.78rem;flex:0 0 auto}
.cs-file--lock{background:#f7fafb;color:var(--off)}
.cs-file--lock em{color:var(--off)}
.cs-cta-card p{font-size:.85rem;color:var(--body);line-height:1.7;margin:0 0 12px}
.cs-cta-card .btn{display:block;text-align:center;margin-bottom:8px}
.muted{color:var(--off);font-size:.84rem;margin:0}

@media(max-width:900px){
  .cs{grid-template-columns:1fr;gap:22px}
  .cs-side{order:2}
}
[dir="rtl"] .cs-card .spec .v{text-align:left}
[dir="rtl"] .cs-card h3{border-left:0;border-right:3px solid var(--teal);padding-left:0;padding-right:9px}

/* ---------- product detail: inline quote/inquiry form ---------- */
.pi{padding:40px 0 54px}
.pi-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:start}
.pi-intro h2{font-size:1.5rem;margin:6px 0 10px;line-height:1.3}
.pi-intro p{color:var(--off);line-height:1.8;max-width:42ch}
.pi-cta{display:flex;flex-direction:column;gap:10px;margin-top:18px}
.pi-cta .btn{text-decoration:none}
.pi-wa{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px 16px;border:1px solid var(--line,#e3e8ef);border-radius:12px;background:#f7f9fc}
.pi-wa-label{font-size:.78rem;font-weight:700;letter-spacing:.06em;color:var(--teal-d,#07707f);text-transform:uppercase}
.pi-wa a{font-weight:700;color:var(--navy,#13315c);text-decoration:none;font-variant-numeric:tabular-nums;font-size:.95rem}
.pi-wa a:hover{text-decoration:underline}
[dir="rtl"] .pi-wa{text-align:right}
.pi-form{margin:0}
.pi-form label{font-weight:600;font-size:.86rem;margin:14px 0 5px;display:block}
.pi-form label:first-of-type{margin-top:0}
@media(max-width:900px){
  .pi-grid{grid-template-columns:1fr;gap:22px}
}
[dir="rtl"] .pi-intro{text-align:right}
[dir="rtl"] .pi-form label{text-align:right}


/* ---------- shop listing: sidebar filter layout (xiran-style) ---------- */
.shop-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:36px;
  padding-top:36px;align-items:start}
.shop-side h2{font-size:1.05rem;margin:0 0 14px;color:var(--deep,#06333d);
  border-left:3px solid #00aebb;padding-left:10px}
.shop-cats{display:flex;flex-direction:column;gap:4px;position:sticky;top:84px}
.shop-cats a{display:block;padding:8px 12px;border-radius:8px;font-size:.88rem;
  color:var(--body,#43555c);text-decoration:none;border:1px solid transparent;transition:.15s}
.shop-cats a:hover{background:#f2f8f9;color:#06333d}
.shop-cats a.is-active{background:#eaf7f8;color:#07707f;font-weight:700;border-color:#cfe9ec}
.shop-main .shop-count{font-size:.85rem;color:var(--off,#7b8f96);margin:0 0 16px}
.shop-main .grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
/* Read more as pill button */
.pmore{display:inline-block;margin:0 16px 16px;padding:6px 16px;border-radius:20px;
  background:#00aebb;color:#fff;font-size:.78rem;font-weight:700}
.pcard:hover .pmore{background:#06333d}
.pcard h3{min-height:2.8em}
@media(max-width:900px){
  .shop-layout{grid-template-columns:1fr;gap:20px}
  .shop-cats{position:static;flex-direction:row;flex-wrap:wrap;gap:8px}
  .shop-cats a{border:1px solid #dfe9ec;border-radius:20px;padding:6px 14px;font-size:.82rem}
}
[dir="rtl"] .shop-side h2{border-left:0;border-right:3px solid #00aebb;padding-left:0;padding-right:10px}
[dir="rtl"] .shop-cats a{text-align:right}

/* ---- 案例详情页实景配图 ---- */
.cs-fig{margin:24px 0;border-radius:12px;overflow:hidden;box-shadow:0 6px 24px rgba(15,40,50,.12)}
.cs-fig img{display:block;width:100%;height:auto}
@media (min-width:720px){.cs-fig{margin:30px 0}}

/* 案例正文配图（sanitizer 输出为平级 img，直接给样式） */
.cs-text img{display:block;width:100%;height:auto;border-radius:12px;margin:24px 0;box-shadow:0 6px 24px rgba(15,40,50,.12)}
