/*
Theme Name: Vincoop

WooCommerce styles override
*/

/**
 * Shop tables
 */
table.shop_table_responsive thead {
  display: none;
}

table.shop_table_responsive tbody th {
  display: none;
}

table.shop_table_responsive tr td {
  display: block;
  text-align: right;
  clear: both;
}

table.shop_table_responsive tr td::before {
  content: attr(data-title) ": ";
  float: left;
}

table.shop_table_responsive tr td.product-remove a {
  text-align: left;
}

table.shop_table_responsive tr td.product-remove::before {
  display: none;
}

table.shop_table_responsive tr td.actions::before,
table.shop_table_responsive tr td.download-actions::before {
  display: none;
}

table.shop_table_responsive tr td.download-actions .button {
  display: block;
  text-align: center;
}

@media screen and (min-width: 48em) {
  table.shop_table_responsive thead {
    display: table-header-group;
  }

  table.shop_table_responsive tbody th {
    display: table-cell;
  }

  table.shop_table_responsive tr th,
  table.shop_table_responsive tr td {
    text-align: left;
  }

  table.shop_table_responsive tr td {
    display: table-cell;
  }

  table.shop_table_responsive tr td::before {
    display: none;
  }
}

/**
 * Products
 */
ul.products {
  margin: 0;
  padding: 0;
}

ul.products li.product {
  list-style: none;
  position: relative;
  margin-bottom: 2em;
}

ul.products li.product img {
  display: block;
}

ul.products li.product .button {
  display: block;
}

@media screen and (min-width: 48em) {
  ul.products li.product {
    width: 30.79667%;
    float: left;
    margin-right: 3.8%;
  }

  ul.products li.product.first {
    clear: both;
  }

  ul.products li.product.last {
    margin-right: 0;
  }

  ul.products.columns-1 li.product {
    float: none;
    width: 100%;
  }

  ul.products.columns-2 li.product {
    width: 48.1%;
  }

  ul.products.columns-3 li.product {
    width: 30.79667%;
  }

  ul.products.columns-4 li.product {
    width: 22.15%;
  }

  ul.products.columns-5 li.product {
    width: 16.96%;
  }

  ul.products.columns-6 li.product {
    width: 13.49333%;
  }
}

/**
 * Single product
 */
/* .single-product div.product {
	position: relative;
}

.single-product div.product .woocommerce-product-gallery {
	position: relative;
	float: left;
}

.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
	position: absolute;
	top: 2em;
	right: 1em;
	display: block;
	z-index: 99;
}

.single-product div.product .woocommerce-product-gallery .flex-viewport {
	margin-bottom: 1em;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs {
	margin: 0;
	padding: 0;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li {
	list-style: none;
	cursor: pointer;
	float: left;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img {
	opacity: 0.5;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img.flex-active {
	opacity: 1;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li:hover img {
	opacity: 1;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-2 .flex-control-thumbs li {
	width: 48.1%;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-2 .flex-control-thumbs li:nth-child(2n) {
	margin-right: 0;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-2 .flex-control-thumbs li:nth-child(2n+1) {
	clear: both;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-3 .flex-control-thumbs li {
	width: 30.79667%;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-3 .flex-control-thumbs li:nth-child(3n) {
	margin-right: 0;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-3 .flex-control-thumbs li:nth-child(3n+1) {
	clear: both;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-4 .flex-control-thumbs li {
	width: 22.15%;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-4 .flex-control-thumbs li:nth-child(4n) {
	margin-right: 0;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-4 .flex-control-thumbs li:nth-child(4n+1) {
	clear: both;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-5 .flex-control-thumbs li {
	width: 16.96%;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-5 .flex-control-thumbs li:nth-child(5n) {
	margin-right: 0;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-5 .flex-control-thumbs li:nth-child(5n+1) {
	clear: both;
}

.stock:empty::before {
	display: none;
}

.stock.in-stock {
	color: #0f834d;
}

.stock.out-of-stock {
	color: #e2401c;
} */

/**
 * Checkout
 */
@media screen and (min-width: 768px) {
  .col2-set .form-row-first {
    float: left;
    margin-right: 3.8%;
  }

  .col2-set .form-row-last {
    float: right;
    margin-right: 0;
  }

  .col2-set .form-row-first,
  .col2-set .form-row-last {
    width: 48.1%;
  }
}

/**
 * General WooCommerce components
 */

/**
 * Header cart
 */
.site-header-cart {
  position: relative;
  margin: 0;
  padding: 0;
}

.site-header-cart .cart-contents {
  text-decoration: none;
}

.site-header-cart .widget_shopping_cart {
  display: none;
}

.site-header-cart .product_list_widget {
  margin: 0;
  padding: 0;
}

/**
 * Star rating
 */
.star-rating {
  overflow: hidden;
  position: relative;
  height: 1.618em;
  line-height: 1.618;
  width: 5.3em;
  font-family: star;
  font-weight: 400;
}

.star-rating::before {
  content: "\53\53\53\53\53";
  opacity: 0.25;
  float: left;
  top: 0;
  left: 0;
  position: absolute;
}

.star-rating span {
  overflow: hidden;
  float: left;
  top: 0;
  left: 0;
  position: absolute;
  padding-top: 1.5em;
}

.star-rating span::before {
  content: "\53\53\53\53\53";
  top: 0;
  position: absolute;
  left: 0;
  color: #4169e1;
}

p.stars a {
  position: relative;
  height: 1em;
  width: 1em;
  text-indent: -999em;
  display: inline-block;
  text-decoration: none;
  margin-right: 1px;
  font-weight: 400;
}

