/****** General Woo Styles ******/
ul.woocommerce-mini-cart {
  margin: 0;
  padding: 0;
}
.woocommerce-MyAccount-navigation ul {
  list-style: none;
  padding-inline-start: 0;
}

.woocommerce-page ul.cart_list li::before,
.woocommerce-page ul.cart_list li::after,
.woocommerce-page ul.product_list_widget li::after {
  display: none;
}
.woocommerce-breadcrumb {
  font-family: 'Montserrat', sans-serif;
}
.orderby,
.single-product-content
  .product-main-info
  .summary.entry-summary
  .variations_form
  .variations
  .value
  select {
  border: none;
  font-family: 'Montserrat', sans-serif;
  border: 1px solid #d2d2d2;
  padding: 0.5rem 0.75rem;
  border-radius: 0.35rem;
  --webkit-transition: 0.3s all;
  transition: 0.3s all;
  accent-color: var(--theme-accent-color);
  -webkit-text-fill-color: #333;
}
.woocommerce .widget_price_filter .ui-slider .ui-slider-range,
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle {
  background-color: var(--theme-accent-color);
}
.woocommerce .widget_price_filter .ui-slider-horizontal {
  height: 0.25rem;
}
.woocommerce .widget_price_filter .price_slider_wrapper .ui-widget-content {
  background-color: #d2d2d2;
}
.woocommerce .widget_price_filter .price_slider_amount {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  line-height: 1;
  font-family: 'Montserrat', sans-serif;
}
.woocommerce .widget_price_filter .price_slider_amount .button {
  font-size: 1rem;
}
.woocommerce ul.cart_list li dl,
.woocommerce ul.product_list_widget li dl {
  padding-left: 0;
  border-left: 0;
}
dl {
  font-size: 0.9rem;
}
.woocommerce ul.cart_list li::before,
.woocommerce ul.cart_list li dl::before {
  display: none;
}
.woocommerce ul.cart_list li::after,
.woocommerce ul.product_list_widget li::after,
.woocommerce ul.cart_list li dl::after,
.woocommerce ul.product_list_widget li dl::after {
  display: none;
}
.woocommerce ul#shipping_method li label,
bdi {
  font-weight: normal;
}
.woocommerce span.onsale {
  border-radius: 0.5rem;
  top: 0.5rem;
  left: 0.5rem;
  width: fit-content;
  background: var(--theme-shop-general-sale-badge-background-color);
  color: var(--theme-shop-general-sale-badge-text-color);
  font-weight: 500;
  text-transform: uppercase;
  line-height: 1;
  letter-spacing: 0.1rem;
  font-size: 1rem;
  padding: 0.75rem 1rem;
  z-index: 3;
  min-width: 0;
  min-height: 0;
}
.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins {
  font-weight: 400;
  text-decoration: none;
}
.woocommerce .stars {
  width: fit-content;
}
.woocommerce .star-rating span:before {
  font-family: star;
  color: var(--theme-accent-color);
}
.woocommerce div.product div.images {
  margin-bottom: 0;
  scroll-snap-type: x mandatory;
}
.woocommerce #review_form #respond p,
.product-info p {
  margin: 0;
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles))
  #respond
  input#submit {
  border: 1px solid var(--theme-button-border-color);
  background: var(--theme-button-background-color);
  color: var(--theme-button-text-color);
  font-weight: 400;
}
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles))
  #respond
  input#submit:hover,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles))
  #respond
  input#submit:focus {
  border-color: var(--theme-button-border-hover-color);
  background: var(--theme-button-background-hover-color);
  color: var(--theme-button-text-hover-color);
}
.woocommerce-page .mocco-elementor-page {
  padding: 50px 30px;
}

.woocommerce table.shop_table tfoot th {
  font-weight: 400;
}
/***** Buttons *****/
.cart-table-main .actions .button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce #payment #place_order,
.woocommerce-page #payment #place_order,
.woocommerce .return-to-shop a,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles))
  button.button,
.woocommerce .woocommerce-message .button,
.woocommerce .woocommerce-info .button,
.woocommerce table.my_account_orders .button,
:where(body:not(.woocommerce-block-theme-has-button-styles))
  .woocommerce
  a.button.alt,
:where(body:not(.woocommerce-block-theme-has-button-styles))
  .woocommerce
  a.button,
.post-content
  .main
  .cptwooint-cart-btn-wrapper
  .cart
  .single_add_to_cart_button,
:where(body:not(.woocommerce-block-theme-has-button-styles))
  .woocommerce
  button.button {
  font-family: 'Montserrat', sans-serif;
  font-weight: 400;
  padding: 0.5rem 1rem;
  border-radius: 0.35rem;
  border: 1px solid var(--theme-button-border-color);
  background-color: var(--theme-button-background-color);
  color: var(--theme-button-text-color);
  --webkit-transition: 0.3s all;
  transition: 0.3s all;
  cursor: pointer;
  box-sizing: border-box;
  height: fit-content;
}
.post-content .main .cptwooint-cart-btn-wrapper .cart .quantity input {
  height: fit-content;
  min-width: 0;
  width: 3.5rem;
}
.actions .button:hover,
.actions .button:focus,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:focus,
.woocommerce-page #payment #place_order:hover,
.woocommerce-page #payment #place_order:focus,
.woocommerce .return-to-shop a:hover,
.woocommerce .return-to-shop a:focus,
.woocommerce table.my_account_orders .button:hover,
.woocommerce table.my_account_orders .button:focus,
:where(body:not(.woocommerce-block-theme-has-button-styles))
  .woocommerce
  a.button.alt:hover,
:where(body:not(.woocommerce-block-theme-has-button-styles))
  .woocommerce
  a.button.alt:focus,
