/* Begin Overwrite styles */

.woocommerce #content div.product div.images,
.woocommerce div.product div.images,
.woocommerce-page #content div.product div.images,
.woocommerce-page div.product div.images {
  max-width: 425px;
}

.woocommerce div.product div.images,
.woocommerce div.product div.summary {
  margin: 0;
}

.woocommerce div.product div.images .flex-control-thumbs {
  display: flex;
  justify-content: center;
}

.woocommerce div.product div.images .flex-control-thumbs li {
  margin-inline-end: var(--size-2);
  border-radius: var(--size-4);
  border: 0.2px solid var(--color-border);
  padding: var(--size-2);
}

.woocommerce.single-product:where(body:not(.woocommerce-uses-block-theme)) div.product .summary p.price,
.woocommerce.single-product:where(body:not(.woocommerce-uses-block-theme)) div.product .summary span.price {
  color: var(--color-title);
  font-size: 28px;
  line-height: normal;
}

.woocommerce.single-product:where(body:not(.woocommerce-uses-block-theme)) div.product .summary p.price.variable,
.woocommerce.single-product:where(body:not(.woocommerce-uses-block-theme)) div.product .summary span.price.variable {
  font-size: 24px;
}

.cwoo-card__price span.free {
  font-size: 20px;
}

.woocommerce div.product form.cart {
  margin-bottom: 0;
}

.woocommerce div.product .product_title {
  padding-bottom: var(--size-1);
}

.woocommerce div.product form.cart .variations {
  margin-bottom: 0;
  border-spacing: 0 var(--size-2);
  border-collapse: separate;
}

.woocommerce div.product form.cart .variations td,
.woocommerce div.product form.cart .variations th {
  padding: 0;
  width: 50%;
}

.woocommerce div.product form.cart .variations label {
  font-weight: 400;
  text-align: right;
  width: 100%;
}

.woocommerce div.product form.cart .variations select {
  max-width: 65%;
  float: left;
  margin: 0;
  padding-block: var(--size-1);
  padding-inline: 12px 32px;
  border: 1px solid var(--color-border);
  border-radius: 32px;
  font-weight: 400;
  cursor: pointer;
}

.woocommerce div.product form.cart .reset_variations {
  width: 100%;
  font-size: 14px;
  display: flex;
  padding-top: var(--size-2);
  color: var(--color-error);
  justify-content: flex-end;
}

.woocommerce div.product p.stock {
  display: flex;
  gap: var(--size-1);
  color: var(--color-error);
  font-size: 14px;
  margin-bottom: 0;
}

.woocommerce div.product p.stock path {
  stroke: var(--color-error);
}

.woocommerce div.product .woocommerce-variation-availability p.stock {
  margin-bottom: var(--size-2);
}

.woocommerce div.product form.cart {
  display: flex;
  flex-direction: column;
}

.woocommerce div.product form.cart .button,
.woocommerce div.product form.cart .button:hover,
.woocommerce-product__add-cart>.out-of-stock {
  display: flex;
  font-weight: 400;
  font-size: 14px;
  gap: var(--size-1);
  border-radius: var(--size-4);
  height: 44px;
  background: var(--color-primary) !important;
  width: 100%;
  margin-top: var(--size-4);
}

