/* =========================================================================
   Carrito, checkout y mi cuenta.

   Estas páginas salían con el CSS de fábrica de WooCommerce: botón morado
   (#7f54b3), enlaces azules, la "x" de borrar en rojo y titulares en negrita
   sans. Aquí se traen a la paleta y la tipografía del sitio.

   Los selectores de WooCommerce usan a menudo dos IDs o `.woocommerce` +
   elemento; cart.css se carga después de woocommerce.css, así que en caso de
   empate de especificidad gana el tema y no hace falta !important.
   ========================================================================= */

.store-page-content {
  max-width: 1240px;
}

.store-page-title {
  margin: 0 0 28px;
  color: var(--store-ink, #24211f);
  font: 400 clamp(26px, 2.4vw, 34px)/1.15 "Playfair Display", serif;
}

/* Avisos ------------------------------------------------------------------ */
.store-page-content .woocommerce-error,
.store-page-content .woocommerce-message,
.store-page-content .woocommerce-info {
  margin: 0 0 24px;
  padding: 15px 18px;
  border: 0;
  border-left: 2px solid var(--store-accent, #9a7b5a);
  border-radius: 0;
  background: #faf8f5;
  color: #45423e;
  font-size: 13px;
  list-style: none;
}

.store-page-content .woocommerce-error {
  border-left-color: #a5563d;
}

.store-page-content .woocommerce-error::before,
.store-page-content .woocommerce-message::before,
.store-page-content .woocommerce-info::before {
  display: none;
}

.store-page-content .woocommerce-error li {
  margin: 0;
  list-style: none;
}

/* Estructura del carrito --------------------------------------------------
   WooCommerce flota los totales al 48% a la derecha, lo que dejaba medio
   ancho vacío bajo la tabla. Aquí van en una columna propia. */
@media (min-width: 1000px) {
  /* Solo con productos dentro: cuando el carrito está vacío no hay tabla ni
     totales, y la rejilla separaba el mensaje del botón de volver. */
  .store-page-content--carrito .woocommerce:has(.woocommerce-cart-form) {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 52px;
    align-items: start;
  }

  .store-page-content--carrito .woocommerce-notices-wrapper {
    grid-column: 1 / -1;
  }

  .store-page-content--carrito .cart-collaterals {
    width: auto;
    float: none;
  }

  .store-page-content--carrito .cart-collaterals .cart_totals {
    width: auto;
    float: none;
  }
}

/* Tabla de productos ------------------------------------------------------ */
.store-page-content .shop_table {
  width: 100%;
  border: 0;
  border-collapse: collapse;
  border-radius: 0;
}

.store-page-content .shop_table thead th {
  padding: 0 12px 12px;
  border-bottom: 1px solid #e6e0d8;
  color: #8b847b;
  font-size: 10px;
  font-weight: 400;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.store-page-content .shop_table td {
  padding: 20px 12px;
  border-top: 0;
  border-bottom: 1px solid #efeae3;
  vertical-align: middle;
}

/* Colisión de nombres: `.product-thumbnail` la usan a la vez las miniaturas de
   la galería de la ficha (catalog.css y product.css les ponen fondo beige,
   borde y padding) y la celda de imagen de la tabla del carrito. Aquí se
   neutraliza esa herencia para la tabla. */
.store-page-content .shop_table th.product-thumbnail,
.store-page-content .shop_table td.product-thumbnail {
  padding: 20px 12px 20px 0;
  border: 0;
  border-bottom: 1px solid #efeae3;
  background: transparent;
}

.store-page-content .shop_table thead th.product-thumbnail {
  border-bottom: 1px solid #e6e0d8;
}

.store-page-content .shop_table th.product-thumbnail {
  padding-top: 0;
  padding-bottom: 12px;
}

.store-page-content .cart_item .product-thumbnail {
  width: 96px;
}

.store-page-content .cart_item .product-thumbnail img {
  display: block;
  width: 84px;
  height: 84px;
  object-fit: cover;
  background: #f0ece5;
}

.store-page-content .cart_item .product-name a {
  color: var(--store-ink, #24211f);
  font-size: 14px;
  text-decoration: none;
}

.store-page-content .cart_item .product-name a:hover {
  color: var(--store-accent, #9a7b5a);
}

/* Las variaciones elegidas, en pequeño bajo el nombre. */
.store-page-content .cart_item .variation {
  margin: 6px 0 0;
  color: #8b847b;
  font-size: 11px;
  line-height: 1.5;
}

.store-page-content .cart_item .variation dt,
.store-page-content .cart_item .variation dd {
  display: inline;
  margin: 0;
  font-weight: 400;
}

.store-page-content .cart_item .variation dd::after {
  content: " · ";
}

.store-page-content .cart_item .variation dd:last-child::after {
  content: "";
}

.store-page-content .cart_item .variation p {
  display: inline;
  margin: 0;
}

.store-page-content .product-price,
.store-page-content .product-subtotal {
  font-size: 13px;
}

.store-page-content .product-subtotal {
  color: var(--store-ink, #24211f);
  font-weight: 500;
}

/* Botón de quitar: discreto, no un aspa roja. */
.store-page-content td.product-remove {
  width: 34px;
  padding-left: 0;
  padding-right: 0;
}

.store-page-content a.remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  color: #a49c92 !important;
  font-size: 18px;
  line-height: 1;
  text-decoration: none;
  transition: color .16s ease, background .16s ease;
}

.store-page-content a.remove:hover {
  background: #f4efe9;
  color: #24211f !important;
}

/* Cantidad ---------------------------------------------------------------- */
.store-page-content .quantity input.qty {
  width: 62px;
  height: 38px;
  padding: 0 6px;
  border: 1px solid #cec6bb;
  border-radius: 0;
  background: #fff;
  color: #24211f;
  font: 13px "DM Sans", sans-serif;
  text-align: center;
}

/* Fila de acciones: cupón + actualizar ------------------------------------ */
.store-page-content td.actions {
  padding: 22px 0 0;
  border-bottom: 0;
}

.store-page-content .coupon {
  display: flex;
  align-items: center;
  gap: 10px;
}

.store-page-content .coupon label {
  display: none;
}

.store-page-content td.actions .input-text#coupon_code {
  width: 190px;
  min-width: 0;
  height: 42px;
  padding: 0 13px;
  border: 1px solid #cec6bb;
  border-radius: 0;
  background: #fff;
  color: #24211f;
  font: 12px "DM Sans", sans-serif;
}

/* Botones ----------------------------------------------------------------- */
.store-page-content .button,
.store-page-content button.button,
.store-page-content input.button,
.store-page-content a.button,
.store-page-content .woocommerce a.button,
.store-page-content .woocommerce button.button,
.store-page-content .woocommerce input.button {
  padding: 13px 24px;
  border: 1px solid #24211f;
  border-radius: 0;
  background: transparent;
  color: #24211f;
  font: 400 11px "DM Sans", sans-serif;
  letter-spacing: .06em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background .18s ease, color .18s ease, opacity .18s ease;
}

.store-page-content .button:hover,
.store-page-content button.button:hover,
.store-page-content input.button:hover,
.store-page-content a.button:hover {
  background: #24211f;
  color: #fff;
}

/* El morado de WooCommerce (#7f54b3) fuera: la acción principal va en la
   tinta de la marca. */
.store-page-content .button.alt,
.store-page-content a.button.alt,
.store-page-content button.button.alt,
.store-page-content input.button.alt,
.store-page-content .checkout-button {
  border-color: #242320;
  background: #242320;
  color: #fff;
}

.store-page-content .button.alt:hover,
.store-page-content a.button.alt:hover,
.store-page-content button.button.alt:hover,
.store-page-content .checkout-button:hover {
  background: #3c3833;
  border-color: #3c3833;
  color: #fff;
}

.store-page-content .button:disabled,
.store-page-content .button[disabled] {
  opacity: .4;
  cursor: not-allowed;
}

/* Totales ----------------------------------------------------------------- */
.store-page-content .cart_totals h2 {
  margin: 0 0 14px;
  color: var(--store-ink, #24211f);
  font: 400 19px "Playfair Display", serif;
}

.store-page-content .cart_totals table {
  margin: 0;
  border: 1px solid #e6e0d8;
  background: #faf8f5;
}

.store-page-content .cart_totals th,
.store-page-content .cart_totals td {
  padding: 14px 16px;
  border-bottom: 1px solid #e9e3db;
  font-size: 13px;
  vertical-align: top;
}

.store-page-content .cart_totals th {
  width: 42%;
  color: #6b645b;
  font-weight: 400;
  text-align: left;
}

.store-page-content .cart_totals tr:last-child th,
.store-page-content .cart_totals tr:last-child td {
  border-bottom: 0;
}

.store-page-content .cart_totals .order-total th,
.store-page-content .cart_totals .order-total td {
  color: var(--store-ink, #24211f);
  font-size: 15px;
  font-weight: 500;
}

.store-page-content .cart_totals .woocommerce-shipping-methods {
  margin: 0;
  padding: 0;
  list-style: none;
}

.store-page-content .cart_totals .woocommerce-shipping-destination {
  margin: 8px 0 0;
  color: #8b847b;
  font-size: 12px;
}

.store-page-content .shipping-calculator-button {
  color: var(--store-accent, #9a7b5a);
  font-size: 12px;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* WooCommerce le añade el glifo \e019 de su fuente de iconos, que a este
   tamaño se ve como una mancha. El enlace subrayado ya se explica solo. */
.store-page-content .shipping-calculator-button::after {
  display: none;
}

.store-page-content .shipping-calculator-form {
  margin-top: 12px;
}

.store-page-content .shipping-calculator-form .form-row {
  margin: 0 0 10px;
  padding: 0;
}

.store-page-content .shipping-calculator-form select,
.store-page-content .shipping-calculator-form input.input-text {
  width: 100%;
  min-height: 38px;
  padding: 0 10px;
  border: 1px solid #cec6bb;
  border-radius: 0;
  background: #fff;
  color: #24211f;
  font: 12px "DM Sans", sans-serif;
}

.store-page-content .shipping-calculator-form .select2-container .select2-selection {
  min-height: 38px;
  border: 1px solid #cec6bb;
  border-radius: 0;
}

.store-page-content .wc-proceed-to-checkout {
  padding: 16px 0 0;
}

.store-page-content .wc-proceed-to-checkout .checkout-button {
  display: block;
  width: 100%;
  padding: 16px 20px;
  font-size: 12px;
  text-align: center;
}

/* Carrito vacío ----------------------------------------------------------- */
.store-page-content .wc-empty-cart-message,
.store-page-content .cart-empty,
.store-page-content .return-to-shop {
  max-width: 520px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.store-page-content .cart-empty {
  margin-bottom: 22px;
  padding: 34px 24px;
  border: 1px dashed #ded8d0;
  background: #faf8f5;
  color: #6b645b;
}

/* Enlace para seguir comprando -------------------------------------------- */
.store-cart-continue {
  display: inline-block;
  margin-top: 22px;
  color: #6b645b;
  font-size: 12px;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.store-cart-continue:hover {
  color: #24211f;
}

/* Adaptación --------------------------------------------------------------
   WooCommerce ya trae un modo apilado para móvil (shop_table_responsive);
   aquí solo se ajusta lo que queda descolocado. */
@media (max-width: 999px) {
  .store-page-content--carrito .cart-collaterals {
    display: flex;
    width: 100%;
    float: none;
    flex-direction: column;
    margin-top: 32px;
  }

  .store-page-content--carrito .cart-collaterals .cart_totals {
    width: 100%;
    float: none;
    order: 1;
  }

  .store-page-content--carrito .cart-collaterals .cross-sells { order: 2; }
}

@media (max-width: 700px) {
  .store-page-content .coupon {
    flex-wrap: wrap;
  }

  .store-page-content td.actions .input-text#coupon_code {
    flex: 1 1 150px;
    width: auto;
  }

  .store-page-content .cart_item .product-thumbnail img {
    width: 62px;
    height: 62px;
  }
}

/* =========================================================================
   Checkout y mi cuenta.
   Comparten hoja con el carrito porque son el mismo recorrido; aquí solo se
   corrige lo que WooCommerce deja con su estilo de fábrica.
   ========================================================================= */
.store-page-content h2,
.store-page-content h3,
.store-page-content .woocommerce-billing-fields h3,
.store-page-content .woocommerce-shipping-fields h3,
.store-page-content #order_review_heading {
  color: var(--store-ink, #24211f);
  font: 400 19px/1.25 "Playfair Display", serif;
}

.store-page-content .woocommerce-form-coupon-toggle a,
.store-page-content .woocommerce-form-login-toggle a,
.store-page-content .showcoupon,
.store-page-content .showlogin {
  color: var(--store-accent, #9a7b5a);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* El asterisco de obligatorio, en el acento en vez del rojo de aviso: no es
   un error, solo indica que el campo hace falta. */
.store-page-content form .form-row .required,
.store-page-content .form-row abbr.required,
.store-page-content abbr.required {
  color: var(--store-accent, #9a7b5a);
  border: 0;
  text-decoration: none;
}

.store-page-content .form-row label {
  display: block;
  margin-bottom: 6px;
  color: #45423e;
  font-size: 12px;
}

.store-page-content .form-row .input-text,
.store-page-content .form-row select,
.store-page-content .form-row textarea {
  width: 100%;
  min-height: 42px;
  padding: 10px 13px;
  border: 1px solid #cec6bb;
  border-radius: 0;
  background: #fff;
  color: #24211f;
  font: 13px "DM Sans", sans-serif;
}

.store-page-content .form-row textarea {
  min-height: 96px;
}

.store-page-content .form-row .input-text:focus,
.store-page-content .form-row select:focus,
.store-page-content .form-row textarea:focus {
  outline: 0;
  border-color: #8b7c68;
}

.store-page-content .select2-container--default .select2-selection--single {
  min-height: 42px;
  border: 1px solid #cec6bb;
  border-radius: 0;
}

/* Resumen del pedido y pago ------------------------------------------------ */
.store-page-content #order_review {
  padding: 22px;
  border: 1px solid #e6e0d8;
  background: #faf8f5;
}

.store-page-content .woocommerce-checkout-review-order-table th,
.store-page-content .woocommerce-checkout-review-order-table td {
  padding: 12px 0;
  border-bottom: 1px solid #e9e3db;
  font-size: 13px;
}

.store-page-content .wc_payment_methods {
  margin: 0 0 18px;
  padding: 0;
  list-style: none;
}

.store-page-content .wc_payment_method label {
  display: inline-block;
  margin-bottom: 0;
  font-size: 13px;
}

.store-page-content .payment_box {
  margin: 8px 0 14px;
  padding: 12px 14px;
  border-radius: 0;
  background: #f2ede6;
  color: #5f584f;
  font-size: 12px;
}

.store-page-content .payment_box::before {
  display: none;
}

.store-page-content #place_order {
  width: 100%;
  padding: 16px 20px;
  font-size: 12px;
}

/* Mi cuenta ---------------------------------------------------------------- */
.store-page-content .woocommerce-MyAccount-navigation ul {
  margin: 0 0 26px;
  padding: 0;
  list-style: none;
  border-bottom: 1px solid #e6e0d8;
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.store-page-content .woocommerce-MyAccount-navigation a {
  display: inline-block;
  padding: 10px 14px;
  color: #6b645b;
  font-size: 11px;
  letter-spacing: .06em;
  text-decoration: none;
  text-transform: uppercase;
  border-bottom: 2px solid transparent;
}

.store-page-content .woocommerce-MyAccount-navigation li.is-active a,
.store-page-content .woocommerce-MyAccount-navigation a:hover {
  color: #24211f;
  border-bottom-color: #242320;
}

/* Carrito apilado en móvil ------------------------------------------------
   WooCommerce oculta la miniatura en pantallas pequeñas
   (woocommerce-smallscreen.css) y pone las etiquetas en negrita. En una
   tienda de alfombras la foto es justo lo que identifica la línea. */
@media (max-width: 768px) {
  .store-page-content .shop_table_responsive tr td.product-thumbnail {
    display: block;
    padding: 18px 14px 0;
    text-align: left;
  }

  .store-page-content .shop_table_responsive tr td.product-thumbnail::before {
    display: none;
  }

  .store-page-content .shop_table_responsive .cart_item .product-thumbnail img {
    width: 76px;
    height: 76px;
  }

  .store-page-content .shop_table_responsive td::before {
    color: #8b847b;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: .04em;
  }

  .store-page-content .shop_table_responsive td {
    padding: 12px 14px;
    font-size: 13px;
  }

  .store-page-content .shop_table_responsive tr {
    display: block;
    margin-bottom: 18px;
    border: 1px solid #efeae3;
  }

  .store-page-content .shop_table_responsive td {
    border-bottom: 0;
  }

  .store-page-content .shop_table_responsive tr td.product-remove {
    width: auto;
    padding: 10px 10px 0;
    text-align: right;
  }

  .store-page-content .shop_table_responsive td.actions {
    border: 0;
    padding: 0;
  }
}

/* =========================================================================
   Carrito editorial 2026
   Adaptación del mockup recibido al marcado y cálculos reales de WooCommerce.
   ========================================================================= */
.store-page-content--carrito {
  max-width: 1440px;
  padding-top: 22px;
}

.purchase-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: clamp(18px, 2vw, 28px);
  color: #8a827a;
  font-size: 11px;
  font-weight: 400;
}

.purchase-breadcrumb a:hover { color: var(--store-accent, #8c7256); }
.purchase-breadcrumb span[aria-hidden] { color: #c1b8ac; }
.purchase-breadcrumb [aria-current="page"] { color: #4a443d; }

.purchase-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: clamp(28px, 3vw, 42px);
}

.purchase-heading .store-page-title {
  margin: 0;
  font-size: clamp(34px, 3.4vw, 48px);
  font-weight: 300;
  letter-spacing: -.025em;
}

.purchase-heading__meta {
  margin: 10px 0 0;
  color: #8a827a;
  font-size: 11px;
  letter-spacing: .05em;
}

.store-page-content--carrito .woocommerce-notices-wrapper:empty { display: none; }

.purchase-steps {
  display: flex;
  align-items: center;
  gap: clamp(14px, 2vw, 28px);
  margin: 0 0 5px;
  padding: 0;
  list-style: none;
}

.purchase-steps li {
  display: flex;
  align-items: center;
  gap: 9px;
  color: #a89f94;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .06em;
  white-space: nowrap;
}

.purchase-steps li > span {
  display: inline-flex;
  width: 22px;
  height: 22px;
  align-items: center;
  justify-content: center;
  border: 1px solid #d6cec2;
  border-radius: 50%;
  font-size: 10px;
}

.purchase-steps li.is-active { color: #2c2823; }
.purchase-steps li.is-active > span,
.purchase-steps li.is-complete > span {
  border-color: var(--store-accent, #8c7256);
  background: var(--store-accent, #8c7256);
  color: #fff;
}

@media (min-width: 1000px) {
  .store-page-content--carrito .woocommerce:has(.woocommerce-cart-form) {
    grid-template-columns: minmax(0, 1.55fr) minmax(330px, .75fr);
    gap: clamp(38px, 4vw, 64px);
  }

  .store-page-content--carrito .woocommerce > .woocommerce-cart-form {
    grid-column: 1;
    grid-row: 2;
  }

  /* Los productos cruzados y los totales llegan dentro del mismo contenedor.
     Se liberan como elementos de la rejilla para que las recomendaciones no
     intenten compartir los 330 px de la columna lateral. */
  .store-page-content--carrito .cart-collaterals {
    display: contents;
    position: static;
  }

  .store-page-content--carrito .cart-collaterals .cart_totals {
    position: static;
    grid-column: 2;
    grid-row: 2;
    align-self: start;
  }

  .store-page-content--carrito .cart-collaterals .cross-sells {
    grid-column: 1 / -1;
    grid-row: 3;
    width: auto;
    float: none;
  }
}

.store-page-content--carrito .shop_table thead th {
  padding-bottom: 14px;
  color: #9b8b76;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .18em;
}

.store-page-content--carrito .shop_table td { padding-top: 27px; padding-bottom: 27px; }
.store-page-content--carrito .shop_table th.product-thumbnail,
.store-page-content--carrito .shop_table td.product-thumbnail { padding-top: 27px; padding-bottom: 27px; }
.store-page-content--carrito .shop_table thead th.product-thumbnail { padding-top: 0; padding-bottom: 14px; }

.store-page-content--carrito .cart_item .product-thumbnail { width: 130px; }
.store-page-content--carrito .shop_table th.product-thumbnail,
.store-page-content--carrito .shop_table td.product-thumbnail,
.store-page-content--carrito .cart_item .product-thumbnail,
.store-page-content--carrito .cart_item .product-thumbnail a {
  background: #f8f6f1 !important;
  box-shadow: none !important;
}
.store-page-content--carrito .shop_table thead,
.store-page-content--carrito .shop_table thead tr,
.store-page-content--carrito .shop_table thead th.product-remove,
.store-page-content--carrito .shop_table thead th.product-thumbnail {
  background: #f8f6f1 !important;
}
.store-page-content--carrito .cart_item .product-thumbnail img {
  width: 108px;
  height: 132px;
  object-fit: cover;
  background: transparent;
}

.store-page-content--carrito .cart_item .product-name a {
  display: inline-block;
  font-size: clamp(17px, 1.5vw, 21px);
  font-weight: 400;
  line-height: 1.3;
}

.store-page-content--carrito .cart_item .variation {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 13px;
}

.store-page-content--carrito .cart_item .variation dt { display: none; }
.store-page-content--carrito .cart_item .variation dd {
  display: inline-flex;
  margin: 0;
  padding: 7px 10px;
  border: 1px solid #e2ddd4;
  background: #f0ece5;
  color: #5c554e;
  font-size: 10px;
  line-height: 1.2;
}
.store-page-content--carrito .cart_item .variation dd::after { display: none; }

.store-page-content--carrito .quantity {
  display: inline-flex;
  align-items: center;
  border: 1px solid #ddd6ca;
  background: #faf8f5;
}

.store-page-content--carrito .quantity input.qty {
  width: 38px;
  height: 38px;
  padding: 0;
  border: 0;
  background: transparent;
  -moz-appearance: textfield;
}
.store-page-content--carrito .quantity input.qty::-webkit-inner-spin-button,
.store-page-content--carrito .quantity input.qty::-webkit-outer-spin-button { margin: 0; -webkit-appearance: none; }

.cart-quantity-button {
  width: 34px;
  height: 38px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #6f6862;
  cursor: pointer;
  font: 400 16px/1 Montserrat, sans-serif;
}
.cart-quantity-button:hover { background: #eee8df; color: #2c2823; }

.store-page-content--carrito .product-subtotal {
  font-size: 18px;
  font-weight: 400;
}

.store-page-content--carrito td.actions {
  position: relative;
  padding-top: 24px;
}

.store-page-content--carrito .coupon {
  padding: 16px 18px;
  background: #f0ece5;
}

/* WooCommerce aumenta el padding derecho mientras un boton esta cargando.
   Como estas acciones usaban ancho intrinseco, ese estado hacia que diesen un
   pequeno salto durante la actualizacion AJAX. Mantenemos una caja estable en
   reposo, hover, disabled y loading. */
.store-page-content--carrito .button,
.store-page-content--carrito button.button,
.store-page-content--carrito input.button,
.store-page-content--carrito a.button {
  box-sizing: border-box;
  position: relative;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  line-height: 1.2;
  white-space: nowrap;
  vertical-align: middle;
}

.store-page-content--carrito button.button,
.store-page-content--carrito a.button {
  display: inline-flex;
}

.store-page-content--carrito .coupon .button {
  width: 164px;
  min-width: 164px;
}

.store-page-content--carrito td.actions > button.button {
  width: 190px;
  min-width: 190px;
}

.store-page-content--carrito .woocommerce-notices-wrapper .button {
  min-width: 132px;
}

.store-page-content--carrito .button.loading,
.store-page-content--carrito button.button.loading,
.store-page-content--carrito input.button.loading,
.store-page-content--carrito a.button.loading {
  padding-right: 38px !important;
  padding-left: 10px !important;
}

.store-page-content--carrito .button.loading::after,
.store-page-content--carrito button.button.loading::after,
.store-page-content--carrito input.button.loading::after,
.store-page-content--carrito a.button.loading::after {
  top: 50% !important;
  right: 12px !important;
  margin-top: -.5em;
  line-height: 1;
}

.store-page-content--carrito .cart-collaterals .cart_totals {
  padding: clamp(22px, 2.2vw, 30px);
  background: #ece7e0;
}

/* Recomendaciones del carrito -------------------------------------------- */
.store-page-content--carrito .cart-collaterals::before,
.store-page-content--carrito .cart-collaterals::after,
.store-page-content--carrito .cross-sells ul.products::before,
.store-page-content--carrito .cross-sells ul.products::after {
  display: none;
}

.store-page-content--carrito .cart-collaterals .cross-sells {
  width: 100%;
  margin: clamp(34px, 4vw, 56px) 0 0;
  float: none;
  clear: both;
}

.store-page-content--carrito .cross-sells > h2 {
  margin: 0 0 22px;
  color: #2c2823;
  font-size: clamp(20px, 2vw, 26px);
  font-weight: 300;
  line-height: 1.25;
}

.store-page-content--carrito .cross-sells ul.products,
.store-page-content--carrito .cross-sells ul.products.columns-2 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(14px, 2vw, 24px);
  width: 100%;
  margin: 0;
  padding: 0;
}

.store-page-content--carrito .cross-sells ul.products li.product {
  display: flex;
  width: auto;
  min-width: 0;
  margin: 0;
  padding: 0;
  float: none;
  flex-direction: column;
}

.store-page-content--carrito .cross-sells .woocommerce-loop-product__link {
  display: flex;
  min-width: 0;
  flex: 1;
  flex-direction: column;
  color: #2c2823;
  text-decoration: none;
}

.store-page-content--carrito .cross-sells ul.products li.product img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0 0 14px;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  background: #eee9e1;
}

.store-page-content--carrito .cross-sells .woocommerce-loop-product__title {
  min-height: 2.8em;
  margin: 0 0 13px;
  padding: 0;
  color: #2c2823;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.4;
}

.store-page-content--carrito .cross-sells .button {
  display: flex;
  width: 100%;
  min-width: 0;
  margin: auto 0 0;
  padding: 11px 12px;
  text-align: center;
}

.store-page-content--carrito .cart_totals h2 {
  margin-bottom: 18px;
  color: #9b8b76;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .22em;
  text-transform: uppercase;
}

.store-page-content--carrito .cart_totals table { border: 0; background: transparent; }
.store-page-content--carrito .cart_totals th,
.store-page-content--carrito .cart_totals td {
  padding: 13px 0;
  border-color: #ded6c9;
  background: transparent;
  font-size: 12px;
}
.store-page-content--carrito .cart_totals td { text-align: right; }
.store-page-content--carrito .cart_totals .order-total th,
.store-page-content--carrito .cart_totals .order-total td {
  padding-top: 19px;
  font-size: 17px;
}
.store-page-content--carrito .cart_totals .order-total td { font-size: clamp(24px, 2.2vw, 32px); font-weight: 400; }

.store-page-content--carrito .wc-proceed-to-checkout .checkout-button {
  display: flex;
  width: 100%;
  min-height: 52px;
  padding: 17px 20px;
  letter-spacing: .15em;
}

.store-cart-security {
  padding: 0 4px 18px;
  border-bottom: 1px solid #ded6c9;
  color: #7d756e;
  font-size: 11px;
  line-height: 1.65;
}
.store-cart-security p { margin: 9px 0 0; }
.store-cart-security p:first-child { color: #6a625a; text-align: center; }

.store-cart-help {
  margin: 18px calc(clamp(22px, 2.2vw, 30px) * -1) calc(clamp(22px, 2.2vw, 30px) * -1);
  padding: clamp(20px, 2vw, 26px);
  background: #f0ece5;
}
.store-cart-help h2 { margin: 0; font-size: 19px; font-weight: 400; }
.store-cart-help p { margin: 11px 0 0; color: #7d756e; font-size: 11px; line-height: 1.75; }
.store-cart-help > div { display: flex; gap: 9px; margin-top: 17px; }
.store-page-content .store-cart-help .button { flex: 1; padding: 12px 10px; text-align: center; }
.store-page-content .store-cart-help .store-cart-help__primary { background: #262220; color: #fff; }

@media (max-width: 768px) {
  .store-page-content--carrito { padding-top: 18px; }
  .store-page-content--carrito,
  .store-page-content--carrito .woocommerce,
  .store-page-content--carrito .woocommerce-cart-form,
  .store-page-content--carrito .cart-collaterals { min-width: 0; max-width: 100%; }
  .purchase-heading { align-items: flex-start; margin-bottom: 24px; }
  .purchase-steps { display: none; }

  .store-page-content--carrito .shop_table_responsive,
  .store-page-content--carrito .shop_table_responsive tbody {
    display: block;
    width: 100%;
    min-width: 0;
    table-layout: fixed;
    overflow: hidden;
  }

  .store-page-content--carrito .woocommerce-notices-wrapper .woocommerce-message,
  .store-page-content--carrito .woocommerce-notices-wrapper .woocommerce-info,
  .store-page-content--carrito .woocommerce-notices-wrapper .woocommerce-error {
    display: flex;
    flex-direction: column-reverse;
    align-items: flex-start;
    gap: 12px;
    max-width: 100%;
  }
  .store-page-content--carrito .woocommerce-notices-wrapper .button {
    float: none !important;
    margin: 0;
  }

  .store-page-content--carrito .shop_table_responsive tr.cart_item {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr);
    gap: 0 16px;
    padding: 18px 14px;
    border: 0;
    border-bottom: 1px solid #e2ddd4;
    width: 100%;
    min-width: 0;
  }
  .store-page-content--carrito .shop_table_responsive tr td.product-remove {
    grid-column: 1 / -1;
    grid-row: 1;
    padding: 0;
  }
  .store-page-content--carrito .shop_table_responsive tr td.product-thumbnail {
    grid-column: 1;
    grid-row: 2 / span 4;
    padding: 8px 0 0;
  }
  .store-page-content--carrito .shop_table_responsive .cart_item .product-thumbnail img {
    width: 96px;
    height: 120px;
  }
  .store-page-content--carrito .shop_table_responsive tr td.product-name,
  .store-page-content--carrito .shop_table_responsive tr td.product-price,
  .store-page-content--carrito .shop_table_responsive tr td.product-quantity,
  .store-page-content--carrito .shop_table_responsive tr td.product-subtotal {
    grid-column: 2;
    padding: 8px 0;
    text-align: left !important;
    width: auto;
    min-width: 0;
  }
  .store-page-content--carrito .cart_item .product-name a {
    max-width: 100%;
    white-space: normal !important;
    overflow-wrap: anywhere;
  }
  .store-page-content--carrito .shop_table_responsive tr td.product-price { display: none; }
  .store-page-content--carrito .shop_table_responsive tr td::before { display: none; }
  .store-page-content--carrito .shop_table_responsive tr td.product-subtotal { font-size: 16px; }
  .store-page-content--carrito .cart-collaterals { margin-top: 24px; }
  .store-page-content--carrito .cart-collaterals .cart_totals { padding: 22px 18px; }
  .store-page-content--carrito .cross-sells ul.products,
  .store-page-content--carrito .cross-sells ul.products.columns-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 12px;
  }
  .store-page-content--carrito .cross-sells .woocommerce-loop-product__title {
    font-size: 12px;
  }
  .store-page-content--carrito .cross-sells .button {
    padding-right: 8px;
    padding-left: 8px;
    font-size: 10px;
  }
  .store-page-content--carrito .coupon { align-items: stretch; }
  .store-page-content--carrito td.actions .input-text#coupon_code { min-height: 45px; }
  .store-page-content--carrito .shop_table_responsive tr:last-child {
    display: block;
    width: 100%;
    min-width: 0;
  }
  .store-page-content--carrito .coupon {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    width: 100%;
    float: none !important;
  }
  .store-page-content--carrito td.actions .coupon #coupon_code {
    display: block;
    width: 100% !important;
    min-width: 0 !important;
    float: none !important;
  }
  .store-page-content--carrito .coupon .button { padding-left: 14px; padding-right: 14px; white-space: nowrap; }
  .store-page-content--carrito td.actions > .button { width: 100%; min-width: 0; margin-top: 8px; }

  .store-page-content--carrito .cart_totals table,
  .store-page-content--carrito .cart_totals tbody {
    display: block !important;
    width: 100% !important;
    min-width: 0;
    table-layout: fixed;
    overflow: hidden;
  }
  .store-page-content--carrito .cart_totals tr {
    display: grid !important;
    grid-template-columns: minmax(90px, 42%) minmax(0, 58%);
    width: 100%;
    min-width: 0;
  }
  .store-page-content--carrito .cart_totals th,
  .store-page-content--carrito .cart_totals td {
    display: block !important;
    width: auto !important;
    min-width: 0;
    overflow-wrap: anywhere;
  }
  .store-page-content--carrito .cart_totals td {
    padding-left: 10px;
    text-align: right !important;
    white-space: normal !important;
  }
  .store-page-content--carrito .cart_totals .woocommerce-shipping-destination { overflow-wrap: anywhere; }
  .store-cart-help { margin-left: -18px; margin-right: -18px; margin-bottom: -22px; }
}

@media (max-width: 430px) {
  .purchase-breadcrumb { margin-bottom: 15px; }
  .purchase-heading .store-page-title { font-size: 34px; }
  .store-page-content--carrito .shop_table_responsive tr.cart_item { grid-template-columns: 82px minmax(0, 1fr); gap: 0 13px; padding-left: 0; padding-right: 0; }
  .store-page-content--carrito .shop_table_responsive .cart_item .product-thumbnail img { width: 82px; height: 104px; }
  .store-cart-help > div { flex-direction: column; }
  .store-page-content--carrito .coupon { grid-template-columns: minmax(0, 1fr); }
  .store-page-content--carrito .coupon .button { width: 100%; min-width: 0; }
}