:where(body:not(.woocommerce-block-theme-has-button-styles))
  .woocommerce
  a.button:hover,
:where(body:not(.woocommerce-block-theme-has-button-styles))
  .woocommerce
  a.button:focus,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles))
  button.button:hover,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles))
  button.button:focus,
:where(body:not(.woocommerce-block-theme-has-button-styles))
  .woocommerce
  button.button:hover,
:where(body:not(.woocommerce-block-theme-has-button-styles))
  .woocommerce
  button.button:focus {
  border-color: var(--theme-button-border-hover-color);
  background: var(--theme-button-background-hover-color);
  color: var(--theme-button-text-hover-color);
}

/****** Mini Cart ******/
/*** Icon ***/
.mini-cart-icon {
  width: 20px;
  position: relative;
  cursor: pointer;
  font-size: 1.25rem;
}
.mini-cart-items-count {
  position: absolute;
  top: -10px;
  right: -10px;
  background: var(--theme-header-icons-badge-background-color);
  color: var(--theme-header-icons-badge-color);
  border-radius: 1rem;
  width: 20px;
  height: 20px;
  font-size: 0.85rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

/*** Preview ***/
.mini-cart-preview {
  display: block;
  height: 100%;
  width: 30%;
  position: fixed;
  top: 0;
  left: -100%;
  background-color: #fff;
  box-shadow: 10px 0px 15px -3px rgba(0, 0, 0, 0.1);
  padding: 2rem 2rem 0 2rem;
  --webkit-transition: 0.5s all;
  transition: 0.5s all;
  overflow: auto;
}
.mini-cart-preview.active {
  left: 0;
}
.mini-cart-preview-content {
  display: grid;
  gap: 1rem;
}
.woocommerce-mini-cart__totals_wrapper {
  position: sticky;
  bottom: 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  background-color: #fff;
  padding: 1rem 0;
}
.mini-cart-preview-content .woocommerce-mini-cart {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.mini-cart-preview-content .woocommerce-mini-cart .woocommerce-mini-cart-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 1rem;
  border-bottom: 1px solid #f1f1f1;
}
.mini-cart-preview-content
  .woocommerce-mini-cart
  .woocommerce-mini-cart-item
  .mocco-mini-cart-product-data {
  display: grid;
  gap: 0.5rem;
}
.mini-cart-preview-content
  .woocommerce-mini-cart
  .woocommerce-mini-cart-item
  .mocco-mini-cart-product-data
  .mini-cart-remove-item {
  font-weight: 400;
  width: fit-content;
}
.mini-cart-preview-content
  .woocommerce-mini-cart
  .woocommerce-mini-cart-item
  .mocco-mini-cart-product-data
  .mini-cart-remove-item:hover {
  color: rgb(238, 135, 135);
}

.mini-cart-preview-content
  .woocommerce-mini-cart
  .woocommerce-mini-cart-item
  .mocco-mini-cart-product-data
  .variation {
  /*   display: inline-flex; */
  align-items: center;
  gap: 0.25rem;
}
.mini-cart-preview-content
  .woocommerce-mini-cart
  .woocommerce-mini-cart-item
  .mocco-mini-cart-product-data
  .variation
  dd,
.mini-cart-preview-content
  .woocommerce-mini-cart
  .woocommerce-mini-cart-item
  .mocco-mini-cart-product-data
  .variation
  dt {
  padding: 0;
  margin: 0;
  clear: both;
}
.mini-cart-preview-content
  .woocommerce-mini-cart
  .woocommerce-mini-cart-item
  .mocco-mini-cart-product-data
  .variation
  dd {
  margin-bottom: 0.25rem;
}
.mini-cart-preview-content
  .woocommerce-mini-cart
  .woocommerce-mini-cart-item
  .mocco-mini-cart-product-data
  .variation
  dt {
  font-weight: 400;
}

.mini-cart-preview-content
  .woocommerce-mini-cart
  .woocommerce-mini-cart-item
  .mocco-mini-cart-thumbnail {
  max-width: 70px;
}
.mini-cart-preview-content
  .woocommerce-mini-cart
  .woocommerce-mini-cart-item
  .mocco-mini-cart-thumbnail
  a
  img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0.5rem;
}

.mini-cart-preview-content .woocommerce-mini-cart__buttons {
  display: flex;
  gap: 1rem;
}
.mini-cart-preview-content .woocommerce-mini-cart__buttons a.button {
  all: unset;
  flex: 1;
  text-align: center;
  font-family: 'Montserrat', sans-serif;
  padding: 0.5rem 1rem;
  border-radius: 0.35rem;
  border: 1px solid var(--theme-button-border-color);
  background: var(--theme-button-background-color);
  color: var(--theme-button-text-color);
  --webkit-transition: 0.3s all;
  transition: 0.3s all;
  cursor: pointer;
  box-sizing: border-box;
}
.mini-cart-preview-content .woocommerce-mini-cart__buttons a.checkout {
  border: 1px solid var(--theme-button-border-color);
  background: var(--theme-button-background-color);
  color: var(--theme-button-text-color);
}
.mini-cart-preview-content .woocommerce-mini-cart__buttons a.button:hover,
.mini-cart-preview-content .woocommerce-mini-cart__buttons a.button:focus {
  border-color: var(--theme-button-border-hover-color);
  background: var(--theme-button-background-hover-color);
  color: var(--theme-button-text-hover-color);
}
.mini-cart-preview-content .woocommerce-mini-cart__buttons a {
  flex: 1;
  text-align: center;
}
/*** Close Button ***/
.mini-cart-close-button {
  width: 25px;
  justify-self: end;
  cursor: pointer;
  font-size: 2rem;
}
/*** Empty Cart ***/
.cart-empty-container {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  align-items: center;
}
.cart-empty-container img {
  max-width: 40%;
}
.main .cart-empty-container {
  margin-bottom: 2rem;
}
.main .cart-empty-container img {
  max-width: 15%;
}

