/**
 * PDP Woo bridge — home header stays; Variant A body only.
 * Neutralize prototype PDP header styles from variant-a.css.
 */
body.fm-pdp-page .fm-site-header {
  display: none !important;
}

body.fm-pdp-page .fm-hdr {
  position: relative;
  z-index: 500;
}

body.fm-pdp-page .fm-pdp {
  background: #fff;
}

body.fm-pdp-page .va-promo-banner--text {
  display: block;
  margin: 12px 0 16px;
  padding: 12px 14px;
  border-radius: 12px;
  background: linear-gradient(90deg, #fef2f2, #fff7ed);
  border: 1px solid #fecaca;
  color: #7f1d1d;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
}

body.fm-pdp-page .fm-pdp-cart-form {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  border: 0 !important;
}

body.fm-pdp-page .va-gallery__thumb,
body.fm-pdp-page .fm-fabric-swatch {
  display: block;
  padding: 0;
  border: 2px solid transparent;
  border-radius: 10px;
  background: #fff;
  cursor: pointer;
  line-height: 0;
  overflow: hidden;
}

body.fm-pdp-page .va-gallery__thumb {
  width: 72px;
}

body.fm-pdp-page .va-gallery__thumb.is-active,
body.fm-pdp-page .fm-fabric-swatch.is-active {
  border-color: var(--fm-red, #d62828);
}

body.fm-pdp-page .va-gallery__thumb img {
  width: 100%;
  height: 72px;
  object-fit: contain;
  background: #fff;
}

/* Kolor / wzór — równy rząd, stały size, hover = podgląd tkaniny (gallery #8) */
body.fm-pdp-page .fm-fabric-swatches-nav {
  display: flex;
  align-items: center;
  gap: 8px;
}
body.fm-pdp-page .fm-fabric-swatches-nav__btn {
  flex: 0 0 32px;
  align-self: center;
}
body.fm-pdp-page .fm-fabric-swatches-nav__track {
  flex: 1;
  min-width: 0;
  overflow: hidden;
}
body.fm-pdp-page .fm-fabric-swatches {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 8px;
  overflow-x: auto;
  padding: 4px 2px;
  scrollbar-width: none;
}
body.fm-pdp-page .fm-fabric-swatches::-webkit-scrollbar {
  display: none;
}
body.fm-pdp-page .fm-fabric-swatch {
  position: relative;
  flex: 0 0 56px;
  width: 56px;
  height: 56px;
  min-width: 56px;
  min-height: 56px;
  box-sizing: border-box;
  border: 2px solid var(--fm-gray-200, #e5e7eb);
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
}
body.fm-pdp-page .fm-fabric-swatch.is-active {
  border-color: var(--fm-red, #d62828);
  box-shadow: 0 0 0 2px rgba(214, 40, 40, 0.2);
}
body.fm-pdp-page .fm-fabric-swatch img,
body.fm-pdp-page .fm-fabric-swatch__product {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
body.fm-pdp-page .fm-fabric-swatch__fabric {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  background: #fff;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.15s ease;
  z-index: 2;
}
body.fm-pdp-page .fm-fabric-swatch__fabric img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
body.fm-pdp-page .fm-fabric-swatch:hover .fm-fabric-swatch__fabric,
body.fm-pdp-page .fm-fabric-swatch:focus-visible .fm-fabric-swatch__fabric,
body.fm-pdp-page .fm-fabric-swatch.is-fabric-preview .fm-fabric-swatch__fabric {
  opacity: 1;
}
body.fm-pdp-page .fm-fabric-swatches__hint {
  min-height: 1.25em;
  margin-top: 8px;
}

body.fm-pdp-page .va-breadcrumb a {
  color: inherit;
  text-decoration: none;
}

body.fm-pdp-page .fm-params-grid__row {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 12px;
  padding: 10px 20px;
  border-bottom: 1px solid #eee;
}

body.fm-pdp-page .fm-btn-atc:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

body.fm-pdp-page .va-gallery__actions {
  pointer-events: none;
}

body.fm-pdp-page .va-gallery__actions .fm-gallery-zoom {
  pointer-events: auto;
  cursor: pointer;
}

body.fm-pdp-page .fm-addon-card--placeholder {
  opacity: 0.92;
}

body.fm-pdp-page .fm-addon-card--placeholder .fm-addon-card__meta {
  font-style: italic;
}

body.fm-pdp-page .fm-addon-card__thumb {
  background: #fff;
  object-fit: contain;
}

body.fm-pdp-page .va-shipping-copy p,
body.fm-pdp-page .va-collection-copy p {
  margin: 0 0 12px;
  font-size: 15px;
  line-height: 1.6;
  color: var(--fm-gray-700, #374151);
}
body.fm-pdp-page .va-collection-copy__title {
  margin: 0 0 12px;
  font-size: 20px;
  font-weight: 700;
}
body.fm-pdp-page .va-collection-copy__link {
  font-weight: 700;
  color: var(--fm-red, #d62828);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Hide WoodMart single leftovers if any leak in */
body.fm-pdp-page .wd-single-footer,
body.fm-pdp-page .woocommerce-product-gallery:not(.va-gallery),
body.fm-pdp-page .summary.entry-summary:not(.va-buybox) {
  display: none !important;
}

/* Match header width; prevent buybox/gallery overlap */
body.fm-pdp-page .va-container {
  max-width: var(--fm-page-max, 1440px) !important;
  padding-inline: var(--fm-gutter, 24px) !important;
  width: 100%;
  box-sizing: border-box;
}
body.fm-pdp-page .va-hero--editorial {
  min-width: 0;
  width: 100%;
}
body.fm-pdp-page .va-hero__media,
body.fm-pdp-page .va-buybox--panel {
  min-width: 0;
  max-width: 100%;
}
body.fm-pdp-page .va-gallery__main {
  min-width: 0;
  overflow: hidden;
}
body.fm-pdp-page .fm-fabric-swatches__hint[hidden] {
  display: none !important;
}

body.fm-pdp-page .va-buybox__links {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
body.fm-pdp-page .va-buybox__link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  line-height: 1;
}
body.fm-pdp-page .va-buybox__link-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
}
body.fm-pdp-page .va-buybox__link-icon svg {
  width: 16px;
  height: 16px;
  display: block;
}

/* Description (tab Opis): never let leftover BL markup / flex-on-<p> split text into columns. */
body.fm-pdp-page [data-fm-description],
body.fm-pdp-page .fm-product-story {
  column-count: auto;
  columns: auto;
}
body.fm-pdp-page [data-fm-description] img,
body.fm-pdp-page .fm-product-story img {
  max-width: 100%;
  height: auto;
}
body.fm-pdp-page [data-fm-description] p:not(:has(.fm-desc-check)),
body.fm-pdp-page .fm-product-story p:not(:has(.fm-desc-check)) {
  display: block;
  width: 100%;
  max-width: 100%;
  float: none;
  column-count: auto;
  columns: auto;
}