.woocommerce a.added_to_cart {
  display: none;
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.added::after,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.added::after,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.added::after,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.added::after,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit.added::after,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button.added::after,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button.added::after,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button.added::after {
  margin-right: 0;
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.loading,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.loading,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.loading,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.loading,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit.loading,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button.loading,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button.loading,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button.loading {
  opacity: .5;
  padding-left: 0;
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.loading::after,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.loading::after,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.loading::after,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.loading::after,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit.loading::after,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button.loading::after,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button.loading::after,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button.loading::after {
  content: unset;
}

.woocommerce-product__add-cart>.out-of-stock {
  align-items: center;
  justify-content: center;
  background: var(--color-gray-100) !important;
}

.woocommerce-page .quantity-wrapper {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  border-radius: var(--size-4);
  border: 1px solid var(--color-border);
  height: 36px;
}

.woocommerce-page form.cart div.quantity--number {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: 200;
  border-bottom: 1px solid var(--color-border);
  padding-block: var(--size-4);
}

.woocommerce-page form.cart div.quantity {
  margin: 0;
  margin-top: var(--size-3);
  margin-bottom: var(--size-4);
}

.woocommerce-page div.quantity--hidden {
  display: none;
}

.woocommerce-page .quantity input.qty {
  font-size: var(--size-4);
  width: var(--size-4);
  text-align: center;
  border: 0;
  background: transparent !important;
  padding: 0 !important;
  height: 100%;
}

.woocommerce-page .qty-btn {
  display: flex;
  background: unset;
  padding: 0;
  padding-inline: var(--size-1);
  stroke: #666666;
  color: #666666;
  height: 100%;
}

.woocommerce-page .qty-btn svg {
  width: 24px;
  height: var(--size-4);
}

.woocommerce-page .qty-btn.disabled {
  stroke: #C4C0C0;
  cursor: default;
}

.woocommerce-product-details__short-description {
  font-size: 14px;
  font-weight: 300;
}

.woocommerce .woocommerce-product-rating::after,
.woocommerce .woocommerce-product-rating::before {
  content: unset;
}

.woocommerce div.product .woocommerce-product-rating {
  margin-bottom: var(--size-4);
  display: flex;
  gap: var(--size-2);
  align-items: center;
}

.woocommerce div.product .woocommerce-product-rating .count {
  font-size: var(--size-4);
  font-weight: 600;
  color: var(--color-title);
}

.woocommerce-breadcrumb .swiper-slide {
  width: auto !important;
  margin-inline-end: 0 !important;
}

.woocommerce-breadcrumb {
  display: flex;
  white-space: nowrap;
  font-size: 14px;
  color: #666;
  margin-bottom: var(--size-4) !important;
}

.woocommerce-breadcrumb a:last-child {
  color: #333;
}

.woocommerce-page div.product h2,
.woocommerce-page .cross-sells h2 {
  font-size: 18px;
  color: var(--color-primary);
}

/* Realted */

.woocommerce .products ul,
.woocommerce ul.products {
  margin: 0;
}

.woocommerce div.product .related {
  margin-top: 32px;
  margin-bottom: 48px;
}

.woocommerce div.product .cswiper {
  padding-inline: 0 !important;
}

.woocommerce-page:not(.woocommerce-shop):not(.archive) ul.products li.product {
  margin-block: 12px !important;
  box-shadow: unset;
  border: 1px solid var(--color-border);
}

/* Tabs */

.woocommerce div.product .panel-tab {
  display: flex;
  flex-wrap: wrap;
  gap: var(--size-2);
  padding: 0;
  margin: 0;
  padding-bottom: var(--size-2);
}

.woocommerce div.product .panel-tab li {
  border: 1px solid var(--color-primary);
  background-color: transparent;
  color: var(--color-primary);
  display: inline-block;
  position: relative;
  z-index: 0;
  border-radius: 999px;
  margin: 0;
}

.woocommerce div.product .panel-tab li.active {
  color: var(--color-primary);
  border-bottom-color: unset;
  background: var(--color-bg);
  box-shadow: 0 var(--size-1) 10px 0 rgba(172, 227, 178, 0.50);
}

.woocommerce div.product .panel-tab li a {
  display: flex;
  align-items: center;
  gap: var(--size-2);
  font-weight: 400;
  font-size: var(--size-4);
  padding: var(--size-1) var(--size-4);
  color: var(--color-primary);
}

@media screen and (max-width: 767.98px) {
  .woocommerce div.product .panel-tab li a {
    font-size: 14px;
  }
}

.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel,
section.upsells {
  margin: 32px 0 0;
  padding: var(--size-4) var(--size-4);
  display: block !important;
}

@media screen and (max-width: 767.98px) {

  .woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel,
  .woocommerce div.product .related,
  section.upsells {
    margin: 24px 0 0;
  }

  .woocommerce-Tabs-panel--reviews {
    padding-inline: 0;
  }
}

.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel h2,
.cross-sells h2,
.upsells h2 {
  border-bottom: 1px solid var(--color-border);
  padding-bottom: var(--size-2);
  margin-bottom: var(--size-3);
}

/* Table attributes */

.woocommerce div.product table.shop_attributes {
  border: 0;
  border-top: 0;
  margin-bottom: 0;
  width: 100%;
  border-collapse: separate;
  border-spacing: var(--size-1) 0;
}

.woocommerce div.product table.shop_attributes th {
  width: 110px;
  font-size: 14px !important;
  font-weight: 400;
  padding: 0;
  border-top: 0;
  border-bottom: 0;
  margin: 0;
  line-height: 1.5;
  color: #969696;
}

.woocommerce div.product table.shop_attributes td,
.woocommerce div.product table.shop_attributes th {
  border: 0;
  background: transparent !important;
  font-weight: 300;
  text-align: right;
  font-style: normal;
  padding-bottom: var(--size-2);
}

.woocommerce div.product table.shop_attributes td p {
  font-size: 14px !important;
  padding: 0;
  font-style: normal;
}

.woocommerce div.product .woocommerce-product__data-button {
  display: flex;
  gap: var(--size-1);
  align-items: center;
  justify-self: start;
  border-radius: 999px;
  margin-top: var(--size-2);
  font-size: 14px;
  font-weight: 300;
  color: var(--color-title);
  padding-inline: var(--size-2);
  background: #ACE3B2;
}

.woocommerce div.product .woocommerce-product__data-button.data--pdf {
  background: navajowhite;
}

/* Reviews */

.woocommerce #reviews #comments ol.commentlist li,
.woocommerce #reviews #comments ol.commentlist li .comment-text,
.woocommerce #reviews #comments ol.commentlist ul.children {
  border: 0;
  margin: 0;
  padding: 0;
}

.woocommerce #reviews #comments ol.commentlist>li {
  border-radius: var(--size-4);
  border: 1px solid var(--color-border);
  padding: var(--size-4);
  margin-bottom: var(--size-4);
}

.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta {
  display: flex;
  justify-content: space-between;
  margin: 0;
  font-size: 14px;
  font-weight: 300;
  padding-bottom: var(--size-2);
  margin-bottom: var(--size-2);
}

.woocommerce #reviews #comments ol.commentlist ul.children p.meta {
  border-bottom: 1px solid var(--color-border);
}

