/* !---------
! CARRELLO
! ---------*/
.woocommerce-cart .ct-container-full {
  background-color: var(--theme-palette-color-8);
}

.woocommerce-cart [data-vertical-spacing*="top"] {
  padding-top: 15px !important;
}
.woocommerce-cart #main-container .site-main {
  flex-grow: 0;
}

/* ==========================================================================
   Cart Title (H2 con conteggio articoli)
   ========================================================================== */

.cart-title,
.ct-woocommerce-cart-form .cart_totals h2 {
  font-size: var(--wp--preset--font-size--h-2-sezione) !important;
}

.cart-title .cart-count {
  font-weight: inherit;
}

/* ==========================================================================
   Hide Table Headers & Reset Table Styles
   ========================================================================== */

.custom-cart-layout .shop_table.cart thead {
  display: none !important;
}

.custom-cart-layout .shop_table.cart {
  border: none;
}

.custom-cart-layout .shop_table.cart tbody {
  border: none;
}

/* ==========================================================================
   Consigliati cart
   ========================================================================== */
[class*="ct-suggested-products"] .ct-module-title {
  font-size: 26px;
}
@media (max-width: 767px) {
  [class*="ct-suggested-products"] .ct-module-title {
    font-size: 20px;
  }
}
.woocommerce-cart-form .ct-suggested-products--cart {
  border-top: none !important;
}

.flexy-pills,
.flexy {
  margin-bottom: 15px !important;
}
/* ==========================================================================
   Mobile Actions (Blocksy Native - Hidden on Desktop)
   ========================================================================== */

/* IMPORTANTE: Nascondere su desktop */
.custom-cart-layout .product-mobile-actions {
  display: none !important;
}

/* ==========================================================================
   Cart Item Row - CSS Grid Layout
   ========================================================================== */

.custom-cart-layout .woocommerce-cart-form__cart-item {
  display: grid;
  grid-template-columns: 150px 1fr auto;
  grid-template-rows: auto 1fr auto;
  gap: 0 20px;
  margin-bottom: 16px;
  position: relative;
  transition: box-shadow 0.3s ease;
}
.custom-cart-layout table .woocommerce-cart-form__cart-item:not(:last-child) {
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid var(--theme-palette-color-7);
}

/* Reset TD displays */
.custom-cart-layout .woocommerce-cart-form__cart-item td {
  border: none !important;
  padding: 0 !important;
}
.custom-cart-layout .woocommerce-cart-form__cart-item .product-subtotal {
  text-align: right !important;
}

/* ==========================================================================
   Product Thumbnail (Left Column)
   ========================================================================== */

.custom-cart-layout .product-thumbnail {
  grid-column: 1;
  grid-row: 1 / -1;
  display: block !important;
  width: 100% !important;
}

.custom-cart-layout .product-thumbnail a,
.custom-cart-layout .product-thumbnail .ct-image-container {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  height: 100%;
  border-radius: 2px;
  overflow: hidden;
}

.custom-cart-layout .product-thumbnail img {
  display: block;
  width: 100%;
  height: auto;
  background-color: var(--theme-palette-color-8);
  border: 1px solid var(--theme-palette-color-7) !important;
}

/* ==========================================================================
   Product Info (Center Column - Top & Middle)
   ========================================================================== */

.custom-cart-layout .product-name {
  grid-column: 2;
  grid-row: 1 / 3;
  display: flex !important;
  flex-direction: column;
  gap: 8px;
}

/* Wrapper per info prodotto */
.cart-product-info {
  display: flex;
  flex-direction: column;
}

/* Nome Prodotto */
.cart-product-title {
  font-size: var(--wp--preset--font-size--h-4);
  font-weight: 500;
  line-height: 1.3;
}

.cart-product-title a {
  text-decoration: none;
  transition: color 0.2s ease;
}

/* Meta / Variazioni */
.cart-product-meta {
  font-size: 14px;
  letter-spacing: 1px;
}
dl.variation dt {
  font-weight: 400;
}
dd.variation-attribute_pa_seleziona-misura {
  font-weight: 600;
}
.cart-product-meta .wc-item-meta {
  margin: 0;
  padding: 0;
  list-style: none;
}