/****** Shop Archive ******/
.shop-archive {
  width: 100%;
  padding: 30px;
}
.shop-archive h5 a {
  font-size: 1.05rem;
}
.shop-archive .woocommerce-breadcrumb,
.shop-archive .woocommerce-products-header {
  margin-bottom: 1rem;
}
.shop-archive .shop-archive-main-content {
  display: flex;
  gap: 2rem;
}
.shop-archive .shop-archive-main-content .main {
  order: 2;
  flex: 1;
}
.shop-archive .shop-archive-main-content .main .shop-archive-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
}
.shop-archive .shop-archive-main-content .main .shop-archive-meta p {
  color: #888;
  font-size: 0.95rem;
}
.shop-archive .shop-archive-main-content .main .shop-archive-meta p,
.shop-archive .shop-archive-main-content .main .shop-archive-meta form {
  margin-bottom: 0;
}
.shop-archive
  .shop-archive-main-content
  .main
  .shop-archive-meta
  .filter-button {
  display: none;
  border: 1px solid #d2d2d2;
  border-radius: 0.5rem;
  padding: 0.5rem 1rem;
  width: fit-content;
  cursor: pointer;
}
.product-archive-grid {
  gap: var(--theme-shop-archive-gutter);
  margin-bottom: 2rem;
}
/* Product */
.product .woocommerce-loop-product__link img {
  width: 100%;
  height: auto;
  object-fit: cover;
}
.product > a {
  display: block;
  width: fit-content;
}
.product .product-thumbnail {
  position: relative;
  margin-bottom: 0.5rem;
}
.product .product-thumbnail a {
  display: block;
}
.product .product-thumbnail .button {
  position: absolute;
  bottom: 0%;
  left: 50%;
  transform: translateX(-50%);
  visibility: hidden;
  opacity: 0%;
}
.product .product-thumbnail:hover .button {
  visibility: visible;
  bottom: 7%;
  opacity: 100%;
}
.product .product-thumbnail .add_to_cart_button {
  border-radius: 2rem;
  height: 3rem;
  width: 3rem;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0;
  background: #fff;
  color: #333;
  cursor: pointer;
  font-size: 1.25rem;
  transition: 0.3s all;
  --webkit-box-shadow: 0px 10px 15px -3px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 10px 15px -3px rgba(0, 0, 0, 0.1);
  transition: 0.2s all;
}
.product .product-thumbnail .add_to_cart_button:hover {
  background: var(--theme-accent-color);
  color: #fff;
}
.product .product-thumbnail .add_to_cart_button:hover i {
  color: #fff;
}
.product .product-info {
  display: grid;
  gap: 0.5rem;
}
div.product .product-info span.price {
  color: #555;
  font-size: 1rem;
}
/* Product Caption Style 1*/
.caption-style-1:hover {
  box-shadow: 0px 10px 15px -3px rgba(0, 0, 0, 0.1);
  padding: 1rem;
}
/* Product Caption Style 2 */
.caption-style-2 {
  box-shadow: 0px 10px 15px -3px rgba(0, 0, 0, 0.1);
}
.caption-style-2 .product-info {
  padding: 0 1rem 1rem 1rem;
}
/* Product Caption Style 3 */
.caption-style-3 {
  padding: 0.5rem;
  border: 1px solid transparent;
  border-radius: 1rem;
  padding-bottom: 1rem;
}
.caption-style-3:hover {
  border-color: rgba(0, 0, 0, 0.3);
}
.caption-style-3 .woocommerce-loop-product__link img {
  border-radius: 1rem;
}
.caption-style-3 .product-info {
  padding: 0 0.5rem;
}
.caption-style-3 .product-thumbnail span.onsale {
  top: 0;
  left: 0;
  border-radius: 1rem 0rem 1rem 0rem;
}

/* Pagination */
.shop-archive
  .shop-archive-main-content
  .main
  .woocommerce-pagination
  ul.page-numbers {
  display: inline-flex;
  border: 0;
  gap: 0.25rem;
}
.shop-archive
  .shop-archive-main-content
  .main
  .woocommerce-pagination
  ul.page-numbers
  li {
  border-right: 0;
  border-radius: 2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 2rem;
  height: 2rem;
}
.shop-archive
  .shop-archive-main-content
  .main
  .woocommerce-pagination
  ul.page-numbers
  li
  span {
  background: var(--theme-accent-color);
  color: #fff;
  width: 100%;
}
.shop-archive
  .shop-archive-main-content
  .main
  .woocommerce-pagination
  ul.page-numbers
  li
  a {
  width: 100%;
}
.shop-archive
  .shop-archive-main-content
  .main
  .woocommerce-pagination
  ul.page-numbers
  li:hover
  a,
.shop-archive
  .shop-archive-main-content
  .main
  .woocommerce-pagination
  ul.page-numbers
  li:focus
  a {
  background: var(--theme-accent-color);
  color: #fff;
  width: 100%;
}