p.stars a::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 1em;
  height: 1em;
  line-height: 1;
  font-family: star;
  content: "\53";
  color: #404040;
  text-indent: 0;
  opacity: 0.25;
}

p.stars a:hover ~ a::before {
  content: "\53";
  color: #404040;
  opacity: 0.25;
}

p.stars:hover a::before {
  content: "\53";
  color: #4169e1;
  opacity: 1;
}

p.stars.selected a.active::before {
  content: "\53";
  color: #4169e1;
  opacity: 1;
}

p.stars.selected a.active ~ a::before {
  content: "\53";
  color: #404040;
  opacity: 0.25;
}

p.stars.selected a:not(.active)::before {
  content: "\53";
  color: #4169e1;
  opacity: 1;
}

/**
 * Tabs
 */
.woocommerce-tabs ul.tabs {
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: left;
}

.woocommerce-tabs ul.tabs li {
  display: block;
  margin: 0;
  position: relative;
}

.woocommerce-tabs ul.tabs li a {
  padding: 1em 0;
  display: block;
}

.woocommerce-tabs .panel h2:first-of-type {
  margin-bottom: 1em;
}

/**
 * Password strength meter
 */
.woocommerce-password-strength {
  text-align: right;
}

.woocommerce-password-strength.strong {
  color: #0f834d;
}

.woocommerce-password-strength.short {
  color: #e2401c;
}

.woocommerce-password-strength.bad {
  color: #e2401c;
}

.woocommerce-password-strength.good {
  color: #3d9cd2;
}

/**
 * Forms
 */
.form-row.woocommerce-validated input.input-text {
  box-shadow: inset 2px 0 0 #0f834d;
}

.form-row.woocommerce-invalid input.input-text {
  box-shadow: inset 2px 0 0 #e2401c;
}

.required {
  color: #f00;
}

/**
 * Notices
 */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
p.no-comments {
  background-color: #0f834d;
  clear: both;
  padding: 1rem; /* Custom AG */
  margin-bottom: 1rem; /* Custom AG */
}

.woocommerce-info,
.woocommerce-noreviews,
p.no-comments {
  background-color: #3d9cd2;
}

.woocommerce-error {
  background-color: #e2401c;
  color: white; /* Custom AG */
}

.demo_store {
  position: fixed;
  left: 0;
  bottom: 0;
  right: 0;
  margin: 0;
  padding: 1em;
  background-color: #3d9cd2;
  z-index: 9999;
}

@media screen and (min-width: 48em) {
  /**
	 * Header cart
	 */
  .site-header-cart .widget_shopping_cart {
    position: absolute;
    top: 100%;
    width: 100%;
    z-index: 999999;
    left: -999em;
    display: block;
    box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
  }

  .site-header-cart:hover .widget_shopping_cart,
  .site-header-cart.focus .widget_shopping_cart {
    left: 0;
    display: block;
  }
}

/**
 * WooCommerce widgets
 */

/**
 * WooCommerce Price Filter
 */
.widget_price_filter .price_slider {
  margin-bottom: 1.5em;
}

.widget_price_filter .price_slider_amount {
  text-align: right;
  line-height: 2.4;
}

.widget_price_filter .price_slider_amount .button {
  float: left;
}

.widget_price_filter .ui-slider {
  position: relative;
  text-align: left;
}

.widget_price_filter .ui-slider .ui-slider-handle {
  position: absolute;
  z-index: 2;
  width: 1em;
  height: 1em;
  cursor: ew-resize;
  outline: none;
  background: #4169e1;
  box-sizing: border-box;
  margin-top: -0.25em;
  opacity: 1;
}

.widget_price_filter .ui-slider .ui-slider-handle:last-child {
  margin-left: -1em;
}

.widget_price_filter .ui-slider .ui-slider-handle:hover,
.widget_price_filter .ui-slider .ui-slider-handle.ui-state-active {
  box-shadow: 0 0 0 0.25em rgba(0, 0, 0, 0.1);
}

.widget_price_filter .ui-slider .ui-slider-range {
  position: absolute;
  z-index: 1;
  display: block;
  border: 0;
  background: #4169e1;
}

.widget_price_filter .price_slider_wrapper .ui-widget-content {
  background: rgba(0, 0, 0, 0.1);
}

.widget_price_filter .ui-slider-horizontal {
  height: 0.5em;
}

.widget_price_filter .ui-slider-horizontal .ui-slider-range {
  height: 100%;
}


/************************************************/
/**************** CUSTOM CSS - AG ***************/

.woocommerce-form label {
  display: block;
}
.woocommerce-form .woocommerce-Input.input-text {
  width: 100%;
}
/* @media screen and (min-width: 756px) {
  .woocommerce-form .woocommerce-Input.input-text {
    width: 80%;
  }
}
@media screen and (min-width: 992px) {
  .woocommerce-form .woocommerce-Input.input-text {
    width: 60%;
  }
} */

/*
 * WC LOGIN/REGISTER PAGE **********************************************/

.page.woocommerce-account .entry-content {
  margin-bottom: 160px;
}

.page.woocommerce-account .woocommerce-form {
  margin-top: 2rem;
}

.page.woocommerce-account
  .woocommerce-form.woocommerce-form-login
  .woocommerce-form-login__rememberme {
  margin-bottom: 1rem;
}

.page.woocommerce-account .woocommerce-form.woocommerce-form-register {
  padding: 2rem 2rem 1.5rem;
  border: 1px solid var(--light-grey);
}

/*
 * MY ACCOUNT PAGE **********************************************/

/* BACHECA UTENTE REGISTRATO */

.woocommerce-account .woocommerce-MyAccount-navigation {
  margin-bottom: 3rem;
}

