/*************************************************
 * CART STYLES (Mobile-first) – ORGANIZADO
 *************************************************/

/* ==============================================
   1) FREE SHIPPING BAR
   ============================================== */
.mce-free-ship{
  font-size:14px;
  font-family: sans-serif;
  font-weight: 400;
  color: #3E50A2;
}


/* ==============================================
   2) PRODUCT CARDS (CONTENEDOR + ESTRUCTURA)
   ============================================== */
/* Contenedor de cards */
.mce-cart-list{
  display:flex;
  flex-direction:column;
  gap:12px;
}

/* Card */
.mce-cart-card{
  position: relative;
  border:1px solid #e6eaef;
  border-radius:0;
  padding:12px;
  background:#fff;
}


/* ==============================================
   3) HEADER: NOMBRE / REMOVE
   ============================================== */
.mce-card-row.mce-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
}

/* Título de producto */
.mce-title a{
  text-decoration:none;
  font-family: "Silk Serif TRIAL", sans-serif;
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  color: #3E50A2;
}

/* Enlace Remove (estilo “subrayado” con borde) */
.mce-remove-link{
  color: #3E50A2;
  font-size: 11px;
  text-decoration: underline !important;
}

/* Compatibilidad: si el tema añade .remove con estilos propios */
.mce-remove .remove{
  display:inline;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  width:auto;
  height:auto;
  line-height:normal;
  padding:0 !important;
  margin:0;
  color:#ef4444;
  font-weight:600;
  text-decoration:none;
}
.mce-remove .remove:hover{ text-decoration:underline; }
.mce-remove .remove:before,
.mce-remove .remove::before{ content:none !important; }


/* ==============================================
   4) IMAGEN DEL PRODUCTO (ANCHO VISUAL COMPLETO)
   ============================================== */
.mce-photo{ margin: 8px -12px 12px; }
.mce-photo a{ display:block; }
.mce-photo img{
  display:block;
  width:100% !important;
  max-width:100% !important;
  height:auto;
  object-fit:contain;
}


/* ==============================================
   5) PRICE / QTY / SUBTOTAL
   ============================================== */
/* Fila precio + cantidad */
.mce-card-row.mce-price-qty{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
}

/* Labels pequeños gris */
.mce-label{
  display:block;
  font-size:12px;
  color:#6b7280;
  margin-bottom:4px;
}

/* Alineaciones */
.mce-price{ text-align:left; }
.mce-qty{ text-align:right; }
.mce-qty .qty{ width:64px; }

/* Colores de textos dentro de price/qty/subtotal */
.mce-card-row.mce-price-qty,
.mce-card-row.mce-price-qty .mce-label,
.mce-card-row.mce-price-qty .mce-price,
.mce-card-row.mce-price-qty .mce-qty,
.mce-card-row.mce-price-qty .woocommerce-Price-amount,
.mce-card-row.mce-price-qty .woocommerce-Price-amount bdi,
.mce-subtotal,
.mce-subtotal .mce-label,
.mce-subtotal .mce-right,
.mce-subtotal .woocommerce-Price-amount,
.mce-subtotal .woocommerce-Price-amount bdi{
  color:#3E50A2 !important;
}

/* Subtotal */
.mce-subtotal{
  display:flex;
  justify-content:space-between;
  margin-top:8px;
  font-weight:600;
}


/* ==============================================
   6) QTY GROUP (± + INPUT)
   ============================================== */
.mce-qty .mce-qty-wrap{
  display:inline-flex;
  align-items:center;
  gap:0;
  border:1px solid #3E50A2;
  border-radius:0;
  overflow:hidden;
  vertical-align:middle;
}

