/*
* Single product
*/
div[id^=product] {
  --gap: 50px;
}
div[id^=product] h1,
div[id^=product] .subtitle,
div[id^=product] .capacity {
  text-align: center;
}
div[id^=product] h2.product-name {
  font-size: 1em;
  text-transform: uppercase;
  font-family: 'FuturaPT', sans-serif;
  margin: 0 0 1em;
  font-weight: 800;
}
div[id^=product] img {
  display: block;
  max-width: 100%;
  height: auto;
}
div[id^=product] strong {
  font-weight: 600;
}
div[id^=product] .categories {
  text-transform: uppercase;
  font-size: .85em;
  font-weight: 500;
}
div[id^=product] .description p {
  margin-top: 0;
}
div[id^=product] .product-images-slider img {
  aspect-ratio: 1;
  object-fit: cover;
}
div[id^=product] section.upsell {
  margin-bottom: 50px;
}
div[id^=product] section.upsell .upsell-title {
  font-size: 1.2em;
}
div[id^=product] section.upsell .product-slide {
  text-align: center;
  width: 50%;
  padding: 5px;
  font-size: 14px;
}
div[id^=product] section.upsell .product-slide .product-name {
  text-transform: uppercase;
}
div[id^=product] form.cart button {
  background: #000;
  border: 1px solid #000;
  padding: 10px 20px;
  font-size: 1.1em;
  display: flex;
  align-items: center;
  width: 100%;
  color: #fff;
  margin: 30px 0;
  text-transform: uppercase;
}
div[id^=product] form.cart button .amount {
  margin-left: auto;
}
div[id^=product] .olfactory-pyramid {
  margin: 15px 0 0;
  padding: 15px 0;
  border-top: 1px dashed #ccc;
  border-bottom: 1px dashed #ccc;
  font-size: .9em;
}
div[id^=product] .olfactory-pyramid p {
  margin: 0;
}
div[id^=product] .olfactory-pyramid p:not(:last-child):after {
  display: block;
  content: "";
  width: 15px;
  height: 1px;
  background: #000;
  margin: 0 0 5px;
}
div[id^=product] ul.product-tabs {
  margin-top: 0;
}
div[id^=product] ul.product-tabs li a {
  display: flex;
  align-items: center;
  padding: 15px 0;
  text-transform: uppercase;
  font-size: .9em;
}
div[id^=product] ul.product-tabs li:not(:last-child) a {
  border-bottom: 1px dashed #ddd;
}
div[id^=product] ul.product-tabs .angle-icon {
  width: 10px;
  height: 10px;
  display: inline-block;
  border-right: 1px solid #bbb;
  border-bottom: 1px solid #bbb;
  transform: rotate(-45deg);
  margin-left: auto;
}
div[id^=product] section.related.products {
  margin: 60px 0;
}
div[id^=product] section.related.products li.product {
  text-align: center;
  text-transform: uppercase;
  font-size: 14px;
}
div[id^=product] section.related.products li.product h2 {
  font-family: 'FuturaPT', sans-serif;
  font-weight: 300;
  font-size: 14px;
}
div[id^=product] .product-tab.sidenav {
  padding: 30px 40px;
  font-size: .9em;
  width: 420px;
  max-width: 100%;
}
div[id^=product] .product-tab.sidenav h4 {
  font-weight: 300;
  font-size: 1.2em;
  font-family: 'FuturaPT', sans-serif;
  text-transform: uppercase;
  margin: 0 0 40px;
  padding-bottom: 30px;
  border-bottom: .5px solid #000;
}
div[id^=product] p.variation {
  text-transform: uppercase;
}
div[id^=product] p.variation label {
  cursor: pointer;
  width: 100%;
  line-height: 42px;
}
div[id^=product] p.variation label input[type="radio"] {
  display: none;
}
div[id^=product] p.variation label input[type="radio"] + span {
  display: flex;
  flex-wrap: wrap;
  border: 1px solid #ddd;
}
div[id^=product] p.variation label input[type="radio"] + span strong {
  padding-left: 15px;
  font-weight: 600;
}
div[id^=product] p.variation label input[type="radio"] + span bdi {
  display: inline-block;
  margin-left: 20px;
  font-weight: 300;
}
div[id^=product] p.variation label input[type="radio"] + span em.unavailable,
div[id^=product] p.variation label input[type="radio"] + span a.variation-add-to-cart {
  display: block;
  width: 160px;
  text-align: center;
  margin-left: auto;
  display: none;
}
div[id^=product] p.variation label input[type="radio"] + span em.unavailable {
  font-style: normal;
}
div[id^=product] p.variation label input[type="radio"]:checked + span {
  border-color: #000;
}
div[id^=product] p.variation label input[type="radio"]:checked + span a.variation-add-to-cart {
  background: #000;
  color: #fff;
  display: block;
}
div[id^=product] p.variation label input[type="radio"]:checked + span em.unavailable {
  color: #bbb;
  display: block;
}
@media only screen and (max-width: 600px) {
  div[id^=product] .qnh-product-images {
    margin-bottom: 30px;
  }
  div[id^=product] p.variation label input[type="radio"] + span a.variation-add-to-cart {
    width: 100%;
  }
}
@media only screen and (min-width: 602px) {
  div[id^=product] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap);
  }
  div[id^=product] .qnh-product-images,
  div[id^=product] .summary {
    width: calc( 50% - var(--gap)/2 );
  }
  div[id^=product] .qnh-product-images .sticky {
    position: sticky;
    top: 0;
  }
  div[id^=product] section.upsell .product-slide {
    width: 33.33333333%;
  }
}