.woocommerce-account .woocommerce-MyAccount-navigation .list-group {
  border-radius: 0;
}
.woocommerce-account
  .woocommerce-MyAccount-navigation
  .list-group
  .woocommerce-MyAccount-navigation-link {
  color: #410130;
  padding: 1.25rem 1.875rem;
  transition: 0.2s ease-in-out;
  text-transform: uppercase;
}
.woocommerce-account
  .woocommerce-MyAccount-navigation
  .list-group
  .woocommerce-MyAccount-navigation-link:hover,
.woocommerce-account
  .woocommerce-MyAccount-navigation
  .list-group
  .woocommerce-MyAccount-navigation-link:focus,
.woocommerce-account
  .woocommerce-MyAccount-navigation
  .list-group
  .woocommerce-MyAccount-navigation-link.active {
  background-color: #410130;
  border-color: #410130;
  color: #fff;
}
.woocommerce-account
  .woocommerce-MyAccount-navigation
  .list-group
  .woocommerce-MyAccount-navigation-link.woocommerce-MyAccount-navigation-link--customer-logout {
  color: #ff1d0e;
}

.woocommerce-account .woocommerce-MyAccount-content input {
  padding: 0.8rem;
  border-bottom: 1px solid #ced4da !important;
}
.woocommerce-account .woocommerce-MyAccount-content h2 {
  font-size: 2rem;
}

/* ORDER TABLE */

.woocommerce-account.woocommerce-orders
  .woocommerce-MyAccount-content
  .account-orders-table
  .woocommerce-orders-table__cell-order-actions
  .btn {
  padding: 0.25rem 0.85rem;
  margin: 0.35rem;
}
.woocommerce-account.woocommerce-orders
  .woocommerce-MyAccount-content
  .account-orders-table
  thead {
  color: #fff;
  background-color: #410130;
}
.woocommerce-account.woocommerce-orders
  .woocommerce-MyAccount-content
  .account-orders-table
  th,
.woocommerce-account.woocommerce-orders
  .woocommerce-MyAccount-content
  .account-orders-table
  td {
  padding-inline: 0.85rem;
  padding-block: 0.5rem;
}
.woocommerce-account.woocommerce-orders
  .woocommerce-MyAccount-content
  .account-orders-table
  tbody
  tr:nth-child(odd) {
  background-color: #eff1f3;
}

/* VISUALIZZA ORDINI */

.woocommerce-account.woocommerce-view-order
  .woocommerce-MyAccount-content
  .woocommerce-notices-wrapper
  + p {
  margin-left: 0;
  margin-bottom: 1.8rem;
  list-style: none;
  padding-block: 1.25rem;
  padding-left: 2rem;
  border-left: 5px solid #410130;
  background-color: #eff1f3;
}
.woocommerce-account.woocommerce-view-order
  .woocommerce-MyAccount-content
  .woocommerce-order-details {
}
.woocommerce-account.woocommerce-view-order
  .woocommerce-MyAccount-content
  .woocommerce-customer-details {
  background-color: #eff1f3;
  padding: 1.5rem 2rem 0.5rem;
  margin-top: 2rem;
}
.woocommerce-account.woocommerce-view-order
  .woocommerce-MyAccount-content
  .woocommerce-customer-details
  h2 {
  font-size: 1.25rem;
  font-weight: 600;
}

/* INDIRIZZI */

.woocommerce-account.woocommerce-edit-address
  .woocommerce-MyAccount-content
  .woocommerce-Addresses
  .woocommerce-Address {
  width: 100% !important;
}
.woocommerce-account.woocommerce-edit-address
  .woocommerce-MyAccount-content
  .woocommerce-Addresses
  .woocommerce-Address
  .title
  :not(a) {
  margin-bottom: 1rem;
}
.woocommerce-account.woocommerce-edit-address
  .woocommerce-MyAccount-content
  .woocommerce-Addresses
  .woocommerce-Address
  .title
  a {
  padding: 0.5rem 1.5rem;
  margin-bottom: 0.5rem;
  text-decoration: none;
  color: #410103;
  background-color: #fff;
  border: 2px solid #410130;
  border-radius: 100px;
  transition: 0.2s ease-in-out;
}
.woocommerce-account.woocommerce-edit-address
  .woocommerce-MyAccount-content
  .woocommerce-Addresses
  .woocommerce-Address
  .title
  a:hover,
.woocommerce-account.woocommerce-edit-address
  .woocommerce-MyAccount-content
  .woocommerce-Addresses
  .woocommerce-Address
  .title
  a:focus,
.woocommerce-account.woocommerce-edit-address
  .woocommerce-MyAccount-content
  .woocommerce-Addresses
  .woocommerce-Address
  .title
  a:active {
  color: #fff;
  background-color: #410103;
  border: 2px solid #410103;
}

.woocommerce-account.woocommerce-edit-address
  .woocommerce-MyAccount-content
  .woocommerce-Addresses
  .woocommerce-Address
  address {
  background-color: #eff1f3;
  padding: 1.5rem 2rem;
  margin-top: 2rem;
}

.woocommerce-account.woocommerce-edit-address
  .woocommerce-MyAccount-content
  .woocommerce-address-fields
  input {
  width: 100%;
}

/* BOOKING TABLE */
.woocommerce-account
  .entry-content
  .woocommerce
  .woocommerce-MyAccount-content
  .shop_table.my_account_bookings
  thead {
  color: #fff;
  background-color: #410130;
}

.woocommerce-account
  .entry-content
  .woocommerce
  .woocommerce-MyAccount-content
  .shop_table.my_account_bookings
  td,