.cart-product-meta .wc-item-meta li {
  margin: 2px 0;
}

.cart-product-meta .wc-item-meta-label {
  font-weight: 500;
  color: #444;
}

.cart-product-meta .wc-item-meta-value {
  color: #666;
}

.cart-product-meta p {
  margin: 4px 0;
}

/* Backorder */
.cart-product-meta .backorder_notification {
  font-size: 13px;
  color: #856404;
  background: #fff3cd;
  border: 1px solid #ffeeba;
  padding: 6px 10px;
  border-radius: 4px;
  margin: 6px 0;
}

@media (min-width: 580px) {
  /* Spaziatura nel carrello */
  .woocommerce-cart-form .edt-delivery {
    margin-top: 20px;
  }
}

/* ==========================================================================
   Product Quantity (Bottom Left)
   ========================================================================== */

.custom-cart-layout .product-quantity {
  grid-column: 2;
  grid-row: 3;
  justify-self: start;
  align-self: end;
  display: block !important;
}

/* Blocksy quantity input styles preserved */
.custom-cart-layout .product-quantity .quantity {
  display: inline-flex;
  align-items: center;
}

/* ==========================================================================
   Product Subtotal/Price (Bottom Right)
   ========================================================================== */

.custom-cart-layout .product-subtotal {
  grid-column: 3;
  grid-row: 3;
  justify-self: end;
  align-self: end;
  display: block !important;
  font-size: 20px;
  font-weight: 600 !important;
  color: var(--theme-palette-color-3);
}

.custom-cart-layout .product-subtotal .woocommerce-Price-amount {
  font-size: inherit;
  font-weight: inherit;
}

/* ==========================================================================
   Remove Button (Top Right - X)
   ========================================================================== */

.custom-cart-layout .product-remove {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 10;
  display: block !important;
  grid-column: unset;
  grid-row: unset;
}

.custom-cart-layout .product-remove .remove {
  font-size: 28px;
  line-height: 1;
  color: #999;
  text-decoration: none;
  transition: color 0.2s ease;
  font-weight: 300;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
}

.custom-cart-layout .product-remove .remove:hover {
  color: var(--theme-palette-color-4);
}

/* ==========================================================================
   Cart Totals
   ========================================================================== */
.ct-woocommerce-cart-form .cart_totals {
  border-color: var(--theme-palette-color-7);
}
.custom-cart-layout .woocommerce-shipping-destination {
  display: none !important;
}

table.shop_table tr {
  --theme-table-border-style: solid !important;
}
/* table.shop_table th,
table.shop_table td {
  padding: 0 !important;
} */

.cart_totals table.shop_table tr:first-child th,
.cart_totals table.shop_table tr:first-child td {
  padding-bottom: 10px !important;
  border-color: var(--theme-palette-color-7);
}

.cart_totals table.shop_table tr:not(.order-total) th,
.cart_totals table.shop_table tr:not(.order-total) td {
  padding: 10px 0 !important;
  border-color: var(--theme-palette-color-7);
}

.cart_totals table.shop_table tr:last-child th,
.cart_totals table.shop_table tr:last-child td {
  padding-bottom: 0 !important;
}

/*Subtotal*/

.ct-cart-totals-modules {
  padding-top: 48px !important;
  padding-bottom: 48px !important;
  border-top: 1px solid var(--theme-palette-color-7);
}
.ct-cart-totals-modules,
.ct-cart-totals-modules > *:not(:last-child):not(:has(+ *:empty)) {
  border-bottom: 1px solid var(--theme-palette-color-7) !important;
}
.cart_totals table.shop_table .cart-subtotal th,
.woocommerce-shipping-methods li > * {
  font-weight: 400 !important;
  font-size: 0.95rem !important;
  letter-spacing: 1px !important;
}

table.shop_table_responsive tbody .cart-subtotal td[data-title]:before {
  font-weight: 400;
}
.cart_totals table.shop_table .cart-subtotal bdi {
  font-size: 18px !important;
  color: var(--theme-palette-color-3);
}

