#product-summary-before {
  position: relative;
}
@media (min-width: 1024px) {
  .single-product #main > div > .product {
    display: grid;
    grid-gap: 30px;
    grid-template-columns: minmax(auto, 60%) minmax(auto, 40%);
  }
  .single-product #main > div > .product .summary {
    grid-row: auto / span 2;
  }
}
@media (min-width: 1280px) {
  .single-product #main > div > .product {
    grid-template-columns: minmax(auto, 700px) minmax(auto, 440px);
  }
}
/* ########## Gallery ########## */
.woocommerce-product-gallery {
  position: relative;
}
.woocommerce-product-gallery .woocommerce-product-gallery__trigger {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 50;
  font-size: 0;
}
.woocommerce-product-gallery .woocommerce-product-gallery__trigger:before {
  content: "\f00e";
  display: block;
  font-family: "Font Awesome 5 Pro";
  font-size: 18px;
  font-weight: 300;
  width: 32px;
  height: 32px;
  line-height: 32px;
  text-align: center;
  background-color: var(--wp--preset--color--default);
  color: #FFFFFF;
}
#product-gallery-thumbnails {
  max-width: 560px;
  margin: 30px auto 0 auto;
  position: relative;
}
#product-gallery-thumbnails ul.slides li img {
  cursor: pointer;
}
#product-gallery-thumbnails ul.flex-direction-nav {
  list-style: none;
}
#product-gallery-thumbnails ul.flex-direction-nav a {
  position: absolute;
  top: 50%;
  margin-top: -12px;
  font-size: 0;
  text-decoration: none;
  color: var(--wp--preset--color--default);
}
#product-gallery-thumbnails ul.flex-direction-nav a:before {
  font-family: "Font Awesome 5 Pro";
  font-size: 24px;
  font-weight: 300;
}
#product-gallery-thumbnails ul.flex-direction-nav a.flex-prev {
  left: -30px;
}
#product-gallery-thumbnails ul.flex-direction-nav a.flex-prev:before {
  content: "\f053";
}
#product-gallery-thumbnails ul.flex-direction-nav a.flex-next {
  right: -30px;
}
#product-gallery-thumbnails ul.flex-direction-nav a.flex-next:before {
  content: "\f054";
}
#product-gallery-thumbnails ul.flex-direction-nav a.flex-disabled {
  color: var(--wp--preset--color--gray);
  cursor: default;
}
/* ########## Tabs ########## */
.woocommerce-tabs {
  padding-top: 30px;
}
.woocommerce-tabs .accordion-title {
  border-top: 1px solid var(--wp--preset--color--gray);
  font-weight: 700;
  font-size: var(--wp--preset--font-size--bigger);
  padding-top: 15px;
  padding-bottom: 15px;
  cursor: pointer;
  display: flex;
  align-items: center;
}
.woocommerce-tabs .accordion-title:after {
  font-family: "Font Awesome 5 Pro";
  font-weight: 300;
  font-size: 14px;
  content: "\f067";
  margin-left: auto;
}
.woocommerce-tabs .accordion-title.active:after {
  content: "\f068";
}
.woocommerce-tabs .accordion-content {
  display: none;
  padding-top: 15px;
  padding-bottom: 15px;
}
/* ########## Tabs Attributes ########## */
table.woocommerce-product-attributes {
  margin-bottom: var(--wp--style--block-gap);
  border-collapse: collapse;
}
table.woocommerce-product-attributes th,
table.woocommerce-product-attributes td {
  padding: 10px;
  border: 5px solid #FFFFFF;
}
table.woocommerce-product-attributes th {
  text-align: left;
  background-color: var(--wp--preset--color--lightgray);
  border-left: none;
}
table.woocommerce-product-attributes td p {
  margin-bottom: 0;
}
/* ########## Accessories ########## */
.toggle-accessories {
  border: 2px solid var(--wp--preset--color--default);
  display: block;
  color: var(--wp--preset--color--default);
  padding: 10px 20px;
  text-decoration: none;
  text-align: center;
  font-weight: 700;
}
.toggle-accessories:before {
  font-family: "Font Awesome 5 Pro";
  content: "\f055";
  margin-right: 10px;
}
ul.list-product-accessories {
  list-style: none;
  display: grid;
  grid-gap: 30px;
  text-align: center;
  grid-template-columns: repeat(2, 1fr);
}
ul.list-product-accessories .thumbnail {
  margin-bottom: 10px;
}
ul.list-product-accessories .title {
  font-weight: 700;
  color: var(--wp--preset--color--default);
  text-decoration: none;
}
ul.list-product-accessories .title:hover {
  text-decoration: underline;
}
ul.list-product-accessories .price {
  margin-bottom: 10px;
}
ul.list-product-accessories .button {
  font-size: var(--wp--preset--font-size--small);
}
@media (min-width: 640px) {
  ul.list-product-accessories {
    grid-template-columns: repeat(3, 1fr);
  }
}
/* ########## Summary ########## */
.summary .single-product-saving {
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 15px;
}
.summary .price {
  font-size: var(--wp--preset--font-size--bigger);
  margin-bottom: 15px;
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
  gap: 10px;
}
.summary .price del {
  font-size: 16px;
}
.summary .product_meta {
  font-size: var(--wp--preset--font-size--small);
  margin-bottom: 15px;
}
.summary .delivery-time-info {
  color: var(--wp--preset--color--darkgreen);
}
.summary .woocommerce-product-details__short-description {
  margin-bottom: 20px;
}
.summary .woocommerce-product-details__short-description p {
  display: inline;
  margin-bottom: 0;
}
.summary .woocommerce-product-details__short-description a {
  color: var(--wp--preset--color--default);
  font-weight: 700;
}
.summary .woocommerce-product-details__short-description a:hover {
  color: var(--wp--preset--color--brown);
}
.summary table.variations {
  margin-bottom: 20px;
}
.summary table.variations td.label {
  padding-right: 10px;
}
.summary table.variations td.value {
  display: flex;
  align-items: center;
}
.summary table.variations td select {
  max-width: 200px;
}
.summary table.variations td .reset_variations {
  display: none !important;
}
.summary .woocommerce-variation {
  margin-bottom: 10px;
}
.summary form.cart {
  margin-bottom: 15px;
}
.summary .single-add-to-cart-wrapper {
  display: flex;
}
.summary .single-add-to-cart-wrapper .single_add_to_cart_button {
  width: 100%;
  margin-left: 10px;
  border-color: var(--wp--preset--color--brown);
  background-color: var(--wp--preset--color--brown);
}
.summary .list-payment {
  justify-content: center;
  margin-bottom: 30px;
}
.summary .wc-gzd-additional-info {
  margin-bottom: 15px;
}
.summary-sale {
  background-color: var(--wp--preset--color--magenta);
  color: #FFFFFF;
  padding: 5px 10px;
  font-weight: 700;
  text-align: center;
  margin-bottom: 10px;
}
/* ########## Features ########## */
.product-features {
  list-style: none;
  margin-top: 30px;
}
.product-features li {
  margin-bottom: 10px;
}
.product-features li:last-child {
  margin-bottom: 0;
}
.product-features li:before {
  font-family: "Font Awesome 5 Pro";
  content: "\f00c";
  margin-right: 10px;
}
.product-features li a {
  text-decoration: none;
  color: var(--wp--preset--color--default);
}
.product-features li a:hover {
  text-decoration: underline;
}
.product-features-full {
  list-style: none;
  margin-left: -15px;
  margin-right: -15px;
  font-size: var(--wp--preset--font-size--small);
  display: flex;
  flex-wrap: wrap;
}
.product-features-full li {
  padding-left: 15px;
  padding-right: 15px;
  width: 50%;
  box-sizing: border-box;
  margin-bottom: 15px;
}
.product-features-full li .image {
  margin-bottom: 10px;
}
.product-features-full li .image img {
  width: 64px;
  height: 64px;
}
.product-features-full li .label {
  margin-bottom: 10px;
  font-weight: 700;
}
/* ########## Summary Footer ########## */
.product-summary-footer {
  background-color: var(--wp--preset--color--lightgray);
  padding: 20px 15px;
  font-size: var(--wp--preset--font-size--small);
  margin-top: 15px;
  margin-bottom: 15px;
}
.product-summary-footer .items {
  display: flex;
}
.product-summary-footer .items .item {
  padding: 5px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
}
.product-summary-footer .items .item i {
  font-size: 26px;
}
.product-summary-footer .items .item div {
  margin-left: 10px;
}
@media (max-width: 480px) {
  .product-summary-footer .items {
    flex-wrap: wrap;
  }
}
/* ########## Availability ########## */
.delivery-time-wrapper {
  display: inline-block;
  margin-bottom: 20px;
}
.delivery-time-info {
  font-weight: 700;
  color: var(--wp--preset--color--darkgreen);
  margin-bottom: 0;
  line-height: 1;
  display: inline;
}
.test-100 {
  margin-left: auto;
  position: relative;
  padding-left: 40px;
  margin-bottom: 20px;
}
.test-100:before {
  content: "";
  width: 20px;
  height: 20px;
  border: 2px solid #000000;
  border-radius: 50%;
  position: absolute;
  top: 0;
  left: 0;
}
.test-100:after {
  font-family: "Font Awesome 5 Pro";
  content: "\f00c";
  position: absolute;
  top: -8px;
  left: 4px;
  color: var(--wp--preset--color--brown);
  font-size: 28px;
}
.test-100 a {
  text-decoration: none;
  color: var(--wp--preset--color--default);
}
.test-100 a:hover {
  text-decoration: underline;
}
.test-100 span {
  display: block;
  font-weight: 700;
}
/* ########## Gallery ########## */
.woocommerce-product-gallery .flex-control-nav {
  list-style: none;
  display: flex;
  gap: 10px;
  justify-content: center;
  padding-top: 15px;
}
.woocommerce-product-gallery .flex-control-nav li a {
  font-size: 0;
  display: block;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background-color: var(--wp--preset--color--darkgray);
}
.woocommerce-product-gallery .flex-control-nav li a.flex-active {
  background-color: var(--wp--preset--color--default);
}
.woocommerce-product-gallery .flex-direction-nav {
  list-style: none;
}
.woocommerce-product-gallery .flex-direction-nav li {
  position: absolute;
  top: 50%;
  margin-top: -15px;
}
.woocommerce-product-gallery .flex-direction-nav li.flex-nav-prev {
  left: 0;
}
.woocommerce-product-gallery .flex-direction-nav li.flex-nav-prev a:before {
  content: "\f053";
}
.woocommerce-product-gallery .flex-direction-nav li.flex-nav-next {
  right: 0;
}
.woocommerce-product-gallery .flex-direction-nav li.flex-nav-next a:before {
  content: "\f054";
}
.woocommerce-product-gallery .flex-direction-nav li a {
  font-size: 0;
  display: block;
  text-decoration: none;
}
.woocommerce-product-gallery .flex-direction-nav li a:before {
  font-family: "Font Awesome 5 Pro";
  font-size: 18px;
  font-weight: 300;
  background-color: var(--wp--preset--color--default);
  color: #FFFFFF;
  width: 32px;
  height: 32px;
  line-height: 32px;
  text-align: center;
  display: block;
}
/* ########## Reviews ########## */
ol.commentlist {
  list-style: none;
}
span.comment-reply-title {
  display: block;
  margin-bottom: 10px;
}
.comment-form-rating label {
  display: block;
  margin-bottom: 15px;
}
.comment-form-rating .stars a {
  font-size: 0;
  text-decoration: none;
}
.comment-form-rating .stars a:before {
  content: "\f005";
  font-family: "Font Awesome 5 Pro";
  font-weight: 300;
  font-size: 30px;
}
.comment-form-rating .stars.selected a:before {
  font-weight: 700;
}
.comment-form-rating .stars.selected a.active ~ a:before {
  font-weight: 300;
}
#commentform input[type="submit"] {
  background-color: var(--wp--preset--color--brown);
  border: 1px solid var(--wp--preset--color--brown);
  color: #FFFFFF;
  font-family: var(--wp--preset--font-family--primary);
  font-size: var(--wp--preset--font-size--regular);
  font-weight: 700;
  padding: 10px 15px;
  cursor: pointer;
}