.woocommerce-account
  .entry-content
  .woocommerce
  .woocommerce-MyAccount-content
  .shop_table.my_account_bookings
  th {
  padding-inline: 0.85rem;
  padding-block: 0.5rem;
}
.woocommerce-account
  .entry-content
  .woocommerce
  .woocommerce-MyAccount-content
  .shop_table.my_account_bookings
  tbody
  tr:nth-child(odd) {
  background-color: #eff1f3;
}

@media screen and (min-width: 768px) {
  .woocommerce-account
    .entry-content
    .woocommerce:has(.woocommerce-MyAccount-navigation) {
    display: flex;
  }
  .woocommerce-account
    .entry-content
    .woocommerce:has(.woocommerce-MyAccount-navigation)
    .woocommerce-MyAccount-content {
    flex: 0 0 auto;
    width: 68%;
  }
  .woocommerce-account
    .entry-content
    .woocommerce:has(.woocommerce-MyAccount-navigation)
    .woocommerce-MyAccount-navigation {
    flex: 0 0 auto;
    width: 30%;
    margin-right: 1.5rem;
    margin-bottom: 3rem;
  }
}

@media screen and (min-width: 768px) {
  .woocommerce-account.woocommerce-lost-password
    form.woocommerce-ResetPassword
    .woocommerce-Input {
    width: 70%;
  }
}
@media screen and (min-width: 992px) {
  .woocommerce-account.woocommerce-lost-password
    form.woocommerce-ResetPassword
    .woocommerce-Input {
    width: 50%;
  }
}

/*
 * CART PAGE - GUTEMBERG BLOCK ********************************************/

.woocommerce-cart.woocommerce-page
  .wp-block-woocommerce-empty-cart-block
  .wp-block-heading.with-empty-cart-icon::before {
  visibility: hidden;
}
.woocommerce-cart.woocommerce-page
  .wp-block-woocommerce-empty-cart-block
  .wc-block-grid__products
  a {
  text-decoration: none;
  transition: 0.2s ease-in-out;
  font-size: 1rem;
}

.woocommerce-cart.woocommerce-page
  .wp-block-woocommerce-proceed-to-checkout-block
  .wc-block-cart__submit-button {
  padding: 0.5rem 1.5rem;
  margin-block: 1rem;
  text-decoration: none;
  color: #fff;
  background-color: #410130;
  border: 2px solid #410130;
  border-radius: 100px;
  transition: 0.2s ease-in-out;
}
.woocommerce-cart.woocommerce-page
  .wp-block-woocommerce-proceed-to-checkout-block
  .wc-block-cart__submit-button:hover,
.woocommerce-cart.woocommerce-page
  .wp-block-woocommerce-proceed-to-checkout-block
  .wc-block-cart__submit-button:focus,
.woocommerce-cart.woocommerce-page
  .wp-block-woocommerce-proceed-to-checkout-block
  .wc-block-cart__submit-button:active {
  color: #410103;
  background-color: #fff;
  border: 2px solid #410130;
}

/*
 * CLASSIC CART PAGE ***************************************/

.woocommerce-cart.woocommerce-page
  .woocommerce-notices-wrapper
  .woocommerce-message
  .wc-forward {
  /* display: none; */
}

.woocommerce-cart.woocommerce-page .woocommerce-cart-form {
  width: 100%;
}

@media screen and (min-width: 992px) {
  .woocommerce-cart.woocommerce-page .woocommerce-cart-form {
    /* width: 80%;
    max-width: 80%; */
  }
}

