/* Single product presentation; all rules are scoped to the product detail. */
.dq-product-detail{--dq-product-container:1240px;color:var(--dq-text);background:#fff}
.dq-product-detail__container{width:min(calc(100% - 64px),var(--dq-product-container));margin-inline:auto}
.dq-product-detail__overview{padding:38px 0 56px;border-top:1px solid var(--dq-border);background:linear-gradient(135deg,var(--dq-primary-soft),#fff 52%,var(--dq-primary-soft))}
.dq-product-detail__overview-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.95fr) 250px;gap:24px;align-items:start}
.dq-product-gallery{min-width:0}
.dq-product-gallery__figures{display:grid;gap:16px}
.dq-product-gallery figure{margin:0;overflow:hidden;border-radius:18px;background:var(--dq-primary-soft);box-shadow:0 18px 44px rgba(11,80,35,.1)}
.dq-product-gallery figure img{display:block;width:100%;height:auto;max-height:720px;aspect-ratio:20/29;object-fit:cover}
.dq-product-gallery.is-enhanced .dq-product-gallery__figures{display:block}
.dq-product-gallery__thumbs{display:flex;gap:10px;margin-top:14px;overflow-x:auto;padding:2px 2px 8px;scrollbar-width:thin}
.dq-product-gallery__thumbs button{width:70px;height:86px;flex:0 0 auto;padding:3px;border:1px solid var(--dq-border);border-radius:10px;background:#fff;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease}
.dq-product-gallery__thumbs button[aria-pressed="true"]{border-color:var(--dq-primary);box-shadow:0 0 0 2px var(--dq-primary-tint)}
.dq-product-gallery__thumbs img{display:block;width:100%;height:100%;border-radius:6px;object-fit:cover}
.dq-product-gallery__placeholder{display:grid;place-items:center;align-content:center;gap:10px;min-height:560px;border-radius:18px;background:linear-gradient(145deg,var(--dq-primary-tint),var(--dq-primary-soft));color:var(--dq-primary)}
.dq-product-gallery__placeholder strong{font-size:58px;line-height:1;letter-spacing:-.05em}
.dq-product-gallery__placeholder span{font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.dq-product-summary{min-width:0;padding:14px 4px}
.dq-product-summary__eyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:10px;color:var(--dq-primary);font-size:12px;font-weight:750;letter-spacing:.1em;text-transform:uppercase}
.dq-product-summary__eyebrow:before{content:"";width:24px;height:2px;background:currentColor}
.dq-product-summary h1{margin:0 0 16px;color:var(--dq-primary-deep);font-size:clamp(26px,3vw,38px);line-height:1.18;letter-spacing:-.025em}
.dq-product-summary__lead{margin:0;color:var(--dq-muted);font-size:16px;line-height:1.75}
.dq-product-summary__specs{margin:25px 0 0;border-top:1px solid var(--dq-primary-border)}
.dq-product-summary__specs div{display:grid;grid-template-columns:minmax(90px,.72fr) minmax(0,1fr);gap:15px;padding:11px 0;border-bottom:1px solid var(--dq-primary-border);font-size:14px;line-height:1.5}
.dq-product-summary__specs dt{color:var(--dq-primary-deep);font-weight:700}
.dq-product-summary__specs dd{margin:0;color:var(--dq-muted)}
.dq-product-summary__actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:26px}
.dq-product-detail .dq-btn{justify-content:center;text-align:center;font:inherit;font-weight:750;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}
.dq-product-detail .dq-btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(12,120,44,.16)}
.dq-product-detail .dq-btn--outline{border-color:var(--dq-orange,#f57a14);background:#fff;color:var(--dq-orange,#f57a14)}
.dq-product-detail .dq-btn--outline:hover{background:var(--dq-orange,#f57a14);color:#fff;box-shadow:0 10px 22px rgba(245,122,20,.2)}
.dq-product-summary__assurances{display:grid;gap:8px;margin:21px 0 0;padding:0;list-style:none;color:var(--dq-primary-deep);font-size:13px;font-weight:650}
.dq-product-summary__assurances li{display:flex;align-items:flex-start;gap:9px}
.dq-product-summary__assurances li:before{content:"✓";display:grid;place-items:center;width:19px;height:19px;flex:0 0 19px;border-radius:50%;background:var(--dq-primary-tint);color:var(--dq-primary);font-size:11px}
.dq-product-categories{overflow:hidden;border:1px solid var(--dq-primary-border);border-radius:14px;background:#fff;box-shadow:0 10px 28px rgba(11,80,35,.06)}
.dq-product-categories summary{padding:17px 18px;color:var(--dq-primary-deep);font-size:14px;font-weight:750;text-transform:uppercase;cursor:pointer}
.dq-product-categories ul{margin:0;padding:0;border-top:2px solid var(--dq-primary);list-style:none}
.dq-product-categories li+li{border-top:1px solid var(--dq-border)}
.dq-product-categories a{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:43px;padding:9px 16px;color:var(--dq-text);font-size:13px;font-weight:600}
.dq-product-categories a:hover,.dq-product-categories a[aria-current="page"]{background:var(--dq-primary-soft);color:var(--dq-primary-deep)}
.dq-product-categories a[aria-current="page"]{box-shadow:inset 3px 0 var(--dq-primary);font-weight:750}
.dq-product-categories a span{color:var(--dq-primary);font-size:20px}
.dq-product-detail__body{padding:64px 0;background:#fff}
.dq-product-content-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:42px;align-items:start}
.dq-product-content{min-width:0;max-width:820px}
.dq-product-content>h2{margin:0 0 22px;color:var(--dq-primary-deep);font-size:clamp(23px,2.5vw,32px);line-height:1.25}
.dq-product-content .dq-richtext{max-width:780px;color:var(--dq-text);font-size:16px;line-height:1.8}
.dq-product-content .dq-richtext h2{margin-top:38px;color:var(--dq-primary-deep);font-size:clamp(22px,2.2vw,29px)}
.dq-product-content .dq-richtext h3{margin-top:30px;color:var(--dq-primary-deep);font-size:21px}
.dq-product-content .dq-richtext img{display:block;max-width:100%;height:auto;margin:26px auto;border-radius:14px}
.dq-product-content .dq-richtext table{display:block;max-width:100%;overflow-x:auto}
.dq-product-contact{position:sticky;top:110px;padding:24px;border:1px solid var(--dq-primary-border);border-radius:18px;background:#fff;box-shadow:0 14px 38px rgba(11,80,35,.08)}
.dq-product-contact__eyebrow{margin:0;color:var(--dq-primary);font-size:11px;font-weight:750;letter-spacing:.1em;text-transform:uppercase}
.dq-product-contact h2{margin:7px 0 10px;color:var(--dq-primary-deep);font-size:23px;line-height:1.3}
.dq-product-contact>p:not(.dq-product-contact__eyebrow){margin:0;color:var(--dq-muted);font-size:14px;line-height:1.65}
.dq-product-contact dl{margin:20px 0 0;border-top:1px solid var(--dq-border)}
.dq-product-contact dl div{display:grid;grid-template-columns:66px minmax(0,1fr);gap:12px;padding:11px 0;border-bottom:1px solid var(--dq-border);font-size:13px;line-height:1.55}
.dq-product-contact dt{color:var(--dq-muted);font-weight:600}
.dq-product-contact dd{margin:0;color:var(--dq-primary-deep);font-weight:700;overflow-wrap:anywhere}
.dq-product-contact dd a{color:var(--dq-primary)}
.dq-product-contact__actions{display:grid;gap:9px;margin-top:20px}
.dq-product-related{padding:58px 0 76px;background:var(--dq-primary-soft)}
.dq-product-related h2{margin:0 0 24px;color:var(--dq-primary-deep);font-size:clamp(25px,3vw,34px);line-height:1.25}
.dq-product-related__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.dq-product-related__card{min-width:0;transition:transform .2s ease,filter .2s ease}
.dq-product-related__card>a{display:grid;gap:11px;color:var(--dq-primary-deep)}
.dq-product-related__media{display:block;overflow:hidden;aspect-ratio:20/29;border-radius:14px;background:var(--dq-primary-tint)}
.dq-product-related__media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.dq-product-related__placeholder{display:grid;place-items:center;align-content:center;gap:7px;width:100%;height:100%;color:var(--dq-primary)}
.dq-product-related__placeholder b{font-size:30px}.dq-product-related__placeholder small{font-weight:700}
.dq-product-related__card strong{font-size:15px;line-height:1.5}
.dq-product-related__link{color:var(--dq-primary);font-size:13px;font-weight:700}
.dq-product-related__link i{display:inline-block;font-style:normal;transition:transform .2s ease}
.dq-product-related__card:hover{transform:translateY(-3px);filter:drop-shadow(0 10px 15px rgba(11,110,40,.13))}
.dq-product-related__card:hover img{transform:scale(1.025)}
.dq-product-related__card:hover .dq-product-related__link i{transform:translateX(3px)}
@media(max-width:1079px){
  .dq-product-detail__overview-grid{grid-template-columns:minmax(0,1fr) minmax(280px,.9fr)}
  .dq-product-categories{grid-column:1/-1}
  .dq-product-categories ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .dq-product-categories li+li{border-top:0}
  .dq-product-categories li{border-top:1px solid var(--dq-border)}
  .dq-product-related__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:959px){
  .dq-product-detail__container{width:min(calc(100% - 40px),var(--dq-product-container))}
  .dq-product-detail__overview-grid,.dq-product-content-grid{grid-template-columns:1fr}
  .dq-product-summary{padding:8px 0}
  .dq-product-categories{grid-column:auto}
  .dq-product-contact{position:static}
  .dq-product-content{max-width:none}
  .dq-product-content .dq-richtext{max-width:none}
}
@media(max-width:599px){
  .dq-product-detail__container{width:calc(100% - 32px)}
  .dq-product-detail__overview{padding:24px 0 38px}
  .dq-product-detail__overview-grid{gap:24px}
  .dq-product-gallery figure,.dq-product-gallery__placeholder{border-radius:14px}
  .dq-product-gallery figure img{max-height:none;width:100%}
  .dq-product-gallery__placeholder{min-height:420px}
  .dq-product-gallery__thumbs{margin-inline:-2px}
  .dq-product-summary h1{font-size:26px}
  .dq-product-summary__actions{grid-template-columns:1fr}
  .dq-product-summary__actions .dq-btn,.dq-product-contact__actions .dq-btn{width:100%}
  .dq-product-categories ul{grid-template-columns:1fr}
  .dq-product-detail__body{padding:34px 0 42px}
  .dq-product-content-grid{gap:30px}
  .dq-product-contact{padding:20px}
  .dq-product-related{padding:38px 0 52px}
  .dq-product-related__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}
  .dq-product-related__card strong{font-size:13px}
}
@media(prefers-reduced-motion:reduce){
  .dq-product-detail .dq-btn,.dq-product-related__card,.dq-product-related__media img,.dq-product-related__link i{transition:none}
}
