
/* ============================================================================
   Cutting-Dies Production Line — page-specific styles
   (Reuses pcb-line-style patterns; safe to be added alongside pcb-line.css)
   ============================================================================ */
.cd-line-hero{
  background:linear-gradient(135deg,#f3f6fc 0%,#eaf3fa 100%);
  padding:50px 24px 40px;
  text-align:center;
  border-bottom:1px solid #e3eaf2;
  margin-bottom:32px;
}
.cd-line-hero .cd-eyebrow{
  display:inline-block;background:#1a5fb4;color:#fff;
  font-size:.72em;font-weight:700;letter-spacing:.18em;
  text-transform:uppercase;padding:5px 14px;border-radius:18px;margin-bottom:12px;
}
.cd-line-hero h1{
  margin:0 0 10px;font-size:2.2em;color:#1a2a6c;line-height:1.2;
  letter-spacing:-.01em;max-width:880px;margin-left:auto;margin-right:auto;
}
.cd-line-hero p.lede{
  margin:0 auto 18px;max-width:780px;color:#3a4654;font-size:1.05em;line-height:1.6;
}
.cd-line-stats{
  display:flex;flex-wrap:wrap;justify-content:center;gap:14px 32px;margin-top:14px;
  font-size:.92em;color:#3a4654;
}
.cd-line-stats b{color:#1a2a6c;font-weight:700;margin-right:4px}
.cd-line-stats span{color:#52606d}

.cd-line-page{max-width:1180px;margin:0 auto;padding:0 24px}

.cd-flow{
  display:grid;grid-template-columns:repeat(9,1fr);gap:6px;
  background:#f8fafd;border:1px solid #e3eaf2;border-radius:12px;
  padding:14px 10px;margin:0 0 28px;
}
.cd-flow-step{
  text-align:center;padding:6px 4px;border-right:1px dashed #c8d6e6;
  font-size:.78em;line-height:1.25;
}
.cd-flow-step:last-child{border-right:none}
.cd-flow-num{
  display:inline-block;font-size:.7em;font-weight:700;letter-spacing:.1em;
  color:#1a5fb4;background:#eef4fb;padding:2px 6px;border-radius:6px;margin-bottom:3px;
}
.cd-flow-icon i{color:#1a5fb4;font-size:1em;display:block;margin-bottom:2px}
.cd-flow-name{font-weight:700;color:#1a2a6c;font-size:.95em;line-height:1.2}

.cd-line-group{margin:0 0 40px}
.cd-group-head{text-align:center;margin:0 0 20px}
.cd-group-num{
  display:inline-block;font-size:.7em;font-weight:700;letter-spacing:.18em;
  text-transform:uppercase;color:#1a5fb4;background:#eef4fb;
  padding:4px 12px;border-radius:12px;margin-bottom:6px;
}
.cd-group-head h2{
  display:inline-block;margin:0 0 8px;font-size:1.5em;color:#1a2a6c;
  position:relative;padding-bottom:10px;
}
.cd-group-head h2::after{
  content:"";position:absolute;left:50%;bottom:0;
  transform:translateX(-50%);width:48px;height:3px;background:#3498db;border-radius:2px;
}
.cd-group-head p{margin:8px auto 0;max-width:680px;color:#52606d;font-size:.95em;line-height:1.5}

.cd-line-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:20px;
}
.cd-line-card{
  background:#fff;border:1px solid #e3eaf2;border-top:3px solid #3498db;
  border-radius:10px;overflow:hidden;display:flex;flex-direction:column;
  transition:transform .2s ease,box-shadow .2s ease,border-top-color .2s ease;
}
.cd-line-card:hover{
  transform:translateY(-3px);
  box-shadow:0 10px 22px rgba(26,42,108,.14);
  border-top-color:#1a2a6c;
}
.cd-line-img{display:block;aspect-ratio:16/9;overflow:hidden;background:#eaf0f7;min-height:170px}
.cd-line-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease;background:#eaf0f7}
.cd-line-card:hover .cd-line-img img{transform:scale(1.04)}
.cd-line-body{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1}
.cd-line-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;margin-bottom:8px}
.cd-line-no{
  display:inline-block;background:#1a2a6c;color:#fff;
  font-size:.7em;font-weight:700;padding:3px 8px;border-radius:8px;letter-spacing:.04em;
}
.cd-line-head h3{margin:0;font-size:1em;line-height:1.3;color:#1a2a6c;font-weight:600;flex:1;min-width:140px}
.cd-line-head h3 a{color:inherit;text-decoration:none}
.cd-line-head h3 a:hover{color:#1a5fb4}
.cd-line-model{
  font-size:.78em;color:#8a97a3;font-weight:600;background:#f3f6fc;
  padding:2px 8px;border-radius:6px;white-space:nowrap;
}
.cd-line-role{margin:0 0 10px;font-size:.88em;color:#52606d;line-height:1.5}
.cd-line-role i{color:#1a5fb4;margin-right:4px}
.cd-line-spec{
  width:100%;border-collapse:collapse;font-size:.84em;margin:0 0 10px;
  border-top:1px solid #ecf0f4;border-bottom:1px solid #ecf0f4;
}
.cd-line-spec th,.cd-line-spec td{
  padding:5px 8px;text-align:left;border-top:1px solid #ecf0f4;vertical-align:top;
}
.cd-line-spec tr:first-child th,.cd-line-spec tr:first-child td{border-top:none}
.cd-line-spec th{width:42%;color:#8a97a3;font-weight:600;font-size:.92em}
.cd-line-spec td{color:#1a2a6c;font-weight:500}
.cd-line-foot{margin-top:auto;display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.cd-line-cta{
  display:inline-flex;align-items:center;gap:6px;background:#1a5fb4;color:#fff !important;
  padding:7px 14px;border-radius:18px;font-size:.84em;font-weight:600;text-decoration:none;
  transition:background .2s ease,gap .2s ease;
}
.cd-line-cta:hover{background:#102a54;gap:10px;text-decoration:none;color:#fff !important}
.cd-line-new{
  font-size:.7em;color:#8a97a3;background:#f3f6fc;
  padding:3px 8px;border-radius:6px;font-weight:600;
}
.cd-line-alt{
  font-size:.72em;color:#1a5fb4;background:#eef4fb;
  padding:3px 8px;border-radius:6px;font-weight:600;
}

.cd-line-samples{
  display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0 0 30px;
}
.cd-line-samples img{
  width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:8px;
  border:1px solid #e3eaf2;display:block;
}

@media (max-width:960px){
  .cd-flow{grid-template-columns:repeat(3,1fr)}
  .cd-flow-step{border-right:none}
  .cd-line-grid{grid-template-columns:1fr}
  .cd-line-samples{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .cd-line-hero h1{font-size:1.7em}
  .cd-flow{grid-template-columns:repeat(2,1fr)}
  .cd-group-head h2{font-size:1.25em}
  .cd-line-samples{grid-template-columns:1fr 1fr}
}