.woocommerce-cart.woocommerce-page .woocommerce-cart-form table.shop_table {
  width: 100%;
  margin-bottom: 5rem;
  border: 1px solid #eff1f3;
  border-collapse: collapse;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

@media screen and (max-width: 576px) {
  .woocommerce-cart.woocommerce-page .woocommerce-cart-form table.shop_table {
    /* display: block;
    overflow-x: auto; */
  }
}

.woocommerce-cart.woocommerce-page
  .woocommerce-cart-form
  table.shop_table
  thead {
  background-color: #410130;
  color: #fff;
}

.woocommerce-cart.woocommerce-page .woocommerce-cart-form table.shop_table th {
  padding: 1.25rem 1.875rem;
}

.woocommerce-cart.woocommerce-page .woocommerce-cart-form table.shop_table td {
  padding: 0.8rem 1.875rem;
  border-top: none;
}

.woocommerce-cart.woocommerce-page
  .woocommerce-cart-form
  table.shop_table
  tr.cart_item:not(:nth-last-child(-n + 2)) {
  border-bottom: 2.5px solid #eff1f3;
}

.woocommerce-cart.woocommerce-page
  .woocommerce-cart-form
  table.shop_table
  tr.cart_item
  .product-name {
  /* display: flex;
  gap: 2rem;
  border-top: none; */
}

.woocommerce-cart.woocommerce-page
  .woocommerce-cart-form
  table.shop_table
  tr.cart_item
  .checkout-product-thumbnail {
  display: none;
}

.woocommerce-cart.woocommerce-page
  .woocommerce-cart-form
  table.shop_table
  .actions
  .coupon {
  margin-bottom: 1.5rem;
  text-align: left;
}

.woocommerce-cart.woocommerce-page
  .woocommerce-cart-form
  table.shop_table
  .actions
  .coupon
  .form-control {
  margin-bottom: 1rem;
  width: 30%;
}

.woocommerce-cart.woocommerce-page
  .woocommerce-cart-form
  table.shop_table
  .actions
  button[name*="update_cart"] {
  float: right;
  color: #fff;
  background-color: #410130;
  margin-bottom: 1rem;
}
.woocommerce-cart.woocommerce-page
  .woocommerce-cart-form
  table.shop_table
  .actions
  button[name*="update_cart"]:disabled {
  opacity: 0.45;
}
.woocommerce-cart.woocommerce-page
  .woocommerce-cart-form
  table.shop_table
  .actions
  button[name*="update_cart"]:hover:not(:disabled),
.woocommerce-cart.woocommerce-page
  .woocommerce-cart-form
  table.shop_table
  .actions
  button[name*="update_cart"]:focus:not(:disabled),
.woocommerce-cart.woocommerce-page
  .woocommerce-cart-form
  table.shop_table
  .actions
  button[name*="update_cart"]:active:not(:disabled) {
  color: #410130 !important;
  background-color: #fff !important;
}

@media screen and (max-width: 992px) {
  .woocommerce-cart.woocommerce-page
    .woocommerce-cart-form
    table.shop_table
    tr.cart_item
    .product-name
    .variation {
    font-size: 0.85rem;
  }

  .woocommerce-cart.woocommerce-page
    .woocommerce-cart-form
    table.shop_table
    .actions
    .coupon
    .form-control {
    width: 50%;
  }
}
@media screen and (max-width: 767px) {
  .woocommerce-cart.woocommerce-page
    .woocommerce-cart-form
    table.shop_table
    .actions
    .coupon
    .form-control {
    width: 80%;
  }
}

.woocommerce-cart.woocommerce-page
  .woocommerce-cart-form
  table.shop_table
  tr.cart_item
  .product-remove {
  text-align: end;
  padding-right: 1.5rem;
}

.woocommerce-cart.woocommerce-page
  .woocommerce-cart-form
  table.shop_table
  tr.cart_item
  .product-remove
  .remove {
  text-decoration: none;
  font-size: 1.35rem;
  padding: 0.2rem 0.5rem;
  background-color: #eff1f3;
  color: #404040;
  border-color: #eff1f3;
  opacity: 0.65;
  border-radius: 6px;
  transition: 0.2s ease-in-out;
}

.woocommerce-cart.woocommerce-page
  .woocommerce-cart-form
  table.shop_table
  tr.cart_item
  .product-remove
  .remove:hover,
.woocommerce-cart.woocommerce-page
  .woocommerce-cart-form
  table.shop_table
  tr.cart_item
  .product-remove
  .remove:focus {
  opacity: 1;
}

@media screen and (min-width: 992px) {
  .woocommerce-cart.woocommerce-page .cart-collaterals {
    width: 100%; /* 70% for gutenberg cart*/
    margin-left: auto;
  }
}

.woocommerce-cart.woocommerce-page .cart-collaterals h2 {
  /* height: 0;
  opacity: 0; */
  font-size: 1.8rem;
  margin-bottom: 1rem;
}

.woocommerce-cart.woocommerce-page .cart-collaterals table.shop_table {
  /* width: 100%; */
  margin-bottom: 2.8rem;
  border: 1px solid #eff1f3;
  border-radius: 0;
  border-collapse: collapse;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.woocommerce-cart.woocommerce-page .cart-collaterals table.shop_table thead {
  background-color: #410130; /* Replace $light-blue */
}
.woocommerce-cart.woocommerce-page
  .cart-collaterals
  table.shop_table
  .cart-subtotal {
  background-color: #eff1f3;
}

.woocommerce-cart.woocommerce-page .cart-collaterals table.shop_table th {
  padding: 1.25rem 1.875rem;
}

.woocommerce-cart.woocommerce-page .cart-collaterals table.shop_table td {
  padding: 0.8rem 1.875rem;
}

.woocommerce-cart.woocommerce-page
  .cart-collaterals
  table.shop_table
  ul.woocommerce-shipping-methods {
  margin-left: 0;
  padding-left: 0;
  list-style-type: none;
}

.woocommerce-cart.woocommerce-page
  .cart-collaterals
  table.shop_table
  ul.woocommerce-shipping-methods
  label {
  margin-left: 0.65rem;
  margin-bottom: 0.45rem;
}

.woocommerce-cart.woocommerce-page
  .cart-collaterals
  table.shop_table
  .order-total {
  background-color: #410130;
  color: #fff;
}

.woocommerce-cart.woocommerce-page
  .cart-collaterals
  table.shop_table
  .cart-subtotal
  td,
.woocommerce-cart.woocommerce-page
  .cart-collaterals
  table.shop_table
  .order-total
  td {
  text-align: end;
}

.woocommerce-cart.woocommerce-page .cart-collaterals .wc-proceed-to-checkout {
  text-align: end;
}

/*
 * PAY ORDER PAGE  ********************************************/

.woocommerce-page.woocommerce-order-pay ul.wc_payment_methods {
  margin-left: 0;
  padding: 2rem;
  list-style-type: none;
  margin-bottom: 2rem;
  background-color: #eff1f3;
}

/*
 * CLASSIC CHECKOUT PAGE  ********************************************/

.woocommerce-checkout.woocommerce-page
  .woocommerce-form-login
  input[type="text"],
.woocommerce-checkout.woocommerce-page
  .woocommerce-form-login
  input[type="password"],
.woocommerce-checkout.woocommerce-page
  .woocommerce-form-coupon
  input[type="text"] {
  width: 100%;
}

@media screen and (min-width: 992px) {
  .woocommerce-checkout.woocommerce-page
    .woocommerce-form-login
    input[type="text"],
  .woocommerce-checkout.woocommerce-page
    .woocommerce-form-login
    input[type="password"],
  .woocommerce-checkout.woocommerce-page
    .woocommerce-form-coupon
    input[type="text"] {
    width: 50%;
  }
}

#customer_details {
  margin-block: 3.8rem;
}

#customer_details .woocommerce-billing-fields h3 {
  margin-bottom: 1.5rem;
}
#customer_details .woocommerce-billing-fields .form-control {
  padding-block: 0.75rem;
  margin-bottom: 1rem;
}
#customer_details .woocommerce-billing-fields label {
  font-weight: 600;
}