.mce-qty .mce-qty-btn{
  width:44px;
  height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  color:#3E50A2;
  border:0;
  border-radius:0;
  line-height:1;
  cursor:pointer;
  transition: background .15s ease, color .15s ease;
}
.mce-qty .mce-qty-minus{ border-right:1px solid #3E50A2; }
.mce-qty .mce-qty-plus{  border-left: 1px solid #3E50A2; }

.mce-qty .mce-qty-btn:hover,
.mce-qty .mce-qty-btn:active{
  background:#3E50A2!important;
  color:#fff !important;
}

.mce-qty .mce-qty-btn svg{ fill: currentColor !important; }

.mce-qty input.qty{
  width:56px;
  height:44px;
  text-align:center;
  font-weight:600;
  border:0;
  border-radius:0;
  box-shadow:none;
  line-height:44px;
  -moz-appearance: textfield;
}
.mce-qty input.qty::-webkit-outer-spin-button,
.mce-qty input.qty::-webkit-inner-spin-button{
  -webkit-appearance:none;
  margin:0;
}


/* ==============================================
   7) CUPÓN (CAMPO + BOTÓN)
   ============================================== */
.mce-coupon-wrap{ margin-top:14px; }

.mce-coupon-form{ display:flex; gap:8px; }

.mce-coupon-form .input-text{
  flex:1;
  padding:10px 12px;
  border:1px solid #e6eaef;
  border-radius:0;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
}

/* Placeholder Roboto */
.mce-coupon-form .input-text::placeholder{ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important; }
/* Compat placeholders */
.mce-coupon-form .input-text::-webkit-input-placeholder{ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important; }
.mce-coupon-form .input-text:-ms-input-placeholder{ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important; }
.mce-coupon-form .input-text::-ms-input-placeholder{ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important; }

/* Botón Apply coupon */
.mce-coupon-form button[name="apply_coupon"],
.woocommerce-cart .coupon .button[name="apply_coupon"],
.woocommerce-cart .coupon .button,
button[name="apply_coupon"]{
  background-color:#3E50A2 !important;
  color:#ffffff !important;
  font-family:"Silk Serif TRIAL", sans-serif !important;
  font-weight:600 !important;
  border:none !important;
  border-radius:0 !important;
  box-shadow:none !important;
  height:44px;
  padding:10px 16px;
}
.mce-coupon-form button[name="apply_coupon"]:hover,
.woocommerce-cart .coupon .button[name="apply_coupon"]:hover,
.woocommerce-cart .coupon .button:hover,
button[name="apply_coupon"]:hover{
  background-color:#3E50A2 !important;
  color:#ffffff !important;
}


/* ==============================================
   8) TOTALES / ORDER INFORMATION
   ============================================== */
.mce-totals-wrap .cart_totals{
  padding:0;
  background:#fff;
  margin-top:25px;
}

.mce-totals-card{
  background:#fff;
  padding:0;
  margin-top:20px;
}

/* Título y TH con Silk */
.mce-totals-card h3{
  margin:0 0 10px;
  font-size:16px;
  font-weight:700;
  font-family:"Silk Serif TRIAL", serif !important;
  color:#3E50A2;
}
.mce-totals-card .shop_table th,
.mce-totals-card .woocommerce-shipping-totals th{
  font-family:"Silk Serif TRIAL", serif !important;
  font-weight:700 !important;
}

/* Links (incluye “Calculate shipping”) */
.mce-totals-card a,
.mce-totals-wrap .cart_totals a,
.woocommerce-cart .cart_totals a,
.mce-totals-card .woocommerce-shipping-calculator .shipping-calculator-button{
  color:#3E50A2 !important;
  text-decoration:none;
}
.mce-totals-card a:hover,
.mce-totals-wrap .cart_totals a:hover,
.woocommerce-cart .cart_totals a:hover,
.mce-totals-card .woocommerce-shipping-calculator .shipping-calculator-button:hover{
  color:#3E50A2 !important;
  text-decoration:underline;
}

/* Cuerpo: Roboto + azul */
.mce-totals-card,
.mce-totals-card td,
.mce-totals-card p,
.mce-totals-card label,
.mce-totals-card .woocommerce-Price-amount{
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  color:#3E50A2;
}

/* Sin fondos grises heredados */
.mce-totals-card .shop_table,
.mce-totals-card .shop_table tr,
.mce-totals-card .shop_table th,
.mce-totals-card .shop_table td,
.mce-totals-card .woocommerce-shipping-totals,
.mce-totals-card .woocommerce-shipping-totals *,
.mce-totals-card .shop_table tr > *{
  background:transparent !important;
}

/* Zebra off */
.mce-totals-card .shop_table tr:nth-child(odd) td,
.mce-totals-card .shop_table tr:nth-child(odd) th{
  background:transparent !important;
}

/* Base Woo table */
.woocommerce table.shop_table{
  border:0.5px solid rgba(0,0,0,.1);
  margin:0 -1px 24px 0;
  text-align:left;
  width:100%;
  border-collapse:separate;
  border-radius:0;
}
.woocommerce table.shop_table td{ border-top:0; }

/* Bordes sutiles */
.mce-totals-card .shop_table,
.mce-totals-card .shop_table th,
.mce-totals-card .shop_table td{
  border-color:#E6E6E6 !important;
}

/* Etiquetas móviles basadas en data-title */
.mce-totals-card td[data-title]::before{
  font-family:"Silk Serif TRIAL", serif !important;
  font-weight:600 !important;
}

/* —— MOBILE FIX: mantener 2 columnas reales en Order Info —— */
@media (max-width:782px){
  /* Evitar apilado “responsive” de Woo dentro de cart_totals */
  .woocommerce .cart_totals table.shop_table_responsive,
  .woocommerce-page .cart_totals table.shop_table_responsive{
    display:table !important;
    border-collapse:collapse !important;
    border-spacing:0 !important;
  }
  .woocommerce .cart_totals table.shop_table_responsive tr,
  .woocommerce-page .cart_totals table.shop_table_responsive tr{
    display:table-row !important;
  }
  .woocommerce .cart_totals table.shop_table_responsive tr th,
  .woocommerce .cart_totals table.shop_table_responsive tr td,
  .woocommerce-page .cart_totals table.shop_table_responsive tr th,
  .woocommerce-page .cart_totals table.shop_table_responsive tr td{
    display:table-cell !important;
    width:50% !important;
    text-align:inherit;
    float:none !important;
    clear:none !important;
  }

  /* Ocultar labels generados por data-title para no duplicar */
  .cart_totals table.shop_table_responsive td[data-title]::before{
    content:none !important;
    display:none !important;
  }

  /* Bordes y estructura */
  .cart_totals table.shop_table{
    width:100%;
    border:1px solid #E6E6E6 !important;
    table-layout:auto !important;
    background:#fff !important;
  }
  .cart_totals table.shop_table th,
  .cart_totals table.shop_table td{
    padding:12px 14px !important;
    border:1px solid #E6E6E6 !important;
    vertical-align:middle !important;
    background:#fff !important;
  }

  /* Excepción: contenido de Shipping (texto largo) a la izquierda */
  .cart_totals .woocommerce-shipping-totals td{
    text-align:left !important;
  }
}


/* ==============================================
   9) BOTONES DE ACCIÓN (CHECKOUT / CONTINUE)
   ============================================== */
.mce-actions{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:16px;
}
.mce-btn{
  display:block;
  text-align:center;
  padding:12px 16px;
  border-radius:0;
  font-weight:700;
  text-decoration:none;
}

/* Comprar */
.mce-checkout,
.woocommerce a.button.checkout,
.woocommerce button.button.checkout,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.single_add_to_cart_button,
.add_to_cart_button{
  background-color:#FEE9E8 !important;
  color:#3E50A2 !important;
  font-family:"Silk Serif TRIAL", sans-serif !important;
  font-weight:600 !important;
  box-shadow:2px 2px 6px 0 rgba(0,0,0,0.2);
  border:0;
  border-radius:0;
}

/* Continuar comprando */
.mce-continue,
.woocommerce .return-to-shop a.button,
a.wc-backward,
a.continue-shopping,
.button.continue{
  background:transparent !important;
  border:1.5px solid #3E50A2 !important;
  border-radius:0 !important;
  color:#3E50A2 !important;
  font-family:"Silk Serif TRIAL", sans-serif !important;
  font-weight:600 !important;
  box-shadow:none !important;
  text-decoration:none !important;
}
.mce-continue:hover,
.woocommerce .return-to-shop a.button:hover,
a.wc-backward:hover,
a.continue-shopping:hover,
.button.continue:hover{
  background:#3E50A2 !important;
  color:#fff !important;
}


/* ==============================================
   10) AJUSTES MENORES
   ============================================== */
.woocommerce .woocommerce-message{ margin-top:10px; }


/* ==============================================
   11) DESKTOP (OPCIONAL BASADO EN TU ARCHIVO)
   ============================================== */
@media (min-width:768px){
  .mce-cart-list{ max-width:640px; margin:0 auto; }
  .mce-totals-wrap{ max-width:640px; margin:14px auto 0; }
  .mce-actions{ max-width:640px; margin-left:auto; margin-right:auto; }
}


/* ==============================================
   12) TABLET (ANCHO MÁXIMO 794px)
   ============================================== */
@media (min-width:768px) and (max-width:1023px){
  .mce-cart-grid,
  .mce-cart-list,
  .mce-totals-wrap,
  .mce-coupon-wrap,
  .mce-actions{
    max-width:794px;
    margin-left:auto;
    margin-right:auto;
  }
  .mce-col-main,
  .mce-col-aside{
    max-width:794px;
    margin-left:auto;
    margin-right:auto;
  }
}


/* ==============================================
   13) ALTERNAR ENTRE LAYOUTS
   ============================================== */
/* Por defecto (mobile-first): se muestra el layout móvil y se oculta el desktop */
#mce-cart-desktop{ display:none; }

/* Desktop ≥1024px: ocultar el layout móvil y mostrar el desktop */
@media (min-width:1024px){
  /* Oculta el layout móvil existente */
  .woocommerce-cart-form,
  .mce-totals-wrap,
  .mce-coupon-wrap,
  .mce-actions{
    display:none !important;
  }

  /* Muestra el bloque desktop nuevo */
  #mce-cart-desktop{
    display:block !important;
  }
}

/**************************/

/* ===========================
   DESKTOP LAYOUT (≥1024px)
   Solo estilos para #mce-cart-desktop
   =========================== */
@media (min-width:1024px){

  /* ───────── Wrapper / Grid ───────── */
  #mce-cart-desktop{
    max-width:1140px;
    margin:0 auto;
  }
  #mce-cart-desktop .mce-cart-grid{
    display:grid;
    grid-template-columns: minmax(0,1fr) 360px; /* izquierda: productos | derecha: aside */
    gap:24px;
    align-items:flex-start;
    padding:0;                    /* sin padding lateral */
    box-sizing:border-box;
  }
  #mce-cart-desktop .mce-col-main,
  #mce-cart-desktop .mce-col-aside{ min-width:0; }  /* evita overflow */
  #mce-cart-desktop .mce-col-aside{
    position: sticky;
    top: 120px;   /* AJUSTA aquí si tu header es más/menos alto */
    margin-top: 0;
  }

  /* Si estás logueado y ves la admin bar, suma ~32px */
  body.admin-bar #mce-cart-desktop .mce-col-aside{
    top: 152px;
  }
}

  /* ───────── Cabecera tipo tabla ───────── */
  #mce-cart-desktop .mce-desk-head{
    display:grid;
    grid-template-columns:minmax(320px,1fr) 140px 160px 140px;
    gap:12px;
    padding:12px 14px;
    border:1px solid #e6eaef;
    border-bottom:0;
    background:#fff;
    font-family:"Silk Serif TRIAL", sans-serif;
    color:#3E50A2; font-weight:700;
    text-transform:uppercase; letter-spacing:.02em;
  }

  /* ───────── Fila de producto (4 columnas) ───────── */
  #mce-cart-desktop .mce-row{
    display:grid;
    grid-template-columns:minmax(320px,1fr) 140px 160px 140px;
    gap:12px;
    padding:14px;
    background:#fff;
    border-left:1px solid #e6eaef;
    border-right:1px solid #e6eaef;
    border-bottom:1px solid #e6eaef;
    align-items:center;
    box-sizing:border-box;
    max-width:100%;
  }
  #mce-cart-desktop .mce-row:hover{ background:#fafbff; }

  /* ───────── Celda Producto (thumb + info) ───────── */
  #mce-cart-desktop .mce-cell.mce-prod{ overflow:hidden; }
  #mce-cart-desktop .mce-prod-wrap{ display:flex; gap:12px; align-items:flex-start; }
  #mce-cart-desktop .mce-thumb img{
    display:block; width:96px; height:auto; object-fit:contain;
  }
  #mce-cart-desktop .mce-info{
    flex:1 1 auto; min-width:0;
    display:flex; flex-direction:column; gap:6px;
  }
  #mce-cart-desktop .mce-name a{
    text-decoration:none;
    font-family:"Silk Serif TRIAL", sans-serif;
    color:#3E50A2; font-weight:600; text-transform:uppercase;
    font-size:14px; line-height:1.25; word-break:break-word;
  }
  #mce-cart-desktop .mce-remove .remove{
    color:#3E50A2 !important;
    font-size:11px !important; font-weight:400 !important;
    text-decoration:underline !important;
    line-height:1.2;
    background:transparent !important; padding:0 !important; margin:0;
    box-shadow:none !important;
  }
  #mce-cart-desktop .mce-remove .remove:hover{ opacity:.85; }

  /* ───────── Columnas numéricas ───────── */
  #mce-cart-desktop .mce-cell.mce-price,
  #mce-cart-desktop .mce-cell.mce-qty,
  #mce-cart-desktop .mce-cell.mce-line-total{
    color:#3E50A2; font-weight:600; text-align:left; white-space:nowrap;
  }

  /* ───────── Aside (Order Information) ───────── */
  #mce-cart-desktop .mce-col-aside .cart_totals{
    background:transparent !important;
    border:0 !important; padding:0 !important; box-shadow:none !important;
    margin:0;
  }
  #mce-cart-desktop .mce-col-aside .cart_totals > h2{
    margin:0 0 12px; padding:0;
  }
  #mce-cart-desktop .mce-col-aside .cart_totals table.shop_table{
    margin:0; width:100%;
    background:#fff;
    border:1px solid #E6E6E6 !important;
    border-radius:0; border-collapse:separate;
  }
  #mce-cart-desktop .mce-col-aside .cart_totals table.shop_table th,
  #mce-cart-desktop .mce-col-aside .cart_totals table.shop_table td{
    padding:12px 14px;
    border-top:1px solid #E6E6E6 !important;
    background:#fff; vertical-align:middle;
  }
  #mce-cart-desktop .mce-col-aside .cart_totals table.shop_table tr:first-child th,
  #mce-cart-desktop .mce-col-aside .cart_totals table.shop_table tr:first-child td{
    border-top:0 !important;
  }

  /* ───────── Cupón + Botón checkout ───────── */
  #mce-cart-desktop .mce-col-aside .mce-coupon-form{ margin-top:14px; display:flex; gap:8px; }
  #mce-cart-desktop .mce-col-aside .mce-coupon-form .input-text{
    flex:1; height:44px; border:1px solid #e6eaef; border-radius:0;
  }
  #mce-cart-desktop .mce-actions-static .button.checkout,
  #mce-cart-desktop .mce-actions-static .button.alt{
    display:inline-flex; align-items:center; justify-content:center;
    width:50%; min-width:200px; height:44px; padding:0 24px;
    text-align:center; background:#FEE9E8 !important; color:#3E50A2 !important;
    font-family:"Silk Serif TRIAL", sans-serif !important; font-weight:600 !important;
    border:0 !important; border-radius:0 !important; box-shadow:none !important;
  }

  /* ───────── Botón seguir comprando (abajo-izquierda) ───────── */
  #mce-cart-desktop .mce-continue-static{
    max-width:1140px; margin:56px auto 0!important; padding:0;
  }

  /* ───────── Safety imágenes ───────── */
  #mce-cart-desktop img{ max-width:100%; height:auto; }
}
/* Desktop: qty más pequeño */
@media (min-width:1024px){
  #mce-cart-desktop .mce-cell.mce-qty{
    display:flex;              /* centra verticalmente el grupo */
    align-items:center;
  }

  #mce-cart-desktop .mce-qty-wrap{
    border:1px solid #3E50A2;
    border-radius:0;
    overflow:hidden;
  }

  /* Botones +/- más chicos */
  #mce-cart-desktop .mce-qty-btn{
    width:32px;
    height:32px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:16px;            /* tamaño del símbolo */
    line-height:1;
    padding:0;
  }
  #mce-cart-desktop .mce-qty-minus{ border-right:1px solid #3E50A2; }
  #mce-cart-desktop .mce-qty-plus{  border-left: 1px solid #3E50A2; }

  /* Input numérico más angosto/alto */
  #mce-cart-desktop .mce-qty-wrap .qty{
    width:36px;                /* antes 56px aprox */
    height:36px;
    line-height:36px;
    text-align:center;
    font-size:14px;
    font-weight:600;
    padding:0;
    border:0;
    border-radius:0;
  }
}
@media (min-width:1024px){
  #mce-cart-desktop .mce-qty-wrap .mce-qty-btn{
    background:#fff; color:#3E50A2; border:1px solid #3E50A2;
  }
  #mce-cart-desktop .mce-qty-wrap .mce-qty-btn:focus,
  #mce-cart-desktop .mce-qty-wrap .mce-qty-btn:active{
    background:#fff !important;
    color:#3E50A2 !important;
    outline:none !important;
    box-shadow:none !important;
  }
}