/*Coupon discount*/
.cart_totals table.shop_table .cart-discount span {
  color: #2d6a4f !important;
  font-size: 18px !important;
  font-weight: 700;
}
.cart_totals table.shop_table .cart-discount th {
  font-size: 1rem;
  font-weight: 400;
}
table.shop_table_responsive tbody .cart-discount td[data-title]:before {
  font-weight: 400;
}

/*Shipping method*/
.shop_table .shipping td .ct-shipping-heading {
  display: none;
}
.shop_table .shipping .woocommerce-shipping-methods {
  margin-bottom: 0 !important;
}

/*Order total*/

table.shop_table .order-total th {
  font-size: 1.1rem;
  padding-top: 24px !important ;
}
table.shop_table .order-total bdi {
  font-size: 20px !important;
  font-weight: 600;
  color: var(--theme-palette-color-3);
}
/* Product suggest */
.ct-suggested-products--cart .ct-media-container img,
.ct-media-container picture {
  border: 1px solid var(--theme-palette-color-7) !important;
}
/*Payments method*/
.wc-block-payment-method-icons .wc-block-payment-method-icons__item {
  height: 34px !important;
}
.wc-block-payment-method-icons .wc-block-payment-method-icons__icon {
  height: 34px !important;
  width: 48px !important;
}

.woocommerce-cart .checkout-button {
  min-height: 50px;
}
.woocommerce-cart .checkout-button:hover {
  background-color: var(--theme-palette-color-3) !important;
  border: 1px solid var(--theme-palette-color-3) !important;
}
/* ==========================================================================
   Print Styles
   ========================================================================== */

@media print {
  .custom-cart-layout .product-remove,
  .custom-cart-layout .actions,
  .cart-title {
    display: none !important;
  }

  .custom-cart-layout .woocommerce-cart-form__cart-item {
    border: 1px solid var(--theme-palette-color-4);
    page-break-inside: avoid;
    box-shadow: none;
  }
}

/* ==========================================================================
   Loading State (quando Blocksy aggiorna AJAX)
   ========================================================================== */

.woocommerce-cart-form.loading {
  opacity: 0.6;
  pointer-events: none;
}

.woocommerce-cart-form.loading::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 40px;
  height: 40px;
  border: 4px solid #f3f3f3;
  border-top: 4px solid #1a1a1a;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  100% {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}

/* ==========================================================================
   Coupon
   ========================================================================== */

/* Wrapper coupon */
.woocommerce-cart-form .coupon {
  position: relative;
  max-width: 100%;
  float: none;
  width: 100%;
}

.woocommerce-cart-form .coupon:hover button[name="apply_coupon"],
.woocommerce-cart-form .coupon:focus-within button[name="apply_coupon"] {
  background-color: var(--theme-palette-color-1);
  color: var(--theme-palette-color-8);
  border: 1px solid var(--theme-palette-color-1);
}

.edt-coupon-title {
  font-family: var(--wp--preset--font-family--darker-grotesque);
  text-align: left;
  font-weight: 400;
  margin-bottom: 0;
  font-size: var(--wp--preset--font-size--h-4) t;
}

/* Input container con effetto floating */
.woocommerce-cart-form .coupon {
  position: relative;
  display: block;
}

.woocommerce-cart-form .coupon input[type="text"] {
  width: 100%;
  min-width: 100%;
  transition: all 0.3s ease;
  border-color: var(--theme-palette-color-7);
  background-color: var(--theme-palette-color-8);
}

/* Bottone dentro l'input (inline) */
.woocommerce-cart-form .coupon button[name="apply_coupon"] {
  position: absolute;
  right: 5px;
  top: 50%;
  min-height: auto;
  min-width: auto;
  background-color: var(--theme-palette-color-6);
  border: 1px solid var(--theme-palette-color-2);
  color: var(--theme-palette-color-2);
  transform: translateY(-50%) !important;
  padding: 10px 24px !important;
  font-size: 0.7rem !important;
  white-space: nowrap;
  z-index: 2;
}