@media screen and (max-width: 576px) {
  #customer_details
    .woocommerce-billing-fields
    .woocommerce-billing-fields__field-wrapper
    #billing_first_name_field.form-row-first,
  #customer_details
    .woocommerce-billing-fields
    .woocommerce-billing-fields__field-wrapper
    #billing_last_name_field.form-row-last {
    float: unset !important;
    width: 100% !important;
  }
}

#customer_details
  .woocommerce-billing-fields
  .woocommerce-billing-fields__field-wrapper
  span.select2-selection {
  padding-top: 0.6rem;
  padding-bottom: 2rem;
  border: 1px solid #cccccc;
}

#customer_details
  .woocommerce-billing-fields
  .woocommerce-billing-fields__field-wrapper
  span.select2-selection
  .select2-selection__arrow {
  top: 11px;
}

@media screen and (max-width: 768px) {
  #customer_details .woocommerce-checkout-review-order {
    margin-top: 3.8rem;
  }
}

#customer_details .woocommerce-checkout-review-order h3 {
  margin-bottom: 1.5rem;
}

#customer_details .woocommerce-checkout-review-order table.shop_table {
  width: 100%;
  margin-bottom: 5rem;
  border-radius: 0;
  border-collapse: collapse;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

#customer_details .woocommerce-checkout-review-order table.shop_table thead {
  /* display: none; */
  color: #fff;
  background-color: #410130;
  border-color: #410130;
}
#customer_details
  .woocommerce-checkout-review-order
  table.shop_table
  thead
  .product-total {
  text-align: end;
}

#customer_details .woocommerce-checkout-review-order table.shop_table tbody {
  border: 1px solid #dddddd;
}

#customer_details
  .woocommerce-checkout-review-order
  table.shop_table
  tbody
  .cart_item {
  border-bottom: 1px solid #dddddd;
}

#customer_details
  .woocommerce-checkout-review-order
  table.shop_table
  tbody
  .cart_item
  .product-name {
  font-size: 1.3rem;
}

@media screen and (max-width: 576px) {
  #customer_details
    .woocommerce-checkout-review-order
    table.shop_table
    tbody
    .cart_item
    .product-name {
    font-size: 1.125rem;
  }
}

#customer_details
  .woocommerce-checkout-review-order
  table.shop_table
  tbody
  .cart_item
  .product-name
  .variation {
  margin-top: 2rem;
  font-size: 1rem;
}
#customer_details
  .woocommerce-checkout-review-order
  table.shop_table
  tbody
  .cart_item
  .product-name
  .variation
  dd,
#customer_details
  .woocommerce-checkout-review-order
  table.shop_table
  tbody
  .cart_item
  .product-name
  .variation
  p {
  margin: 0;
}

@media screen and (max-width: 576px) {
  #customer_details
    .woocommerce-checkout-review-order
    table.shop_table
    tbody
    .cart_item
    .product-name
    .variation {
    font-size: 0.8rem;
  }
}

#customer_details
  .woocommerce-checkout-review-order
  table.shop_table
  tbody
  .cart_item
  .product-name
  .product-quantity {
  /* display: none; */
}

#customer_details
  .woocommerce-checkout-review-order
  table.shop_table
  tbody
  .cart_item
  .product-total {
  text-align: end;
}

#customer_details .woocommerce-checkout-review-order table.shop_table tfoot {
  border: 1px solid #dddddd;
}
#customer_details
  .woocommerce-checkout-review-order
  table.shop_table
  tfoot
  ul.woocommerce-shipping-methods {
  list-style-type: none;
  padding-left: 0;
  margin-left: 0;
  text-align: end;
}

#customer_details .woocommerce-checkout-review-order table.shop_table th {
  padding: 1.25rem 1.875rem;
}

@media screen and (max-width: 576px) {
  #customer_details .woocommerce-checkout-review-order table.shop_table th {
    padding: 0.5rem 1.25rem;
  }
}

#customer_details .woocommerce-checkout-review-order table.shop_table td {
  padding: 0.8rem 1.875rem;
}

@media screen and (max-width: 576px) {
  #customer_details .woocommerce-checkout-review-order table.shop_table td {
    padding: 0.5rem 1.25rem;
  }
}

#customer_details
  .woocommerce-checkout-review-order
  table.shop_table
  .order-total {
  color: #fff;
  background-color: #410130;
}

#customer_details
  .woocommerce-checkout-review-order
  table.shop_table
  .cart-subtotal
  td,
#customer_details
  .woocommerce-checkout-review-order
  table.shop_table
  .order-total
  td {
  text-align: end;
}

#customer_details
  .woocommerce-checkout-review-order
  .woocommerce-checkout-payment {
  background-color: transparent;
  /* border: 1px solid #dddddd; */
  margin-block: 2.5rem;
}

#customer_details
  .woocommerce-checkout-review-order
  .woocommerce-checkout-payment
  ul.payment_methods {
  background-color: #eff1f3;
  margin-left: 0;
  padding: 1.5rem;
  list-style-type: none;
}
#customer_details
  .woocommerce-checkout-review-order
  .woocommerce-checkout-payment
  .payment_box {
  /* background-color: #add8e6; */
  font-weight: 600;
}

#customer_details
  .woocommerce-checkout-review-order
  .woocommerce-checkout-payment
  .payment_box::before {
  border-bottom-color: #add8e6;
}

#customer_details
  .woocommerce-checkout-review-order
  .woocommerce-checkout-payment
  .wc_payment_methods {
  border-bottom-color: #add8e6;
}

