/* Product information only: reading, technical data, notices and documents. */
body#product :is(.vvp-product-section-nav,.product-summary-description,.product-description-long,.product-features-main,.product-attachments,.product-legal) {
  min-width: 0;
}

body#product .vvp-product-section-nav a:focus-visible,
body#product :is(.product-summary-description,.product-description-long,.product-attachments,.product-legal) a:focus-visible {
  outline: 2px solid var(--vvp-ds-focus,var(--vvp-color-action)); outline-offset: 4px;
}
body#product :is(#vvp-product-description,#vvp-product-description-long,#vvp-product-features,#vvp-product-documents) { scroll-margin-top: 112px; }
body#product .product-middle > :is(.product-summary-description,.product-description-long,.product-bottom) {
  padding: clamp(20px,2.5vw,32px); border: 0; border-radius: 20px; box-shadow: none;
}
body#product :is(.product-description-short,.product-description-long) :is(p,li,dd) {
  max-width: 78ch; color: var(--vvp-color-ink); font-size: 16px; line-height: 1.7;
  text-align: left; overflow-wrap: anywhere;
}
body#product :is(.product-description-short,.product-description-long) :is(strong,b) { font-weight: 650; }
body#product :is(.product-description-short,.product-description-long) :is(em,i) { font-style: italic; }
body#product :is(.product-description-short,.product-description-long) :is(h2,h3,h4) { max-width: 40ch; overflow-wrap: anywhere; line-height: 1.3; }
body#product :is(.product-description-short,.product-description-long) img { max-width: 100%; height: auto; }
body#product :is(.product-description-short,.product-description-long) :is(video,iframe) { max-width: 100%; }
body#product :is(.product-description-short,.product-description-long) a:not(.btn) { overflow-wrap: anywhere; }
/* One reading surface, with factual values grouped separately from their heading. */
body#product #vvp-product-features .product-features-main {
  display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,2.8fr);
  align-items: start; gap: 32px; padding: 32px;
  background: var(--vvp-ds-surface,#fff); border-radius: 20px;
}
body#product .product-features-heading { margin: 0; padding: 0; border: 0; }
body#product .product-features-heading h2 {
  margin: 0 0 12px; color: var(--vvp-ds-ink,var(--vvp-color-ink));
  font-size: 30px; font-weight: 600; line-height: 1.15; letter-spacing: -.035em;
  overflow-wrap: anywhere;
}
body#product .product-features-heading p { margin: 0; color: var(--vvp-ds-muted,var(--vvp-color-text-secondary)); font-size: 15px; line-height: 1.6; }
body#product #vvp-product-features .product-features-grid {
  display: grid; grid-template-columns: repeat(var(--vvp-info-cols,3),minmax(0,1fr));
  gap: 12px; margin: 0; padding: 0;
}
body#product #vvp-product-features .product-features-grid:has(> .product-feature-card:nth-child(-n+4):last-child) { --vvp-info-cols: 2; }
body#product #vvp-product-features .product-features-grid:has(> .product-feature-card:only-child) { --vvp-info-cols: 1; }
body#product #vvp-product-features .product-feature-card:nth-child(n) {
  display: block; min-width: 0; min-height: 0; padding: 18px;
  background: var(--vvp-ds-page,var(--vvp-color-page)); border: 0; border-radius: 14px;
}
body#product #vvp-product-features .product-feature-card :is(.name,.value) { min-width: 0; overflow-wrap: anywhere; }
body#product #vvp-product-features .product-feature-card .name { margin: 0 0 8px; color: var(--vvp-ds-muted,var(--vvp-color-text-secondary)); font-size: 14px; line-height: 1.4; font-weight: 400; }
body#product #vvp-product-features .product-feature-card .value { margin: 0; color: var(--vvp-ds-action,var(--vvp-color-action)); font-size: 17px; line-height: 1.5; font-weight: 500; }
body#product .product-legal-notice > * { min-width: 0; }
body#product .product-legal :is(p,li) { overflow-wrap: anywhere; line-height: 1.6; }
body#product .product-attachments { min-width: 0; }
body#product .product-attachments .attachment {
  min-width: 0; grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  background: var(--vvp-ds-page,var(--vvp-color-page)); border: 0; border-radius: 14px;
}
body#product .product-attachments :is(.attachment-description,.attachment-link) { min-width: 0; overflow-wrap: anywhere; }
body#product .product-attachments .attachment-link {
  display: inline-flex; align-items: center; min-height: 44px;
  color: var(--vvp-ds-action,var(--vvp-color-action)); text-decoration: underline; text-underline-offset: .18em;
}
@media(max-width:1100px) {
  body#product #vvp-product-features .product-features-main { grid-template-columns: minmax(0,1fr); gap: 24px; }
}
@media(max-width:991.98px) {
  body#product .product-attachments .col-md-6 { flex: 0 0 100%; max-width: 100%; }
  body#product .product-attachments .attachment { grid-template-columns: minmax(0,1fr); gap: 8px; }
}
@media(max-width:767.98px) {

  body#product :is(#vvp-product-description,#vvp-product-description-long,#vvp-product-features,#vvp-product-documents) { scroll-margin-top: 88px; }
  body#product .product-middle > :is(.product-summary-description,.product-description-long,.product-bottom) { padding: 20px; border-radius: 18px; }
  body#product #vvp-product-features .product-features-main { padding: 24px 20px; border-radius: 18px; gap: 20px; }
  body#product .product-features-heading h2 { font-size: 26px; margin-bottom: 8px; }
  body#product #vvp-product-features .product-features-grid:nth-child(n) { grid-template-columns: minmax(0,1fr); gap: 8px; }
  body#product #vvp-product-features .product-feature-card:nth-child(n) {
    display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.4fr);
    align-items: baseline; gap: 16px; padding: 16px; border-radius: 12px;
  }
  body#product #vvp-product-features .product-feature-card .name { margin: 0; }
  body#product #vvp-product-features .product-feature-card .value { font-size: 16px; }
}
@media(max-width:359.98px) {
  body#product #vvp-product-features .product-feature-card:nth-child(n) { grid-template-columns: minmax(0,1fr); gap: 6px; }
}
