/* Product Detail — technical layout */

/* ERR-001: do NOT reuse Home .section-head (3-col grid) on product pages */
.pd-section-head{
  margin-bottom:28px;
  max-width:720px;
}
.pd-section-head h2{
  margin-bottom:10px;
  color:var(--ink);
}
.pd-section-head > p,
.pd-section-head p{
  margin:0;
}

.pd-breadcrumb{
  padding:18px 0 22px;
  font-size:13px;
  color:#8a959f;
}
.pd-breadcrumb a{color:#8a959f}
.pd-breadcrumb a:hover{color:var(--blue)}
.pd-breadcrumb span{margin:0 8px;color:#c0c7ce}

/* ERR-002: Product hero must read as its own band, separate from Overview */
.pd-hero{
  padding:28px 0 72px;
  background:var(--soft);
  border-bottom:1px solid var(--line);
}
.pd-hero-grid{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:48px;
  align-items:center;
}
.pd-hero-copy h1{
  font-size:clamp(34px,4.2vw,52px);
  line-height:1.08;
  letter-spacing:-.035em;
  margin-bottom:16px;
  color:var(--ink);
}
.pd-hero-copy > p{
  font-size:17px;
  line-height:1.65;
  max-width:540px;
  margin-bottom:22px;
}
.pd-spec-list{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px 18px;
  margin:0 0 26px;
  padding:0;
  list-style:none;
}
.pd-spec-list li{
  border-top:1px solid var(--line);
  padding-top:10px;
}
.pd-spec-list strong{
  display:block;
  font-size:12px;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#7a8792;
  margin-bottom:4px;
  font-weight:700;
}
.pd-spec-list span{
  color:var(--ink);
  font-size:15px;
  font-weight:700;
}
.pd-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
}
.pd-hero-media{
  background:#fff;
  min-height:360px;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  overflow:hidden;
}
.pd-hero-media img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.pd-hero-placeholder{
  padding:40px;
  text-align:center;
  color:#8a959f;
  font-size:14px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.pd-section-intro{
  max-width:720px;
  margin-bottom:28px;
}
.pd-construction-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px 28px;
}
.pd-construction-item{
  padding-top:14px;
  border-top:1px solid var(--line);
}
.pd-construction-item h3{
  margin:0 0 8px;
  font-size:18px;
  color:var(--ink);
}
.pd-construction-item p{
  margin:0;
  font-size:14px;
}
.pd-table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.pd-table{
  width:100%;
  border-collapse:collapse;
  min-width:720px;
  font-size:14px;
}
.pd-table th,
.pd-table td{
  padding:12px 14px;
  text-align:left;
  border-bottom:1px solid var(--line);
  white-space:nowrap;
}
.pd-table thead th{
  background:#f7f9fb;
  color:var(--ink);
  font-size:12px;
  letter-spacing:.04em;
  text-transform:uppercase;
  position:sticky;
  top:0;
}
.pd-table tbody td{color:var(--text)}
.pd-note{
  margin-top:14px;
  font-size:13px;
  color:#7a8792;
}
.pd-apps{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px 32px;
}
.pd-app-item{
  padding-top:14px;
  border-top:1px solid var(--line);
}
.pd-app-item h3{
  margin:0 0 6px;
  font-size:18px;
  color:var(--ink);
}
.pd-app-item p{margin:0;font-size:14px}
.pd-select-form{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px 20px;
  max-width:880px;
}
.pd-field label{
  display:block;
  font-size:12px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#7a8792;
  margin-bottom:6px;
}
.pd-field input,
.pd-field select,
.pd-field textarea{
  width:100%;
  min-height:46px;
  border:1px solid var(--line);
  background:#fff;
  padding:0 12px;
  font:inherit;
  color:var(--ink);
}
.pd-field textarea{min-height:110px;padding:12px;resize:vertical}
.pd-field.full{grid-column:1/-1}
.pd-guides,
.pd-related{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}
.pd-card-link{
  display:block;
  padding-top:14px;
  border-top:1px solid var(--line);
}
.pd-card-link h3{
  margin:0 0 8px;
  font-size:18px;
  color:var(--ink);
}
.pd-card-link p{margin:0 0 10px;font-size:14px}
.pd-card-link .btn-text{font-size:13px}
.pd-faq details{
  border-top:1px solid var(--line);
  padding:16px 0;
}
.pd-faq summary{
  cursor:pointer;
  font-weight:700;
  color:var(--ink);
  font-size:16px;
}
.pd-faq details p{
  margin:12px 0 0;
  font-size:15px;
}
.pd-cta-band{
  background:var(--soft);
  padding:48px 0;
}
.pd-cta-inner{
  display:flex;
  justify-content:space-between;
  gap:28px;
  align-items:center;
}
.pd-cta-inner h2{margin-bottom:8px}
.pd-cta-inner p{margin:0;max-width:520px}
.pd-cta-actions{display:flex;flex-wrap:wrap;gap:12px}
@media(max-width:980px){
  .pd-hero-grid{grid-template-columns:1fr;gap:28px}
  .pd-construction-grid,
  .pd-guides,
  .pd-related{grid-template-columns:1fr 1fr}
  .pd-cta-inner{flex-direction:column;align-items:flex-start}
}
@media(max-width:700px){
  .pd-spec-list,
  .pd-apps,
  .pd-select-form,
  .pd-construction-grid,
  .pd-guides,
  .pd-related{grid-template-columns:1fr}
  .pd-hero{padding:24px 0 48px}
  .section{padding:64px 0}
}