#customer_details
  .woocommerce-checkout-review-order
  .woocommerce-checkout-payment
  button[type="submit"] {
  float: unset !important;
  display: block;
  margin-inline: auto;
  margin-top: 2rem;
  margin-bottom: 1.5rem;
  padding: 1rem 3.5rem;
  background-repeat: no-repeat;
  background-size: 25px;
  background-position: 91% 50%;
}

#customer_details
  .woocommerce-checkout-review-order
  .woocommerce-checkout-payment
  .woocommerce-invalid
  #acceptClausula1,
#customer_details
  .woocommerce-checkout-review-order
  .woocommerce-checkout-payment
  .woocommerce-invalid
  #acceptClausula2 {
  outline: 2px solid red;
  outline-offset: 2px;
}

#customer_details
  .woocommerce-checkout-review-order
  .checkout-product-thumbnail {
  float: left;
  margin-right: 0.5rem;
}

#customer_details .woocommerce-additional-fields {
  margin-top: 4rem;
}
#customer_details .woocommerce-additional-fields .notes label {
  margin-bottom: 0.75rem;
  font-size: 1.5rem;
  padding-left: 1rem;
  border-left: 4px solid #410130;
}

/*
 * CHECKOUT PAGE - THANKYOU PAGE ********************************************/

.woocommerce-checkout.woocommerce-page.woocommerce-order-received
  .woocommerce-order
  .woocommerce-thankyou-order-received {
  margin-bottom: 1.8rem;
}

.woocommerce-checkout.woocommerce-page.woocommerce-order-received
  .woocommerce-order
  ul.woocommerce-thankyou-order-details {
  margin-left: 0;
  margin-bottom: 1.8rem;
  list-style: none;
  padding-block: 0.5rem;
  display: flex;
  flex-wrap: wrap;
  border-left: 5px solid #410130;
  background-color: #eff1f3;
}

.woocommerce-checkout.woocommerce-page.woocommerce-order-received
  .woocommerce-order
  ul.woocommerce-thankyou-order-details
  > li {
  display: flex;
  flex-direction: column;
  margin-bottom: 0.5rem;
}

.woocommerce-checkout.woocommerce-page.woocommerce-order-received
  .woocommerce-order
  ul.woocommerce-thankyou-order-details
  > li:not(:last-of-type) {
  margin-right: 1.5rem;
}

.woocommerce-checkout.woocommerce-page.woocommerce-order-received
  .woocommerce-order
  ul.woocommerce-thankyou-order-details
  > li
  strong {
  font-size: 1.125rem;
}

.woocommerce-checkout.woocommerce-page.woocommerce-order-received
  .woocommerce-order
  .woocommerce-bacs-bank-details {
  margin-bottom: 2.8rem;
}

.woocommerce-checkout.woocommerce-page.woocommerce-order-received
  .woocommerce-order
  .woocommerce-bacs-bank-details
  h2 {
  font-size: 2rem;
}

.woocommerce-checkout.woocommerce-page.woocommerce-order-received
  .woocommerce-order
  .woocommerce-bacs-bank-details
  h3 {
  font-size: 1.25rem;
}

.woocommerce-checkout.woocommerce-page.woocommerce-order-received
  .woocommerce-order
  .woocommerce-bacs-bank-details
  ul.bacs_details {
  margin-left: 0;
  margin-bottom: 1.8rem;
  list-style: none;
  padding-block: 1.25rem;
  padding-left: 2rem;
  border-left: 5px solid #410130;
  background-color: #eff1f3;
}

.woocommerce-checkout.woocommerce-page.woocommerce-order-received
  .woocommerce-order
  .woocommerce-order-details {
  margin-bottom: 2.8rem;
}

.woocommerce-checkout.woocommerce-page.woocommerce-order-received
  .woocommerce-order
  .woocommerce-order-details
  h2 {
  font-size: 2rem;
}

