/* ============================================================ product page */
.dg-pdp{padding-bottom:var(--sp-9)}
.dg-pdp__top{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-7);align-items:start;
  padding-bottom:var(--sp-7)}
@media (max-width:1023px){.dg-pdp__top{grid-template-columns:1fr;gap:var(--sp-5)}}

/* gallery — an annotated feature tour, not a hero reel */
.dg-gal__main{background:var(--panel);border:1px solid var(--rule);border-radius:var(--radius-lg);
  aspect-ratio:4/3;overflow:hidden;position:relative}
.dg-gal__main img{width:100%;height:100%;object-fit:contain;padding:var(--sp-5)}
.dg-gal__counter{position:absolute;bottom:var(--sp-3);inset-inline-end:var(--sp-3);
  font-family:var(--font-mono);font-size:var(--fs-meta);background:var(--white);
  border:1px solid var(--rule);border-radius:100px;padding:2px 10px;color:var(--text-2)}
.dg-gal__thumbs{display:flex;gap:var(--sp-2);margin-top:var(--sp-3);overflow-x:auto;
  scrollbar-width:none}
.dg-gal__thumbs::-webkit-scrollbar{display:none}
.dg-gal__thumbs button{flex:0 0 72px;height:72px;padding:var(--sp-1);background:var(--white);
  border:1px solid var(--rule);border-radius:var(--radius);cursor:pointer}
.dg-gal__thumbs button[aria-current="true"]{border-color:var(--accent);border-width:2px}
.dg-gal__thumbs img{width:100%;height:100%;object-fit:contain}
.dg-gal__cap{font-size:var(--fs-meta);color:var(--text-3);margin-top:var(--sp-2)}

.dg-pdp__brand{font-family:var(--font-mono);font-size:var(--fs-meta);color:var(--text-3);
  margin:0 0 var(--sp-2)}
.dg-pdp h1{margin-bottom:var(--sp-3)}
.dg-pdp__model{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--text-2);
  margin:0 0 var(--sp-4)}
.dg-pdp__short{font-size:var(--fs-body);line-height:var(--lh-body);color:var(--text-2);
  max-width:60ch;margin:0 0 var(--sp-5)}

.dg-buybox{border:1px solid var(--rule);border-radius:var(--radius-lg);background:var(--panel);
  padding:var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-3)}
.dg-buybox .dg-price{font-size:32px;line-height:38px}
.dg-buybox__drivers{font-size:var(--fs-meta);line-height:var(--lh-meta);color:var(--text-3);margin:0}

/* variant selector — separate crawlable pages, never a dropdown */
.dg-variants{display:flex;gap:var(--sp-2);flex-wrap:wrap}
.dg-variants a,.dg-variants span{display:inline-flex;align-items:center;min-height:44px;
  padding:0 var(--sp-4);border:1px solid var(--rule-fn);border-radius:var(--radius);
  font-family:var(--font-mono);font-size:var(--fs-sm);text-decoration:none;
  color:var(--text-2);background:var(--white)}
.dg-variants span[aria-current]{background:var(--ink);color:var(--white);border-color:var(--ink);font-weight:600}

/* section nav for a 9,000px page */
/* Below the sticky site header, not behind it: the header is z-index 50 and
   owns the top 65px, so a top:0 sub-nav was painted underneath it. */
.dg-anchors{position:sticky;top:var(--header-h);z-index:15;background:var(--ground);
  border-bottom:1px solid var(--rule);display:flex;gap:var(--sp-1);overflow-x:auto;
  scrollbar-width:none;margin-bottom:var(--sp-6)}
.dg-anchors::-webkit-scrollbar{display:none}
.dg-anchors a{flex:0 0 auto;padding:var(--sp-3) var(--sp-4);font-size:var(--fs-sm);
  color:var(--text-2);text-decoration:none;border-bottom:2px solid transparent;white-space:nowrap}
.dg-anchors a:hover{color:var(--text)}
.dg-anchors a[aria-current="true"]{color:var(--text);border-bottom-color:var(--accent);font-weight:600}