/* Shop Sidebar */
.shop-archive .shop-archive-main-content .sidebar {
  padding: 2rem 1rem;
  width: 20%;
  height: fit-content;
  border-radius: 1rem;
}
.shop-archive .shop-archive-main-content .sidebar.shop-sidebar-style-1 {
  border: 1px solid #e2e2e2;
}
.shop-archive .shop-archive-main-content .sidebar.shop-sidebar-style-2 {
  box-shadow: 0px 0px 20px -3px rgba(0, 0, 0, 0.15);
}
.shop-archive .shop-archive-main-content .sidebar .widget .widget-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1rem;
  cursor: pointer;
}
.shop-archive .shop-archive-main-content .sidebar .widget .widget-title::after {
  content: '';
  background: url('assets/icons/chevron-up-icon.png');
  background-size: cover;
  display: inline-flex;
  width: 0.75rem;
  height: 0.75rem;
  margin-left: 5px;
}
.shop-archive
  .shop-archive-main-content
  .sidebar
  .widget.collapsed
  .widget-title::after {
  content: '';
  background: url('assets/icons/chevron-down-icon.png');
  background-size: cover;
  display: inline-flex;
  width: 0.75rem;
  height: 0.75rem;
  margin-left: 5px;
}
.shop-archive
  .shop-archive-main-content
  .sidebar
  .widget
  form
  .price_slider_wrapper {
  padding: 0.5rem 0px;
}

.shop-archive .shop-archive-main-content .sidebar .widget {
  margin-bottom: 2rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #e2e2e2;
  position: relative;
}
.shop-archive .shop-archive-main-content .sidebar .widget.collapsed {
  padding-bottom: 0;
  margin-bottom: 1rem;
}
.shop-archive .shop-archive-main-content .sidebar .widget ul,
.shop-archive .shop-archive-main-content .sidebar .widget form,
.shop-archive .shop-archive-main-content .sidebar .widget.collapsed div {
  display: grid;
  gap: 0.5rem;
  position: relative;
  top: 0;
  height: fit-content;
  width: 100%;
  overflow: hidden;
}
.shop-archive .shop-archive-main-content .sidebar .widget.collapsed ul,
.shop-archive .shop-archive-main-content .sidebar .widget.collapsed form,
.shop-archive .shop-archive-main-content .sidebar .widget.collapsed div {
  height: 0;
}
.shop-archive .shop-archive-main-content .sidebar .close-sidebar {
  display: none;
}

/****** Woo Notices ******/
.mocco-woo-message-success::before,
.mocco-woo-message-success::after,
.mocco-woo-message-error::before,
.mocco-woo-message-error::after,
.mocco-woo-message-notice::before,
.mocco-woo-message-notice::after {
  display: none;
}
.woocommerce-notices-wrapper {
  margin-top: 1rem;
}
/* Success */
.mocco-woo-message-success {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  align-items: center;
  font-family: 'Montserrat', sans-serif;
  padding: 1rem 2rem;
  border-top: 0;
  background: var(--theme-green-color);
  border-radius: 0.5rem;
}
.woocommerce-products-header
  .woocommerce-notices-wrapper
  .mocco-woo-message-success
  a {
  background: #fff;
  font-family: 'Montserrat', sans-serif;
  border: 1px solid #fff;
  padding: 0.5rem 0.5rem;
  border-radius: 0.35rem;
  --webkit-transition: 0.3s all;
  transition: 0.3s all;
  -webkit-text-fill-color: #333;
  font-weight: 400;
}
.woocommerce-products-header
  .woocommerce-notices-wrapper
  .mocco-woo-message-success
  a:hover {
  background: transparent;
}
.woocommerce .woocommerce-message .button {
  border: 1px solid #444;
  background: transparent;
  color: #444;
}
.woocommerce .woocommerce-message .button:hover,
.woocommerce .woocommerce-message .button:focus {
  background: #444;
  color: #fff;
}
/* Notice */
.wc-empty-cart-message .mocco-woo-message-notice {
  font-size: 2rem;
  text-align: center;
  margin-bottom: 3rem;
}
.mocco-woo-message-notice {
  border-top: 0;
  padding: 0;
  background: transparent;
  line-height: 1.5rem;
  color: var(--theme-font-color);
  font-style: italic;
}
/* Error */
.mocco-woo-message-error {
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: start;
  gap: 0.5rem;
  font-family: 'Montserrat', sans-serif;
  padding: 1rem 2rem;
  border-top: 0;
  color: #fff;
  background: var(--theme-red-color);
}