strong.woocommerce-review__author {
  font-weight: 600;
  color: var(--color-title);
  font-size: 12px;
}

.woocommerce ul.children strong.woocommerce-review__author {
  color: var(--color-primary);
}

.woocommerce #reviews #comments ol.commentlist li .comment-text .description {
  font-size: 14px;
}

.woocommerce #reviews #comments ol.commentlist ul.children {
  margin-top: var(--size-2);
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.woocommerce #reviews #comments ol.commentlist ul.children li ul.children li {
  border: 1px solid var(--color-border);
}

.woocommerce #reviews #comments ol.commentlist ul.children li {
  padding: var(--size-4);
  border-radius: var(--size-4);
  background: var(--color-gray-100);
}

/* Reviews Form */

.woocommerce #reviews .comment-form>* {
  margin-bottom: var(--size-5) !important;
}

@media screen and (max-width: 767.98px) {
  .woocommerce #reviews .comment-form>* {
    margin-bottom: var(--size-3) !important;
  }
}

.woocommerce #reviews .comment-notes {
  font-size: 12px;
  padding-block: var(--size-2);
  color: var(--color-gray-900);
}

.woocommerce #review_form #respond p {
  display: flex;
  flex-direction: column;
  gap: var(--size-2);
  margin: 0;
}

.woocommerce #review_form #respond .form-submit input {
  align-self: end;
  font-weight: 600;
  font-size: 14px;
  border-radius: 10px;
  background: var(--color-primary);
  color: var(--color-on-primary);
}

.woocommerce #review_form #respond p.comment-notes {
  display: block !important;
}

.woocommerce #review_form #respond span#reply-title {
  font-weight: 500;
  color: var(--color-gray-700);
}

.woocommerce .comment-form-rating {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--size-2);
}

.woocommerce p.stars a::before {
  color: #ffa800;
  font-size: 25px;
}

.woocommerce #reviews #comment {
  height: 90px;
}

.woocommerce-noreviews {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: var(--size-4);
}

@media screen and (max-width: 767.98px) {
  .woocommerce p.stars a {
    height: 22px;
    width: 22px;
  }

  .woocommerce p.stars a::before {
    font-size: 22px;
  }
}


/* End Overwrite styles */

div:where(.swal2-container).swal2-bottom-end>.swal2-popup,
div:where(.swal2-container).swal2-bottom-right>.swal2-popup {
  border-radius: var(--size-4) !important;
  border: 1px solid var(--color-border);
  box-shadow: 0 0 1px 0 rgba(0, 0, 0, .2), 0 6px 6px -6px rgba(0, 0, 0, .16) !important;
}

.swal2-toast h2:where(.swal2-title) {
  padding: 0 !important;
  font-size: 14px !important;
  color: var(--color-body);
  margin: 0 !important;
}

.swal2-toast div:where(.swal2-actions),
.swal2-toast div:where(.swal2-html-container) {
  padding: 0 !important;
  margin-inline: 0 !important;
}

.swal2-toast button:where(.swal2-styled),
.swal2-toast button:where(.swal2-styled):hover {
  background: var(--color-success);
  padding: .4em 1em !important;
  font-size: 14px !important;
  height: auto;
  border-radius: 8px;
  margin: 0 !important;
}

/* Cart and checkout */

.woocommerce .cart-collaterals .cart_totals,
.woocommerce-page .cart-collaterals .cart_totals {
  width: 100%;
}

.woocommerce-page button.button,
.woocommerce-page button.button:hover {
  border-radius: var(--size-4);
  font-weight: 500;
  background-color: var(--color-primary) !important;
  color: var(--color-on-primary) !important;
}

.woocommerce-page button.button:disabled[disabled] {
  cursor: default;
}

#add_payment_method .wc-proceed-to-checkout,
.woocommerce-cart .wc-proceed-to-checkout,
.woocommerce-checkout .wc-proceed-to-checkout {
  padding-top: 16px;
  padding-bottom: 0;
}

.wc-proceed-to-checkout a {
  background-color: var(--color-success);
  color: var(--color-on-primary);
}

#add_payment_method #payment,
.woocommerce-cart #payment,
.woocommerce-checkout #payment {
  background: var(--color-gray-100);
  border-radius: var(--size-4);
  padding: var(--size-4);
  border: 1px solid var(--color-border);
}

#add_payment_method #payment ul.payment_methods,
.woocommerce-cart #payment ul.payment_methods,
.woocommerce-checkout #payment ul.payment_methods {
  padding: 0;
  border-bottom: unset;
}

#add_payment_method #payment div.form-row,
.woocommerce-cart #payment div.form-row,
.woocommerce-checkout #payment div.form-row {
  padding: 0;
  padding-top: var(--size-4);
}

.woocommerce-cart .quantity.quantity--number > span {
  display: none;
}