.dg-sec{padding:var(--sp-6) 0;border-top:1px solid var(--rule);scroll-margin-top:64px}
.dg-sec > h2{margin-bottom:var(--sp-4)}
.dg-prose{max-width:70ch}
.dg-prose h2{font-size:var(--fs-h2);margin-top:var(--sp-6)}
.dg-prose h3{font-size:var(--fs-h3);margin-top:var(--sp-5)}
.dg-prose ul{padding-inline-start:var(--sp-5)}
.dg-prose li{margin-bottom:var(--sp-2)}

/* spec table: divs not <table>, so it reflows to stacked pairs without a scrollbar */
.dg-specs{display:flex;flex-direction:column;gap:var(--sp-5)}
.dg-specs__group > h3{margin-bottom:var(--sp-2);padding-bottom:var(--sp-2);
  border-bottom:2px solid var(--ink)}
.dg-specs__row{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4);
  padding:var(--sp-3) var(--sp-3);font-size:var(--fs-sm);line-height:var(--lh-sm)}
.dg-specs__row:nth-child(odd){background:var(--grey-200)}
.dg-specs__row dt{color:var(--text-2);margin:0}
.dg-specs__row dd{margin:0;color:var(--text);font-family:var(--font-mono);
  font-variant-numeric:tabular-nums}
@media (max-width:640px){
  .dg-specs__row{grid-template-columns:1fr;gap:var(--sp-1)}
  .dg-specs__row dd{font-size:var(--fs-body)}
}

.dg-proscons{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-5)}
@media (max-width:767px){.dg-proscons{grid-template-columns:1fr}}
.dg-proscons ul{list-style:none;margin:0;padding:0}
.dg-proscons li{padding:var(--sp-2) 0 var(--sp-2) var(--sp-5);position:relative;
  font-size:var(--fs-sm);line-height:var(--lh-sm);color:var(--text-2)}
.dg-proscons li::before{position:absolute;inset-inline-start:0;top:var(--sp-2);font-weight:700}
.dg-pros li::before{content:"+";color:var(--success-600)}
.dg-cons li::before{content:"–";color:var(--warning-700)}

/* FAQ */
.dg-faq details{border-bottom:1px solid var(--rule)}
.dg-faq summary{list-style:none;cursor:pointer;min-height:var(--touch);display:flex;
  align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-3) 0;
  font-size:var(--fs-body);font-weight:600}
.dg-faq summary::-webkit-details-marker{display:none}
.dg-faq summary::after{content:"";width:10px;height:10px;flex:0 0 10px;
  border:solid var(--text-3);border-width:0 2px 2px 0;transform:rotate(45deg) translateY(-2px);
  transition:transform var(--dur-base) var(--ease-standard)}
.dg-faq details[open] summary::after{transform:rotate(-135deg) translateY(2px)}
.dg-faq .a{padding:0 0 var(--sp-4);color:var(--text-2);max-width:70ch}

/* downloads — the manual IS the trust content */
.dg-dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--sp-3)}
.dg-dl a{display:flex;align-items:center;gap:var(--sp-3);min-height:var(--touch);
  padding:var(--sp-3) var(--sp-4);background:var(--grey-900);color:var(--white);
  border-radius:var(--radius);text-decoration:none;font-size:var(--fs-sm)}
.dg-dl a:hover{background:var(--ink)}
.dg-dl .meta{margin-inline-start:auto;font-family:var(--font-mono);font-size:var(--fs-micro);
  color:var(--grey-400)}

/* sticky enquiry bar — the conversion, never collapsed to an icon */
.dg-sticky{position:fixed;inset-inline:0;bottom:0;z-index:40;display:none;
  gap:var(--sp-3);align-items:center;background:var(--white);border-top:1px solid var(--rule);
  padding:var(--sp-3) var(--sp-4) calc(var(--sp-3) + env(safe-area-inset-bottom));
  box-shadow:var(--shadow-panel);transform:translateY(100%);
  transition:transform var(--dur-base) var(--ease-enter)}
.dg-sticky.is-shown{transform:translateY(0)}
@media (max-width:1023px){.dg-sticky{display:flex}}
.dg-sticky__name{flex:1;min-width:0;font-size:var(--fs-meta);color:var(--text-2);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dg-sticky__price{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--text)}

/* quote form */

/* No photography yet for this machine: collapse the frame instead of holding a
   4:3 hole open next to the buy box. */
.dg-gal--empty .dg-gal__main{display:none}