/****** Single Product ******/
.single-product-content {
  width: 100%;
  padding: 30px 50px;
}
.product-main-info {
  display: grid;
  grid-template-columns: 2fr 3fr;
  gap: 2rem;
  padding-bottom: 3rem;
  border-bottom: 1px solid #f0f0f0;
  margin-bottom: 0.25rem;
}
.single-product-content .product-main-info .product-image-container {
  display: grid;
  gap: var(--theme-shop-single-product-image-gap);
  width: 100% !important;
}
.single-product-content
  .product-main-info
  .product-image-container
  .woocommerce-product-gallery__image
  > a
  > img {
  object-fit: cover;
  border-radius: 0.15rem;
}
.woocommerce
  div.product
  div.images
  .woocommerce-product-gallery__image:nth-child(n + 2) {
  width: 100%;
}
.summary .woocommerce-Price-amount bdi,
.summary .woocommerce-Price-amount bdi span {
  font-size: 1.25rem;
}
.single-product-content .product-main-info .summary.entry-summary {
  width: 100%;
  position: sticky;
  top: var(--mocco-single-product-summary-spacing-top);
  height: min-content;
}
.single-product-content .product-main-info .summary.entry-summary .cart button {
  font-family: 'Montserrat', sans-serif;
  font-weight: 400;
  padding: 0.5rem 1rem;
  border-radius: 0.35rem;
  border: 1px solid var(--theme-button-border-color);
  background: var(--theme-button-background-color);
  color: var(--theme-button-text-color);
  --webkit-transition: 0.3s all;
  transition: 0.3s all;
  cursor: pointer;
  box-sizing: border-box;
}
.single-product-content
  .product-main-info
  .summary.entry-summary
  .cart
  button:hover {
  border: 1px solid var(--theme-button-border-hover-color);
  background: var(--theme-button-background-hover-color);
  color: var(--theme-button-text-hover-color);
}
.single-product-content
  .product-main-info
  .summary.entry-summary
  .variations_form
  .variations {
  text-align: left;
}
.single-product-content
  .product-main-info
  .summary.entry-summary
  .variations_form
  .variations
  .label
  label {
  font-weight: 400;
}
.single-product-content
  .product-main-info
  .summary.entry-summary
  .variations_form
  .variations.grid {
  max-width: 70%;
}
.single-product-content
  .product-main-info
  .summary.entry-summary
  .variations_form
  .variations.grid
  .row
  .value {
  min-width: 60%;
}
.single-product-content
  .product-main-info
  .summary.entry-summary
  .variations_form
  .variations.grid
  .row
  .value
  select {
  width: 100%;
  margin-right: 0;
}
.single-product-content
  .product-main-info
  .summary.entry-summary
  .variations_form
  .variations.grid
  .row:last-child
  .value {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
.single-product-content
  .product-main-info
  .summary.entry-summary
  .variations_form
  .variations.grid {
  gap: 0.75rem;
}
.woocommerce div.product form.cart::after,
.woocommerce div.product form.cart::before {
  display: none;
}
.single-product-content
  .product-main-info
  .summary.entry-summary
  .product_title {
  text-transform: uppercase;
  margin-bottom: 1rem;
}
.single-product-content
  .product-main-info
  .summary.entry-summary
  .woocommerce-product-rating {
  margin-bottom: 0.5rem;
}
.single-product-content .product-main-info .summary.entry-summary .price {
  color: var(--theme-font-color);
  margin-bottom: 1rem;
}
.single-product-content
  .product-main-info
  .summary.entry-summary
  .woocommerce-product-details__short-description {
  margin-bottom: 1rem;
}
.single-product-content
  .product-main-info
  .summary.entry-summary
  .product_meta {
  display: grid;
  gap: 1rem;
  color: var(--theme-font-color);
}
.single-product-content
  .product-main-info
  .summary.entry-summary
  .variations_form
  .single_variation_wrap
  .single_variation {
  margin-bottom: 1rem;
}
.single-product-content .product .product-meta .woocommerce-tabs {
  margin-bottom: 5rem;
}
.single-product-content .product .product-meta .woocommerce-tabs .tabs::before,
.single-product-content .product .product-meta .woocommerce-tabs .tabs::after,
.single-product-content
  .product
  .product-meta
  .woocommerce-tabs
  .tabs
  li::before,
.single-product-content
  .product
  .product-meta
  .woocommerce-tabs
  .tabs
  li::after {
  display: none;
}
.single-product-content .product .product-meta .woocommerce-tabs .tabs {
  padding: 0;
  margin-bottom: 1.5rem;
}
.single-product-content
  .product
  .product-meta
  .woocommerce-tabs
  .tabs
  li.active,
.single-product-content .product .product-meta .woocommerce-tabs .tabs li {
  border: 0;
  border-radius: 0;
  margin: 0;
  padding: 0;
}
.single-product-content .product .product-meta .woocommerce-tabs .tabs li {
  border-bottom: 1px solid transparent;
  background-color: transparent;
}
.single-product-content .product .product-meta .woocommerce-tabs .tabs li a {
  padding: 0.75rem;
  font-weight: 400;
}
.single-product-content
  .product
  .product-meta
  .woocommerce-tabs
  .tabs
  li.active {
  border-bottom: 1px solid #555;
}
.single-product-content
  .product
  .product-meta
  .woocommerce-tabs
  .woocommerce-Tabs-panel
  h2 {
  margin-bottom: 1rem;
}
.single-product-content
  .product
  .product-meta
  .woocommerce-tabs
  .woocommerce-Tabs-panel
  .woocommerce-product-attributes {
  text-align: left;
}
.woocommerce table.shop_attributes,
.woocommerce table.shop_attributes th,
.woocommerce table.shop_attributes td {
  border: 0;
}
.woocommerce table.shop_attributes th {
  font-weight: 400;
  padding: 0;
  color: var(--theme-font-color);
}
.woocommerce table.shop_attributes tr:nth-child(even) td,
.woocommerce table.shop_attributes tr:nth-child(even) th {
  background-color: transparent;
}
.woocommerce p.stars a::before {
  color: var(--theme-accent-color);
}

.single-product-content .product .product-meta .related h2 {
  margin-bottom: 2rem;
  text-align: center;
  text-transform: uppercase;
}
.comment-form-rating label {
  display: block;
  margin-bottom: 0.5rem;
}
.up-sells h2 {
  text-align: center;
  text-transform: uppercase;
  margin-bottom: 2rem;
}
button.single_add_to_cart_button {
  width: 250px;
}
.summary form.cart {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  align-items: center;
}
.summary form.cart .single_variation_wrap {
  min-width: 40%;
}
.summary form.cart .wc-stripe-product-checkout-container {
  margin-top: 0;
  max-width: 50%;
}

/****** Cart Page ******/
.return-to-shop {
  text-align: center;
}
.mocco-cart-page-form {
  margin-bottom: 3rem;
}
.cart-table-main {
  display: grid;
  gap: 1rem;
  justify-content: center;
}
.cart-page-grid {
  grid-template-columns: 2fr 1fr 1fr 1fr;
}

.cart-titles-container.cart-page-grid {
  padding: 1rem 0;
  font-weight: 500;
}

.cart-items-container,
.cart-titles-container {
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.cart-items-container.cart-page-grid {
  align-items: center;
  gap: 1rem;
}
.cart-items-container .product-info.row {
  gap: 1rem;
}
.cart-items-container .product-info .product-info__thumbnail {
  width: 20%;
}
.cart-items-container .product-info .product-info__thumbnail a img {
  border-radius: 1rem;
}
.cart-items-container .product-info .product-info__meta {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.cart-items-container .product-info .product-info__meta .product-info__title {
  font-weight: 500;
}
.cart-items-container .product-info .product-info__meta .variation {
  display: grid;
  grid-template-columns: 1fr 2fr;
  align-items: center;
}
.cart-items-container .product-info .product-info__meta .variation dt {
  font-weight: 500;
}
.cart-items-container .mobile-subtotal-container {
  display: none;
}
.cart-coupon-area {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.woocommerce-cart .wc-proceed-to-checkout {
  display: flex !important;
  gap: 1rem;
  align-items: center;
}
.woocommerce-cart .wc-proceed-to-checkout:before,
.woocommerce-cart .wc-proceed-to-checkout:after {
  display: none;
}
.wc_stripe_cart_payment_methods.active {
  display: flex;
  align-items: center;
  margin: 0;
  gap: 1rem;
}
#wc-stripe-applepay-container {
  min-width: 250px;
}
.wc-stripe-cart-checkout-container ul.wc_stripe_cart_payment_methods.active {
  margin-bottom: 0 !important;
}

/***** Collaterals *****/
.woocommerce .cart-collaterals,
.woocommerce-page .cart-collaterals {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 3rem;
}
.woocommerce .cart-collaterals::before,
.woocommerce-page .cart-collaterals::before,
.woocommerce .cart-collaterals::after,
.woocommerce-page .cart-collaterals::after {
  display: none;
}
.mocco-shipping-calculator-container {
  width: 20%;
}
.mocco-shipping-calculator-container h3 {
  margin-bottom: 1rem;
}
.select2-hidden-accessible {
  position: inherit !important;
}

.woocommerce form .form-row select {
  display: block;
  --webkit-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 0.5rem center;
  background-size: 1rem;
  -webkit-text-fill-color: var(--theme-font-color);
  width: 100% !important;
  height: 100% !important;
  border: 1px solid var(--theme-input-border-color) !important;
  padding: 0.5rem !important;
  border-radius: 0.35rem;
}
.woocommerce form .form-row {
  width: 100% !important;
}
.woocommerce form .form-row .select2-container {
  display: none;
}
.cross-sells h2 {
  margin-bottom: 1rem;
}
.cross-sells .grid {
  grid-template-columns: repeat(3, 1fr);
}

/***** Totals *****/
.woocommerce-cart .cart-collaterals .cart_totals table {
  border: 0;
}
.woocommerce table.shop_table_responsive tr:nth-child(2n) td,
.woocommerce-page table.shop_table_responsive tr:nth-child(2n) td {
  background: transparent;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  margin-bottom: 0;
}
.cart_totals h2 {
  margin-bottom: 1rem;
}
.woocommerce-cart .wc-proceed-to-checkout {
  display: block;
}
.woocommerce table.shop_table tbody th,
.woocommerce-page table.shop_table_responsive tr td::before {
  font-weight: 400;
}

/****** Checkout ******/
.woocommerce-checkout .page-content {
  max-width: 1280px;
  margin: 0 auto;
}
.mocco-customer-details {
  float: left;
  width: 49%;
}
.mocco-order-details {
  float: right;
  width: 49%;
}
.mocco-customer-details h3,
.mocco-order-details h3 {
  margin-bottom: 1rem;
}
.mocco-customer-details .woocommerce-billing-fields {
  margin-bottom: 1rem;
}
.mocco-order-details
  .woocommerce-checkout-review-order
  .woocommerce-checkout-payment#payment {
  background: transparent;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 0.5rem;
}
.mocco-order-details
  .woocommerce-checkout-review-order
  .woocommerce-checkout-payment#payment
  .wc_payment_method
  .payment_box {
  background: transparent;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 0.5rem;
}
.mocco-order-details
  .woocommerce-checkout-review-order
  .woocommerce-checkout-payment#payment
  .wc_payment_method
  .payment_box:before {
  display: none;
}
.mocco-order-details
  .woocommerce-checkout-review-order
  .woocommerce-checkout-payment#payment
  .wc_payment_methods {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.mocco-order-details .woocommerce-checkout-review-order .shop_table {
  border-radius: 0.5rem;
}
.woocommerce-privacy-policy-text {
  margin-bottom: 1rem;
}
.woocommerce-checkout #payment div.form-row {
  position: relative;
}
#place_order {
  width: 100%;
}
/*** Payment Form ***/
#payment div.payment_box .form-row {
  padding: 0;
}
.wc-payment-form .form-row .wc-stripe-elements-field {
  border: 1px solid var(--theme-input-border-color);
  border-radius: 0.35rem;
  padding: 0.4rem 0.75rem;
  padding: 0.5rem;
}
.wc-payment-form .form-row .wc-stripe-elements-field.focused {
  border-color: var(--theme-input-border-active-color);
}
.mocco-order-details
  .woocommerce-checkout-review-order
  .woocommerce-checkout-payment#payment
  .wc_payment_method
  .payment_method_stripe_applepay {
  display: none;
}