.woocommerce-checkout.woocommerce-page.woocommerce-order-received
  .woocommerce-order
  .woocommerce-order-details
  table.shop_table {
  margin-bottom: 1.8rem;
  width: 100%;
  border: 1px solid #eff1f3;
  border-collapse: collapse;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

@media screen and (max-width: 576px) {
  .woocommerce-checkout.woocommerce-page.woocommerce-order-received
    .woocommerce-order
    .woocommerce-order-details
    table.shop_table {
    display: block;
    overflow-x: auto;
  }
}

.woocommerce-checkout.woocommerce-page.woocommerce-order-received
  .woocommerce-order
  .woocommerce-order-details
  table.shop_table
  thead {
  background-color: #410130;
  color: #fff;
}

.woocommerce-checkout.woocommerce-page.woocommerce-order-received
  .woocommerce-order
  .woocommerce-order-details
  table.shop_table
  th {
  padding: 1.25rem 1.875rem;
}

.woocommerce-checkout.woocommerce-page.woocommerce-order-received
  .woocommerce-order
  .woocommerce-order-details
  table.shop_table
  td {
  padding: 0.8rem 1.875rem;
}

.woocommerce-checkout.woocommerce-page.woocommerce-order-received
  .woocommerce-order
  .woocommerce-order-details
  table.shop_table
  tbody {
  border-bottom: 1px solid #eff1f3;
}

.woocommerce-checkout.woocommerce-page.woocommerce-order-received
  .woocommerce-order
  .woocommerce-order-details
  table.shop_table
  tbody
  tr.order_item
  .product-quantity {
  display: none;
}

@media screen and (max-width: 576px) {
  .woocommerce-checkout.woocommerce-page.woocommerce-order-received
    .woocommerce-order
    .woocommerce-order-details
    table.shop_table
    tbody
    tr.order_item
    .wc-item-meta {
    margin-top: 0.6rem;
    padding-left: 0;
    font-size: 0.8rem;
  }
}

.woocommerce-checkout.woocommerce-page.woocommerce-order-received
  .woocommerce-order
  .woocommerce-order-details
  table.shop_table
  tfoot
  tr {
  border-bottom: 1px solid #eff1f3;
}

.woocommerce-checkout.woocommerce-page.woocommerce-order-received
  .woocommerce-order
  .woocommerce-customer-details {
  margin-bottom: 2.8rem;
  /* padding-left: 1.6rem;
  border-left: 5px solid #410130; */
  background-color: #eff1f3;
  padding: 1.5rem 2rem;
  margin-top: 2rem;
}

.woocommerce-checkout.woocommerce-page.woocommerce-order-received
  .woocommerce-order
  .woocommerce-customer-details
  h2 {
  font-weight: 600;
  font-size: 1.25rem;
}

.woocommerce-checkout.woocommerce-page.woocommerce-order-received
  .woocommerce-order
  .woocommerce-customer-details
  address {
  color: #410130;
}

.woocommerce-checkout.woocommerce-page.woocommerce-order-received
  .woocommerce-order
  .woocommerce-customer-details
  address
  .woocommerce-customer-details--phone {
  margin-bottom: 0;
  margin-top: 1rem;
}

.woocommerce-error {
  margin-left: 0;
  list-style-type: none;
}




/* TODO: CHECK */
/* WOOCOMMERCE MESSAGES */

/* WOOCOMMERCE > Messaggio dopo l'inserimento del prodotto nel carrello (notice)  */
/*--------------------------------------------------------------------------------*/

.single-product .woocommerce-notices-wrapper {
  position: fixed;
  bottom: 40%;
  left: 50%;
  transform: translatex(-50%);
  width: 30%;
  z-index: 9999;
  text-align: center;
}

@media screen and (max-width: 480px) {
  .single-product .woocommerce-notices-wrapper {
    width: 90%;
  }
}

.woocommerce-notices-wrapper .woocommerce-message {
  /*padding: 2rem;*/
  /*background-color: var(--primary-color);*/
  /*color: var(--white);*/
  background-color: var(--light-grey) !important;
  border-left: 3px solid var(--primary-color);
}

/* Dopo 10s scompare il messaggio di acquisto 
/*------------------------------------------------- */

.single-product .woocommerce-notices-wrapper {
  opacity: 0;
  -moz-animation: notices 10s;
  -webkit-animation: notices 10s;
  -o-animation: notices 10s;
  animation: notices 10s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}

.single-product .woocommerce-notices-wrapper .woocommerce-message {
  padding: 2rem;
  box-shadow: rgba(255, 255, 255, 0.1) 0px 1px 1px 0px inset, rgba(50, 50, 93, 0.25) 0px 50px 100px -20px, rgba(0, 0, 0, 0.3) 0px 30px 60px -30px;
}

@keyframes notices {
  0% {
    opacity: 1;
    pointer-events: auto;
  }
  15% {
    opacity: 1;
    pointer-events: auto;
  }
  30% {
    opacity: 1;
    pointer-events: auto;
  }
  45% {
    opacity: 1;
    pointer-events: auto;
  }
  60% {
    opacity: 1;
    pointer-events: auto;
  }
  75% {
    opacity: 1;
    pointer-events: auto;
  }
  100% {
    opacity: 0;
    pointer-events: none;
    
  }
}

/* WOOCOMMERCE PAGES > CART - USER ACCOUNT - CHECKOUT - PAGINATION
---------------------------------------------------------------------- */

.woocommerce-info,
.woocommerce-noreviews,
p.no-comments {
  background-color: var(--light-grey) !important;
  border-left: 2px solid var(--primary-color);
  padding: 0.5rem;
}

.woocommerce-cart .entry-content,
.woocommerce-account .entry-content {
  margin-top: 6.5rem;
}

.woocommerce-cart .entry-content .ui-accordion .ui-accordion-header,
.woocommerce-account .entry-content .ui-accordion .ui-accordion-header {
  background-color: var(--white);
  border-color: 1px solid var(--primary-color);
  padding: 1rem 2rem;
  color: var(--black);
}

.woocommerce-pagination ul.page-numbers,
.pagination {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2rem;
  margin-top: 4rem;
  margin-bottom: 2rem;
  margin-left: 0;
  padding-left: 0;
}

.woocommerce-pagination .page-numbers,
.pagination .page-numbers {
  text-decoration: none;
  font-size: 1.25rem;
  transition: 0.2s ease-in-out;
}
.woocommerce-pagination .page-numbers.current,
.pagination .page-numbers.current {
  font-weight: bold;
}
.woocommerce-pagination .page-numbers:hover,
.pagination .page-numbers:hover {
  color: var(--secondary-color);
}


/* CHECKOUT > METODI DI PAGAMENTO */
.woocommerce-checkout-payment ul.payment_methods li.payment_method_bacs, 
.woocommerce-checkout-payment ul.payment_methods li.payment_method_cod {
    margin-bottom: 0.5rem
}


/* PLUGIN PAYPAL */

.woocommerce-checkout-payment ul.payment_methods li.payment_method_ppcp > label > img[alt*="PayPal"] {
    margin-left: 1.5rem
}
.woocommerce-checkout-payment ul.payment_methods li.payment_method_ppcp .payment_box {
    margin-top: 2rem
}
.wc-ppcp-checkout-container {
    margin-top: 2rem;
    margin-inline: auto;
    max-width: 400px
}



/* Pagina -> activate user account */
.page.woocommerce-active .wp-activate-container {
    margin-top:20rem;
    margin-bottom: 12rem;
}