/* ==================================================
   MOBILE/TABLET: show quantity as plain value (no +/-)
   Applies to <= 1024px width. Keeps desktop behavior intact.
   ================================================== */
@media (max-width:1024px){
  /* Hide plus/minus controls on mobile/tablet */
  .mce-qty .mce-qty-btn,
  .mce-qty .mce-qty-minus,
  .mce-qty .mce-qty-plus{
    display: none !important;
  }

  /* Render quantity input as plain text (non-interactive) */
  .mce-qty input.qty{
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    line-height: 1.2 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    text-align: left !important;
    pointer-events: none !important; /* prevents editing */
    -webkit-appearance: textfield !important;
    -moz-appearance: textfield !important;
  }

  /* Safety: remove any borders/shadows from wrapping qty container */
  .mce-qty .mce-qty-wrap{
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    overflow: visible !important;
  }
}
/* =========================================================
   FIX GLOBAL: Cantidad solo como valor (sin +/-) en todo el carrito
   Mantiene la columna QTY y centra/alinea el valor.
   ========================================================= */

/* ——— 1) Reset genérico para cualquier markup de Woo/tema ——— */
.mce-qty .mce-qty-btn,
.mce-qty .mce-qty-minus,
.mce-qty .mce-qty-plus,
.quantity .minus,
.quantity .plus { display:none !important; }

