.detail{display:flex;flex-wrap:wrap;gap:44px}
.dgallery{flex:1 1 380px}
.dgallery .main{position:relative;border-radius:16px;overflow:hidden;background:var(--paper);aspect-ratio:4/3}
.dgallery .main img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}
.dgallery .main .badge{position:absolute;top:16px;left:16px;background:rgba(12,26,51,.82);color:#fff;font-family:var(--mono);font-size:11px;letter-spacing:.06em;padding:6px 14px;border-radius:999px}
.fact-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:12px;margin-top:16px}
.fact-strip>div{border:1px solid var(--line);border-radius:12px;padding:14px;text-align:center}
.fact-strip b{display:block;font-family:var(--head);font-size:18px;color:var(--navy)}
.fact-strip span{font-family:var(--mono);font-size:10.5px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em}

.dinfo{flex:1 1 420px;min-width:320px}
.dinfo h2{font-size:32px}
.dinfo .serie{font-family:var(--mono);font-size:13px;color:var(--blue);margin-top:8px}
.dinfo .desc{color:var(--ink-soft);margin-top:16px}
.d-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.d-contact{display:flex;gap:10px;align-items:center;margin-top:22px;background:var(--paper);border-radius:12px;padding:14px 16px;font-size:14.5px}
.d-contact svg{width:18px;height:18px;stroke:var(--blue);flex-shrink:0}
.d-contact a{color:var(--blue)}

.dblock{margin:40px 0 8px;flex-basis:100%}
.dhead{display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:20px}
.dhead .num{font-family:var(--mono);font-size:13px;color:var(--blue);font-weight:700}
.dhead h3{font-size:22px}
.dblock .rich-text{max-width:860px}
.feat-list{max-width:860px}
.feat-list ul,.feat-list ol{padding-left:22px;display:grid;gap:10px}
.feat-list li{margin-bottom:4px}
.feat-list ul li::marker{color:var(--blue)}
.feat-list p{margin-bottom:10px}

/* spec table injected by {cms:specs} */
.spec-table{width:100%;max-width:900px;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;box-shadow:var(--shadow)}
.spec-table th,.spec-table td{border:1px solid var(--line);padding:13px 18px;text-align:left;font-size:15px}
.spec-table th{background:var(--paper);font-family:var(--head);color:var(--navy);font-weight:700;width:42%}
.spec-table td{color:var(--ink-soft)}

/* reuse card grid */
.prod-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.pcard{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:all .25s;display:flex;flex-direction:column}
.pcard:hover{-webkit-transform:translateY(-5px);transform:translateY(-5px);box-shadow:var(--shadow-lg)}
.pcard .pvis{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--paper)}
.pcard .pvis img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}
.pcard .model-tag{position:absolute;left:12px;bottom:12px;color:#fff;font-family:var(--head);font-weight:800;font-size:18px;text-shadow:0 2px 14px rgba(0,0,0,.5)}
.pcard .pbody{padding:18px 20px 20px;display:flex;flex-direction:column;gap:6px;flex:1}
.pcard .pbody h3{font-size:18px}
.pcard .serie{font-family:var(--mono);font-size:11.5px;color:var(--blue);text-transform:uppercase;letter-spacing:.04em}
.pcard .pbody .btn{width:100%;margin-top:10px}

@media(max-width:1000px){.prod-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.prod-grid{grid-template-columns:1fr}}