/* Composition only. Tokens and components belong to design-system/. */
.fnc-ds.fnc-product-page {
  --fnc-layout-sectionDesktop: var(--fnc-layout-section-padding-desktop);
  --fnc-layout-sectionMobile: var(--fnc-layout-section-padding-mobile);
}
.fnc-ds.fnc-product-page [id] { scroll-margin-top: var(--fnc-space-24); }
.fnc-ds.fnc-product-page .fnc-product-page__identity {
  display: flex; align-items: center; gap: var(--fnc-space-24);
  padding-bottom: var(--fnc-space-24); margin-bottom: var(--fnc-space-24);
  border-bottom: 1px solid var(--fnc-border);
}
.fnc-ds.fnc-product-page .fnc-product-page__identity > img {
  width: 92px; height: auto; padding: var(--fnc-space-8);
  background: var(--fnc-color-dark); border-radius: var(--fnc-radius-control);
}
.fnc-ds.fnc-product-page .fnc-product-page__identity > a { margin-left: auto; }
.fnc-ds.fnc-product-page :is(.fnc-product-page__intro, .fnc-product-page__section-heading) {
  display: grid; grid-template-columns: 1.1fr 1fr; align-items: start; gap: var(--fnc-space-48);
}
.fnc-ds.fnc-product-page .fnc-product-page__hero-image {
  width: 100%; max-width: 900px; height: auto; aspect-ratio: 796 / 345;
  object-fit: contain; align-self: center; margin-block: var(--fnc-space-24);
}
.fnc-ds.fnc-product-page .fnc-product-page__card-label { font-weight: var(--fnc-type-label-weight); }
.fnc-ds.fnc-product-page .fnc-product-page__benefits .fnc-product-page__card-link { margin-top: auto; }
.fnc-ds.fnc-product-page .fnc-product-page__feature { align-items: center; gap: var(--fnc-space-48); }
.fnc-ds.fnc-product-page .fnc-product-page__feature > .fnc-media { background: transparent; }
.fnc-ds.fnc-product-page .fnc-product-page__assembly { margin-top: var(--fnc-space-16); }
.fnc-ds.fnc-product-page .fnc-step-card .fnc-media { height: 400px; aspect-ratio: auto; }
.fnc-ds.fnc-product-page .fnc-step { color: var(--fnc-text); }
.fnc-ds.fnc-product-page .fnc-product-page__comparison { width: 100%; }
.fnc-ds.fnc-product-page .fnc-product-page__faq {
  display: grid; grid-template-columns: 1fr 1.65fr; align-items: start; gap: var(--fnc-space-64);
}
.fnc-ds.fnc-product-page .fnc-accordion summary { min-height: 44px; }
.fnc-ds.fnc-product-page .fnc-product-page__products .fnc-card { padding: var(--fnc-space-16); }
.fnc-ds.fnc-product-page .fnc-product-page__request-steps { list-style: none; padding: 0; margin-block: var(--fnc-space-16); }
.fnc-ds.fnc-product-page .fnc-product-page__request-steps li {
  display: flex; flex-direction: column; gap: var(--fnc-space-16);
  padding-block: var(--fnc-space-24); border-top: 1px solid var(--fnc-border);
  font-size: var(--fnc-type-small-desktop); font-weight: var(--fnc-type-label-weight);
}
@media (min-width: 768px) and (max-width: 1199px) {
  .fnc-ds.fnc-product-page { --fnc-layout-sectionDesktop: var(--fnc-layout-section-padding-tablet); }
  .fnc-ds.fnc-product-page .fnc-product-page__products .fnc-slider__track { grid-auto-flow: row; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .fnc-ds.fnc-product-page .fnc-product-page__identity { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: var(--fnc-space-16); margin-bottom: 0; }
  .fnc-ds.fnc-product-page .fnc-product-page__identity > img { width: 64px; }
  .fnc-ds.fnc-product-page .fnc-product-page__identity > a { grid-column: 1 / -1; justify-self: start; margin-left: 0; }
  .fnc-ds.fnc-product-page :is(.fnc-product-page__intro, .fnc-product-page__section-heading, .fnc-product-page__faq) { grid-template-columns: 1fr; gap: var(--fnc-space-24); }
  .fnc-ds.fnc-product-page .fnc-product-page__feature { gap: var(--fnc-space-24); }
  .fnc-ds.fnc-product-page .fnc-step-card .fnc-media { height: 180px; }
  .fnc-ds.fnc-product-page :is(.fnc-product-page__benefits, .fnc-product-page__problems) .fnc-card { min-height: 160px; padding: 16px; gap: 12px; }
  .fnc-ds.fnc-product-page .fnc-product-page__benefits .fnc-product-page__card-label { font-size: 18px; line-height: 1.4; }
  .fnc-ds.fnc-product-page .fnc-product-page__benefits .fnc-product-page__card-link { display: none; }
  .fnc-ds.fnc-product-page .fnc-product-page__problems .fnc-card { background: var(--fnc-color-ink); border-color: var(--fnc-color-ink); color: var(--fnc-color-white); }
}
