/* Phase 2: opt-in refinements shared by the existing product LPs.
   Existing brand tokens, header and product component system are preserved. */
.dxpd-reviewed { padding-bottom: 0; }
.dxpd-reviewed main { overflow-wrap: break-word; }
.dxpd-reviewed main :is(section, [id]) { scroll-margin-top: calc(var(--header-h, 80px) + 24px); }
.dxpd-reviewed main :is(a, summary):focus-visible { outline: 3px solid var(--c-gold-text, #866918); outline-offset: 4px; }
.dxpd-skip { position: fixed; top: 8px; left: 16px; z-index: 2000; padding: 12px 20px; background: #fff; color: #1a1a1a; border: 2px solid currentColor; border-radius: var(--pd-radius-sm); transform: translateY(-160%); }
.dxpd-skip:focus { transform: none; }
.dxpd-reviewed .dxpd-hero { padding-bottom: clamp(32px, 4vw, 56px); }
.dxpd-reviewed .dxpd-hero__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.12fr); grid-template-areas: 'intro image' 'actions image'; gap: 24px clamp(28px, 4vw, 56px); align-items: center; }
.dxpd-reviewed .dxpd-hero__text { grid-area: intro; align-self: end; }
.dxpd-reviewed .dxpd-hero__media { grid-area: image; min-width: 0; }
.dxpd-reviewed .dxpd-hero__offer { grid-area: actions; align-self: start; min-width: 0; }
.dxpd-reviewed .dxpd-hero h1 { font-size: clamp(2rem, 3.5vw, 3rem); line-height: 1.1; text-wrap: balance; }
.dxpd-reviewed .dxpd-hero__tagline { margin: 0; max-width: 42ch; font-size: clamp(1rem, 1.2vw, 1.125rem); }
.dxpd-reviewed .dxpd-hero__media img { aspect-ratio: 3 / 2; height: auto; }
.dxpd-reviewed .dxpd-hero__actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-items: stretch; }
.dxpd-reviewed .dxpd-hero__actions .dxc-btn { min-width: 0; min-height: 52px; padding: 14px 16px; font-size: .82rem; line-height: 1.45; white-space: normal; text-align: center; }
.dxpd-reviewed .dxpd-hero__microcopy { display: block; font-size: .78rem; line-height: 1.6; }
.dxpd-reviewed main .dxc-btn { transform: none; }
.dxpd-reviewed main .dxc-btn--secondary { color: var(--c-charcoal); border-color: var(--c-border); background: transparent; }
.dxpd-reviewed main .dxc-btn--secondary:is(:hover, :focus-visible) { color: #fff; background: var(--c-charcoal); border-color: var(--c-charcoal); box-shadow: none; }
.dxpd-reviewed .dxpd-usps__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.dxpd-reviewed :is(.dxpd-usp, .dxpd-usp__text) { min-width: 0; }
.dxpd-reviewed .dxpd-usp + .dxpd-usp::before { display: none; }
.dxpd-reviewed .dxpd-usp__text { font-size: .875rem; line-height: 1.45; }
.dxpd-reviewed .dxpd-usp__text span { font-size: .78rem; line-height: 1.45; }
.dxpd-jumpnav { display: flex; flex-wrap: wrap; gap: 8px 28px; padding-top: 16px; padding-bottom: 16px; }
.dxpd-jumpnav a { display: inline-flex; align-items: center; min-height: 44px; color: var(--c-text-secondary); font-size: .875rem; font-weight: 600; text-decoration: underline; text-underline-offset: 6px; text-decoration-color: var(--c-gold); }
.dxpd-jumpnav a:hover { color: var(--c-charcoal); text-decoration-thickness: 2px; }
.dxpd-reviewed .dxpd-block h2 { line-height: 1.2; text-wrap: balance; }
.dxpd-reviewed .dxpd-head p { max-width: 62ch; }
.dxpd-reviewed .dxpd-block--compact { padding-top: 0; }
.dxpd-reviewed :is(.dxpd-frow, .dxpd-scale) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dxpd-reviewed :is(.dxpd-frow, .dxpd-scale, .dxpd-variants, .dxpd-details, .dxpd-specgrid) > * { min-width: 0; }
.dxpd-reviewed .dxpd-scale__lead + .dxpd-scale__lead { margin-top: 16px; }
.dxpd-reviewed .dxpd-measures { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dxpd-reviewed .dxpd-measure { min-width: 0; padding: 12px 14px; }
.dxpd-reviewed .dxpd-measure strong { font-size: .95rem; }
.dxpd-reviewed .dxpd-measures + .dxpd-scale__lead { margin-top: 20px; }
.dxpd-reviewed .dxpd-dimension-group { margin-top: clamp(32px, 4vw, 56px); }
.dxpd-reviewed .dxpd-specgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); background: var(--c-white); }
.dxpd-reviewed .dxpd-spec { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 16px; align-items: start; padding: 20px; }
.dxpd-reviewed .dxpd-spec dt { font-size: .875rem; line-height: 1.5; }
.dxpd-reviewed .dxpd-spec dd { min-width: 0; font-size: .95rem; line-height: 1.5; }
.dxpd-reviewed .dxpd-specgrid + p { margin-top: 20px; }
.dxpd-reviewed .dxpd-step__num { line-height: 1; font-variant-numeric: tabular-nums; }
.dxpd-reviewed .dxpd-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dxpd-reviewed .dxpd-variant__body { padding: 22px; }
.dxpd-reviewed .dxpd-variants--pair { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dxpd-reviewed .dxpd-card-link { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 22px; margin-top: auto; color: var(--c-charcoal); font-weight: 700; font-size: .875rem; }
.dxpd-reviewed .dxpd-card-link > span { color: var(--c-gold-text); }
.dxpd-reviewed .dxpd-variant:hover .dxpd-variant__img img { transform: none; }
.dxpd-reviewed .dxpd-card--hover:hover { transform: none; }
.dxpd-reviewed .dxpd-gallery { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.dxpd-reviewed .dxpd-gallery figure { display: flex; flex-direction: column; position: relative; min-width: 0; }
.dxpd-reviewed .dxpd-gallery__open { display: block; position: relative; height: 100%; min-height: 0; }
.dxpd-reviewed .dxpd-gallery__open:focus-visible { outline-offset: -5px; outline-color: #fff; }
.dxpd-reviewed .dxpd-gallery picture { display: block; height: 100%; }
.dxpd-reviewed .dxpd-gallery img { transform: none; }
.dxpd-reviewed .dxpd-gallery figcaption { pointer-events: none; }
.dxpd-gallery__zoom { position: absolute; top: 12px; right: 12px; display: grid; place-items: center; width: 36px; height: 36px; background: rgba(255,255,255,.96); color: #1a1a1a; border-radius: 50%; font-size: 22px; }
.dxpd-reviewed .dxpd-faq { max-width: 920px; }
.dxpd-reviewed .dxpd-faq summary { align-items: center; min-height: 64px; line-height: 1.5; }
.dxpd-reviewed .dxpd-faq summary::after { flex: 0 0 20px; text-align: center; }
.dxpd-reviewed .dxpd-faq details[open] summary::after { content: '\2212'; }
.dxpd-reviewed .dxpd-faq summary:focus-visible { outline-offset: -4px; }
.dxpd-reviewed .dxpd-faq details[open] { background: var(--c-bg-subtle); }
.dxpd-reviewed .dxpd-cta .dxc-btn--secondary { color: #fff; border-color: rgba(255,255,255,.65); }
.dxpd-reviewed .dxpd-cta .dxc-btn--secondary:is(:hover, :focus-visible) { color: var(--c-charcoal); background: #fff; border-color: #fff; }
.dxpd-reviewed .dxpd-cta__trust { gap: 10px 20px; }
.dxpd-reviewed .dxc-cc-reopener { bottom: 16px; }
.dxpd-image-dialog { position: fixed; inset: 0; margin: auto; padding: 56px 16px 16px; max-width: min(1200px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); border: 0; border-radius: var(--pd-radius); background: #141414; color: #fff; overflow: auto; }
.dxpd-image-dialog::backdrop { background: rgba(0,0,0,.82); }
.dxpd-image-dialog img { display: block; max-width: 100%; max-height: calc(100dvh - 120px); width: auto; height: auto; margin: auto; object-fit: contain; }
.dxpd-image-dialog button { position: absolute; top: 4px; right: 8px; display: grid; place-items: center; width: 48px; height: 48px; border: 0; color: #fff; background: transparent; font-size: 32px; cursor: pointer; }
.dxpd-image-dialog button:focus-visible { outline: 2px solid var(--c-gold); outline-offset: -4px; }
@media (max-width: 1100px) {
  .dxpd-reviewed .dxpd-usps__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dxpd-reviewed .dxpd-hero__actions { grid-template-columns: 1fr; }
  .dxpd-reviewed .dxpd-specgrid { grid-template-columns: 1fr; }
  .dxpd-reviewed .dxpd-spec:nth-child(odd) { border-right: 0; }
  .dxpd-reviewed .dxpd-spec:last-child { border-bottom: 0; }
}
@media (max-width: 860px) {
  .dxpd-reviewed .dxpd-hero__grid { grid-template-columns: 1fr; grid-template-areas: 'intro' 'image' 'actions'; gap: 24px; }
  .dxpd-reviewed .dxpd-hero__actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dxpd-reviewed .dxpd-hero__tagline { max-width: 60ch; }
  .dxpd-reviewed :is(.dxpd-frow, .dxpd-scale) { grid-template-columns: 1fr; }
  .dxpd-reviewed .dxpd-frow__media, .dxpd-reviewed .dxpd-frow--reverse .dxpd-frow__media { order: 0; }
  .dxpd-reviewed .dxpd-scale__media { order: 0; }
  .dxpd-reviewed .dxpd-steps { grid-template-columns: 1fr; gap: 12px; }
  .dxpd-reviewed .dxpd-step { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 6px 16px; padding: 24px; }
  .dxpd-reviewed .dxpd-step__num { grid-row: span 2; width: 40px; height: 40px; margin: 0; }
  .dxpd-reviewed .dxpd-step h3 { align-self: end; margin: 0; }
  .dxpd-reviewed .dxpd-step p { grid-column: 2; }
  .dxpd-reviewed .dxpd-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dxpd-reviewed .dxpd-gallery--featured figure:first-child img { aspect-ratio: 3 / 2; }
}
@media (max-width: 560px) {
  .dxpd-reviewed { --pd-pad: 44px; }
  .dxpd-reviewed .dxpd-hero { padding-top: 28px; }
  .dxpd-reviewed .dxpd-hero h1 { font-size: clamp(1.8rem, 8vw, 2.6rem); }
  .dxpd-reviewed .dxpd-hero__actions { grid-template-columns: 1fr; }
  .dxpd-reviewed .dxpd-hero__actions .dxc-btn { font-size: .875rem; }
  .dxpd-reviewed .dxpd-hero__microcopy { text-align: center; font-size: .72rem; }
  .dxpd-reviewed .dxpd-usps__grid { gap: 20px 16px; }
  .dxpd-reviewed .dxpd-usp { align-items: flex-start; gap: 9px; }
  .dxpd-reviewed .dxpd-usp__icon { width: 28px; height: 28px; border-radius: 8px; }
  .dxpd-reviewed .dxpd-usp__icon svg { width: 17px; height: 17px; }
  .dxpd-reviewed .dxpd-usp__text { font-size: .76rem; }
  .dxpd-reviewed .dxpd-usp__text span { font-size: .72rem; }
  .dxpd-jumpnav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 16px; }
  .dxpd-reviewed .dxpd-block h2 { font-size: 1.6rem; }
  .dxpd-reviewed .dxpd-spec { grid-template-columns: 1fr; gap: 5px; padding: 18px 20px; }
  .dxpd-reviewed .dxpd-variant__body { padding: 20px; }
  .dxpd-reviewed .dxpd-variants--pair { grid-template-columns: minmax(0, 1fr); }
  .dxpd-reviewed .dxpd-faq summary { font-size: .95rem; padding: 18px; }
  .dxpd-reviewed .dxpd-faq p { padding: 0 18px 20px; font-size: .95rem; }
  .dxpd-reviewed .dxpd-cta { padding: 32px 20px; }
  .dxpd-reviewed .dxpd-cta__actions { display: grid; grid-template-columns: minmax(0, 1fr); }
  .dxpd-reviewed .dxpd-cta__actions .dxc-btn { white-space: normal; font-size: .8rem; line-height: 1.5; min-height: 52px; padding: 14px 16px; }
  .dxpd-reviewed .dxpd-cta__trust { font-size: .72rem; gap: 9px 12px; }
  .dxpd-reviewed .dxpd-gallery figcaption { font-size: .75rem; padding: 30px 14px 14px; }
}
@media (max-width: 360px) {
  .dxpd-reviewed .dxpd-usp { flex-direction: column; }
  .dxpd-reviewed .dxpd-measure { padding: 10px; }
  .dxpd-reviewed .dxpd-measure strong { font-size: .85rem; }
}
@media (prefers-reduced-motion: reduce) {
  .dxpd-reviewed *, .dxpd-reviewed *::before, .dxpd-reviewed *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
