/* ==========================================================================
   FERRANOVA - Carrito
   ========================================================================== */

.woocommerce-cart .woocommerce {
  max-width: var(--fn-container-xl);
  margin: 0 auto;
  padding: var(--fn-sp-3xl) var(--fn-seccion-px) var(--fn-sp-5xl);
}

.woocommerce-cart .woocommerce-notices-wrapper {
  margin-bottom: var(--fn-sp-lg);
}

.woocommerce-cart .woocommerce-cart-form,
.woocommerce-cart .cart-collaterals .cart_totals {
  background: var(--fn-blanco);
  border: 1px solid rgba(20, 21, 23, 0.06);
  border-radius: var(--fn-radio-xl);
  box-shadow: var(--fn-sombra-card);
}

.woocommerce-cart .woocommerce-cart-form {
  overflow: hidden;
}

.woocommerce-cart table.shop_table {
  width: 100%;
  margin: 0;
  border: none !important;
  border-collapse: separate;
  border-spacing: 0;
}

.woocommerce-cart table.shop_table thead th {
  background: linear-gradient(180deg, #f9fafb 0%, #eef2f5 100%) !important;
  color: var(--fn-gris-600) !important;
  font-family: var(--fn-fuente-titulo);
  font-size: var(--fn-fs-xs) !important;
  font-weight: var(--fn-fw-bold) !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 18px 20px !important;
  border: none !important;
}

.woocommerce-cart table.shop_table td {
  padding: 22px 20px !important;
  border-top: 1px solid var(--fn-gris-100) !important;
  vertical-align: middle !important;
}

.woocommerce-cart td.product-remove {
  width: 56px;
  text-align: center;
}

.woocommerce-cart a.remove {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 34px !important;
  height: 34px !important;
  border-radius: var(--fn-radio-full);
  color: var(--fn-error) !important;
  font-size: 24px !important;
  line-height: 1 !important;
  transition: all var(--fn-trans-fast);
}

.woocommerce-cart a.remove:hover {
  background: var(--fn-error) !important;
  color: var(--fn-blanco) !important;
}

.woocommerce-cart td.product-thumbnail {
  width: 108px;
}

.woocommerce-cart td.product-thumbnail img {
  width: 84px !important;
  height: 84px !important;
  object-fit: contain;
  border-radius: var(--fn-radio-lg);
  background: linear-gradient(180deg, #fafbfc 0%, #eef2f5 100%);
  padding: 8px;
}

.woocommerce-cart td.product-name a {
  font-family: var(--fn-fuente-titulo);
  font-size: var(--fn-fs-base);
  font-weight: var(--fn-fw-semibold);
  color: var(--fn-gris-800);
  text-decoration: none;
}

.woocommerce-cart td.product-name a:hover {
  color: var(--fn-primario);
}

.woocommerce-cart td.product-price,
.woocommerce-cart td.product-subtotal {
  color: var(--fn-gris-800);
  font-family: var(--fn-fuente-titulo);
  font-weight: var(--fn-fw-semibold);
}

.woocommerce-cart td.product-quantity .quantity {
  display: inline-flex;
  align-items: center;
}

.woocommerce-cart td.product-quantity .qty {
  width: 88px !important;
  min-height: 46px;
  text-align: center;
  font-weight: var(--fn-fw-semibold);
}

.woocommerce-cart .actions {
  background: #fbfcfd;
}

.woocommerce-cart .actions .coupon {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: center;
}

.woocommerce-cart .actions .coupon .input-text {
  min-width: 240px;
  margin: 0 !important;
}

.woocommerce-cart .actions > .button,
.woocommerce-cart .actions .coupon .button {
  min-height: 46px;
}

.woocommerce-cart .cart-collaterals {
  display: flex;
  justify-content: flex-end;
  margin-top: var(--fn-sp-xl);
}

.woocommerce-cart .cart-collaterals .cart_totals {
  width: min(100%, 420px);
  padding: var(--fn-sp-2xl);
}

.woocommerce-cart .cart_totals h2 {
  margin: 0 0 var(--fn-sp-lg);
  color: var(--fn-gris-800);
  font-family: var(--fn-fuente-titulo);
  font-size: var(--fn-fs-lg);
  font-weight: var(--fn-fw-bold);
}

.woocommerce-cart .cart_totals table.shop_table td,
.woocommerce-cart .cart_totals table.shop_table th {
  padding: 16px 0 !important;
  border-top: 1px solid var(--fn-gris-100) !important;
  background: transparent !important;
}

.woocommerce-cart .cart_totals table.shop_table tr:first-child th,
.woocommerce-cart .cart_totals table.shop_table tr:first-child td {
  border-top: none !important;
}

.woocommerce-cart .cart_totals table.shop_table th {
  color: var(--fn-gris-600) !important;
  font-size: var(--fn-fs-sm) !important;
  letter-spacing: 0;
  text-transform: none;
  font-family: var(--fn-fuente-cuerpo);
}

.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td {
  color: var(--fn-gris-800) !important;
  font-family: var(--fn-fuente-titulo);
  font-size: var(--fn-fs-md);
  font-weight: var(--fn-fw-bold);
}

.woocommerce-cart .wc-proceed-to-checkout {
  padding: var(--fn-sp-lg) 0 0;
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
  width: 100%;
  min-height: 56px;
  border-radius: var(--fn-radio-full) !important;
  font-size: var(--fn-fs-base) !important;
  box-shadow: 0 12px 28px rgba(36, 111, 132, 0.22) !important;
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover {
  transform: translateY(-2px);
}

.woocommerce-cart .cart-empty.woocommerce-info,
.woocommerce-cart .return-to-shop {
  max-width: var(--fn-container-md);
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 900px) {
  .woocommerce-cart .woocommerce {
    padding-top: var(--fn-sp-2xl);
  }

  .woocommerce-cart table.shop_table td,
  .woocommerce-cart table.shop_table thead th {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .woocommerce-cart .actions .coupon {
    margin-bottom: 12px;
  }
}

@media (max-width: 768px) {
  .woocommerce-cart table.shop_table_responsive tr td::before,
  .woocommerce-cart table.shop_table_responsive tr th::before {
    color: var(--fn-gris-500);
    font-family: var(--fn-fuente-titulo);
    font-size: var(--fn-fs-xs);
    font-weight: var(--fn-fw-bold);
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }

  .woocommerce-cart table.shop_table_responsive tr {
    display: block;
    padding: 16px 0;
    border-top: 1px solid var(--fn-gris-100);
  }

  .woocommerce-cart table.shop_table_responsive tbody tr:first-child {
    border-top: none;
  }

  .woocommerce-cart table.shop_table_responsive tr td {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    width: 100%;
    border: none !important;
    padding: 10px 16px !important;
    text-align: right !important;
  }

  .woocommerce-cart td.product-thumbnail,
  .woocommerce-cart td.product-remove {
    justify-content: flex-end;
  }

  .woocommerce-cart td.product-thumbnail img {
    width: 72px !important;
    height: 72px !important;
  }

  .woocommerce-cart td.product-name a {
    max-width: 210px;
    text-align: right;
  }

  .woocommerce-cart .actions {
    padding-top: 6px !important;
  }

  .woocommerce-cart .actions .coupon,
  .woocommerce-cart .actions > .button {
    width: 100%;
  }

  .woocommerce-cart .actions .coupon .input-text,
  .woocommerce-cart .actions .coupon .button,
  .woocommerce-cart .actions > .button {
    width: 100%;
  }

  .woocommerce-cart .cart-collaterals .cart_totals {
    width: 100%;
    padding: 24px 18px;
  }
}