/***** Thankyou Page *****/
.woocommerce-thankyou-order-received {
  margin-bottom: 1rem;
}
.woocommerce ul.order_details {
  display: flex;
  gap: 2rem;
}
.woocommerce ul.order_details li {
  all: unset;
}
.woocommerce ul.order_details::before,
.woocommerce ul.order_details::after {
  display: none;
}
.woocommerce-bacs-bank-details {
  display: grid;
  gap: 1rem;
}
.woocommerce-order-details h2,
.woocommerce-customer-details h2 {
  margin-bottom: 1rem;
}
.woocommerce-customer-details .addresses {
  display: flex;
  flex-direction: row;
  gap: 1rem;
  justify-content: space-between;
}
.woocommerce-customer-details .addresses::before,
.woocommerce-customer-details .addresses::after {
  display: none;
}
.woocommerce .woocommerce-customer-details address {
  border: 1px solid rgba(0, 0, 0, 0.1);
}
.woocommerce-customer-details .addresses .woocommerce-column address,
.woocommerce-customer-details .addresses .woocommerce-column address p {
  line-height: 1.5rem;
}
.woocommerce
  .woocommerce-customer-details
  .woocommerce-customer-details--phone::before,
.woocommerce
  .woocommerce-customer-details
  .woocommerce-customer-details--email::before {
  display: none;
}
.woocommerce .woocommerce-customer-details .woocommerce-customer-details--email,
.woocommerce
  .woocommerce-customer-details
  .woocommerce-customer-details--phone {
  padding: 0;
}

