/* Compact material cards, preserving the source image/logo composition. */
section.prices2 {
  --surface-card: #f1f3f5;
  color: #2f3033;
}
.prices2 .prices2-text {
  max-width: 1120px;
  margin-bottom: clamp(22px, 2.3vw, 30px);
  padding-left: 14px;
  font-size: clamp(15px, 1.35vw, 18px);
  color: #626264;
}
.prices2 .prices2-text::before {
  width: 3px;
  background: #c5a263;
}
.prices2 .prices2-list {
  --dp-card-inset: clamp(16px, 1.4vw, 20px);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(12px, 1.5vw, 20px);
  align-items: stretch;
}
.prices2 .prices2-item {
  min-width: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #e5e1da;
  border-radius: 12px;
  background: linear-gradient(155deg, #fff 34%, #faf7f0 74%, #eee5d5 100%);
  box-shadow: none;
}
/* Manufacturer cards use a quiet, neutral surface beside the material photo. */
.prices2 .prices2-item.factura,
.prices2 .prices2-item.tenevye {
  background: var(--surface-card, #f1f3f5);
  border-color: #e2e5e8;
}
.prices2 .prices2-item-header {
  position: relative;
  display: block;
  min-width: 0;
  margin: 0 0 16px;
  padding: 0;
  background: var(--surface-card, #f7f8fa);
  border: 0;
}
/* The original transparent logos belong on the material, not in a new strip. */
.prices2 .prices2-item .prices2-item-brand,
.prices2 .prices2-item.factura .prices2-item-brand,
.prices2 .prices2-item.tenevye .prices2-item-brand {
  position: absolute;
  inset: auto;
  display: block;
  width: 42%;
  max-width: none;
  height: auto;
  max-height: none;
  margin: 0;
  padding: 0;
  aspect-ratio: auto;
  object-fit: contain;
  object-position: center;
  background: transparent;
  border: 0;
  border-radius: 0;
  transform: none;
  filter: none;
  opacity: 1;
}
.prices2 .prices2-item.factura .prices2-item-brand {
  top: 28%;
  left: 7%;
  right: auto;
}
/* Fabric source cards place the logo in the upper-right part of the texture. */
.prices2 .prices2-item.tenevye .prices2-item-brand {
  top: 6%;
  right: 6%;
  left: auto;
}
/* The exact source ratio also reserves space before lazy images load. */
.prices2 .prices2-item .prices2-item-img {
  position: static;
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  max-height: none;
  margin: 0;
  padding: 0;
  aspect-ratio: var(--dp-image-ratio, auto);
  object-fit: contain;
  object-position: center;
  border-radius: 0;
  background: transparent;
  transform: none;
  filter: none;
  opacity: 1;
}
.prices2 .prices2-item-body {
  flex: 1 0 auto;
  min-width: 0;
  padding: 0 var(--dp-card-inset);
}
.prices2 .prices2-item-name {
  margin: 0 0 10px;
  color: #2f3033;
  font-family: inherit;
  font-size: clamp(18px, 1.5vw, 20px);
  font-weight: 650;
  line-height: 1.24;
  letter-spacing: -.02em;
  overflow-wrap: break-word;
  text-wrap: pretty;
}
.prices2 .prices2-item-name span {
  display: block;
  margin-top: 4px;
  font-size: 14px;
  font-weight: 500;
  color: #626264;
}
/* One quiet brand link by the name; only the enquiry remains a button. */
.prices2 .dp-card-heading {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
  margin-bottom: 14px;
}
.prices2 .prices2-item .dp-card-heading .prices2-item-name {
  min-height: 0;
  margin: 0;
  font-size: 18px;
  line-height: 1.3;
}
.prices2 .dp-card-brand-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 30px;
  max-width: 100%;
  padding: 2px 0;
  border: 0;
  background: none;
  color: #37566d;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.3;
  text-decoration: underline;
  text-decoration-color: #aebfcd;
  text-underline-offset: 4px;
}
.prices2 .dp-card-brand-link::after {
  content: '\2192';
  font-size: 16px;
  text-decoration: none;
}
.prices2 .dp-card-brand-link:hover { color: #203f57; text-decoration-color: currentColor; }
.prices2 .dp-card-brand-link:focus-visible { outline: 2px solid #37566d; outline-offset: 4px; border-radius: 2px; }
/* Technical drawings have a white matte in their original files. Blending
   makes that matte share the card surface without cropping or editing assets. */
.prices2 .prices2-item.connection-ceiling .prices2-item-header {
  isolation: isolate;
  background: var(--surface-card, #f7f8fa);
}
.prices2 .prices2-item.connection-ceiling .prices2-item-img:is(
  [src$="/tenevoy pvc.jpg"], [src$="/tenevoy eurokraab.jpg"],
  [src$="/gapless rod.jpg"], [src$="/gapless kraab.jpg"]
) {
  mix-blend-mode: multiply;
}
.prices2 .prices2-item-props {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  margin-bottom: 16px;
}
.prices2 .prices2-item-props li {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  align-items: baseline;
  gap: 12px;
  padding: 7px 0;
  border-bottom: 1px solid #eeece8;
  font-size: 14px;
  line-height: 1.4;
}
.prices2 .prices2-item-props li:last-child { border-bottom: 0; }
.prices2 .prices2-item-props-name {
  color: #626264;
  font-family: inherit;
  font-weight: 400;
}
.prices2 .prices2-item-props-value,
.prices2 .prices2-item-props li:first-of-type .prices2-item-props-value {
  min-width: 0;
  color: #2f3033;
  font-family: inherit;
  font-size: 14px;
  font-weight: 500;
  text-align: left;
  font-variant-numeric: tabular-nums;
  overflow-wrap: break-word;
}
.prices2 .prices2-item-desc {
  margin-bottom: 16px;
  color: #626264;
  font-family: inherit;
  font-size: 14px;
  line-height: 1.45;
}
.prices2 .prices2-item-footer {
  min-width: 0;
  padding: 0 var(--dp-card-inset) 16px;
}
.prices2 .prices2-item-price {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 3px 5px;
  margin: 0;
  padding: 0;
  color: #2f3033;
  font-family: inherit;
  font-size: clamp(22px, 1.8vw, 26px);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -.03em;
  font-variant-numeric: tabular-nums;
}
.prices2 .prices2-item-price::before { content: none; }
.prices2-item-price .dp-price-prefix,
.prices2-item-price .dp-price-unit {
  font-size: .57em;
  font-weight: 500;
  letter-spacing: 0;
}
.prices2-item-price .dp-price-value { white-space: nowrap; }
.prices2 .prices2-item-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 46px;
  margin-top: 14px;
  padding: 12px 14px;
  border: 1px solid #38393e;
  border-radius: 8px;
  background: #38393e;
  box-shadow: none;
  color: #fff;
  font-size: 15px;
  font-weight: 650;
  line-height: 1.25;
  text-align: center;
  white-space: normal;
}
.prices2 .prices2-item-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 40px;
  margin: 7px 0 -5px;
  color: #2f3033;
  font-size: 14px;
  line-height: 1.35;
  text-align: center;
  text-decoration-color: #b9b5ae;
  text-underline-offset: 4px;
}

/* Related catalog items follow the same image and spacing rules. */
section.catalog .catalog-list,
.catalog-list-1,
.catalog-list-2,
.catalog-list-3,
.catalog-list-4,
.catalog-list-5,
.catalog-list-6 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(12px, 2vw, 26px);
}
.catalog-list-5 .catalog-list-5-item .img-wrapper { margin-bottom: 18px; }
.catalog-list-5 .catalog-list-5-item .img-wrapper img {
  display: block;
  width: 100%;
  height: auto;
  max-height: none;
  margin: 0;
  aspect-ratio: auto;
  object-fit: contain;
  object-position: center;
  background: #fff;
}
.catalog-list-5 .catalog-list-5-item .img-wrapper span {
  top: 12px;
  left: 12px;
  max-width: calc(100% - 24px);
  padding: 6px 10px;
  border: 1px solid rgb(255 255 255 / 80%);
  border-radius: 6px;
  background: rgb(255 255 255 / 94%);
  color: #2f3033;
  font-size: 14px;
  font-weight: 650;
  transform: none;
}
.catalog-list-4 .catalog-list-4-item img {
  height: auto;
  aspect-ratio: auto;
  object-fit: contain;
}
section.catalog .catalog-list .catalog-item .price,
.catalog-list-2 .catalog-list-2-item .price,
.catalog-list-3 .catalog-list-3-item .price,
.catalog-list-5 .catalog-list-5-item .price,
.catalog-list-6 .catalog-list-6-item .price {
  color: #2f3033;
  font-size: clamp(16px, 1.5vw, 19px);
  font-weight: 650;
}
.catalog-list-4 .catalog-list-4-item .price {
  background: #f6f4ef;
  color: #2f3033;
}

@media (hover: hover) and (pointer: fine) {
  .prices2 .prices2-item-btn:hover {
    border-color: #24252a;
    background: #24252a;
    color: #fff;
    box-shadow: none;
  }
  .prices2 .prices2-item-link:hover { text-decoration-color: currentColor; }
}

/* Material and construction cards share the same desktop rhythm. */
@media (min-width: 992px) {
  .prices2 .prices2-list {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/* Two cards remain visible even at 320px. Every parameter stays on the page. */
@media (max-width: 859px) {
  .prices2 .prices2-list,
  section.catalog .catalog-list,
  .catalog-list-1,
  .catalog-list-2,
  .catalog-list-3,
  .catalog-list-4,
  .catalog-list-5,
  .catalog-list-6 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 599px) {
  .prices2 .prices2-list {
    --dp-card-inset: clamp(10px, 2.5vw, 16px);
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: clamp(8px, 2.5vw, 14px);
  }
  .prices2 .prices2-item { border-radius: 12px; }
  .prices2 .prices2-item-header { margin-bottom: 12px; }
  .prices2 .prices2-item .prices2-item-img {
    width: 100%;
    height: auto;
    max-height: none;
    aspect-ratio: var(--dp-image-ratio, auto);
    object-fit: contain;
  }
  .prices2 .prices2-item-body { padding: 0 var(--dp-card-inset); }
  .prices2 .prices2-item-name {
    min-height: 2.5em;
    margin-bottom: 8px;
    font-size: clamp(16px, 3.7vw, 18px);
    line-height: 1.25;
  }
  .prices2 .prices2-item-name span { font-size: 13px; }
  .prices2 .prices2-item-props { margin-bottom: 16px; }
  .prices2 .prices2-item-props li {
    grid-template-columns: minmax(0, 1fr);
    align-content: start;
    gap: 2px;
    padding: 6px 0;
    font-size: 14px;
    line-height: 1.35;
  }
  .prices2 .prices2-item-props-name { font-size: 12px; line-height: 1.3; }
  .prices2 .prices2-item-props-value,
  .prices2 .prices2-item-props li:first-of-type .prices2-item-props-value {
    font-size: 14px;
    line-height: 1.3;
    text-align: left;
    font-weight: 500;
  }
  .prices2 .prices2-item-desc { font-size: 14px; line-height: 1.45; }
  .prices2 .prices2-item-footer { padding: 0 var(--dp-card-inset) 14px; }
  .prices2 .prices2-item-price { font-size: clamp(20px, 4.8vw, 24px); }
  .prices2 .prices2-item-btn {
    min-height: 46px;
    margin-top: 12px;
    padding: 10px 7px !important;
    border-radius: 8px;
    font-size: 14px !important;
    line-height: 1.2;
  }
  .prices2 .prices2-item-link { min-height: 40px; margin-top: 5px; font-size: 13px; }
  section.catalog .catalog-list,
  .catalog-list-1,
  .catalog-list-2,
  .catalog-list-3,
  .catalog-list-4,
  .catalog-list-5,
  .catalog-list-6 { gap: clamp(8px, 2.5vw, 14px); }
  .catalog-list-5 .catalog-list-5-item .img-wrapper { margin-bottom: 12px; }
  .catalog-list-5 .catalog-list-5-item .img-wrapper span { top: 8px; left: 8px; padding: 5px 7px; font-size: 12px; }
  .catalog-list-6 .catalog-list-6-item .title { padding: 0 12px; font-size: 16px; }
  .catalog-list-6 .catalog-list-6-item .text { padding: 0 12px; font-size: 14px; }
  .catalog-list-6 .catalog-list-6-item > div { padding: 0 12px; gap: 6px; }
  .catalog-list-6 .catalog-list-6-item .link-2 { font-size: 13px; }
}

/* Share spare height across the full specification list instead of stretching
   every neighbour's standard row to match the longest standard in the row. */
.prices2 .dp-specifications-grid .prices2-item-body {
  display: flex;
  flex-direction: column;
}
.prices2 .dp-specifications-grid .prices2-item-body .prices2-item-props {
  flex: none;
  align-content: start;
  margin-bottom: 0;
}

/* PVC comparison keeps the full material image and a separate price area. */
section.prices2.dp-pvc-cards .prices2-text {
  max-width: 860px;
  margin-bottom: 20px;
  font-size: 14px;
  line-height: 1.55;
}
.prices2.dp-pvc-cards .prices2-item-header { margin-bottom: 10px; }
.prices2.dp-pvc-cards .prices2-item-name {
  min-height: 0;
  margin-bottom: 7px;
  font-size: 16px;
  line-height: 1.25;
}
.prices2.dp-pvc-cards .prices2-item-name a.rv8-brand-name { text-decoration: none; }
.prices2.dp-pvc-cards .prices2-item-name a.rv8-brand-name::after { content: none; }
.prices2.dp-pvc-cards .prices2-item-props { margin-bottom: 10px; }
.prices2.dp-pvc-cards .prices2-item-props li {
  gap: 1px 8px;
  padding: 4px 0;
  border-color: #e7ebee;
  font-size: 12.5px;
  line-height: 1.35;
}
.prices2.dp-pvc-cards .prices2-item-props-name,
.prices2.dp-pvc-cards .prices2-item-props-value,
.prices2.dp-pvc-cards .prices2-item-props li:first-of-type .prices2-item-props-value {
  font-size: 12.5px;
  line-height: 1.35;
}
.prices2.dp-pvc-cards .prices2-item-footer {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  padding-bottom: 12px;
}
.prices2.dp-pvc-cards .prices2-item-price { font-size: 22px; }
.prices2.dp-pvc-cards .prices2-item-btn {
  min-height: 44px;
  margin-top: 8px;
  padding: 8px 6px !important;
  font-size: 14px !important;
  line-height: 1.25;
}
@media (max-width: 599px) {
  section.prices2.dp-pvc-cards .prices2-text { font-size: 13px; }
  .prices2.dp-pvc-cards .prices2-item-name { font-size: 14px; }
  .prices2.dp-pvc-cards .prices2-item-props-name { font-size: 11px; }
  .prices2.dp-pvc-cards .prices2-item-props-value,
  .prices2.dp-pvc-cards .prices2-item-props li:first-of-type .prices2-item-props-value { font-size: 12px; }
  .prices2.dp-pvc-cards .prices2-item-price { font-size: 20px; }
}

/* Separate the specification/description, price and actions vertically. */
.prices2 .prices2-item-footer,
.prices2.dp-pvc-cards .prices2-item-footer {
  position: relative;
  margin-top: 20px;
  padding-top: 20px;
  padding-bottom: 20px;
  border-top: 0;
}
.prices2 .prices2-item-footer::before {
  content: '';
  position: absolute;
  inset: 0 var(--dp-card-inset) auto;
  height: 1px;
  background: #dfe5ea;
}
.prices2 .prices2-item-btn,
.prices2.dp-pvc-cards .prices2-item-btn { margin-top: 18px; }
@media (min-width: 600px) {
  .prices2.dp-pvc-cards .prices2-item-header { margin-bottom: 16px; }
  .prices2.dp-pvc-cards .prices2-item-name { margin-bottom: 12px; }
  .prices2.dp-pvc-cards .prices2-item-props li { padding-block: 7px; }
}
@media (max-width: 599px) {
  .prices2 .dp-card-heading { gap: 2px; margin-bottom: 10px; }
  .prices2 .prices2-item .dp-card-heading .prices2-item-name { font-size: 15px; }
  .prices2 .dp-card-brand-link { min-height: 34px; font-size: 12px; }
  .prices2 .prices2-item-footer,
  .prices2.dp-pvc-cards .prices2-item-footer { margin-top: 18px; padding-top: 16px; }
  .prices2 .prices2-item-btn,
  .prices2.dp-pvc-cards .prices2-item-btn { margin-top: 14px; }
}