.mce-qty .mce-qty-wrap,
.quantity { 
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  background:transparent !important;
}

/* Input de cantidad como texto no editable */
.mce-qty input.qty,
.quantity input.qty {
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  line-height: 1.2 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  -webkit-appearance: textfield !important;
  -moz-appearance: textfield !important;
  pointer-events: none !important;  /* evita edición */
  display: inline-block !important;
  font-weight: 600;
  color: #3E50A2;
}

/* Evita los spin-buttons de Chrome */
.quantity input.qty::-webkit-outer-spin-button,
.quantity input.qty::-webkit-inner-spin-button,
.mce-qty input.qty::-webkit-outer-spin-button,
.mce-qty input.qty::-webkit-inner-spin-button { -webkit-appearance:none !important; margin:0 !important; }

/* ——— 2) Desktop (≥1024px): centra la celda QTY y evita saltos ——— */
@media (min-width:1024px){
  /* Si usas layout de escritorio con grid/tabla */
  #mce-cart-desktop .mce-cell.mce-qty,
  .mce-cell.mce-qty {
    display:flex !important;
    align-items:center !important;
    justify-content:left !important;
    gap:0 !important;
    white-space:nowrap !important;
  }

  /* Asegura que solo se vea el número */
  #mce-cart-desktop .mce-qty-wrap,
  #mce-cart-desktop .quantity { overflow:visible !important; }
}