/***** Account Page *****/
.woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link a {
  display: block;
  padding: 0.5rem;
}
.woocommerce-MyAccount-navigation
  .woocommerce-MyAccount-navigation-link
  a:hover,
.woocommerce-MyAccount-navigation
  .woocommerce-MyAccount-navigation-link.is-active
  a {
  background-color: var(--theme-button-background-color);
  color: var(--theme-button-text-color);
}
.woocommerce-MyAccount-content p:first-of-type {
  margin-bottom: 1rem;
}
.woocommerce-MyAccount-content .addresses .mocco-user-address {
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 0.5rem;
  padding: 1rem;
}
.woocommerce-MyAccount-content .addresses .mocco-user-address header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.woocommerce-MyAccount-content .addresses .mocco-user-address header:before,
.woocommerce-MyAccount-content .addresses .mocco-user-address header:after {
  display: none;
}
.mocco-user-address-message,
.mocco-user-address header {
  margin-bottom: 1rem;
}
.woocommerce-MyAccount-content .addresses .mocco-user-address address {
  line-height: 1.25rem;
}
.woocommerce-MyAccount-content .woocommerce table.shop_table {
  border: 0;
}
.woocommerce-MyAccount-content .woocommerce table.shop_table td {
  border-color: rgba(0, 0, 0, 0.05);
}
.woocommerce-MyAccount-content
  .woocommerce
  table.shop_table
  tbody
  tr:nth-child(even) {
  background-color: rgba(0, 0, 0, 0.05);
}

/***** Mocco Account Page *****/
.mocco-account-page .main {
  max-width: 1080px;
  margin: 0 auto;
}

/****** Responsive ******/
@media (max-width: 1199px) {
  .woocommerce-page .mocco-elementor-page {
    padding: 30px;
  }
}

@media (max-width: 991px) {
  .woocommerce-page .mocco-elementor-page {
    padding: 30px 15px;
  }

  /*** Mini Cart ***/
  .mini-cart-preview {
    width: 50%;
  }
  .main .cart-empty-container img {
    max-width: 45%;
  }
  /*** Shop Archive ***/
  .shop-archive,
  .single-product-content {
    padding: 20px;
  }
}

