/* One layout for Shine, Laika and Pulseq. Product art keeps its own aspect ratio. */
.product-hero .pp-hero-grid {
  grid-template-columns: minmax(0, .78fr) minmax(560px, 1.22fr);
  gap: 72px;
  align-items: center;
}
.product-hero .pp-hero-text,
.product-hero .pp-hero-viz { min-width: 0; }
.product-hero .pp-meta, .product-hero .pp-crumbs { flex-wrap: wrap; }
.product-hero .pp-title { overflow-wrap: anywhere; }
.product-hero .pp-tag { max-width: 36ch; }
.product-hero .pp-price { display: flex; gap: 48px; align-items: end; }
.product-hero .pp-price .sale-price { flex-wrap: wrap; }
.product-hero .pp-ctas { display: flex; gap: 16px; align-items: flex-end; flex-wrap: wrap; }
.product-hero .pp-ctas:has(+ .product-manual) { margin-bottom: 12px; }
.product-manual { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin-bottom: 24px; color: var(--teal); font-size: 14px; text-decoration: underline; text-underline-offset: 4px; }
.product-manual:hover { color: var(--ink); }
.product-manual:focus-visible { outline: 2px solid var(--ink); outline-offset: 5px; }
.product-hero .pp-specs li { grid-template-columns: 140px minmax(0, 1fr); gap: 24px; }
.product-format-icons { display: inline-flex; align-items: center; gap: 10px; flex-wrap: wrap; min-height: 82px; max-width: 100%; }
.product-format-icons img { display: block; width: auto; height: 80px; max-width: min(180px, 100%); object-fit: contain; filter: brightness(0) invert(1); opacity: .92; }
.product-screenshot { margin: 0; overflow: hidden; border: 1px solid var(--rule-strong); border-radius: 4px; background: #050505; box-shadow: 0 34px 100px rgba(0,0,0,.62); }
.product-screenshot img { display: block; width: 100%; height: auto; }
.product-readout { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; border: 1px solid var(--rule); border-top: 0; background: var(--rule); }
.product-readout span { display: block; padding: 12px 14px; background: var(--bg-elev); color: var(--ink); overflow-wrap: anywhere; }
@media (max-width: 1060px) {
  .product-hero .pp-hero-grid { grid-template-columns: minmax(0, 1fr); gap: 64px; }
}
@media (max-width: 640px) {
  .product-hero .pp-hero-grid { gap: 36px; }
  .product-hero .pp-ctas { display: grid; grid-template-columns: minmax(0, 1fr); }
  .product-hero .pp-ctas .btn { width: 100%; justify-content: center; }
  .product-hero .pp-specs li { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .product-format-icons { min-height: 60px; }
  .product-format-icons img { height: 58px; max-width: 128px; }
  .product-readout { grid-template-columns: minmax(0, 1fr); }
}