/* Actions row */
.woocommerce-cart-form .actions {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* Update cart button */
.woocommerce-cart-form button[name="update_cart"] {
  align-self: flex-end;
}

/* ==========================================================================
   Carrello vuoto
   ========================================================================== */

.return-to-shop {
  display: none;
}

.edt-empty-cart__title {
  font-size: var(--wp--preset--font-size--x-large);
}

.edt-empty-cart__content {
  display: flex;
  min-height: 450px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.edt-empty-cart__message {
  margin-top: 20px;
  margin-bottom: 40px;
  font-size: var(--wp--preset--font-size--large);
}

@media (max-width: 767.99px) {
  .edt-empty-cart__title {
    font-size: var(--wp--preset--font-size--large);
  }
  .edt-empty-cart__message {
    margin-top: 20px;
    margin-bottom: 40px;
    font-size: var(--wp--preset--font-size--medium);
  }
}
/* ==========================================================================
   Responsive Design
   ========================================================================== */

/* Tablet */
@media (min-width: 690px) and (max-width: 999px) {
  /* Assicurati che mobile actions sia nascosto su tablet */
  .custom-cart-layout .product-mobile-actions {
    display: none !important;
  }
}

/*Cart layout*/
@media (max-width: 1300px) {
  .ct-woocommerce-cart-form {
    grid-template-columns: 60% 40% !important;
  }
}
@media (max-width: 1050px) {
  .ct-woocommerce-cart-form {
    grid-template-columns: 100% !important;
  }
  /*Cart totals*/

  .ct-woocommerce-cart-form {
    gap: 0 !important;
  }
  .ct-woocommerce-cart-form .cart_totals {
    padding: 0 !important;
  }
  .ct-woocommerce-cart-form .cart_totals {
    border: none;
  }
}

@media (max-width: 1000px) {
  .woocommerce-cart .ct-container-full[data-vertical-spacing*="top"] {
    padding-top: 30px !important;
  }
  /*Item layout*/
  .custom-cart-layout .woocommerce-cart-form__cart-item {
    grid-template-columns: 35% 40% auto;
    gap: 10px;
  }
}

@media (max-width: 700px) {
  .cart-title,
  .ct-woocommerce-cart-form .cart_totals h2,
  .edt-coupon-title {
    font-size: 22px !important;
  }

  .custom-cart-layout .cart_totals {
    margin-top: 20px !important;
  }
  /*Product list*/
  .custom-cart-layout .product-thumbnail {
    grid-row: 1 / 3;
  }
  .custom-cart-layout .product-quantity {
    grid-column: 1;
  }

  .custom-cart-layout .product-subtotal {
    grid-column: 2/4;
  }

  .custom-cart-layout .product-name {
    grid-column: 2/4;
  }

  .woocommerce-cart-form .coupon button[name="apply_coupon"] {
    position: relative;
    right: unset;
    top: unset;
    transform: unset !important;
  }
  .woocommerce-cart-form__contents .coupon {
    flex-direction: column;
    margin-bottom: 0.8em;
  }
  .shop_table .quantity[data-type="type-2"] {
    --quantity-width: 100% !important;
  }
}

@media (max-width: 689px) {
  .woocommerce-shipping-methods label {
    font-size: 14px;
  }
}

@media (max-width: 600px) {
  .custom-cart-layout .woocommerce-cart-form__cart-item {
    grid-template-columns: 30% 40% auto;
    gap: 10px;
  }
  /*Product list*/
  .custom-cart-layout .woocommerce-cart-form__cart-item {
    row-gap: 10px;
  }

  .cart-product-title {
    font-size: 16px;
  }

  .shop_table .edt-delivery {
    font-size: 13px;
  }

  .custom-cart-layout .product-subtotal {
    font-size: 17px;
  }

  .edt-cart-subtotal-wrapper .edt-instead-of {
    display: block;
    font-size: 13px;
  }

  .shop_table .edt-tax-info-cart {
    font-size: 11px;
  }
}
