/* Product layout: share the 1024px purchase-column/modules breakpoint.
   Append after the theme CSS. Scope stays on the native product page. */
.shop_product #box_productfull .maininfo > .f-row {
  grid-template-columns: minmax(0, 1fr) 398px;
  max-width: 100%;
}
.shop_product #box_productfull .maininfo > .f-row > div,
.shop_product #box_productfull .maininfo > .f-row > div.productimg > * {
  min-width: 0;
}
.shop_product #box_productfull .maininfo > .f-row > div.productimg {
  grid-template-columns: minmax(0, 1fr) minmax(0, 450px);
}
.shop_product #box_productfull .maininfo > .f-row > div.productimg .smallgallery,
.shop_product #box_productfull .maininfo > .f-row > div.productimg .smallgallery .innersmallgallery {
  width: 100%;
  min-width: 0;
  max-width: 100%;
}
.shop_product #box_productfull .maininfo > .f-row > div.productimg .smallgallery .innersmallgallery ul {
  min-width: 0;
  max-width: 100%;
}
.shop_product #box_productfull .maininfo > .f-row > div.productimg .mainimg img {
  max-width: 100%;
  object-fit: contain;
}
.shop_product #box_productfull .basket .price__container,
.shop_product #box_productfull .basket .price-netto__container {
  min-width: 0;
  max-width: 100%;
  margin-right: 0;
}
.shop_product #box_productfull .basket .price .main-price,
.shop_product #box_productfull .basket .price-netto .main-price {
  min-width: 0;
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: anywhere;
}
.shop_product #box_productfull .basket .main-price .dirox-price-unit-inside {
  display: inline-block !important;
  max-width: 100%;
}
@media screen and (max-width: 767px) {
  /* Mobile header width already subtracts its gutters; include its padding. */
  .shop_product header .logo-bar.row.container {
    box-sizing: border-box;
  }
}
@media screen and (min-width: 768px) {
  /* Mobile gallery setup adds display:none inline; restore its desktop view. */
  .shop_product #box_productfull .maininfo > .f-row > div.productimg > .mainimg {
    display: flex !important;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1319.98px) {
  .shop_product #box_productfull .maininfo > .f-row {
    grid-template-columns: minmax(0, 1fr) 320px;
  }
  .shop_product #box_productfull .maininfo > .f-row > div.productimg {
    grid-template-columns: minmax(0, 1fr) minmax(0, 350px);
  }
  .shop_product #box_productfull .basket .form-basket .addtobasket-container {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1079.98px) {
  .shop_product #box_productfull .maininfo > .f-row > div.productimg {
    grid-template-columns: minmax(0, 1fr) minmax(0, 300px);
  }
}
@media screen and (min-width: 1320px) and (max-width: 1600px) {
  .shop_product #box_productfull .maininfo > .f-row > div.productimg {
    grid-template-columns: minmax(0, 1fr) minmax(0, 500px);
  }
}
@media screen and (max-width: 1023.98px) {
  .shop_product #box_productfull .maininfo > .f-row {
    display: block;
  }
  .shop_product #box_productfull .maininfo > .f-row .rightbox {
    position: static !important;
    top: auto !important;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.98px) {
  .shop_product #box_productfull .maininfo > .f-row > div.productimg {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
}