@media (max-width: 767px) {
  .woocommerce-page .mocco-elementor-page {
    padding: 15px;
  }

  /*** Product Card ***/
  .caption-style-1:hover,
  .caption-style-2:hover,
  .caption-style-3:hover {
    padding: inherit;
    box-shadow: inherit;
  }
  .caption-style-1 .product-thumbnail:hover .button,
  .caption-style-2 .product-thumbnail:hover .button,
  .caption-style-3 .product-thumbnail:hover .button {
    visibility: hidden;
  }
  .caption-style-3 {
    padding: 0;
    border: none;
  }

  .grid-2.product-archive-grid,
  .grid-3.product-archive-grid,
  .grid-4.product-archive-grid {
    grid-template-columns: 1fr 1fr;
  }
  .mobile-archive-grid-1 {
    grid-template-columns: 1fr;
  }
  .mobile-archive-grid-2 {
    grid-template-columns: 1fr 1fr;
  }

  /*** Shop Archive Meta ***/
  .shop-archive .shop-archive-main-content .main .shop-archive-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
  }
  .shop-archive .shop-archive-main-content .main .shop-archive-meta p {
    width: 100%;
  }
  .shop-archive
    .shop-archive-main-content
    .main
    .shop-archive-meta
    .filter-button {
    display: block;
    justify-self: end;
  }

  /*** Sidebar ***/
  .shop-archive .shop-archive-main-content .sidebar .close-sidebar {
    display: block;
    width: 20px;
    height: 20px;
    align-self: end;
    margin-bottom: 2rem;
    cursor: pointer;
  }
  .shop-archive .shop-archive-main-content .sidebar {
    width: 90%;
    position: fixed;
    top: 0;
    left: -100%;
    padding-top: 2rem;
    height: 100%;
    background: #fff;
    z-index: 5;
    border: none;
    border-radius: 0;
    display: flex;
    flex-direction: column;
    --webkit-box-shadow: 10px 0px 15px -3px rgba(0, 0, 0, 0.1);
    box-shadow: 10px 0px 15px -3px rgba(0, 0, 0, 0.1);
  }
  .shop-archive .shop-archive-main-content .sidebar.active {
    left: 0;
  }

  /*** Single Product ***/
  .product-main-info {
    grid-template-columns: 1fr;
    padding-bottom: 1rem;
  }
  .single-product-content .product-main-info .product-image-container {
    gap: var(--theme-shop-single-product-image-gap-mobile);
  }
  .single-product-content
    .product-main-info
    .product-image-container
    .woocommerce-product-gallery__image
    > a
    > img {
    max-height: var(--theme-shop-single-product-image-height-mobile);
  }
  .single-product-content .product-main-info .summary.entry-summary {
    position: relative;
    top: 0;
  }
  .single-product-content .product-main-info .product-image-container {
    display: flex;
    overflow-x: auto;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }
  .single-product-content .product-main-info .product-image-container div {
    width: 100%;
    flex-basis: 100%;
    flex-shrink: 0;
    width: 100vw;
    scroll-snap-align: start;
  }
  .single-product-content
    .product-main-info
    .summary.entry-summary
    .variations_form
    .variations.grid {
    max-width: 100%;
  }

  .cart {
    display: flex;
    flex-wrap: wrap;
  }
  .cart .button {
    flex: 1;
  }
  .cart .single_variation_wrap {
    width: 100%;
  }
  .cart .single_variation_wrap > div {
    display: flex;
    width: 100%;
  }
  .cart .single_variation_wrap > div > button {
    flex: 1;
  }
  button.single_add_to_cart_button {
    width: 100%;
  }

  /**** Cart Page ****/
  .cart-titles-container.cart-page-grid {
    display: none;
  }
  .cart-items-container.cart-page-grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  .cart-items-container.cart-page-grid div:first-child {
    grid-column: 1 / 3;
  }
  .cart-items-container .mobile-subtotal-container {
    display: block;
  }

  .woocommerce-cart .wc-proceed-to-checkout {
    display: flex;
    justify-content: center;
  }

  /***** Cart *****/
  .cart-coupon-area {
    flex-direction: column;
    align-items: start;
    width: 100%;
  }
  .cart-coupon-area .coupon {
    width: 100%;
    display: flex;
    gap: 0.5em;
  }

  /***** Checkout *****/
  .mocco-customer-details,
  .mocco-order-details {
    width: 100%;
  }

  .woocommerce .cart-collaterals,
  .woocommerce-page .cart-collaterals {
    flex-direction: column;
  }
  .mocco-shipping-calculator-container {
    width: 100%;
  }

  .cart-collaterals .cross-sells {
    order: 1;
  }
  .cart-collaterals .mocco-shipping-calculator-container {
    order: 2;
  }
  .cart-collaterals .cart_totals {
    order: 3;
  }
  .cart-collaterals .cart_totals .wc-proceed-to-checkout {
    flex-direction: column;
  }

  /***** Woo Messages *****/
  .mocco-woo-message-success {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    padding: 1rem;
    text-align: center;
  }
  .mocco-woo-message-success a {
    display: block;
    width: 100%;
    text-align: center;
    order: 2;
  }
  .woocommerce .woocommerce-message .button {
    border: 1px solid var(--theme-font-color);
    background: transparent;
    color: var(--theme-font-color);
  }
  .woocommerce .woocommerce-message .button:focus {
    background: var(--theme-font-color);
    color: #fff;
  }

  /***** Account Page *****/
  .woocommerce-MyAccount-navigation {
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  }
  .woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link a {
    display: block;
    padding: 0.5rem;
  }
  .woocommerce-MyAccount-navigation
    .woocommerce-MyAccount-navigation-link.is-active
    a {
    background: var(--theme-button-background-color);
  }
  .woocommerce-MyAccount-content .woocommerce-EditAccountForm {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
  }
  .woocommerce-MyAccount-content .mocco-woo-message-notice {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
  }
  .woocommerce-MyAccount-content form fieldset {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
  }
  .woocommerce-MyAccount-content form fieldset legend {
    font-size: 1.25rem;
    margin-bottom: 1rem;
  }
  .woocommerce-MyAccount-content form .form-row {
    padding: 0;
  }
  .woocommerce-MyAccount-content form .form-row label {
    line-height: 1rem;
    margin-bottom: 0.5rem;
  }

  .woocommerce-MyAccount-content .mocco-user-address-message {
    margin-bottom: 1rem;
  }
  .woocommerce-MyAccount-content .mocco-user-address {
    margin-bottom: 1rem;
  }
  .woocommerce-MyAccount-content .mocco-user-address address {
    line-height: 1.25rem;
  }
  .woocommerce-MyAccount-content
    .mocco-user-address
    .woocommerce-Address-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.5rem;
  }
  .woocommerce-MyAccount-content
    .mocco-user-address
    .woocommerce-Address-title:before,
  .woocommerce-MyAccount-content
    .mocco-user-address
    .woocommerce-Address-title:after {
    display: none;
  }

  /* Thankyou Page */
  .woocommerce ul.order_details {
    flex-direction: column;
    gap: 1rem;
  }
  .woocommerce-customer-details .addresses {
    flex-direction: column;
  }
}

@media (max-width: 575px) {
  /*** Mini Cart ***/
  .mini-cart-preview {
    width: 90%;
    padding: 1rem;
  }
  .mini-cart-close-button {
    width: 20px;
  }
  /*** Shop Archive ***/
  .shop-archive,
  .single-product-content {
    padding: 20px 10px;
  }

  /*** Product Archive ***/
  .grid-2.product-archive-grid,
  .grid-3.product-archive-grid,
  .grid-4.product-archive-grid {
    grid-template-columns: 1fr 1fr;
  }

  /*** Mobile Archive Grid ***/
  .product-archive-grid {
    gap: var(--theme-shop-archive-gutter-mobile);
  }
  .product-archive-grid.mobile-archive-grid-1 {
    grid-template-columns: 1fr;
  }
  .product-archive-grid.mobile-archive-grid-2 {
    grid-template-columns: 1fr 1fr;
  }
}