/* ——— 3) Mobile/Tablet (≤1024px): alinea el valor donde va “Qty” ——— */
@media (max-width:1024px){
  /* Fila precio/cantidad típica del card */
  .mce-card__row .mce-qty,
  .mce-price-qty .mce-qty {
    display:flex !important;
    align-items:right !important;
    justify-content:flex-end !important;  /* a la derecha frente a "Qty:" */
  }

  .mce-price-qty .mce-qty .qty,
  .mce-card__row .mce-qty .qty { text-align:center !important; min-width: 20px; }
}

/* ——— 4) Seguridad: si algún tema reinyecta los botones ——— */
button.qty, .qty.button { display:none !important; }

/* ======= MOBILE/TABLET: Qty arriba del valor, ambos a la derecha ======= */
@media (max-width:1024px){
  /* Estructura de la fila Price/Qty en cards */
  .mce-card__row.mce-price-qty{
    display: grid !important;
    grid-template-columns: 1fr auto !important; /* izquierda: Price | derecha: Qty */
    align-items: start !important;
    column-gap: 12px !important;
  }

  /* Asegura el precio a la izquierda */
  .mce-card__row.mce-price-qty .mce-price{
    text-align: left !important;
  }

  /* Contenedor Qty a la derecha, en columna */
  .mce-card__row.mce-price-qty .mce-qty{
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;  /* derecha */
    justify-content: flex-start !important;
    gap: 4px !important;
    min-width: 44px; /* evita salto */
  }

  /* “Qty” como label arriba */
  .mce-card__row.mce-price-qty .mce-qty .mce-label{
    margin: 0 !important;
    line-height: 1.1 !important;
    text-align: right !important;
  }

  /* Valor debajo del label, alineado a la derecha y como texto */
  .mce-card__row.mce-price-qty .mce-qty .qty{
    order: 1;
    text-align: right !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    pointer-events: none !important; /* sin edición */
    font-weight: 600;
    color: #3E50A2;
  }

  /* Por si quedaron restos de +/- en móvil */
  .mce-card__row.mce-price-qty .mce-qty .mce-qty-btn,
  .mce-card__row.mce-price-qty .mce-qty .mce-qty-minus,
  .mce-card__row.mce-price-qty .mce-qty .mce-qty-plus{
    display: none !important;
  }
}
/* === FINAL MOBILE/TABLET: Qty arriba, valor debajo, todo a la derecha === */
@media (max-width:1024px){
  .mce-card__row.mce-price-qty{
    display: grid !important;
    grid-template-columns: 1fr auto !important; /* izquierda: Price | derecha: Qty */
    align-items: start !important;
    column-gap: 12px !important;
  }
  .mce-card__row.mce-price-qty .mce-price{ text-align: left !important; }

  /* Tu ajuste clave aplicado y forzado */
  .mce-card__row.mce-price-qty .mce-qty{
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    justify-content: flex-end !important;
    gap: 4px !important;
    min-width: 44px;
  }

  /* “Qty” arriba */
  .mce-card__row.mce-price-qty .mce-qty .mce-label{
    order: 0;
    margin: 0 !important;
    display: flex !important;
    align-items: flex-end;
    justify-content: flex-end !important;
    flex-direction: column;
    line-height: 1.1 !important;
    text-align: right !important;
  }
  
   .mce-card__row .mce-qty, .mce-price-qty .mce-qty {
        display: flex !important;
        align-items: flex-end;
        justify-content: flex-end !important;
        flex-direction: column;
    }

  /* Valor debajo y a la derecha; input como texto (no editable) */
  .mce-price-qty .mce-qty .qty,
  .mce-card__row .mce-qty .qty{
    order: 1;
    text-align: right !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    pointer-events: none !important;
  }

  /* Oculta cualquier +/- que quede */
  .mce-card__row.mce-price-qty .mce-qty .mce-qty-btn,
  .mce-card__row.mce-price-qty .mce-qty .mce-qty-minus,
  .mce-card__row.mce-price-qty .mce-qty .mce-qty-plus{
    display: none !important;
  }
}
/* === FINAL MOBILE/TABLET: Qty arriba, valor debajo, todo a la derecha === */
@media (max-width:1024px){
  .mce-card__row.mce-price-qty{
    display: grid !important;
    grid-template-columns: 1fr auto !important; /* izquierda: Price | derecha: Qty */
    align-items: start !important;
    column-gap: 12px !important;
  }
  .mce-card__row.mce-price-qty .mce-price{ text-align: left !important; }

  /* Tu ajuste clave aplicado y forzado */
  .mce-card__row.mce-price-qty .mce-qty{
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    justify-content: flex-end !important;
    gap: 4px !important;
    min-width: 44px;
  }

  /* “Qty” arriba */
  .mce-card__row.mce-price-qty .mce-qty .mce-label{
    order: 0;
    margin: 0 !important;
    line-height: 1.1 !important;
    text-align: right !important;
  }

  /* Valor debajo y a la derecha; input como texto (no editable) */
  .mce-price-qty .mce-qty .qty,
  .mce-card__row .mce-qty .qty{
    order: 1;
    text-align: right !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    pointer-events: none !important;
  }

  /* Oculta cualquier +/- que quede */
  .mce-card__row.mce-price-qty .mce-qty .mce-qty-btn,
  .mce-card__row.mce-price-qty .mce-qty .mce-qty-minus,
  .mce-card__row.mce-price-qty .mce-qty .mce-qty-plus{
    display: none !important;
  }
}
/* ===== DESKTOP ONLY: tipografías y tamaños más pequeños ===== */
@media (min-width:1024px){

  /* 1) Todo el carrito desktop en Helvetica (excepto el título "Order Information") */
  #mce-cart-desktop,
  #mce-cart-desktop *{
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  }

  /* Mantener SOLO el título de la caja "Order Information" en Silk */
  #mce-cart-desktop .mce-col-aside .cart_totals > h2{
    font-family: "Silk Serif TRIAL", serif !important;
    font-weight: 700 !important;
    font-size: 15px !important;      /* ligeramente más pequeño */
    letter-spacing: .01em;
    margin-bottom: 10px;
  }

  /* 2) Encabezado de columnas (PRODUCT / PRICE / QTY / TOTAL) más discreto */
  #mce-cart-desktop .mce-desk-head{
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
    font-weight: 700;
    font-size: 12px !important;
    line-height: 1.2;
  }

  /* 3) Título del producto más pequeño */
  #mce-cart-desktop .mce-name a{
    font-size: 12px !important;      /* antes 14px */
    line-height: 1.25 !important;
    letter-spacing: .01em;
    text-transform: uppercase;
  }

  /* 4) Celdas numéricas (price / qty / line total) más pequeñas */
  #mce-cart-desktop .mce-cell.mce-price,
  #mce-cart-desktop .mce-cell.mce-qty,
  #mce-cart-desktop .mce-cell.mce-line-total{
    font-size: 13px !important;      /* valores, cantidades, totales */
    line-height: 1.25;
    font-weight: 600;
  }

  /* 5) Lado derecho: tabla de totales más compacta (texto y números) */
  #mce-cart-desktop .mce-col-aside .cart_totals table.shop_table th,
  #mce-cart-desktop .mce-col-aside .cart_totals table.shop_table td,
  #mce-cart-desktop .mce-col-aside .cart_totals .woocommerce-Price-amount,
  #mce-cart-desktop .mce-col-aside .cart_totals .woocommerce-Price-amount bdi{
    font-size: 13px !important;
    line-height: 1.3 !important;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  }

  /* 6) Botones del aside (consistencia tipográfica) */
  #mce-cart-desktop .mce-actions-static .button{
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
  }
}
/* ==== DESKTOP: tipografías y tamaños, respetando título de producto ==== */
@media (min-width:1024px){

  /* 1) Desktop en Helvetica por defecto */
  #mce-cart-desktop,
  #mce-cart-desktop *{
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  }

  /* 2) Order Information (solo el título) en Silk */
  #mce-cart-desktop .mce-col-aside .cart_totals > h2{
    font-family: "Silk Serif TRIAL", serif !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    letter-spacing: .01em;
    margin-bottom: 10px;
  }

  /* 3) Título de producto: misma fuente y tamaño que móvil */
  #mce-cart-desktop .mce-name a{
    font-family: "Silk Serif TRIAL", serif !important; /* NO cambiar fuente */
    font-size: 13px !important;                       /* como móvil */
    line-height: 1.25 !important;
    text-transform: uppercase;
    letter-spacing: .01em;
  }

  /* 4) Encabezados de columnas más discretos (Helvetica) */
  #mce-cart-desktop .mce-desk-head{
    font-weight: 700;
    font-size: 12px !important;
    line-height: 1.2;
  }

  /* 5) Valores numéricos (price / qty / total) más compactos */
  #mce-cart-desktop .mce-cell.mce-price,
  #mce-cart-desktop .mce-cell.mce-qty,
  #mce-cart-desktop .mce-cell.mce-line-total{
    font-size: 13px !important;
    line-height: 1.25 !important;
    font-weight: 600;
  }

  /* 6) Totales del aside (tabla) compactos en Helvetica */
  #mce-cart-desktop .mce-col-aside .cart_totals table.shop_table th,
  #mce-cart-desktop .mce-col-aside .cart_totals table.shop_table td,
  #mce-cart-desktop .mce-col-aside .cart_totals .woocommerce-Price-amount,
  #mce-cart-desktop .mce-col-aside .cart_totals .woocommerce-Price-amount bdi{
    font-size: 13px !important;
    line-height: 1.3 !important;
  }
}
/* ====== GLOBAL: Tipografía por defecto ====== */
.mce-cart, .mce-cart *{
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
}

/* Excepciones que deben seguir en Silk */
.mce-title a,                               /* título del producto (mobile) */
#mce-cart-desktop .mce-name a,              /* título del producto (desktop) */
#mce-cart-desktop .mce-col-aside .cart_totals > h2 {  /* "Order Information" */
  font-family: "Silk Serif TRIAL", serif !important;
}

/* ====== Peso tipográfico para PRECIOS ====== */
/* Unit price (mobile) */
.mce-card-row.mce-price-qty .mce-price,
.mce-card-row.mce-price-qty .mce-price .woocommerce-Price-amount,
.mce-card-row.mce-price-qty .mce-price .woocommerce-Price-amount bdi{
  font-weight: 400 !important;
}

/* Unit price (desktop, columna PRICE) */
@media (min-width:1024px){
  #mce-cart-desktop .mce-cell.mce-price,
  #mce-cart-desktop .mce-cell.mce-price .woocommerce-Price-amount,
  #mce-cart-desktop .mce-cell.mce-price .woocommerce-Price-amount bdi{
    font-weight: 400 !important;
  }
}

/* Mantener subtotal y total más fuertes (por si algún override los afloja) */
.mce-subtotal,
.mce-subtotal .woocommerce-Price-amount,
.mce-subtotal .woocommerce-Price-amount bdi,
#mc e-cart-desktop .mce-cell.mce-line-total,
#mc e-cart-desktop .mce-cell.mce-line-total .woocommerce-Price-amount,
#mc e-cart-desktop .mce-cell.mce-line-total .woocommerce-Price-amount bdi{
  font-weight: 600 !important;
}
/* ==== DESKTOP: forzar Silk en botones Apply coupon y Checkout ==== */
@media (min-width:1024px){
  #mce-cart-desktop .mce-coupon-form button[name="apply_coupon"],
  #mce-cart-desktop .cart_totals button[name="apply_coupon"],
  #mce-cart-desktop .mce-actions-static .button.checkout,
  #mce-cart-desktop .mce-actions-static .button.alt,
  #mce-cart-desktop a.button.checkout,
  #mce-cart-desktop button.button.checkout,
  #mce-cart-desktop a.button.alt,
  #mce-cart-desktop button.button.alt{
    font-family: "Silk Serif TRIAL", serif !important;
    font-weight: 600 !important; /* como en móvil */
  }
}
/* === DESKTOP: unificar botones (misma fuente/tamaño que "Apply coupon") === */
@media (min-width:1024px){
  /* Apply coupon (referencia) + Checkout + Continue Shopping */
  #mce-cart-desktop .mce-coupon-form button[name="apply_coupon"],
  #mce-cart-desktop .cart_totals button[name="apply_coupon"],
  #mce-cart-desktop .mce-actions-static .button.checkout,
  #mce-cart-desktop .mce-actions-static .button.alt,
  #mce-cart-desktop a.button.checkout,
  #mce-cart-desktop button.button.checkout,
  #mce-cart-desktop a.button.alt,
  #mce-cart-desktop button.button.alt,
  #mce-cart-desktop .mce-continue,
  #mce-cart-desktop .mce-continue-static a.button,
  #mce-cart-desktop .return-to-shop a.button,
  #mce-cart-desktop a.wc-backward,
  #mce-cart-desktop .button.continue{
    font-family: "Silk Serif TRIAL", serif !important;
    font-weight: 600 !important;
    font-size: 13px !important;   /* mismo tamaño que Apply coupon */
    line-height: 1 !important;
    height: 44px;                  /* coherente con Apply coupon */
    padding: 10px 16px;            /* coherente con Apply coupon */
  }
}
/* === DESKTOP: fix alineación vertical de "Continue Shopping" === */
@media (min-width:1024px){
  /* Botón principal de continuar comprando (estilos tipo enlace/borde) */
  #mce-cart-desktop .mce-continue,
  #mce-cart-desktop .mce-continue-static a.button,
  #mce-cart-desktop .return-to-shop a.button,
  #mce-cart-desktop a.wc-backward,
  #mce-cart-desktop .button.continue{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 44px !important;           /* misma altura que los otros */
    line-height: 1 !important;          /* evita que el texto “salte” */
    padding: 0 16px !important;         /* coherente con Apply coupon */
    vertical-align: middle !important;  /* evita subir/bajar en línea */
  }
}
