/* =======================
   MM Smart Cart Pro – UI
   v2.3.0
   ======================= */

/* Design tokens */
:root{
  --brand:#3a3972;
  --accent:#e69130;
  --ink:#0b1324;
  --muted:#6a7385;
  --line:#e8ecf3;
  --card:#ffffff;
  --radius:16px;

  /* Slider externo */
  --mm-fade:28px;
}

/* Base */
.mm-sc-wrap{
  max-width:var(--mm-max-width,90%);
  margin-inline:auto;
  padding-inline:clamp(14px,4vw,32px);
  color:var(--ink);
  font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Inter,Roboto,Arial;
}

/* Steps (breadcrumb) */
.mm-sc-steps{display:flex;gap:10px;align-items:center;margin-top:150px}
.mm-sc-steps .step{
  display:inline-flex;gap:8px;align-items:center;height:38px;padding:0 16px;border-radius:999px;
  background:linear-gradient(#fff,#f9fbff);border:1px solid var(--line);color:#2b3345;text-decoration:none;
  font-weight:600;box-shadow:0 1px 0 rgba(10,12,16,.05)
}
.mm-sc-steps .step.active{
  background:var(--brand);color:#fff;border-color:var(--brand);font-weight:700;
  box-shadow:0 4px 14px rgba(58,57,114,.18)
}

/* ------- Top action bar (Share/PDF) ------- */
.mm-sc-topbar{
  display:flex;align-items:center;flex-wrap:wrap;gap:10px;
  margin:10px 0 12px;padding:10px 12px;
  background:linear-gradient(#fff,#fbfcff);border:1px solid var(--line);
  border-radius:12px;box-shadow:0 6px 20px rgba(13,25,44,.05)
}
.mm-sc-share-wrap{display:flex;gap:10px;align-items:center;margin-left:auto}

/* Share button + link */
.btn-share{
  display:inline-flex;align-items:center;gap:8px;background:#fff;color:#1f2937;border:1px solid var(--line);
  padding:10px 14px;border-radius:10px;font-weight:600;cursor:pointer;box-shadow:0 1px 0 rgba(10,12,16,.04)
}
.btn-share:hover{background:#f7f8fc}
.btn-share.is-busy{opacity:.6;pointer-events:none}

.share-inline-link{display:flex;align-items:center;gap:8px}
.share-inline-link[hidden]{display:none!important}
.share-inline-link input{
  border:1px solid var(--line);border-radius:10px;padding:10px 12px;width:min(520px,70vw);font:inherit;background:#fff
}

/* Notices Woo */
.mm-sc-notices{
  margin:0;
  padding:0;
}

.woocommerce-error,.woocommerce-info,.woocommerce-message{
  border-radius:12px;border:1px solid var(--line);background:#fff;box-shadow:0 6px 22px rgba(13,25,44,.06)
}
.woocommerce-message{border-left:4px solid #16a34a}
.woocommerce-error{border-left:4px solid #dc2626}
.woocommerce-info{border-left:4px solid #2563eb}

/* Layout */
.mm-sc-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(320px,0.7fr);gap:clamp(18px,4vw,42px)}
.mm-sc-left{container:mm-left / inline-size}
@media (max-width:980px){.mm-sc-grid{grid-template-columns:1fr}}
/* FIX — "grid blowout": minmax(0,1.6fr) solo fija el mínimo del TRACK, no el
   del ITEM. .mm-sc-left sigue teniendo min-width:auto por defecto, así que
   su contenido (imágenes de ancho fijo, botones, texto sin wrap en las
   cards de producto) le impedía encoger, forzando a la columna — y a la
   tabla dentro de ella — a desbordarse por encima del sidebar. */
.mm-sc-grid > .mm-sc-left,
.mm-sc-grid > .mm-sc-right{
  min-width:0;
}
.mm-sc-left .mm-sc-table{
  max-width:100%;
  box-sizing:border-box;
}

/* ETA Card */
.mm-sc-eta-card{
  display:flex;gap:12px;align-items:flex-start;background:var(--card);border:1px solid var(--line);
  border-radius:var(--radius);padding:16px 18px;margin-bottom:14px;box-shadow:0 8px 24px rgba(13,25,44,.06)
}
.mm-sc-eta-title{font-weight:700;margin-bottom:2px}
.mm-sc-eta-legend{color:#6a7385;font-size:.9rem}

/* Cart Table (cards) */
.mm-sc-table{width:100%;border-collapse:separate;border-spacing:0}
.mm-sc-table thead{display:none}
.mm-sc-table tbody{display:block}
.mm-sc-table tr{
  display:grid;grid-template-columns:1fr 110px 220px 120px;gap:18px;align-items:center;
  margin:0 0 14px 0;padding:18px;border:1px solid var(--line);border-radius:var(--radius);
  background:var(--card);box-shadow:0 8px 24px rgba(13,25,44,.06)
}
@media (max-width:1120px){.mm-sc-table tr{grid-template-columns:1fr 110px 1fr 120px}}
@media (max-width:800px){.mm-sc-table tr{grid-template-columns:1fr;gap:12px}}
.mm-sc-table td{border:0;padding:0}

.mm-sc-p{display:flex;gap:14px;align-items:center;position:relative}
.mm-sc-p--img img{width:64px;height:64px;object-fit:cover;border-radius:12px;border:1px solid var(--line);background:#fff}
.mm-sc-p--title{font-weight:600;text-decoration:none;color:var(--ink);line-height:1.3}
.mm-sc-p--title:hover{color:var(--brand)}

/* Remove button dentro de la card */
.mm-sc-remove-btn{
  position:absolute;top:8px;right:8px;
  z-index:0; /* nunca se superpone a los modales (z-index:9999) */
  background:#fff;border:1px solid var(--line);border-radius:12px;padding:6px 10px;cursor:pointer;
  font-weight:700;transition:box-shadow .15s ease, transform .05s ease
}
.mm-sc-remove-btn:hover{box-shadow:0 1px 0 rgba(17,24,39,.06)}
.mm-sc-remove-btn:active{transform:scale(.98)}

.mm-sc-price,.mm-sc-subtotal{white-space:nowrap;font-weight:700}
.mm-sc-price bdi,.mm-sc-subtotal bdi{font-variant-numeric:tabular-nums}

/* Qty control */
.mm-sc-qty-wrap{
  display:inline-grid;grid-template-columns:44px 100px 44px;border:1px solid var(--line);border-radius:14px;
  overflow:hidden;background:#fff;box-shadow:inset 0 0 0 1px #f3f5f9
}
.mm-sc-qty-btn{background:#f3f5f9;border:0;height:44px;cursor:pointer;font-weight:700;font-size:17px;transition:background .15s ease}
.mm-sc-qty-btn:hover{background:#e9edf5}
.mm-sc-qty-input{width:100px;border:0;text-align:center;height:44px;font-weight:700}
.mm-sc-qty-hint{display:block;color:var(--muted);font-size:.82rem;margin-top:4px}

/* Totals + Shipping */
.mm-sc-right{position:sticky;top:10px;align-self:start;z-index:0}
.mm-sc-totals-card{
  border:1px solid var(--line);border-radius:var(--radius);padding:18px;background:var(--card);
  box-shadow:0 10px 28px rgba(13,25,44,.07)
}
.mm-sc-totals-card h2{margin:0 0 12px;font-size:1.05rem;font-weight:700}
.mm-sc-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px dashed #eef2f7}
.mm-sc-row:last-child{border-bottom:0}
.mm-sc-row--tax span:first-child{color:#334155}
.mm-sc-total{font-weight:800}
.mm-sc-total span:last-child bdi{font-size:1.1rem}

/* Bloque "Calcular envío" como tarjeta */
.mm-sc-shipping{
  margin:12px 0 14px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:10px 12px;
  background:var(--card);
  box-shadow:0 8px 24px rgba(13,25,44,.06);
}

/* Ocultamos el título para no duplicar texto */
.mm-sc-rates-title{
  display:none;
}

/* Contenedor del link nativo de Woo */
.mm-sc-shipping .woocommerce-shipping-calculator{
  margin:0;
}

/* Cabecera clicable: "Calcular envío" */
.mm-sc-shipping .shipping-calculator-button{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  padding:4px 0;
  border:0;
  background:transparent;
  font:inherit;
  font-size:1rem;     /* un poco más grande */
  font-weight:700;    /* negrita */
  color:#000;         /* negro */
  text-decoration:none;
  cursor:pointer;
  position:relative;
}


/* Flecha azul al final del recuadro */
.mm-sc-shipping .shipping-calculator-button::after{
  content:'▾';
  font-size:.9rem;
  margin-left:auto;
  padding-left:8px;
  color:#2563eb;           /* azul flecha */
  transition:transform .18s ease;
}

/* Cuando el desplegable está abierto (clase que pondremos con JS) */
.mm-sc-shipping .shipping-calculator-button.is-open::after{
  transform:rotate(180deg);
}

/* Formulario "Calcular envío" – campos como el cupón */
.mm-sc-shipping .shipping-calculator-form{
  margin-top:10px;
}

.mm-sc-shipping .shipping-calculator-form .form-row{
  margin-bottom:10px;
}

.mm-sc-shipping .shipping-calculator-form label{
  display:block;
  margin-bottom:4px;
  font-size:.85rem;
  color:var(--muted);
}

/* span wrapper de Woo (igual altura visual que el input) */
.mm-sc-shipping .shipping-calculator-form span{
  display:block;
}

/* Inputs y selects un poco más finos */
.mm-sc-shipping .shipping-calculator-form input.input-text,
.mm-sc-shipping .shipping-calculator-form select{
  width:100%;
  border:1px solid var(--line);
  border-radius:12px;
  padding:8px 10px;      /* antes 10px -> más bajitos */
  background:#fff;
  font:inherit;
}


/* Botón "Actualizar" más pequeño y a la derecha */
.mm-sc-shipping .shipping-calculator-form .form-row-last,
.mm-sc-shipping .shipping-calculator-form p:last-child{
  text-align:right;     /* alinea el botón a la derecha */
  margin-top:6px;
  margin-bottom:0;
}

.mm-sc-shipping .shipping-calculator-form button[type="submit"],
.mm-sc-shipping .shipping-calculator-form .button{
  border:0;
  background:var(--brand);
  color:#fff;
  border-radius: 12px;   /* más “pastilla” y compacto */
  padding:7px 16px;      /* bastante más pequeño */
  font-size:.9rem;
  cursor:pointer;
  font-weight:600;
  display:inline-block;
}





/* CTA / Coupon / Trust */
.mm-sc-cta{margin-top:14px;display:grid;gap:12px}
.mm-sc-checkout{
  display:block;text-align:center;background:linear-gradient(92deg,var(--brand),#2d2c5e);color:#fff;
  padding:13px 16px;border-radius:12px;text-decoration:none;font-weight:700;box-shadow:0 8px 22px rgba(58,57,114,.22);
  letter-spacing:.2px
}
.mm-sc-coupon-row{display:flex;gap:8px}
.mm-sc-coupon-row input{flex:1;border:1px solid var(--line);border-radius:12px;padding:10px;background:#fff}
.mm-sc-coupon-row button{border:0;background:var(--brand);color:#fff;border-radius:12px;padding:10px 12px;cursor:pointer;font-weight:700}
.mm-sc-coupon summary{cursor:pointer;color:#334155;font-weight:700;margin-bottom:4px}
.mm-sc-trust{
  list-style: disc;          /* ✅ usamos el marker nativo */
  margin: 0;
  padding-left: 1.2em;       /* espacio para el punto */
  display: grid;
  gap: 6px;
  color: #4b5563;
  font-size: .92rem;
}

/* opcional, por limpieza: que los li no tengan padding extra */
.mm-sc-trust li{
  margin: 0;
  padding: 0;
}

/* Pago seguro + iconos en la misma línea, pero manteniendo el marker del <li> */
.mm-sc-trust--pay .mm-sc-trust-main{
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: nowrap;   /* todo en la misma línea mientras haya espacio */
}

/* El texto "Pago seguro" sin romperse en dos líneas si hay espacio */
.mm-sc-trust--pay .mm-sc-trust-label{
  white-space: nowrap;
}

/* Contenedor de los iconos */
.mm-sc-trust-icons{
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

/* En móviles muy estrechos, permitimos que bajen a segunda línea sin hacer cosas raras */
@media (max-width:480px){
  .mm-sc-trust--pay .mm-sc-trust-main{
    flex-wrap: wrap;      /* si no cabe TODO, que salten solo los iconos a la línea siguiente */
    row-gap: 4px;
  }

  .mm-sc-trust-icons img{
    height:14px;
  }
}


/* El texto "Pago seguro" sin romperse en dos líneas si hay espacio */
.mm-sc-trust--pay .mm-sc-trust-label{
  white-space:nowrap;
}

/* Contenedor de los iconos */
.mm-sc-trust-icons{
  display:inline-flex;
  align-items:center;
  gap:6px;
}

/* Iconos de método de pago: tamaño compacto */
.mm-sc-trust-icons img{
  height:16px;               /* salen aprox 45-50px de ancho cada uno con ese alto */
  width:auto;
  display:block;
}

/* En móviles muy estrechos, permitimos que bajen a segunda línea sin hacer cosas raras */
@media (max-width:480px){
  .mm-sc-trust li.mm-sc-trust--pay{
    flex-wrap:wrap;          /* si no cabe TODO, que salten solo los iconos a la línea siguiente */
    row-gap:4px;
  }

  .mm-sc-trust-icons img{
    height:14px;
  }
}


/* PDF */
.woocommerce-cart-pdf.link-wrapper{display:flex}
.woocommerce-cart-pdf-email-button{
  display:inline-flex;align-items:center;gap:8px;background:#fff;color:#var(--brand);
  padding:10px 14px;border-radius:10px;text-decoration:none;font-weight:600;border:1px solid var(--line);box-shadow:0 1px 0 rgba(10,12,16,.04)
}
.woocommerce-cart-pdf-email-button:hover{background:#f7f8fc}

/* PDF modal */
.woocommerce-cart-pdf-popup-container{
  position:fixed;inset:0;display:none;align-items:center;justify-content:center;
  background:rgba(15,23,42,.5);backdrop-filter:saturate(160%) blur(4px);z-index:9999
}
.woocommerce-cart-pdf-popup-container.is-open{display:flex}
.woocommerce-cart-pdf-popup{
  width:min(560px,92vw);background:#fff;border-radius:16px;border:1px solid var(--line);
  box-shadow:0 20px 60px rgba(13,25,44,.18);padding:22px;position:relative
}


/* ==== Barra flotante inferior — estilo CPF Product Framework ==== */
.mm-sc-mobilebar{
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;

  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;

  padding: 14px;
  padding-bottom: calc(14px + env(safe-area-inset-bottom));
  background: #ffffff;
  border-top: 1px solid #dee2e6;
  box-shadow: 0 -3px 10px rgba(0,0,0,.15);
  box-sizing: border-box;
  z-index: 10000;

  /* Entrada animada igual que CPF */
  opacity: 1;
  transform: translateY(0);
  transition: opacity .3s ease-out, transform .3s ease-out;
}

/* Importe: azul corporativo y grande */
.mm-sc-mobile-total{
  display: flex;
  flex-direction: row;
  align-items: baseline;
  gap: 6px;
}

.mm-sc-mobile-total *,
.mm-sc-mobile-total bdi{
  font-weight: 800;
  font-size: 1.25rem;
  color: var(--brand);
}

/* Texto "IVA incluido" — misma línea que el precio, igual que CPF */
.mm-sc-iva-label{
  font-size: 0.78rem;
  font-weight: 400;
  color: #888;
  white-space: nowrap;
}

/* Botón "Finalizar compra" — estilo accion-comprar-flotante-btn del CPF */
.mm-sc-mobilebar .mm-sc-checkout{
  padding: 12px 16px;
  border: none;
  border-radius: 4px !important;
  cursor: pointer;
  font-size: .95rem;
  font-weight: 600;
  transition: all .2s;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  text-decoration: none;
  color: #ffffff;
  flex-grow: 1;
  max-width: 60%;
  background-color: var(--brand);
  box-shadow: none;
}

.mm-sc-mobilebar .mm-sc-checkout:hover{
  background-color: #2e2d5b;
  color: #ffffff;
  text-decoration: none;
}

/* Dejar hueco para que el contenido no quede tapado */
.mm-sc-wrap{
  padding-bottom: 110px;
}

/* Desktop: centrar y redondear esquinas superiores (igual que CPF) */
@media (min-width: 768px){
  .mm-sc-mobilebar{
    max-width: 800px;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 0;
  }

  .mm-sc-mobilebar .mm-sc-checkout{
    max-width: 280px;
  }
}

/* Mobile */
@media (max-width: 767px){
  .mm-sc-mobile-total{
    font-size: 1.15rem;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
  }

  .mm-sc-mobilebar .mm-sc-checkout{
    font-size: .95rem;
  }

  .mm-sc-wrap{
    padding-bottom: 120px;
  }
}




/* ===================================================================== */
/* ============ Venta cruzada (slider externo + cards scoped) ========== */
/* ===================================================================== */

.mm-sc-xsell{margin-top:24px}
.mm-sc-xsell__title{margin:0 0 12px;font-size:20px;font-weight:800;color:#1f2450}

/* ---- Cards ---- */
.mm-sc-xsell .mm-card{background:#fff;border:1px solid rgba(17,24,39,.12);border-radius:16px;overflow:hidden;box-shadow:0 4px 18px rgba(0,0,0,.06);display:flex;flex-direction:column}
.mm-sc-xsell .mm-card__media{position:relative;display:block;overflow:hidden;aspect-ratio:4/3;background:#f3f4f6;width:100%}
.mm-sc-xsell .mm-card__img{width:100%;height:100%;object-fit:cover;object-position:center center;display:block}
.mm-sc-xsell .mm-card__body{padding:14px;display:flex;flex-direction:column;gap:10px}
.mm-sc-xsell .mm-card__title{margin:0}
.mm-sc-xsell .mm-card__title a{color:#3a3972;font-weight:700;text-decoration:none;font-size:clamp(1rem,.98rem + .25vw,1.15rem);line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mm-sc-xsell .mm-card__title a:hover{text-decoration:underline}
.mm-sc-xsell .mm-card__price{color:#e69130;font-weight:400;display:flex;flex-wrap:wrap;gap:6px;align-items:baseline;font-size:clamp(.98rem,.96rem + .18vw,1.06rem);line-height:1.2;letter-spacing:.005em}
.mm-sc-xsell .mm-card__vat{color:#e69130;font-weight:400;font-size:.95em}
.mm-sc-xsell .mm-card__btn{display:inline-block;text-align:center;padding:10px 12px;border-radius:10px;background:#3a3972;color:#fff;text-decoration:none;font-weight:800;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}
@media (hover:hover){.mm-sc-xsell .mm-card__btn:hover{filter:brightness(1.05);box-shadow:0 6px 18px rgba(58,57,114,.25);transform:translateY(-1px)}}

/* ---- Slider externo ---- */
.mm-sc-xsell .mm-slider{position:relative}
.mm-sc-xsell .mm-slider__viewport{
  position:relative;
  overflow-x:auto; overflow-y:hidden;
  scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 var(--mm-fade), #000 calc(100% - var(--mm-fade)), transparent 100%);
          mask-image: linear-gradient(to right, transparent 0, #000 var(--mm-fade), #000 calc(100% - var(--mm-fade)), transparent 100%);
  box-shadow:
    inset var(--mm-fade) 0 20px -20px rgba(17,24,39,.12),
    inset calc(-1*var(--mm-fade)) 0 20px -20px rgba(17,24,39,.12);
}
.mm-sc-xsell .mm-slider__viewport::-webkit-scrollbar{display:none}
.mm-sc-xsell .mm-slider__viewport.is-noscroll{ -webkit-mask-image:none; mask-image:none; box-shadow:none; }

.mm-sc-xsell .mm-slider__track{
  display:flex !important; flex-wrap:nowrap !important; align-items:stretch;
  gap:18px; padding:2px 2px;
}
.mm-sc-xsell .mm-slider__slide{box-sizing:border-box; flex:0 0 calc(100% / var(--vis,4)); min-width:0; scroll-snap-align:start}

/* Controles */
.mm-sc-xsell .mm-slider__nav{
  position:absolute; top:50%; transform:translateY(-50%); z-index:2;
  width:42px; height:42px; border-radius:14px; display:grid; place-items:center;
  font-size:22px; background:var(--brand); color:#fff; border:0; box-shadow:0 4px 14px rgba(17,24,39,.18); cursor:pointer;
}
.mm-sc-xsell .mm-slider__nav.is-prev{left:-18px}
.mm-sc-xsell .mm-slider__nav.is-next{right:-18px}
.mm-sc-shipping-label{
    display: block;          /* para que quede en la línea de debajo, como ahora */
    opacity: 0.6;            /* más transparente que el resto */
    font-size: 0.9em;        /* un pelín más pequeño (opcional) */
}
/* Asterisco de obligatorio al lado del título, no debajo */
.mm-sc-shipping .shipping-calculator-form .required{
  display:inline;        /* rompe el salto de línea */
  margin-left:2px;
  
  font-size:.85rem;
}


@media (hover:hover){
  .mm-sc-xsell .mm-slider .mm-slider__nav{opacity:0;pointer-events:none}
  .mm-sc-xsell .mm-slider:hover .mm-slider__nav{opacity:1;pointer-events:auto}
}
.mm-sc-xsell .mm-slider__dots{display:flex;gap:8px;justify-content:center;align-items:center;margin-top:10px}
.mm-sc-xsell .mm-slider__dot{width:8px;height:8px;border-radius:999px;background:rgba(17,24,39,.2);cursor:pointer;transition:transform .15s,background .15s}
.mm-sc-xsell .mm-slider__dot.is-active{background:var(--brand);transform:scale(1.05)}

@media (max-width:980px){
  .mm-sc-xsell .mm-slider__track{gap:16px}
  .mm-sc-xsell .mm-slider__nav{width:40px;height:40px}
  .mm-sc-xsell .mm-slider__nav.is-prev{left:-14px}
  .mm-sc-xsell .mm-slider__nav.is-next{right:-14px}
}
@media (max-width:767px){
  .mm-sc-xsell .mm-slider__track{gap:12px}
  .mm-sc-xsell .mm-slider__nav{display:none !important} /* flechas ocultas en móvil */
  .mm-sc-xsell .mm-slider__dot{width:12px;height:12px}
}
/* Cantidades de descuento (cupones + promos Matmap) en naranja corporativo */
.mm-sc-totals-card .mm-sc-amount--discount {
  color: #28a745;
  font-weight: 600;
}
/* === FIX: colocar la X arriba a la derecha del bloque completo
   y quitar los dos puntos en móvil =============================== */

/* 1) La fila completa del carrito será el contenedor relativo */
.mm-sc-table tbody tr{
  position: relative;
}

/* 2) El bloque del producto deja de ser relativo
      para que la X NO se ancle a él */
.mm-sc-p{
  position: static;
  padding-top: 18px;  /* deja hueco para que no tape el contenido en desktop */
}

/* 3) Botón X en la esquina superior derecha de la fila */
.mm-sc-table tbody tr .mm-sc-remove-btn{
  top: 10px;
  right: 12px;
}

/* 4) Quitar los "dos puntos" de WooCommerce en tablas responsive */
.shop_table.shop_table_responsive.cart.mm-sc-table td::before{
  content: none !important;
}

/* 5) Ajustes específicos para móvil */
@media (max-width: 640px){
  .mm-sc-p{
    padding-top: 24px;  /* más hueco en móvil para que la X no pise el texto */
  }

  .mm-sc-table tbody tr .mm-sc-remove-btn{
    top: 14px;
    right: 14px;
  }
}
//* 5) Ajustes específicos para móvil */
@media (max-width: 640px){
  .mm-sc-p{
    padding-top: 24px;  /* más hueco en móvil para que la X no pise el texto */
    justify-content: flex-start; /* contenido hacia la izquierda */
    text-align: left;
  }

  .mm-sc-table tbody tr .mm-sc-remove-btn{
    top: 14px;
    right: 14px;
  }

  /* ✅ Anular estilos responsive de WooCommerce SOLO en la celda del producto */
  .shop_table.shop_table_responsive.cart.mm-sc-table td.mm-sc-p{
    padding-left: 0 !important;   /* quitar el 50% de Woo */
    text-align: left !important;  /* nada de alineación a la derecha */
  }

  .mm-sc-p--data,
  .mm-sc-p--title{
    text-align: left; /* título y metadatos alineados a la izquierda */
  }
}
/* Formulario "Calcular envío" en columna */
.mm-sc-shipping .shipping-calculator-form{
  margin-top:10px;
  display:flex;              /* columna flex */
  flex-direction:column;
  gap:10px;
}

/* Filas de campos normalizadas */
.mm-sc-shipping .shipping-calculator-form .form-row{
  margin-bottom:0;
  float:none;                /* por si Woo las flota */
  width:100%;
}

/* Fila del botón (último <p>): alineado a la derecha */
.mm-sc-shipping .shipping-calculator-form > p:last-child{
  text-align:right;
  margin-top:6px;
  margin-bottom:0;
}

/* Botón "Actualizar" más pequeño */
.mm-sc-shipping .shipping-calculator-form button[type="submit"],
.mm-sc-shipping .shipping-calculator-form .button{
  border:0;
  background:var(--brand);
  color:#fff;
  border-radius:12px;
  padding:7px 16px;
  font-size:.9rem;
  cursor:pointer;
  font-weight:600;
  display:inline-block;
}


/* Tamaño de los iconos de método de pago */
.mm-sc-trust-icons img {
  height: 22px !important;   /* súbelo a 20–24 según veas */
  width: auto;
  margin-left: 4px;
  vertical-align: middle;
}
/* ===============================
   Pago seguro: iconos en 2 filas
   =============================== */

/* Texto "Pago seguro" a la izquierda, iconos a la derecha */
.mm-sc-trust--pay .mm-sc-trust-main{
  display: flex;
  align-items: flex-start;
  gap: 8px;
}

/* Que el texto no se parta si hay espacio */
.mm-sc-trust--pay .mm-sc-trust-label{
  white-space: nowrap;
}

/* Grid 3x2 para los iconos */
.mm-sc-trust-icons{
  display: grid;
  grid-template-columns: repeat(3, auto); /* 3 iconos por fila */
  column-gap: 6px;
  row-gap: 4px;
}

/* Tamaño de los iconos */
.mm-sc-trust-icons img{
  height: 18px !important;
  width: auto;
}

/* En móvil: "Pago seguro" arriba e iconos debajo,
   pero siguen siendo 3 columnas (2 filas de 3 iconos) */
@media (max-width: 480px){
  .mm-sc-trust--pay .mm-sc-trust-main{
    flex-direction: column;
    align-items: flex-start;
  }
}
.woocommerce-cart-pdf a {
  margin-right: 0 !important;
  margin-bottom: 0 !important;
}

    /* ===== Devoluciones: una sola línea limpia ===== */
.mm-sc-returns-notice{
    margin-top: 8px;
    font-size: 0.82rem;
    color: #6b7280; /* gris suave */
}

.mm-sc-returns-trigger{
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0;
    margin: 0;
    background: none;
    border: none;
    font: inherit;
    color: inherit;
    cursor: pointer;
}

.mm-sc-returns-label{
    font-weight: 500;
}

.mm-sc-returns-text{
    line-height: 1.4;
    border-bottom: 1px dashed rgba(148,163,184,0.7);
    text-underline-offset: 2px;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.mm-sc-returns-trigger:hover .mm-sc-returns-text{
    border-bottom-style: solid;
}

/* Icono de flecha ↗ */
.mm-sc-returns-icon{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    border-radius: 999px;
    border: 1px solid rgba(148,163,184,0.8);
    font-size: 0.65rem;
    line-height: 1;
    flex-shrink: 0;
}



.mm-sc-modal__backdrop{
    position: absolute;
    inset: 0;
    background: rgba(15,23,42,0.55);
}

.mm-sc-modal__dialog{
    position: relative;
    z-index: 1;
    background: #ffffff;
    border-radius: 18px;
    padding: 20px 22px 18px;
    max-width: 480px;
    width: 100%;
    margin: 0 16px;
    box-shadow: 0 24px 60px rgba(15,23,42,0.45);
    font-size: 0.9rem;
    color: #111827;
}

.mm-sc-modal__title{
    margin: 0 0 10px;
    font-size: 1.1rem;
    font-weight: 700;
}

.mm-sc-modal__body p{
    margin: 0 0 10px;
    color: #4b5563;
}

.mm-sc-modal__body a{
    color: #1d4ed8;
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* !important a propósito: el input lleva el borde por style="" inline
   (ver el HTML del modal), y sin esto el aviso de "obligatorio" no se ve. */
#mm-sc-identifier-input.is-error{
    border-color: #dc2626 !important;
}

.mm-sc-modal__close{
    position: absolute;
    top: 10px;
    right: 10px;
    width: 28px;
    height: 28px;
    border-radius: 999px;
    border: 1px solid rgba(148,163,184,0.7);
    background: #ffffff;
    cursor: pointer;
    font-size: 0.9rem;
    line-height: 1;
}
.mm-sc-shipping-quote-link{
  display:block;
  margin-top:2px;
  font-size:0.9em;
}
/* Botón admin: envío personalizado (naranja translúcido tipo banner coste m2) */
.mm-sc-custom-ship-btn{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:4px;

  padding:4px 10px;
  border-radius:999px;

  background:linear-gradient(
    to bottom,
    rgba(230,145,48,0.08),
    rgba(230,145,48,0.22)
  );
  border:1px solid rgba(230,145,48,0.9);
  color:#92400e;

  font-size:0.78rem;
  font-weight:600;
  cursor:pointer;
  box-shadow:0 1px 0 rgba(15,23,42,0.05);
}

.mm-sc-custom-ship-btn:hover{
  background:linear-gradient(
    to bottom,
    rgba(230,145,48,0.12),
    rgba(230,145,48,0.28)
  );
}

.mm-sc-custom-ship-btn.is-busy{
  opacity:.6;
  cursor:wait;
}

.mm-sc-custom-ship-icon{
  font-size:0.9em;
  line-height:1;
}
    /* Botón "Editar envío" alineado con el título */
    .mm-sc-row--shipping .mm-sc-ship-title-line{
        display:inline-flex;
        align-items:center;
        gap:8px;
    }
    .mm-sc-row--shipping .mm-sc-custom-ship-btn{
        margin-top:0;
        padding:4px 10px;
        font-size:0.8rem;
    }
/* Más separación en el formulario de "Editar envío" (modal admin) */
#mm-sc-custom-ship-modal .mm-sc-modal__body label{
  display:block;
  margin-top:10px;
  margin-bottom:4px;
}

#mm-sc-custom-ship-modal .mm-sc-modal__body label:first-of-type{
  margin-top:0;
}

#mm-sc-custom-ship-modal .mm-sc-modal__body input[type="text"]{
  width:100%;
  margin-bottom:10px; /* separación extra entre precio y texto */
}
    .mm-sc-shipping-price{
        text-align:right;
    }
    .mm-sc-ship-address{
        display:block;
        margin-top:2px;
        font-size:0.85rem;
        color:#6b7280;
        white-space:nowrap;
    }
    @media (max-width: 640px){
        .mm-sc-ship-address{
            white-space:normal;
        }
    }
/* Fila específica de dirección de envío en el resumen */
.mm-sc-totals-card .mm-sc-row--shipping-address {
  border-top: none;          /* sin línea separadora */
  border-bottom: none;       /* por si el resto de filas tienen border-bottom */
  padding-top: 2px;
  padding-bottom: 0;
  justify-content: flex-end; /* contenido pegado a la derecha */
}

.mm-sc-totals-card .mm-sc-row--shipping-address > span:first-child {
  flex: 1;                   /* ocupa el hueco de la columna izquierda */
}

.mm-sc-totals-card .mm-sc-row--shipping-address .mm-sc-ship-address {
  display: block;
  text-align: right;
  font-size: 0.85rem;
  color: #6b7280;            /* gris suave tipo Tailwind slate-500 */
  white-space: normal;       /* que pueda ocupar varias líneas */
}
/* La fila principal de envío NO dibuja la línea */
.mm-sc-totals-card .mm-sc-row--shipping {
  border-bottom: none;      /* si en tu CSS la línea es border-top, cámbialo a border-top:none */
  padding-bottom: 4px;      /* un pelín de aire con la dirección */
}

/* La fila de dirección actúa como cierre del bloque de envío */
.mm-sc-totals-card .mm-sc-row--shipping-address {
  border-top: none;                         /* por si acaso */
  border-bottom: 1px solid #e5e7eb;         /* mismo color que el resto de filas */
  padding-top: 2px;
  padding-bottom: 8px;
  justify-content: flex-end;
}

.mm-sc-totals-card .mm-sc-row--shipping-address > span:first-child {
  flex: 1;   /* ocupa la "columna izquierda" vacía */
}

.mm-sc-totals-card .mm-sc-row--shipping-address .mm-sc-ship-address {
  display: block;
  text-align: right;
  font-size: 0.85rem;
  color: #6b7280;
  white-space: normal;
}
/* Fila dirección: misma línea discontinua que el resto */
.mm-sc-totals-card .mm-sc-row--shipping-address{
  border-top: none;
  border-bottom: 1px dashed #eef2f7; /* ⇐ discontinua */
  padding-top: 2px;
  padding-bottom: 8px;
  justify-content: flex-end;
}
/* ===== Popup envío personalizado: layout mejorado ===== */

/* Precio en línea con el título */
.mm-sc-custom-ship-price-row{
  display:flex;
  align-items:center;
  gap:10px;
  margin:6px 0 10px;
}

#mm-sc-custom-ship-modal .mm-sc-custom-ship-price-row label{
  margin:0;
  flex:1 1 auto;
}

#mm-sc-custom-ship-price{
  max-width:140px;
  width:100%;
  text-align:right;
  padding:6px 10px;
  border-radius:10px;
  border:1px solid #e5e7eb;
  font:inherit;
}

/* En móvil, precio debajo del texto */
@media (max-width:480px){
  .mm-sc-custom-ship-price-row{
    flex-direction:column;
    align-items:flex-start;
  }
  #mm-sc-custom-ship-price{
    max-width:100%;
  }
}

/* Texto para el cliente más alto */
#mm-sc-custom-ship-text{
  width:100%;
  min-height:72px;
  padding:8px 10px;
  border-radius:10px;
  border:1px solid #e5e7eb;
  font:inherit;
  resize:vertical;
  margin-bottom:6px;
}

/* Separador y título "Datos del envío" */
.mm-sc-custom-ship-separator{
  border:none;
  border-top:1px dashed #e5e7eb;
  margin:12px 0;
}

.mm-sc-custom-ship-subtitle{
  margin:0 0 6px;
  font-size:0.85rem;
  font-weight:600;
  color:#4b5563;
  text-transform:uppercase;
  letter-spacing:.03em;
}

/* Un poco más de aire entre labels/inputs del bloque de datos */
#mm-sc-custom-ship-modal .mm-sc-modal__body label{
  display:block;
  margin-top:8px;
  margin-bottom:3px;
}

#mm-sc-custom-ship-modal .mm-sc-modal__body input[type="text"]{
  width:100%;
  padding:8px 10px;
  border-radius:10px;
  border:1px solid #e5e7eb;
}

#mm-sc-custom-ship-price{
  width:90px;
  padding:4px 8px;
  border-radius:999px;
  border:1px solid #e5e7eb;
  text-align:right;
  font:inherit;
}

.mm-sc-custom-ship-price-euro{
  font-weight:600;
}

/* En móvil, título arriba y precio debajo pero pegado al título */
@media (max-width:480px){
  .mm-sc-custom-ship-headline{
    flex-direction:column;
    align-items:flex-start;
  }
}

/* Select de provincia con el mismo estilo que los inputs del modal */
#mm-sc-custom-ship-modal .mm-sc-modal__body select{
  width:100%;
  padding:8px 10px;
  border-radius:10px;
  border:1px solid #e5e7eb;
  background:#ffffff;
  font:inherit;
}
/* Línea "Precio de envío: [   ] €" */
.mm-sc-custom-ship-price-row{
  display:flex;
  align-items:center;
  gap:8px;
  margin:8px 0 14px;
}

.mm-sc-custom-ship-price-row label{
  min-width:120px;        /* ancho fijo para el texto "Precio de envío" */
}

#mm-sc-custom-ship-price{
  width:100px;
  padding:4px 8px;
  border-radius:999px;
  border:1px solid #e5e7eb;
  text-align:right;
  font:inherit;
}

.mm-sc-custom-ship-price-euro{
  font-weight:600;
}
/* Overlay del modal: que permita scroll y deje margen arriba,
   pero SIN forzar que esté siempre visible */
.mm-sc-modal {
  position: fixed;
  inset: 0;
  display: none;              /* 🔥 oculto por defecto */
  justify-content: center;
  align-items: flex-start;    /* empieza un poco más abajo */
  padding-top: 60px;          /* margen superior */
  padding-bottom: 24px;       /* margen inferior */
  overflow-y: auto;           /* scroll si la ventana es pequeña */
}

/* Cuando JS añade .is-open, ya sí se ve */
.mm-sc-modal.is-open {
  display: flex;
}

/* Caja blanca del popup: altura máxima y scroll interno */
.mm-sc-modal__dialog {
  max-height: calc(100vh - 84px);
  overflow-y: auto;
  top: auto !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  margin: 0 auto;
}
/* ===== Modal MM Smart Cart: siempre visible, sin cortarse arriba ===== */

/* Overlay */
.mm-sc-modal {
  position: fixed;
  inset: 0;
  display: none;                 /* oculto por defecto */
  justify-content: center;
  align-items: flex-start;       /* empezamos arriba */
  padding: 90px 16px 24px;       /* margen superior generoso + laterales + abajo */
  box-sizing: border-box;
  overflow-y: auto;              /* si la pantalla es baja, se hace scroll */
  z-index: 9999;
}

/* Extra margen si hay barra de admin de WP */
.admin-bar .mm-sc-modal {
  padding-top: 122px;            /* 90px + ~32px barra admin */
}

/* Cuando el JS lo abre */
.mm-sc-modal.is-open {
  display: flex;
}

/* Caja blanca del popup */
.mm-sc-modal__dialog {
  position: relative;
  background: #ffffff;
  border-radius: 18px;
  padding: 20px 22px 18px;
  width: 100%;
  max-width: 520px;              /* algo más ancho si quieres */
  max-height: 100%;              /* nunca más alta que el viewport */
  overflow-y: auto;              /* scroll dentro del popup si hace falta */
  margin: 90px auto;

  top: auto !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
}
/* Forzar la línea discontinua bajo la fila de dirección de envío */
.mm-sc-totals-card .mm-sc-row--shipping-address{
  border-top: none !important;
  border-bottom: 1px dashed #eef2f7 !important;
  padding-top: 2px;
  padding-bottom: 8px;
  justify-content: flex-end;
}
    /* Botón primario de los modales (Guardar envío, etc.) */
    .mm-sc-modal__primary{
        background:#3a3972;
        border-color:#3a3972;
        color:#ffffff;
        font-weight:600;
    }
    .mm-sc-modal__primary:hover{
        background:#3a3972;
        border-color:#3a3972;
        color:#ffffff;
    }
    .mm-sc-modal__primary.is-busy{
        opacity:.7;
        cursor:wait;
    }

/* ✦ Custom products — estilos de filas */

/* Admin: recuadro qty con botón editar + número centrado */
.mm-sc-qty-wrap--custom-admin {
    display: inline-grid;
    grid-template-columns: 44px 100px;
    border: 1px solid var(--line);
    border-radius: 14px;
    overflow: hidden;
    background: #fff;
    box-shadow: inset 0 0 0 1px #f3f5f9;
}

.mm-sc-edit-custom-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 44px;
    width: 44px;
    background: #6d28d9;
    color: #fff;
    border: 0;
    cursor: pointer;
    font-size: 16px;
    transition: background .15s ease;
    padding: 0;
    line-height: 1;
}

.mm-sc-edit-custom-btn:hover {
    background: #5b21b6;
}

.mm-sc-qty-custom-val {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100px;
    height: 44px;
    font-weight: 700;
    text-align: center;
}

/* Cliente: recuadro qty igual que productos normales, número centrado */
.mm-sc-qty-wrap--custom-client {
    display: inline-grid;
    grid-template-columns: 100px;
    border: 1px solid var(--line);
    border-radius: 14px;
    overflow: hidden;
    background: #fff;
    box-shadow: inset 0 0 0 1px #f3f5f9;
}

.mm-sc-custom-product-row .mm-sc-qty {
    text-align: center;
}

.mm-sc-qty-wrap--custom-client .mm-sc-qty-input {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100px;
    height: 44px;
    font-weight: 700;
    text-align: center;
}

/* 📋 Nota del carrito */

/* Nota debajo de la tabla de productos (en la página de carrito) */
.mm-sc-cart-note {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-top: 12px;
    padding: 10px 14px;
    background: #eff6ff;
    border-left: 3px solid #93c5fd;
    border-radius: 6px;
    font-size: 13px;
    color: #1e3a8a;
    line-height: 1.6;
}

.mm-sc-cart-note span:first-child {
    flex-shrink: 0;
    font-size: 14px;
}

.mm-sc-cart-note span:nth-child(2) {
    flex: 1;
}

.mm-sc-cart-note button {
    background: none;
    border: none;
    cursor: pointer;
    color: #3b82f6;
    font-size: 14px;
    padding: 0;
    line-height: 1;
    flex-shrink: 0;
}

.mm-sc-cart-note button:hover {
    color: #1d4ed8;
}

/* Nota en el resumen lateral (carrito y checkout) */
.mm-sc-cart-note-summary {
    margin: 8px 0 4px;
    padding: 9px 13px;
    background: #eff6ff;
    border-left: 3px solid #93c5fd;
    border-radius: 6px;
    font-size: 12px;
    color: #1e3a8a;
    line-height: 1.6;
}

/* En el checkout nativo, la nota va dentro de una <tr> */
.mm-sc-note-row td {
    padding: 4px 0 8px !important;
}

/* =====================================================
   AVISO PALETS INCOMPLETOS  (v2.8.9)
   ===================================================== */
.mm-sc-palet-notice {
    margin-top: 10px;
    background: #FFF3E0; /* naranja muy clarito */
    border: 1px solid #FFCC80;
    border-radius: 8px;
    padding: 10px 14px;
}

.mm-sc-palet-trigger {
    display: inline-flex;
    align-items: center;
    padding: 0;
    margin: 0;
    background: none;
    border: none;
    font: inherit;
    cursor: pointer;
    width: 100%;
    text-align: left;
}

.mm-sc-palet-notice__title {
    font-size: 0.85rem;
    font-weight: 600;
    color: #2e2d5b;
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-style: solid;
    line-height: 1.4;
}

.mm-sc-palet-trigger:hover .mm-sc-palet-notice__title {
    text-decoration-thickness: 2px;
    color: #1e1d3f;
}

/* =====================================================
   CART PRODUCT CARDS — FRONTEND REFRESH (2026-08)
   Solo presentación. No altera markup, cantidades, AJAX ni lógica WooCommerce.
   ===================================================== */
.mm-sc-wrap{
  --mm-cart-brand:#242467;
  --mm-cart-ink:#171a36;
  --mm-cart-muted:#68708c;
  --mm-cart-line:#dfe3ee;
  --mm-cart-soft:#f7f8fc;
  --mm-cart-shadow:0 8px 28px rgba(24,31,64,.055);
}

/* Cada línea existente de WooCommerce pasa a leerse como una card de producto. */
.mm-sc-left .mm-sc-table{
  border-spacing:0 !important;
}
.mm-sc-left .mm-sc-table tbody{
  display:grid !important;
  gap:14px !important;
}
.mm-sc-left .mm-sc-table tbody tr{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 112px 190px 128px !important;
  column-gap:22px !important;
  row-gap:8px !important;
  align-items:center !important;
  margin:0 !important;
  padding:20px 22px !important;
  min-height:132px;
  background:#fff !important;
  border:1px solid var(--mm-cart-line) !important;
  border-radius:14px !important;
  box-shadow:var(--mm-cart-shadow) !important;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
  position:relative !important;
  overflow:visible;
}
@media (hover:hover){
  .mm-sc-left .mm-sc-table tbody tr:hover{
    border-color:#cfd5e3 !important;
    box-shadow:0 10px 30px rgba(24,31,64,.075) !important;
  }
}

/* Bloque de identidad del producto */
.mm-sc-left .mm-sc-table td.mm-sc-p{
  display:flex !important;
  align-items:center !important;
  gap:18px !important;
  min-width:0;
  padding:0 !important;
  position:static !important;
}
.mm-sc-left .mm-sc-p--img{
  flex:0 0 112px;
  width:112px;
  height:96px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  overflow:hidden;
  background:#f7f8fb;
  border:1px solid #e7eaf1;
}
.mm-sc-left .mm-sc-p--img img{
  display:block;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  object-fit:cover !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
}
.mm-sc-left .mm-sc-p--data{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:5px;
  min-width:0;
}
.mm-sc-left .mm-sc-p--title{
  color:var(--mm-cart-ink) !important;
  font-size:15px !important;
  line-height:1.35 !important;
  font-weight:700 !important;
  letter-spacing:-.01em;
  text-decoration:none !important;
  overflow-wrap:anywhere;
}
.mm-sc-left .mm-sc-p--title:hover{
  color:var(--mm-cart-brand) !important;
}

/* Metadatos/variaciones existentes: cada atributo/PPOM en su propia línea para que se lea bien. */
.mm-sc-left .mm-sc-p--data dl.variation,
.mm-sc-left .mm-sc-p--data .variation{
  margin:0 !important;
  color:var(--mm-cart-muted) !important;
  font-size:12.5px !important;
  line-height:1.5 !important;
}
.mm-sc-left .mm-sc-p--data dl.variation dt,
.mm-sc-left .mm-sc-p--data dl.variation dd{
  margin:0 !important;
  padding:0 !important;
  display:inline !important;
  float:none !important;
  color:inherit !important;
}
.mm-sc-left .mm-sc-p--data dl.variation dt{
  font-weight:600 !important;
  color:var(--mm-cart-ink) !important;
}
.mm-sc-left .mm-sc-p--data dl.variation dd{
  font-weight:400 !important;
  margin-left:4px !important;
}
/* Truco CSS: dd es inline (queda junto a su dt en la misma línea) pero su
   ::after es display:block, lo que fuerza el salto de línea antes del
   siguiente dt sin tener que tocar el HTML/plantilla de WooCommerce. */
.mm-sc-left .mm-sc-p--data dl.variation dd::after{
  content:"";
  display:block;
  margin-bottom:3px;
}
.mm-sc-left .mm-sc-p--data dl.variation p{margin:0 !important;display:inline !important}

/* Precio unitario más secundario; subtotal = importe principal de la card. */
.mm-sc-left .mm-sc-price{
  color:var(--mm-cart-muted) !important;
  font-size:13px !important;
  line-height:1.3 !important;
  font-weight:600 !important;
  text-align:right !important;
  padding:0 !important;
}
.mm-sc-left .mm-sc-subtotal{
  color:var(--mm-cart-ink) !important;
  font-size:16px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  text-align:right !important;
  padding:0 34px 0 0 !important;
}
.mm-sc-left .mm-sc-price .amount,
.mm-sc-left .mm-sc-subtotal .amount{color:inherit !important}

/* Controles de cantidad: misma familia visual que checkout/minicarrito. */
.mm-sc-left .mm-sc-qty{
  text-align:center !important;
  padding:0 !important;
}
.mm-sc-left .mm-sc-qty-wrap{
  display:inline-grid !important;
  grid-template-columns:42px 76px 42px !important;
  height:44px !important;
  border:1px solid #d8dde8 !important;
  border-radius:9px !important;
  overflow:hidden !important;
  background:#fff !important;
  box-shadow:none !important;
}
.mm-sc-left .mm-sc-qty-btn{
  width:42px !important;
  height:44px !important;
  padding:0 !important;
  display:grid !important;
  place-items:center !important;
  background:var(--mm-cart-soft) !important;
  color:var(--mm-cart-brand) !important;
  border:0 !important;
  border-radius:0 !important;
  font-size:17px !important;
  font-weight:700 !important;
  cursor:pointer;
}
.mm-sc-left .mm-sc-qty-btn.mm-minus{border-right:1px solid #e1e5ee !important}
.mm-sc-left .mm-sc-qty-btn.mm-plus{border-left:1px solid #e1e5ee !important}
@media (hover:hover){
  .mm-sc-left .mm-sc-qty-btn:hover{background:#eef0f7 !important}
}
.mm-sc-left .mm-sc-qty-input{
  width:76px !important;
  min-width:0 !important;
  height:44px !important;
  padding:0 5px !important;
  background:#fff !important;
  color:var(--mm-cart-ink) !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  outline:0 !important;
  text-align:center !important;
  font-size:14px !important;
  line-height:44px !important;
  font-weight:700 !important;
}
.mm-sc-left .mm-sc-qty-hint{
  max-width:180px;
  margin:6px auto 0 !important;
  color:var(--mm-cart-muted) !important;
  font-size:11px !important;
  line-height:1.35 !important;
  text-align:center !important;
}

/* Papelera visual, reutilizando exactamente el botón de eliminar actual. */
.mm-sc-left .mm-sc-table tbody tr .mm-sc-remove-btn{
  position:absolute !important;
  top:16px !important;
  right:16px !important;
  width:34px !important;
  height:34px !important;
  padding:0 !important;
  margin:0 !important;
  display:grid !important;
  place-items:center !important;
  border:1px solid #dfe3ec !important;
  border-radius:9px !important;
  background:#fff !important;
  color:transparent !important;
  font-size:0 !important;
  box-shadow:none !important;
  cursor:pointer;
  transition:background .15s ease,border-color .15s ease,transform .05s ease;
}
.mm-sc-left .mm-sc-table tbody tr .mm-sc-remove-btn::before{
  content:"";
  width:16px;
  height:16px;
  display:block;
  background-color:#59627d;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M8 6V4h8v2'/%3E%3Cpath d='M19 6l-1 14H6L5 6'/%3E%3Cpath d='M10 11v5M14 11v5'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M8 6V4h8v2'/%3E%3Cpath d='M19 6l-1 14H6L5 6'/%3E%3Cpath d='M10 11v5M14 11v5'/%3E%3C/svg%3E") center/contain no-repeat;
}
@media (hover:hover){
  .mm-sc-left .mm-sc-table tbody tr .mm-sc-remove-btn:hover{
    background:#fff7f7 !important;
    border-color:#efcaca !important;
  }
  .mm-sc-left .mm-sc-table tbody tr .mm-sc-remove-btn:hover::before{background-color:#b4232d}
}

/* Productos personalizados existentes: misma card sin inventar miniatura. */
.mm-sc-left .mm-sc-custom-product-row .mm-sc-p--data{padding-right:8px}
.mm-sc-left .mm-sc-custom-product-row .mm-sc-p--title{font-size:15px !important}

/* Tablet */
@container mm-left (max-width:899px){
  .mm-sc-left .mm-sc-table tbody tr{
    grid-template-columns:minmax(0,1fr) 170px 120px !important;
  }
  .mm-sc-left .mm-sc-price{display:none !important}
}

/* Móvil: card vertical limpia, sin alterar los controles. */
@media (max-width:800px){
  .mm-sc-left .mm-sc-table tbody tr{
    grid-template-columns:1fr auto !important;
    gap:14px 12px !important;
    padding:16px !important;
    min-height:0;
  }
  .mm-sc-left .mm-sc-table td.mm-sc-p{
    grid-column:1 / -1;
    padding:0 42px 0 0 !important;
    gap:12px !important;
  }
  .mm-sc-left .mm-sc-p--img{
    flex-basis:78px;
    width:78px;
    height:72px;
  }
  .mm-sc-left .mm-sc-p--title{font-size:14px !important}
  .mm-sc-left .mm-sc-price{display:none !important}
  .mm-sc-left .mm-sc-qty{
    grid-column:1;
    text-align:left !important;
  }
  .mm-sc-left .mm-sc-subtotal{
    grid-column:2;
    align-self:center;
    padding:0 !important;
    font-size:15px !important;
  }
  .mm-sc-left .mm-sc-qty-wrap{
    grid-template-columns:38px 62px 38px !important;
    height:40px !important;
  }
  .mm-sc-left .mm-sc-qty-btn{width:38px !important;height:40px !important}
  .mm-sc-left .mm-sc-qty-input{width:62px !important;height:40px !important;line-height:40px !important}
  .mm-sc-left .mm-sc-qty-hint{margin:5px 0 0 !important;text-align:left !important}
  .mm-sc-left .mm-sc-table tbody tr .mm-sc-remove-btn{
    top:14px !important;
    right:14px !important;
  }
}

/* ==========================================================
   CART GROUPED PRODUCTS — misma agrupación visual que mini-cart
   ========================================================== */
.mm-sc-table--group-aware .mm-sc-group-row > td{padding:0!important;border:0!important;background:transparent!important}
.mm-sc-group-card{background:#fff;border:1px solid #dfe3ee;border-radius:14px;padding:20px;box-shadow:0 7px 24px rgba(25,34,70,.045);margin-bottom:14px;color:#222743}
.mm-sc-group-card__head{display:flex;gap:18px;align-items:flex-start}
.mm-sc-group-card__media{width:112px;min-width:112px;height:112px;border-radius:10px;overflow:hidden;background:#f7f8fc;border:1px solid #edf0f6}
.mm-sc-group-card__media picture{width:100% !important;height:100% !important;display:block !important;aspect-ratio:auto !important}
.mm-sc-group-card__media img{width:100% !important;height:100% !important;max-width:100% !important;max-height:none !important;object-fit:cover !important;object-position:center !important;display:block !important;aspect-ratio:auto !important}
.mm-sc-group-card__main{flex:1;min-width:0}
.mm-sc-group-card__title-line{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.mm-sc-group-card__title{font-size:17px!important;line-height:1.3!important;font-weight:700!important;color:#171a3e!important;text-decoration:none!important}
.mm-sc-group-card__price{white-space:nowrap;font-size:18px;color:#171a3e}
.mm-sc-group-card__meta{margin-top:8px;color:#68708c;font-size:14px}
.mm-sc-group-card__meta strong{color:#242467;font-weight:700}
.mm-sc-group-card__actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:15px;padding-top:13px;border-top:1px solid #edf0f6}
.mm-sc-group-detail-toggle{appearance:none;border:1px solid #dfe3ee;background:#fff;color:#242467;border-radius:8px;padding:8px 12px;font:inherit;font-size:13px;font-weight:600;cursor:pointer}
.mm-sc-group-detail-toggle span{display:inline-block;margin-left:6px;transition:transform .18s ease}
.mm-sc-group-detail-toggle[aria-expanded="true"] span{transform:rotate(180deg)}
.mm-sc-remove-group-btn{appearance:none;width:36px;height:36px;border:1px solid #dfe3ee!important;border-radius:9px;background:#fff!important;color:#626b88!important;cursor:pointer;font-size:0!important;position:relative}
.mm-sc-remove-group-btn:before{content:"";position:absolute;inset:8px;background-repeat:no-repeat;background-position:center;background-size:18px 18px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23626b88' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M8 6V4h8v2'/%3E%3Cpath d='M19 6l-1 14H6L5 6'/%3E%3Cpath d='M10 11v5'/%3E%3Cpath d='M14 11v5'/%3E%3C/svg%3E")}
.mm-sc-remove-group-btn:hover{border-color:#efb6bc!important;background:#fff8f8!important}
.mm-sc-group-detail{margin-top:15px;border-top:1px solid #edf0f6;padding-top:4px}
.mm-sc-group-detail[hidden]{display:none!important}
.mm-sc-group-detail__line{display:grid;grid-template-columns:minmax(210px,1.35fr) minmax(180px,1fr) 148px minmax(90px,.55fr);align-items:center;gap:14px;padding:12px 4px;border-bottom:1px solid #edf0f6}
.mm-sc-group-detail__label{font-size:13.5px;font-weight:600;color:#303650}
.mm-sc-group-detail__label small{display:block;margin-top:3px;color:#7c849c;font-size:12px;font-weight:400}
.mm-sc-group-detail__thumb{display:inline-block;width:28px;height:28px;border-radius:6px;overflow:hidden;vertical-align:middle;margin-right:6px;background:#f3f4f8}
.mm-sc-group-detail__thumb img{display:block;width:100%;height:100%;object-fit:cover}
.mm-sc-group-detail__ppom-list{display:block;margin-top:3px}
.mm-sc-group-detail__ppom{display:block;color:#7c849c;font-size:12px;font-weight:400;line-height:1.5}
.mm-sc-group-detail__ppom strong{color:#4d5470;font-weight:600}
.mm-sc-group-detail__calc{font-size:12.5px;color:#68708c}
.mm-sc-group-detail__subtotal{text-align:right;font-size:13.5px;font-weight:700;color:#303650;white-space:nowrap}
.mm-sc-group-detail__qty{display:flex;justify-content:center}
.mm-sc-group-detail__qty .mm-sc-group-qty-input{width:48px;height:34px;border-top:1px solid #dfe3ee!important;border-bottom:1px solid #dfe3ee!important;border-left:0!important;border-right:0!important;border-radius:0!important;text-align:center;background:#fff;color:#242467;font-weight:600;padding:0!important}
.mm-sc-group-qty-btn{width:34px;height:34px;border:1px solid #dfe3ee!important;background:#f8f9fc!important;color:#242467!important;cursor:pointer;font-size:17px;line-height:1}
.mm-sc-group-qty-btn.mm-minus{border-radius:8px 0 0 8px!important}
.mm-sc-group-qty-btn.mm-plus{border-radius:0 8px 8px 0!important}
.mm-sc-group-qty-btn:hover{background:#f1f2fa!important;border-color:#cfd4e3!important}
.mm-sc-group-detail__line--total{border-bottom:0;padding-top:14px;font-weight:700}
.mm-sc-group-detail__line--total .mm-sc-group-detail__label,.mm-sc-group-detail__line--total .mm-sc-group-detail__calc,.mm-sc-group-detail__line--total .mm-sc-group-detail__subtotal{color:#242467;font-weight:700}

@media(max-width:900px){
 .mm-sc-group-card{padding:15px}
 .mm-sc-group-card__media{width:84px;min-width:84px;height:84px}
 .mm-sc-group-card__title-line{display:block}
 .mm-sc-group-card__price{display:block;margin-top:7px}
 .mm-sc-group-detail__line{grid-template-columns:1fr auto;gap:8px 12px;padding:12px 0}
 .mm-sc-group-detail__label{grid-column:1/2}.mm-sc-group-detail__subtotal{grid-column:2/3;grid-row:1}
 .mm-sc-group-detail__calc{grid-column:1/2;grid-row:2}.mm-sc-group-detail__qty{grid-column:2/3;grid-row:2}
 .mm-sc-group-detail__line--total .mm-sc-group-detail__qty{display:none}
}

/* ==========================================================
   CART PRODUCTS — LISTA ABIERTA (2026-08-03)
   Sustituye las cards por filas abiertas con separadores, siguiendo
   el patrón visual del minicarrito. No cambia la lógica de carrito.
   ========================================================== */
.mm-sc-left .mm-sc-table tbody{
  display:block !important;
}

/* Producto normal: fila a ancho completo, sin card. */
.mm-sc-left .mm-sc-table tbody > tr:not(.mm-sc-group-row){
  display:grid !important;
  width:100% !important;
  box-sizing:border-box !important;
  grid-template-columns:minmax(0,1fr) 112px 190px 128px !important;
  column-gap:22px !important;
  row-gap:8px !important;
  align-items:center !important;
  min-height:124px !important;
  margin:0 !important;
  padding:22px 4px !important;
  background:transparent !important;
  border:0 !important;
  border-bottom:1px solid #e3e6ef !important;
  border-radius:0 !important;
  box-shadow:none !important;
  transform:none !important;
}
.mm-sc-left .mm-sc-table tbody > tr:not(.mm-sc-group-row):hover{
  border-color:#e3e6ef !important;
  box-shadow:none !important;
  transform:none !important;
}

/* Imagen: limpia y proporcionada, como el minicarrito pero más grande en desktop. */
.mm-sc-left .mm-sc-p--img{
  flex:0 0 104px !important;
  width:104px !important;
  height:92px !important;
  border-radius:8px !important;
  background:#f7f8fb !important;
  border:1px solid #e7eaf1 !important;
}

/* Papelera en la misma línea, sin crear una tarjeta propia alrededor del producto. */
.mm-sc-left .mm-sc-table tbody > tr:not(.mm-sc-group-row) .mm-sc-remove-btn{
  top:50% !important;
  right:2px !important;
  transform:translateY(-50%) !important;
}

/* --- Producto agrupado: una fila completa, nunca una card estrecha --- */
.mm-sc-table--group-aware .mm-sc-group-row{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  border-bottom:1px solid #e3e6ef !important;
  border-radius:0 !important;
  box-shadow:none !important;
  overflow:visible !important;
}
.mm-sc-table--group-aware .mm-sc-group-row > td{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  box-sizing:border-box !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  background:transparent !important;
}
.mm-sc-group-card{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  box-sizing:border-box !important;
  margin:0 !important;
  padding:22px 4px !important;
  color:#222743 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.mm-sc-group-card__head{
  display:flex !important;
  width:100% !important;
  align-items:center !important;
  gap:18px !important;
}
.mm-sc-group-card__media{
  width:104px !important;
  min-width:104px !important;
  height:92px !important;
  border-radius:8px !important;
  background:#f7f8fb !important;
  border:1px solid #e7eaf1 !important;
}
.mm-sc-group-card__main{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  grid-template-areas:
    "title price"
    "meta price"
    "actions actions" !important;
  align-items:start !important;
  gap:5px 24px !important;
  width:100% !important;
  min-width:0 !important;
}
.mm-sc-group-card__title-line{
  display:contents !important;
}
.mm-sc-group-card__title{
  grid-area:title !important;
  font-size:15px !important;
  line-height:1.35 !important;
}
.mm-sc-group-card__price{
  grid-area:price !important;
  align-self:start !important;
  padding-right:46px !important;
  font-size:16px !important;
  font-weight:800 !important;
}
.mm-sc-group-card__meta{
  grid-area:meta !important;
  margin:1px 0 0 !important;
  font-size:13px !important;
}
.mm-sc-group-card__actions{
  grid-area:actions !important;
  display:flex !important;
  justify-content:flex-start !important;
  align-items:center !important;
  gap:12px !important;
  margin:10px 0 0 !important;
  padding:0 !important;
  border:0 !important;
  position:relative !important;
}
.mm-sc-group-detail-toggle{
  padding:6px 10px !important;
  border-radius:7px !important;
  font-size:12.5px !important;
  background:#fff !important;
}
.mm-sc-remove-group-btn{
  position:absolute !important;
  right:0 !important;
  bottom:0 !important;
  width:34px !important;
  height:34px !important;
}

/* Desglose: mismo lenguaje del mini-carrito: texto + líneas, sin iconos ni mini-cards. */
.mm-sc-group-detail{
  width:calc(100% - 122px) !important;
  margin:14px 0 0 122px !important;
  padding:0 !important;
  border-top:1px solid #edf0f6 !important;
  /* Este bloque vive junto al sidebar "Resumen", así que su ancho real de
     sobra no coincide con el del viewport (los @media de 1180/800px
     miran la ventana entera, no lo que le queda de sitio aquí dentro).
     Lo convertimos en container para que .mm-sc-group-detail__line pueda
     reaccionar a su ancho disponible de verdad, sin depender de en qué
     punto exacto el sidebar le robe espacio. */
  container: mm-detail / inline-size !important;
}
.mm-sc-group-detail__lines{
  width:100% !important;
}
.mm-sc-group-detail__line{
  display:grid !important;
  width:100% !important;
  box-sizing:border-box !important;
  grid-template-columns:minmax(210px,1.2fr) minmax(180px,1fr) 142px minmax(90px,.5fr) !important;
  align-items:center !important;
  gap:14px !important;
  padding:11px 0 !important;
  border-bottom:1px solid #edf0f6 !important;
  background:transparent !important;
}
.mm-sc-group-detail__label{
  font-size:13px !important;
  font-weight:600 !important;
  color:#303650 !important;
}
.mm-sc-group-detail__label small{
  display:block !important;
  margin-top:2px !important;
  font-size:11.5px !important;
  font-weight:400 !important;
  color:#7c849c !important;
}
.mm-sc-group-detail__calc{
  font-size:12px !important;
  color:#68708c !important;
}
.mm-sc-group-detail__subtotal{
  font-size:13px !important;
  font-weight:700 !important;
}
.mm-sc-group-detail__line--total{
  border-bottom:0 !important;
  padding-top:12px !important;
  padding-bottom:2px !important;
}

/* FIX — el desglose se rompía al expandirse porque el grid de 4 columnas
   (arriba) exige ~664px + el margen de 122px, sin importar el viewport:
   si el sidebar le deja menos hueco a .mm-sc-group-detail que eso, se
   desborda — pase lo que pase con los @media de 1180/800px, que solo
   miran el ancho de la ventana. Este @container mira el ancho REAL
   disponible aquí y pasa a 2 columnas apiladas en cuanto no cabe. */
@container mm-detail (max-width: 720px){
  .mm-sc-group-detail__line{
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:8px 10px !important;
    padding:11px 0 !important;
  }
  .mm-sc-group-detail__label{grid-column:1 !important;grid-row:1 !important}
  .mm-sc-group-detail__subtotal{grid-column:2 !important;grid-row:1 !important}
  .mm-sc-group-detail__calc{
    grid-column:1 !important;
    grid-row:2 !important;
    min-width:0 !important;
    overflow-wrap:anywhere !important;
  }
  .mm-sc-group-detail__qty{grid-column:2 !important;grid-row:2 !important}
  .mm-sc-group-detail__line--total .mm-sc-group-detail__qty{display:none !important}
}

/* Tablet */
@container mm-left (max-width:899px){
  .mm-sc-left .mm-sc-table tbody > tr:not(.mm-sc-group-row){
    grid-template-columns:minmax(0,1fr) 170px 120px !important;
  }
  .mm-sc-group-detail{
    width:calc(100% - 102px) !important;
    margin-left:102px !important;
  }
  .mm-sc-group-card__media{
    width:86px !important;
    min-width:86px !important;
    height:80px !important;
  }
  /* El grid de 4 columnas fijas del desglose (desktop) exige ~664px + gaps.
     Como esta página vive junto al sidebar "Resumen", el ancho REAL de
     .mm-sc-left ya no da para eso mucho antes de que el viewport llegue
     a 800px — de ahí que las columnas se montaran encima del sidebar.
     Pasamos aquí al mismo layout flexible de 2 columnas que antes solo
     entraba en el breakpoint móvil (800px), para que se adapte antes. */
  .mm-sc-group-detail__line{
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:8px 10px !important;
    padding:11px 0 !important;
  }
  .mm-sc-group-detail__label{grid-column:1 !important;grid-row:1 !important}
  .mm-sc-group-detail__subtotal{grid-column:2 !important;grid-row:1 !important}
  .mm-sc-group-detail__calc{grid-column:1 !important;grid-row:2 !important;min-width:0 !important;overflow-wrap:anywhere}
  .mm-sc-group-detail__qty{grid-column:2 !important;grid-row:2 !important}
}

/* Móvil: conserva el ancho real del viewport y evita desbordes. */
@media (max-width:800px){
  .mm-sc-left .mm-sc-table,
  .mm-sc-left .mm-sc-table tbody,
  .mm-sc-left .mm-sc-table tbody > tr,
  .mm-sc-table--group-aware .mm-sc-group-row,
  .mm-sc-group-card{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }
  .mm-sc-left .mm-sc-table tbody > tr:not(.mm-sc-group-row){
    grid-template-columns:1fr auto !important;
    gap:12px 10px !important;
    padding:16px 0 !important;
  }
  .mm-sc-left .mm-sc-table td.mm-sc-p{
    padding-right:38px !important;
  }
  .mm-sc-left .mm-sc-p--img{
    flex-basis:72px !important;
    width:72px !important;
    height:68px !important;
  }
  .mm-sc-left .mm-sc-table tbody > tr:not(.mm-sc-group-row) .mm-sc-remove-btn{
    top:16px !important;
    right:0 !important;
    transform:none !important;
  }
  .mm-sc-group-card{
    padding:16px 0 !important;
  }
  .mm-sc-group-card__head{
    align-items:flex-start !important;
    gap:12px !important;
  }
  .mm-sc-group-card__media{
    width:72px !important;
    min-width:72px !important;
    height:68px !important;
  }
  .mm-sc-group-card__main{
    grid-template-columns:minmax(0,1fr) !important;
    grid-template-areas:
      "title"
      "meta"
      "price"
      "actions" !important;
    gap:4px !important;
  }
  .mm-sc-group-card__price{
    padding-right:0 !important;
    margin-top:2px !important;
    font-size:15px !important;
  }
  .mm-sc-group-card__actions{
    padding-right:42px !important;
    margin-top:8px !important;
  }
  .mm-sc-remove-group-btn{
    right:0 !important;
    bottom:0 !important;
  }
  .mm-sc-group-detail{
    width:100% !important;
    margin:14px 0 0 !important;
  }
  .mm-sc-group-detail__line{
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:8px 10px !important;
    padding:11px 0 !important;
  }
  .mm-sc-group-detail__label{grid-column:1 !important;grid-row:1 !important}
  .mm-sc-group-detail__subtotal{grid-column:2 !important;grid-row:1 !important}
  .mm-sc-group-detail__calc{grid-column:1 !important;grid-row:2 !important;min-width:0 !important;overflow-wrap:anywhere}
  .mm-sc-group-detail__qty{grid-column:2 !important;grid-row:2 !important}
  .mm-sc-group-detail__qty .mm-sc-group-qty-input{width:42px !important}
  .mm-sc-group-qty-btn{width:32px !important;height:34px !important}
}

/* ==========================================================
   FIX V3 — AGRUPADOS COMO FILAS ABIERTAS, IGUAL QUE EL MINI-CARRITO
   La regla histórica de cards tenía mayor especificidad y seguía
   ganando sobre .mm-sc-group-row. Estas reglas la neutralizan.
   ========================================================== */
.mm-sc-left .mm-sc-table.mm-sc-table--group-aware tbody{
  display:block !important;
  gap:0 !important;
}
.mm-sc-left .mm-sc-table.mm-sc-table--group-aware tbody tr.mm-sc-group-row{
  display:block !important;
  grid-template-columns:none !important;
  width:100% !important;
  max-width:none !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  border-bottom:1px solid #e3e6ef !important;
  border-radius:0 !important;
  box-shadow:none !important;
  transform:none !important;
  overflow:visible !important;
}
@media (hover:hover){
  .mm-sc-left .mm-sc-table.mm-sc-table--group-aware tbody tr.mm-sc-group-row:hover{
    background:transparent !important;
    border-color:#e3e6ef !important;
    box-shadow:none !important;
    transform:none !important;
  }
}
.mm-sc-left .mm-sc-table.mm-sc-table--group-aware tbody tr.mm-sc-group-row > td{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.mm-sc-left .mm-sc-table.mm-sc-table--group-aware .mm-sc-group-card{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:22px 4px !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.mm-sc-left .mm-sc-table.mm-sc-table--group-aware .mm-sc-group-card__head{
  width:100% !important;
}

/* También quitamos el espacio entre filas heredado de la fase de cards. */
.mm-sc-left .mm-sc-table.mm-sc-table--group-aware tbody > tr:not(.mm-sc-group-row){
  margin:0 !important;
}

@media (max-width:800px){
  .mm-sc-left .mm-sc-table.mm-sc-table--group-aware tbody tr.mm-sc-group-row{
    width:100% !important;
    max-width:100% !important;
  }
  .mm-sc-left .mm-sc-table.mm-sc-table--group-aware .mm-sc-group-card{
    width:100% !important;
    max-width:100% !important;
    padding:16px 0 !important;
  }
}

/* ==========================================================
   RIGHT SUMMARY REFRESH — coherencia visual con Checkout 3.5.23
   NO modifica .mm-sc-eta-card ni .mm-sc-shipping.
   Mantiene toda la lógica y contenido dinámico existente.
   ========================================================== */
.mm-sc-wrap{
  --mm-summary-navy:#242467;
  --mm-summary-ink:#222743;
  --mm-summary-muted:#68708c;
  --mm-summary-line:#d9deea;
  --mm-summary-soft:#f8f9fc;
  --mm-summary-gold:#c9a45d;
}

/* Tarjeta de resumen: misma familia visual que el checkout. */
.mm-sc-right #mm-sc-totals .mm-sc-totals-card{
  padding:24px !important;
  border:1px solid var(--mm-summary-line) !important;
  border-radius:14px !important;
  background:#fff !important;
  box-shadow:0 8px 28px rgba(31,39,74,.065) !important;
  color:var(--mm-summary-ink);
}
.mm-sc-right #mm-sc-totals .mm-sc-totals-card h2{
  margin:0 0 18px !important;
  color:var(--mm-summary-ink) !important;
  font-size:1.05rem !important;
  font-weight:700 !important;
  line-height:1.25;
}
.mm-sc-right #mm-sc-totals .mm-sc-row{
  min-height:43px;
  padding:11px 0 !important;
  border-bottom:1px solid #edf0f6 !important;
  color:#4f5874;
  font-size:.9rem;
  line-height:1.4;
}
.mm-sc-right #mm-sc-totals .mm-sc-row > span:last-child{
  color:var(--mm-summary-ink);
  text-align:right;
}
.mm-sc-right #mm-sc-totals .mm-sc-row--tax span:first-child{
  color:#4f5874 !important;
}
.mm-sc-right #mm-sc-totals .mm-sc-total{
  margin-top:4px;
  padding-top:15px !important;
  border-top:1px solid var(--mm-summary-line) !important;
  border-bottom:0 !important;
  color:var(--mm-summary-ink) !important;
  font-size:1rem;
  font-weight:700 !important;
}
.mm-sc-right #mm-sc-totals .mm-sc-total > span:last-child,
.mm-sc-right #mm-sc-totals .mm-sc-total > span:last-child bdi{
  color:var(--mm-summary-navy) !important;
  font-size:1.45rem !important;
  line-height:1 !important;
  font-weight:800 !important;
}

/* Envío dentro del resumen: SOLO apariencia. Conserva etiqueta, precio,
   dirección, enlace de cálculo/cotización y edición admin donde ya aparecen. */
.mm-sc-right #mm-sc-totals .mm-sc-row--shipping{
  align-items:flex-start !important;
  gap:16px !important;
  padding-bottom:4px !important;
  border-bottom:0 !important;
}
.mm-sc-right #mm-sc-totals .mm-sc-ship-title-line{
  display:flex !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:7px !important;
  color:var(--mm-summary-ink);
  font-weight:500;
}
.mm-sc-right #mm-sc-totals .mm-sc-shipping-label{
  margin-top:5px !important;
  color:var(--mm-summary-muted) !important;
  opacity:1 !important;
  font-size:.78rem !important;
  line-height:1.5 !important;
}
.mm-sc-right #mm-sc-totals .mm-sc-shipping-price{
  color:var(--mm-summary-ink) !important;
  font-weight:600;
}
.mm-sc-right #mm-sc-totals .mm-sc-shipping-quote-link{
  color:var(--mm-summary-navy) !important;
  font-size:.78rem !important;
}
.mm-sc-right #mm-sc-totals .mm-sc-row--shipping-address{
  min-height:0 !important;
  padding:0 0 11px !important;
  border-bottom:1px solid #edf0f6 !important;
}
.mm-sc-right #mm-sc-totals .mm-sc-ship-address{
  margin-top:0 !important;
  color:var(--mm-summary-muted) !important;
  font-size:.78rem !important;
  line-height:1.45 !important;
}
/* Conservamos el botón funcional de edición, pero lo hacemos más discreto. */
.mm-sc-right #mm-sc-totals .mm-sc-custom-ship-btn{
  margin:0 !important;
  padding:3px 8px !important;
  border:1px solid #e1c38b !important;
  border-radius:999px !important;
  background:#fffaf1 !important;
  box-shadow:none !important;
  color:#8a6326 !important;
  font-size:.71rem !important;
}

/* Devoluciones: componente idéntico al lenguaje del checkout. */
.mm-sc-right #mm-sc-totals .mm-sc-returns-notice{
  width:100%;
  box-sizing:border-box;
  margin:14px 0 10px !important;
  padding:0 !important;
  overflow:hidden;
  border:1px solid var(--mm-summary-line) !important;
  border-radius:9px !important;
  background:var(--mm-summary-soft) !important;
  color:#59617b !important;
}
.mm-sc-right #mm-sc-totals .mm-sc-returns-trigger{
  width:100%;
  min-height:48px;
  display:flex !important;
  align-items:center;
  padding:11px 13px !important;
  border:0 !important;
  border-radius:inherit;
  background:transparent !important;
  color:inherit !important;
  text-align:left;
  transition:background-color .15s ease;
}
.mm-sc-right #mm-sc-totals .mm-sc-returns-trigger:hover{
  background:#f2f4f9 !important;
}
.mm-sc-right #mm-sc-totals .mm-sc-returns-trigger:focus-visible{
  outline:2px solid rgba(36,36,103,.25);
  outline-offset:-2px;
}
.mm-sc-right #mm-sc-totals .mm-sc-returns-text{
  width:100%;
  display:flex !important;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border:0 !important;
  color:#59617b !important;
  font-size:.82rem !important;
  font-weight:500 !important;
  line-height:1.45;
  text-decoration:none !important;
  white-space:normal !important;
}
.mm-sc-right #mm-sc-totals .mm-sc-returns-icon{
  width:20px !important;
  height:20px !important;
  flex:0 0 20px;
  border:1px solid #b9c0d0 !important;
  border-radius:50%;
  background:#fff;
  color:var(--mm-summary-navy);
  font-size:.66rem !important;
}

/* Aviso condicional: misma condición/HTML/modal existente; solo skin checkout. */
.mm-sc-right #mm-sc-totals .mm-sc-palet-notice{
  width:100%;
  box-sizing:border-box;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden;
  border:1px solid #ddd7ca !important;
  border-left:3px solid var(--mm-summary-gold) !important;
  border-radius:9px !important;
  background:#fff !important;
  box-shadow:none !important;
}
.mm-sc-right #mm-sc-totals .mm-sc-palet-trigger{
  width:100%;
  min-height:50px;
  display:grid !important;
  grid-template-columns:22px minmax(0,1fr) 20px;
  align-items:center;
  gap:10px;
  padding:11px 13px !important;
  border:0 !important;
  background:transparent !important;
  color:var(--mm-summary-navy) !important;
  text-align:left;
  transition:background-color .15s ease;
}
.mm-sc-right #mm-sc-totals .mm-sc-palet-trigger::before{
  content:"i";
  width:20px;
  height:20px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--mm-summary-gold);
  border-radius:50%;
  color:#8a6a2f;
  font-size:.72rem;
  font-weight:700;
  line-height:1;
}
.mm-sc-right #mm-sc-totals .mm-sc-palet-trigger::after{
  content:"↗";
  width:20px;
  height:20px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #c6ccd9;
  border-radius:50%;
  background:#fff;
  color:var(--mm-summary-navy);
  font-size:.64rem;
  line-height:1;
}
.mm-sc-right #mm-sc-totals .mm-sc-palet-trigger:hover{
  background:#fbfaf7 !important;
}
.mm-sc-right #mm-sc-totals .mm-sc-palet-trigger:focus-visible{
  outline:2px solid rgba(201,164,93,.35);
  outline-offset:-2px;
}
.mm-sc-right #mm-sc-totals .mm-sc-palet-notice__title{
  min-width:0;
  color:var(--mm-summary-navy) !important;
  font-size:.82rem !important;
  font-weight:600 !important;
  line-height:1.4 !important;
  text-decoration:none !important;
}

/* CTA auxiliar: no afecta a la barra flotante. */
.mm-sc-right .mm-sc-cta.mm-sc-cta--no-fixed-btn{
  margin-top:12px !important;
  display:grid !important;
  gap:10px !important;
}

/* Cupón: mismo acordeón visual del checkout. */
.mm-sc-right .mm-sc-coupon{
  margin:0 !important;
  padding:0 16px !important;
  border:1px solid var(--mm-summary-line) !important;
  border-radius:9px !important;
  background:#fff !important;
  box-shadow:none !important;
}
.mm-sc-right .mm-sc-coupon summary{
  min-height:48px;
  display:flex !important;
  align-items:center;
  margin:0 !important;
  list-style:none;
  cursor:pointer;
  color:#3f4866 !important;
  font-size:.84rem !important;
  font-weight:600 !important;
}
.mm-sc-right .mm-sc-coupon summary::-webkit-details-marker{display:none}
.mm-sc-right .mm-sc-coupon summary::before{
  content:"◇";
  margin-right:9px;
  color:var(--mm-summary-navy);
  font-size:.9rem;
}
.mm-sc-right .mm-sc-coupon summary::after{
  content:"+";
  margin-left:auto;
  color:var(--mm-summary-navy);
  font-size:1.05rem;
  font-weight:500;
}
.mm-sc-right .mm-sc-coupon[open] summary::after{content:"−"}
.mm-sc-right .mm-sc-coupon-row{
  display:flex !important;
  gap:8px !important;
  padding:0 0 14px !important;
}
.mm-sc-right .mm-sc-coupon-row input{
  min-width:0;
  flex:1;
  height:42px;
  padding:9px 11px !important;
  border:1px solid var(--mm-summary-line) !important;
  border-radius:8px !important;
  background:#fff !important;
  box-shadow:none !important;
  color:var(--mm-summary-ink);
}
.mm-sc-right .mm-sc-coupon-row input:focus{
  outline:none;
  border-color:var(--mm-summary-navy) !important;
  box-shadow:0 0 0 2px rgba(36,36,103,.08) !important;
}
.mm-sc-right .mm-sc-coupon-row button{
  min-height:42px;
  padding:9px 14px !important;
  border:0 !important;
  border-radius:8px !important;
  background:var(--mm-summary-navy) !important;
  color:#fff !important;
  box-shadow:none !important;
  font-size:.82rem !important;
  font-weight:700 !important;
}

/* Puntos de confianza: siguen siendo 100% configurables desde admin.
   Quitamos los bullets y los convertimos en filas discretas coherentes. */
.mm-sc-right .mm-sc-trust{
  display:grid !important;
  gap:8px !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
  color:#4f5874 !important;
  font-size:.82rem !important;
}
.mm-sc-right .mm-sc-trust > li{
  min-height:42px;
  display:flex;
  align-items:center;
  margin:0 !important;
  padding:9px 12px !important;
  border:1px solid #e2e6ef;
  border-radius:9px;
  background:#fff;
  line-height:1.35;
}
.mm-sc-right .mm-sc-trust > li::before{
  content:"✓";
  width:20px;
  height:20px;
  flex:0 0 20px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-right:9px;
  border-radius:50%;
  background:#f0f1fb;
  color:var(--mm-summary-navy);
  font-size:.68rem;
  font-weight:800;
}
.mm-sc-right .mm-sc-trust--pay .mm-sc-trust-main{
  width:100%;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between;
  gap:10px !important;
  flex-wrap:wrap !important;
}
.mm-sc-right .mm-sc-trust--pay .mm-sc-trust-label{
  color:#4f5874;
  white-space:normal !important;
}
.mm-sc-right .mm-sc-trust-icons{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:5px !important;
}
.mm-sc-right .mm-sc-trust-icons img{
  width:auto !important;
  max-width:50px !important;
  height:17px !important;
  object-fit:contain;
  margin:0 !important;
}

@media (max-width:767px){
  .mm-sc-right #mm-sc-totals .mm-sc-totals-card{
    padding:18px !important;
    border-radius:12px !important;
  }
  .mm-sc-right #mm-sc-totals .mm-sc-returns-trigger,
  .mm-sc-right #mm-sc-totals .mm-sc-palet-trigger{
    padding:11px 12px !important;
  }
  .mm-sc-right .mm-sc-coupon{
    padding:0 13px !important;
  }
  .mm-sc-right .mm-sc-coupon-row{
    flex-wrap:nowrap !important;
  }
  .mm-sc-right .mm-sc-trust--pay .mm-sc-trust-main{
    align-items:flex-start !important;
  }
}

/* ==========================================================
   RIGHT COLUMN WIDTH + TRUST PANEL — v2.8.12
   Visual only. Keeps ETA/shipping logic and admin-configured trust content intact.
   ========================================================== */
@media (min-width:1181px){
  .mm-sc-grid{
    grid-template-columns:minmax(0,1.62fr) minmax(420px,.98fr) !important;
    gap:34px !important;
  }
}
@media (min-width:981px) and (max-width:1180px){
  .mm-sc-grid{
    grid-template-columns:minmax(0,1.45fr) minmax(390px,.95fr) !important;
    gap:24px !important;
  }
}

/* Los puntos de confianza pasan a ser un único panel, no tres cajas aisladas. */
.mm-sc-right .mm-sc-trust{
  display:block !important;
  margin:14px 0 0 !important;
  padding:0 16px !important;
  list-style:none !important;
  background:#fff !important;
  border:1px solid #d9deea !important;
  border-radius:14px !important;
  box-shadow:0 8px 28px rgba(31,39,74,.05) !important;
  overflow:hidden;
}
.mm-sc-right .mm-sc-trust > li{
  position:relative;
  min-height:58px !important;
  display:flex !important;
  align-items:center !important;
  margin:0 !important;
  padding:14px 4px !important;
  border:0 !important;
  border-bottom:1px solid #edf0f5 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#303754 !important;
  font-size:.86rem !important;
  font-weight:600;
  line-height:1.35;
}
.mm-sc-right .mm-sc-trust > li:last-child{
  border-bottom:0 !important;
}
.mm-sc-right .mm-sc-trust > li::before{
  content:"✓" !important;
  width:30px !important;
  height:30px !important;
  flex:0 0 30px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 12px 0 0 !important;
  border:1px solid #dfe2f2;
  border-radius:50% !important;
  background:#f4f4fc !important;
  color:#242467 !important;
  box-shadow:inset 0 0 0 3px #fff;
  font-size:.72rem !important;
  font-weight:900 !important;
}
.mm-sc-right .mm-sc-trust > li:hover{
  background:#fbfbfe !important;
}

/* Pago seguro: texto a la izquierda, métodos de pago ordenados a la derecha. */
.mm-sc-right .mm-sc-trust--pay .mm-sc-trust-main{
  flex:1 1 auto;
  min-width:0;
  width:auto !important;
  display:grid !important;
  grid-template-columns:minmax(110px,auto) minmax(0,1fr);
  align-items:center !important;
  gap:12px !important;
}
.mm-sc-right .mm-sc-trust--pay .mm-sc-trust-label{
  color:#303754 !important;
  font-weight:600;
  white-space:normal !important;
}
.mm-sc-right .mm-sc-trust-icons{
  min-width:0;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  flex-wrap:wrap !important;
  gap:7px 9px !important;
}
.mm-sc-right .mm-sc-trust-icons img{
  width:auto !important;
  max-width:58px !important;
  height:19px !important;
  object-fit:contain !important;
  margin:0 !important;
  filter:none !important;
}

@media (max-width:767px){
  .mm-sc-right .mm-sc-trust{
    margin-top:12px !important;
    padding:0 12px !important;
    border-radius:12px !important;
  }
  .mm-sc-right .mm-sc-trust > li{
    min-height:54px !important;
    padding:12px 2px !important;
    font-size:.83rem !important;
  }
  .mm-sc-right .mm-sc-trust > li::before{
    width:28px !important;
    height:28px !important;
    flex-basis:28px !important;
    margin-right:10px !important;
  }
  .mm-sc-right .mm-sc-trust--pay .mm-sc-trust-main{
    grid-template-columns:1fr !important;
    gap:7px !important;
  }
  .mm-sc-right .mm-sc-trust-icons{
    justify-content:flex-start !important;
  }
  .mm-sc-right .mm-sc-trust-icons img{
    max-width:50px !important;
    height:17px !important;
  }
}

/* ==========================================================
   TRUST INFO — v2.8.13
   Visual treatment aligned with checkout "Entrega de tu pedido".
   Content remains fully admin-managed.
   ========================================================== */
.mm-sc-right .mm-sc-trust{
  margin:14px 0 0 !important;
  padding:16px 18px !important;
  background:#fff !important;
  border:1px solid #dfe3ee !important;
  border-radius:12px !important;
  box-shadow:0 4px 16px rgba(31,39,74,.025) !important;
  overflow:visible !important;
}

.mm-sc-right .mm-sc-trust > li{
  min-height:0 !important;
  padding:4px 0 !important;
  border:0 !important;
  background:transparent !important;
  color:#69718b !important;
  font-size:.82rem !important;
  font-weight:400 !important;
  line-height:1.45 !important;
}
.mm-sc-right .mm-sc-trust > li:hover{
  background:transparent !important;
}
.mm-sc-right .mm-sc-trust > li::before{
  content:"✓" !important;
  width:18px !important;
  height:18px !important;
  flex:0 0 18px !important;
  margin:0 9px 0 0 !important;
  border:0 !important;
  border-radius:50% !important;
  background:#f1f0fb !important;
  color:#242467 !important;
  box-shadow:none !important;
  font-size:.62rem !important;
  font-weight:800 !important;
}

.mm-sc-right .mm-sc-trust--pay{
  align-items:flex-start !important;
}
.mm-sc-right .mm-sc-trust--pay .mm-sc-trust-main{
  width:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
}
.mm-sc-right .mm-sc-trust--pay .mm-sc-trust-label{
  color:#69718b !important;
  font-size:.82rem !important;
  font-weight:400 !important;
  white-space:nowrap !important;
}
.mm-sc-right .mm-sc-trust-icons{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  flex-wrap:wrap !important;
  gap:5px 7px !important;
  opacity:.88;
}
.mm-sc-right .mm-sc-trust-icons img{
  width:auto !important;
  max-width:44px !important;
  height:15px !important;
  object-fit:contain !important;
  margin:0 !important;
}

@media (max-width:767px){
  .mm-sc-right .mm-sc-trust{
    padding:14px 15px !important;
    margin-top:12px !important;
    border-radius:11px !important;
  }
  .mm-sc-right .mm-sc-trust > li{
    padding:4px 0 !important;
    font-size:.8rem !important;
  }
  .mm-sc-right .mm-sc-trust > li::before{
    width:17px !important;
    height:17px !important;
    flex-basis:17px !important;
    margin-right:8px !important;
  }
  .mm-sc-right .mm-sc-trust--pay .mm-sc-trust-main{
    display:block !important;
  }
  .mm-sc-right .mm-sc-trust--pay .mm-sc-trust-label{
    display:block !important;
    margin-bottom:7px !important;
  }
  .mm-sc-right .mm-sc-trust-icons{
    justify-content:flex-start !important;
  }
  .mm-sc-right .mm-sc-trust-icons img{
    max-width:40px !important;
    height:14px !important;
  }
}

/* ==========================================================
   GROUPED PRODUCT — calculator preview / price actions v2.8.14
   ========================================================== */
.mm-sc-left .mm-sc-group-card__price-actions{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:18px !important;
  flex:0 0 auto !important;
  margin-left:24px !important;
}
.mm-sc-left .mm-sc-group-card__price-actions .mm-sc-group-card__price{
  margin:0 !important;
}
.mm-sc-left .mm-sc-group-card__price-actions .mm-sc-remove-group-btn{
  position:static !important;
  flex:0 0 auto !important;
  margin:0 !important;
}
.mm-sc-left .mm-sc-group-card__actions{
  justify-content:flex-start !important;
  border-top:0 !important;
  padding-top:0 !important;
  margin-top:15px !important;
}
.mm-sc-left .mm-sc-group-calc-toggle{
  display:inline-flex !important;
  align-items:center !important;
  gap:9px !important;
  min-height:40px !important;
  padding:9px 13px !important;
  border:1px solid #d9deea !important;
  border-radius:9px !important;
  background:#fff !important;
  color:#242467 !important;
  font-weight:600 !important;
  box-shadow:none !important;
}
.mm-sc-left .mm-sc-group-calc-toggle:hover{
  background:#f8f9fc !important;
  border-color:#cbd1df !important;
}
.mm-sc-left .mm-sc-group-calc-icon{
  display:grid !important;
  place-items:center !important;
  width:19px !important;
  height:19px !important;
  border:1px solid #afb6ca !important;
  border-radius:4px !important;
  font-size:13px !important;
  line-height:1 !important;
  color:#242467 !important;
}
.mm-sc-left .mm-sc-group-calc-chevron{
  margin-left:2px !important;
  transition:transform .18s ease !important;
}
.mm-sc-left .mm-sc-group-calc-toggle[aria-expanded="true"] .mm-sc-group-calc-chevron{
  transform:rotate(180deg) !important;
}
.mm-sc-left .mm-sc-group-calculator-preview{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:22px !important;
  padding:16px 0 17px !important;
  margin:0 0 2px !important;
  border-bottom:1px solid #e5e8f0 !important;
}
.mm-sc-left .mm-sc-group-calculator-preview__copy{
  display:flex !important;
  flex-direction:column !important;
  gap:3px !important;
  min-width:0 !important;
}
.mm-sc-left .mm-sc-group-calculator-preview__copy strong{
  color:#242467 !important;
  font-size:14px !important;
  line-height:1.35 !important;
}
.mm-sc-left .mm-sc-group-calculator-preview__copy span{
  color:#737b94 !important;
  font-size:12.5px !important;
  line-height:1.4 !important;
}
.mm-sc-left .mm-sc-group-calculator-preview__control{
  display:flex !important;
  align-items:center !important;
  gap:9px !important;
  flex:0 0 auto !important;
}
.mm-sc-left .mm-sc-group-calculator-preview__input-wrap{
  display:flex !important;
  align-items:center !important;
  height:40px !important;
  min-width:145px !important;
  border:1px solid #cfd5e2 !important;
  border-radius:9px !important;
  overflow:hidden !important;
  background:#fff !important;
}
.mm-sc-left .mm-sc-group-calculator-target{
  width:92px !important;
  height:38px !important;
  margin:0 !important;
  padding:0 12px !important;
  border:0 !important;
  border-radius:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:#fff !important;
  color:#222743 !important;
  font-weight:600 !important;
  text-align:right !important;
}
.mm-sc-left .mm-sc-group-calculator-target:focus{
  box-shadow:inset 0 0 0 1px #242467 !important;
}
.mm-sc-left .mm-sc-group-calculator-unit{
  display:flex !important;
  align-items:center !important;
  align-self:stretch !important;
  padding:0 11px !important;
  border-left:1px solid #e3e6ee !important;
  background:#f8f9fc !important;
  color:#5f6781 !important;
  font-size:12.5px !important;
  font-weight:600 !important;
}
.mm-sc-left .mm-sc-group-recalculate-preview{
  min-height:40px !important;
  padding:0 15px !important;
  border:1px solid #242467 !important;
  border-radius:9px !important;
  background:#242467 !important;
  color:#fff !important;
  font-weight:600 !important;
  cursor:default !important;
  opacity:.92 !important;
}
@media (max-width:800px){
  .mm-sc-left .mm-sc-group-card__title-line{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:9px 12px !important;
  }
  .mm-sc-left .mm-sc-group-card__price-actions{
    gap:10px !important;
    margin-left:0 !important;
  }
  .mm-sc-left .mm-sc-group-calculator-preview{
    align-items:stretch !important;
    flex-direction:column !important;
    gap:11px !important;
  }
  .mm-sc-left .mm-sc-group-calculator-preview__control{
    width:100% !important;
  }
  .mm-sc-left .mm-sc-group-calculator-preview__input-wrap{
    flex:1 1 auto !important;
    min-width:0 !important;
  }
  .mm-sc-left .mm-sc-group-calculator-target{
    width:100% !important;
    min-width:0 !important;
    text-align:left !important;
  }
  .mm-sc-left .mm-sc-group-recalculate-preview{
    flex:0 0 auto !important;
  }
}

/* ==========================================================
   GROUPED PRODUCT — action row correction v2.8.15
   Ver detalle izquierda + Calcular derecha; papelera junto al precio.
   ========================================================== */
.mm-sc-left .mm-sc-group-card__title-line{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:20px !important;
}
.mm-sc-left .mm-sc-group-card__price-actions{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:14px !important;
  margin:0 0 0 24px !important;
  flex:0 0 auto !important;
}
.mm-sc-left .mm-sc-group-card__price-actions .mm-sc-remove-group-btn{
  position:relative !important;
  inset:auto !important;
  right:auto !important;
  bottom:auto !important;
  top:auto !important;
  left:auto !important;
  display:inline-block !important;
  width:36px !important;
  min-width:36px !important;
  height:36px !important;
  margin:0 !important;
  padding:0 !important;
  border:1px solid #dfe3ee !important;
  border-radius:9px !important;
  background:#fff !important;
  color:transparent !important;
  font-size:0 !important;
  line-height:0 !important;
  overflow:hidden !important;
  vertical-align:middle !important;
}
.mm-sc-left .mm-sc-group-card__price-actions .mm-sc-remove-group-btn::before{
  content:"" !important;
  position:absolute !important;
  inset:8px !important;
  margin:0 !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:18px 18px !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23626b88' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M8 6V4h8v2'/%3E%3Cpath d='M19 6l-1 14H6L5 6'/%3E%3Cpath d='M10 11v5'/%3E%3Cpath d='M14 11v5'/%3E%3C/svg%3E") !important;
}
.mm-sc-left .mm-sc-group-card__actions{
  display:flex !important;
  width:100% !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:14px !important;
  margin:15px 0 0 !important;
  padding:0 !important;
  padding-right:0 !important;
  border:0 !important;
  position:static !important;
}
.mm-sc-left .mm-sc-group-detail-toggle,
.mm-sc-left .mm-sc-group-calc-toggle{
  appearance:none !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  min-height:38px !important;
  padding:8px 12px !important;
  border:1px solid #d9deea !important;
  border-radius:8px !important;
  background:#fff !important;
  color:#242467 !important;
  font:inherit !important;
  font-size:13px !important;
  font-weight:600 !important;
  line-height:1 !important;
  cursor:pointer !important;
  box-shadow:none !important;
}
.mm-sc-left .mm-sc-group-calc-toggle{
  margin-left:auto !important;
}
.mm-sc-left .mm-sc-group-detail-toggle:hover,
.mm-sc-left .mm-sc-group-calc-toggle:hover{
  border-color:#cbd1df !important;
  background:#f8f9fc !important;
}
.mm-sc-left .mm-sc-group-detail-chevron{
  display:inline-block !important;
  margin-left:3px !important;
  transition:transform .18s ease !important;
}
.mm-sc-left .mm-sc-group-detail-toggle[aria-expanded="true"] .mm-sc-group-detail-chevron{
  transform:rotate(180deg) !important;
}
.mm-sc-left .mm-sc-group-calculator-preview[hidden]{
  display:none !important;
}

@media (max-width:800px){
  .mm-sc-left .mm-sc-group-card__title-line{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:8px 12px !important;
  }
  .mm-sc-left .mm-sc-group-card__price-actions{
    gap:9px !important;
    margin-left:0 !important;
  }
  .mm-sc-left .mm-sc-group-card__actions{
    margin-top:12px !important;
    gap:10px !important;
  }
  .mm-sc-left .mm-sc-group-detail-toggle,
  .mm-sc-left .mm-sc-group-calc-toggle{
    min-height:36px !important;
    padding:8px 10px !important;
    font-size:12.5px !important;
  }
}


/* ==========================================================
   GROUPED PRODUCT — detail toggle rotation fix v2.8.16
   Only the chevron rotates; labels stay readable.
   ========================================================== */
.mm-sc-left .mm-sc-group-detail-toggle .mm-sc-group-detail-label,
.mm-sc-left .mm-sc-group-detail-toggle[aria-expanded="true"] .mm-sc-group-detail-label{
  transform:none !important;
  rotate:none !important;
}
.mm-sc-left .mm-sc-group-detail-toggle .mm-sc-group-detail-chevron{
  transform:rotate(0deg) !important;
  transition:transform .18s ease !important;
}
.mm-sc-left .mm-sc-group-detail-toggle[aria-expanded="true"] .mm-sc-group-detail-chevron{
  transform:rotate(180deg) !important;
}

/* ==========================================================
   PRODUCT ROW ALIGNMENT — v2.8.17
   Agrupados y simples comparten las mismas guías de columnas en desktop.
   ========================================================== */
@container mm-left (min-width:900px){
  /* La fila agrupada replica las columnas del producto simple:
     producto | precio unitario | cantidad | total | papelera */
  .mm-sc-left .mm-sc-group-card__head{
    display:grid !important;
    grid-template-columns:104px minmax(0,1fr) 112px 190px 128px 36px !important;
    column-gap:22px !important;
    align-items:center !important;
    width:100% !important;
  }
  .mm-sc-left .mm-sc-group-card__media{
    grid-column:1 !important;
    grid-row:1 / span 3 !important;
  }
  .mm-sc-left .mm-sc-group-card__main,
  .mm-sc-left .mm-sc-group-card__title-line,
  .mm-sc-left .mm-sc-group-card__price-actions{
    display:contents !important;
  }
  .mm-sc-left .mm-sc-group-card__title{
    grid-column:2 !important;
    grid-row:1 !important;
    align-self:end !important;
    min-width:0 !important;
  }
  .mm-sc-left .mm-sc-group-card__meta{
    grid-column:2 !important;
    grid-row:2 !important;
    align-self:start !important;
    margin:7px 0 0 !important;
  }
  .mm-sc-left .mm-sc-group-card__price-actions .mm-sc-group-card__price{
    grid-column:5 !important;
    grid-row:1 / span 2 !important;
    align-self:center !important;
    justify-self:end !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    text-align:right !important;
    white-space:nowrap !important;
  }
  .mm-sc-left .mm-sc-group-card__price-actions .mm-sc-remove-group-btn{
    grid-column:6 !important;
    grid-row:1 / span 2 !important;
    align-self:center !important;
    justify-self:end !important;
    position:relative !important;
    inset:auto !important;
    margin:0 !important;
  }
  .mm-sc-left .mm-sc-group-card__actions{
    grid-column:2 / 7 !important;
    grid-row:3 !important;
    width:100% !important;
    margin:16px 0 0 !important;
  }

  /* Refuerzo de las dos guías visuales comunes. */
  .mm-sc-left .mm-sc-table tbody > tr:not(.mm-sc-group-row) .mm-sc-subtotal,
  .mm-sc-left .mm-sc-group-card__price{
    text-align:right !important;
    justify-self:end !important;
  }
  .mm-sc-left .mm-sc-table tbody > tr:not(.mm-sc-group-row) .mm-sc-remove-btn,
  .mm-sc-left .mm-sc-group-card__price-actions .mm-sc-remove-group-btn{
    width:36px !important;
    min-width:36px !important;
    height:36px !important;
  }
}

/* Tablet: mantiene total y papelera juntos sin forzar la cuadrícula desktop. */
@media (min-width:801px){ @container mm-left (max-width:899px){
  .mm-sc-left .mm-sc-group-card__price-actions{
    min-width:150px !important;
    justify-content:flex-end !important;
  }
  .mm-sc-left .mm-sc-group-card__price-actions .mm-sc-group-card__price{
    padding:0 !important;
    text-align:right !important;
  }
}}


/* ==========================================================
   SIMPLE / VARIABLE PRODUCT ALIGNMENT — v2.8.18
   Move unit price under title (same guide as grouped Total),
   keep qty further left, and preserve common total/delete columns.
   ========================================================== */
@container mm-left (min-width:900px){
  .mm-sc-left .mm-sc-table tbody > tr:not(.mm-sc-group-row){
    grid-template-columns:104px minmax(0,1fr) 190px 128px 36px !important;
    grid-template-rows:auto auto !important;
    row-gap:8px !important;
  }
  .mm-sc-left .mm-sc-table tbody > tr:not(.mm-sc-group-row) > td{
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
  }
  .mm-sc-left .mm-sc-table tbody > tr:not(.mm-sc-group-row) .mm-sc-p{
    display:contents !important;
  }
  .mm-sc-left .mm-sc-table tbody > tr:not(.mm-sc-group-row) .mm-sc-p--img{
    grid-column:1 !important;
    grid-row:1 / span 2 !important;
    align-self:center !important;
  }
  .mm-sc-left .mm-sc-table tbody > tr:not(.mm-sc-group-row) .mm-sc-p--data{
    grid-column:2 !important;
    grid-row:1 !important;
    align-self:end !important;
    min-width:0 !important;
  }
  .mm-sc-left .mm-sc-table tbody > tr:not(.mm-sc-group-row) .mm-sc-price{
    grid-column:2 !important;
    grid-row:2 !important;
    align-self:start !important;
    justify-self:start !important;
    margin:0 !important;
    text-align:left !important;
    max-width:none !important;
    width:auto !important;
    white-space:nowrap !important;
  }
  .mm-sc-left .mm-sc-table tbody > tr:not(.mm-sc-group-row) .mm-sc-qty{
    grid-column:3 !important;
    grid-row:1 / span 2 !important;
    align-self:center !important;
    justify-self:center !important;
    width:100% !important;
  }
  .mm-sc-left .mm-sc-table tbody > tr:not(.mm-sc-group-row) .mm-sc-subtotal{
    grid-column:4 !important;
    grid-row:1 / span 2 !important;
    align-self:center !important;
    justify-self:end !important;
    padding:0 !important;
    text-align:right !important;
    white-space:nowrap !important;
  }
  .mm-sc-left .mm-sc-table tbody > tr:not(.mm-sc-group-row) .mm-sc-remove-btn{
    position:relative !important;
    top:auto !important;
    right:auto !important;
    transform:none !important;
    grid-column:5 !important;
    grid-row:1 / span 2 !important;
    align-self:center !important;
    justify-self:end !important;
    width:36px !important;
    min-width:36px !important;
    height:36px !important;
    margin:0 !important;
  }
}


/* ==========================================================
   GROUPED TITLE WIDTH — v2.8.20
   In desktop, grouped product titles can use the full product-content span,
   matching the visual width available to simple products before the total column.
   ========================================================== */
@container mm-left (min-width:900px){
  .mm-sc-left .mm-sc-group-card__title{
    grid-column:2 / 5 !important;
    grid-row:1 !important;
    min-width:0 !important;
    max-width:none !important;
  }
  .mm-sc-left .mm-sc-group-card__meta{
    grid-column:2 / 4 !important;
    grid-row:2 !important;
    min-width:0 !important;
  }
}


/* ==========================================================
   CART TOP ACTIONS — v2.8.21
   Barra superior sin card envolvente; acciones ligeras y coherentes.
   ========================================================== */
.mm-sc-wrap .mm-sc-topbar{
  display:flex !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  margin:18px 0 26px !important;
  padding:0 0 18px !important;
  background:transparent !important;
  border:0 !important;
  border-bottom:1px solid #dfe3ee !important;
  border-radius:0 !important;
  box-shadow:none !important;
  min-height:0 !important;
}
.mm-sc-wrap .mm-sc-topbar .btn-share,
.mm-sc-wrap .mm-sc-topbar .mm-sc-pdf-btn{
  min-height:42px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  padding:9px 14px !important;
  border:1px solid #dfe3ee !important;
  border-radius:9px !important;
  background:#fff !important;
  color:#303650 !important;
  font-size:13px !important;
  line-height:1.2 !important;
  font-weight:600 !important;
  text-decoration:none !important;
  box-shadow:0 1px 2px rgba(23,26,62,.025) !important;
  transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease !important;
}
@media (hover:hover){
  .mm-sc-wrap .mm-sc-topbar .btn-share:hover,
  .mm-sc-wrap .mm-sc-topbar .mm-sc-pdf-btn:hover{
    background:#f8f9fc !important;
    border-color:#cfd5e3 !important;
    box-shadow:0 3px 10px rgba(23,26,62,.045) !important;
    transform:translateY(-1px) !important;
  }
}
/* PDF: ligeramente más reconocible como acción normal del cliente, sin hacerlo CTA. */
.mm-sc-wrap .mm-sc-topbar .mm-sc-pdf-btn{
  color:#242467 !important;
  border-color:#d6daea !important;
}
/* Compartir enlace: secundario. */
.mm-sc-wrap .mm-sc-topbar #mm-sc-share-btn{
  color:#4f5872 !important;
}
/* Admin: vaciar sigue siendo destructivo, pero más sobrio. */
.mm-sc-wrap .mm-sc-topbar .mm-sc-clear-cart-btn{
  background:#fff7f7 !important;
  border-color:#efb4b7 !important;
  color:#b4232d !important;
}
@media (hover:hover){
  .mm-sc-wrap .mm-sc-topbar .mm-sc-clear-cart-btn:hover{
    background:#fff0f0 !important;
    border-color:#e28e93 !important;
  }
}
/* Mensajes de compartir no fuerzan espacio cuando están vacíos. */
.mm-sc-wrap .mm-sc-topbar .mm-sc-share-wrap:empty{
  display:none !important;
}
.mm-sc-wrap .mm-sc-topbar .mm-sc-share-wrap{
  margin-left:0 !important;
}
/* El enlace copiable sigue en la misma línea sin recrear un panel. */
.mm-sc-wrap .mm-sc-topbar .share-inline-link{
  gap:8px !important;
  min-width:0 !important;
}
.mm-sc-wrap .mm-sc-topbar .share-inline-link input{
  min-height:42px !important;
  border:1px solid #dfe3ee !important;
  border-radius:9px !important;
  box-shadow:none !important;
}
@media (max-width:640px){
  .mm-sc-wrap .mm-sc-topbar{
    gap:8px !important;
    margin:14px 0 18px !important;
    padding:0 0 14px !important;
  }
  .mm-sc-wrap .mm-sc-topbar .btn-share,
  .mm-sc-wrap .mm-sc-topbar .mm-sc-pdf-btn{
    min-height:40px !important;
    padding:8px 12px !important;
    font-size:12.5px !important;
  }
  .mm-sc-wrap .mm-sc-topbar .woocommerce-cart-pdf.link-wrapper{
    max-width:100% !important;
  }
}


/* ==========================================================
   CART STEPS / BREADCRUMB — v2.8.22
   Estilo continuo como el mockup: Tienda > Carrito > Checkout.
   Solo presentación; enlaces y navegación permanecen intactos.
   ========================================================== */
.mm-sc-wrap .mm-sc-steps{
  display:flex !important;
  align-items:stretch !important;
  gap:0 !important;
  width:max-content !important;
  max-width:100% !important;
  margin:28px 0 18px !important;
  padding:0 !important;
  border:1px solid #e1e5ee !important;
  border-radius:10px !important;
  background:#fff !important;
  box-shadow:0 1px 2px rgba(23,26,62,.02) !important;
  overflow:hidden !important;
}
.mm-sc-wrap .mm-sc-steps .step{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:9px !important;
  height:42px !important;
  min-width:128px !important;
  padding:0 28px 0 20px !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:#fff !important;
  color:#59627c !important;
  box-shadow:none !important;
  text-decoration:none !important;
  font-size:13px !important;
  line-height:1 !important;
  font-weight:500 !important;
  white-space:nowrap !important;
  isolation:isolate !important;
}
/* Separador en chevron entre pasos. */
.mm-sc-wrap .mm-sc-steps .step:not(:last-child)::after{
  content:"" !important;
  position:absolute !important;
  z-index:2 !important;
  top:50% !important;
  right:-13px !important;
  width:26px !important;
  height:26px !important;
  transform:translateY(-50%) rotate(45deg) !important;
  background:inherit !important;
  border-top:1px solid #e1e5ee !important;
  border-right:1px solid #e1e5ee !important;
  border-radius:0 3px 0 0 !important;
}
.mm-sc-wrap .mm-sc-steps .step + .step{
  padding-left:31px !important;
}
.mm-sc-wrap .mm-sc-steps .step > span{
  position:relative !important;
  z-index:3 !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
}
/* Iconos, dibujados en CSS para no cambiar el funcionamiento/HTML. */
.mm-sc-wrap .mm-sc-steps .step > span::before{
  content:"" !important;
  flex:0 0 17px !important;
  width:17px !important;
  height:17px !important;
  background-color:currentColor !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:17px 17px !important;
  -webkit-mask-repeat:no-repeat !important;
  -webkit-mask-position:center !important;
  -webkit-mask-size:17px 17px !important;
  mask-repeat:no-repeat !important;
  mask-position:center !important;
  mask-size:17px 17px !important;
}
/* Tienda */
.mm-sc-wrap .mm-sc-steps .step:nth-child(1) > span::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 3 3 10v11h6v-7h6v7h6V10L12 3Zm0 2.54 7 5.44V19h-2v-7H7v7H5v-8.02l7-5.44Z'/%3E%3C/svg%3E") !important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 3 3 10v11h6v-7h6v7h6V10L12 3Zm0 2.54 7 5.44V19h-2v-7H7v7H5v-8.02l7-5.44Z'/%3E%3C/svg%3E") !important;
}
/* Carrito */
.mm-sc-wrap .mm-sc-steps .step:nth-child(2) > span::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 4H3v2h2l2.4 10.1A2.5 2.5 0 0 0 9.83 18H18v-2H9.83a.5.5 0 0 1-.49-.39L9.2 15H18a2 2 0 0 0 1.94-1.52L21.5 7H7.71L7 4Zm2 13.5A1.5 1.5 0 1 0 9 20a1.5 1.5 0 0 0 0-3Zm8 0a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Z'/%3E%3C/svg%3E") !important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 4H3v2h2l2.4 10.1A2.5 2.5 0 0 0 9.83 18H18v-2H9.83a.5.5 0 0 1-.49-.39L9.2 15H18a2 2 0 0 0 1.94-1.52L21.5 7H7.71L7 4Zm2 13.5A1.5 1.5 0 1 0 9 20a1.5 1.5 0 0 0 0-3Zm8 0a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Z'/%3E%3C/svg%3E") !important;
}
/* Checkout */
.mm-sc-wrap .mm-sc-steps .step:nth-child(3) > span::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5Zm2 0v3h14V5H5Zm0 5v9h14v-9H5Zm2 3h5v2H7v-2Z'/%3E%3C/svg%3E") !important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5Zm2 0v3h14V5H5Zm0 5v9h14v-9H5Zm2 3h5v2H7v-2Z'/%3E%3C/svg%3E") !important;
}
/* Paso actual. */
.mm-sc-wrap .mm-sc-steps .step.active{
  background:#f7f7fc !important;
  color:#242467 !important;
  border-color:transparent !important;
  font-weight:700 !important;
  box-shadow:inset 0 -2px 0 #242467 !important;
}
.mm-sc-wrap .mm-sc-steps .step.active::after{
  background:#f7f7fc !important;
}
@media (hover:hover){
  .mm-sc-wrap .mm-sc-steps a.step:hover{
    color:#242467 !important;
    background:#fafaff !important;
  }
  .mm-sc-wrap .mm-sc-steps a.step:hover::after{
    background:#fafaff !important;
  }
}
@media (max-width:640px){
  .mm-sc-wrap .mm-sc-steps{
    width:100% !important;
    margin:18px 0 14px !important;
  }
  .mm-sc-wrap .mm-sc-steps .step{
    flex:1 1 0 !important;
    min-width:0 !important;
    height:40px !important;
    padding:0 18px 0 12px !important;
    justify-content:center !important;
    font-size:11.5px !important;
  }
  .mm-sc-wrap .mm-sc-steps .step + .step{
    padding-left:22px !important;
  }
  .mm-sc-wrap .mm-sc-steps .step > span{
    gap:5px !important;
  }
  .mm-sc-wrap .mm-sc-steps .step > span::before{
    width:14px !important;
    height:14px !important;
    flex-basis:14px !important;
    -webkit-mask-size:14px 14px !important;
    mask-size:14px 14px !important;
  }
}


/* ==========================================================
   CART HEADER TOOLBAR — v2.8.25
   Breadcrumb and contextual cart actions share one clean row.
   ========================================================== */
.mm-sc-wrap .mm-sc-cart-toolbar{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:24px !important;
  flex-wrap:wrap !important;
  width:100% !important;
  margin:118px 0 26px !important;
  padding:0 0 18px !important;
  border-bottom:1px solid #dfe3ee !important;
  box-sizing:border-box !important;
}
/* The toolbar now owns the top spacing and separator. */
.mm-sc-wrap .mm-sc-cart-toolbar .mm-sc-steps{
  margin:0 !important;
  flex:0 0 auto !important;
}
.mm-sc-wrap .mm-sc-cart-toolbar .mm-sc-topbar{
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  flex:0 1 auto !important;
  justify-content:flex-end !important;
  gap:8px !important;
}
/* Context actions are deliberately quieter than the cart breadcrumb. */
.mm-sc-wrap .mm-sc-cart-toolbar .mm-sc-topbar .btn-share,
.mm-sc-wrap .mm-sc-cart-toolbar .mm-sc-topbar .mm-sc-pdf-btn{
  min-height:36px !important;
  padding:7px 11px !important;
  border-color:#e1e5ee !important;
  border-radius:8px !important;
  background:transparent !important;
  box-shadow:none !important;
  color:#59627c !important;
  font-size:12.5px !important;
  font-weight:600 !important;
}
.mm-sc-wrap .mm-sc-cart-toolbar .mm-sc-topbar .mm-sc-pdf-btn{
  color:#242467 !important;
}
.mm-sc-wrap .mm-sc-cart-toolbar .mm-sc-topbar .mm-sc-clear-cart-btn{
  color:#b4232d !important;
  border-color:#efc5c7 !important;
  background:#fffafa !important;
}
@media (hover:hover){
  .mm-sc-wrap .mm-sc-cart-toolbar .mm-sc-topbar .btn-share:hover,
  .mm-sc-wrap .mm-sc-cart-toolbar .mm-sc-topbar .mm-sc-pdf-btn:hover{
    background:#f8f9fc !important;
    border-color:#cfd5e3 !important;
    transform:none !important;
    box-shadow:none !important;
  }
}
@media (max-width:1050px){
  .mm-sc-wrap .mm-sc-cart-toolbar{
    align-items:flex-start !important;
    gap:12px !important;
  }
  .mm-sc-wrap .mm-sc-cart-toolbar .mm-sc-topbar{
    flex:1 1 100% !important;
    justify-content:flex-start !important;
  }
}
@media (max-width:640px){
  .mm-sc-wrap .mm-sc-cart-toolbar{
    margin:104px 0 20px !important;
    padding-bottom:14px !important;
    gap:10px !important;
  }
  .mm-sc-wrap .mm-sc-cart-toolbar .mm-sc-steps{
    flex:1 1 100% !important;
  }
  .mm-sc-wrap .mm-sc-cart-toolbar .mm-sc-topbar{
    flex:1 1 100% !important;
    gap:7px !important;
  }
}

/* ==========================================================
   TOOLBAR + BARRA DE ADMIN DE WORDPRESS
   ==========================================================
   El margen de arriba (118px / 104px en móvil) se calculó para un
   visitante sin sesión. #wpadminbar añade 32px de alto a la cabecera fija
   en escritorio y 46px en móvil (mismo breakpoint que usa el propio
   WordPress, 782px) — así que con sesión iniciada la cabecera es más alta
   de lo que este margen preveía, y el toolbar (migas + compartir/PDF/
   vaciar) queda esa misma diferencia desplazado hacia arriba, asomando por
   debajo de la cabecera. Quien prueba la web casi siempre tiene sesión
   iniciada, así que este es el caso que en la práctica se ve roto.
   ========================================================== */
body.admin-bar .mm-sc-wrap .mm-sc-cart-toolbar{
  margin-top: calc(118px + 32px) !important;
}
@media (max-width:782px){
  body.admin-bar .mm-sc-wrap .mm-sc-cart-toolbar{
    margin-top: calc(118px + 46px) !important;
  }
}
@media (max-width:640px){
  body.admin-bar .mm-sc-wrap .mm-sc-cart-toolbar{
    margin-top: calc(104px + 46px) !important;
  }
}


/* ==========================================================
   TOPBAR ACTION ICONS + EMPHASIZED PDF — v2.8.26
   Adds mockup-style icons and a stronger blue border for the PDF action.
   ========================================================== */
.mm-sc-wrap .mm-sc-cart-toolbar .mm-sc-topbar .btn-share,
.mm-sc-wrap .mm-sc-cart-toolbar .mm-sc-topbar .mm-sc-pdf-btn{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
}
.mm-sc-wrap .mm-sc-cart-toolbar .mm-sc-topbar .btn-share::before,
.mm-sc-wrap .mm-sc-cart-toolbar .mm-sc-topbar .mm-sc-pdf-btn::before{
  content:'' !important;
  flex:0 0 14px !important;
  width:14px !important;
  height:14px !important;
  background-color:currentColor !important;
  -webkit-mask-repeat:no-repeat !important;
  -webkit-mask-position:center !important;
  -webkit-mask-size:14px 14px !important;
  mask-repeat:no-repeat !important;
  mask-position:center !important;
  mask-size:14px 14px !important;
}
.mm-sc-wrap .mm-sc-cart-toolbar .mm-sc-topbar #mm-sc-share-btn::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M18 16a3 3 0 0 0-2.39 1.19l-6.88-3.44a3.12 3.12 0 0 0 0-1.5l6.88-3.44A3 3 0 1 0 15 7a3.12 3.12 0 0 0 .08.69L8.2 11.13a3 3 0 1 0 0 1.74l6.88 3.44A3 3 0 1 0 18 16Z'/%3E%3C/svg%3E") !important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M18 16a3 3 0 0 0-2.39 1.19l-6.88-3.44a3.12 3.12 0 0 0 0-1.5l6.88-3.44A3 3 0 1 0 15 7a3.12 3.12 0 0 0 .08.69L8.2 11.13a3 3 0 1 0 0 1.74l6.88 3.44A3 3 0 1 0 18 16Z'/%3E%3C/svg%3E") !important;
}
.mm-sc-wrap .mm-sc-cart-toolbar .mm-sc-topbar .mm-sc-pdf-btn::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6 2h8l6 6v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2Zm7 1.5V9h5.5L13 3.5ZM8 13h1.4c1.4 0 2.3.8 2.3 2s-.9 2-2.3 2H9.3v2H8v-6Zm1.3 1.1v1.8h.2c.7 0 1.1-.3 1.1-.9s-.4-.9-1.1-.9h-.2Zm4-.1h2.1c1.8 0 2.9 1.1 2.9 2.9s-1.1 2.9-2.9 2.9h-2.1v-5.8Zm1.3 1.1v3.6h.7c1 0 1.7-.6 1.7-1.8s-.7-1.8-1.7-1.8h-.7ZM19 15.1h-2v1.2h1.8v1.1H17v2.4h-1.3V14H19v1.1Z'/%3E%3C/svg%3E") !important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6 2h8l6 6v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2Zm7 1.5V9h5.5L13 3.5ZM8 13h1.4c1.4 0 2.3.8 2.3 2s-.9 2-2.3 2H9.3v2H8v-6Zm1.3 1.1v1.8h.2c.7 0 1.1-.3 1.1-.9s-.4-.9-1.1-.9h-.2Zm4-.1h2.1c1.8 0 2.9 1.1 2.9 2.9s-1.1 2.9-2.9 2.9h-2.1v-5.8Zm1.3 1.1v3.6h.7c1 0 1.7-.6 1.7-1.8s-.7-1.8-1.7-1.8h-.7ZM19 15.1h-2v1.2h1.8v1.1H17v2.4h-1.3V14H19v1.1Z'/%3E%3C/svg%3E") !important;
}
.mm-sc-wrap .mm-sc-cart-toolbar .mm-sc-topbar .mm-sc-clear-cart-btn::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9 3h6l1 2h4v2H4V5h4l1-2Zm1 6h2v8h-2V9Zm4 0h2v8h-2V9ZM7 9h2v8H7V9Zm-1 11a2 2 0 0 1-2-2V8h16v10a2 2 0 0 1-2 2H6Z'/%3E%3C/svg%3E") !important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9 3h6l1 2h4v2H4V5h4l1-2Zm1 6h2v8h-2V9Zm4 0h2v8h-2V9ZM7 9h2v8H7V9Zm-1 11a2 2 0 0 1-2-2V8h16v10a2 2 0 0 1-2 2H6Z'/%3E%3C/svg%3E") !important;
}
.mm-sc-wrap .mm-sc-cart-toolbar .mm-sc-topbar #mm-sc-add-custom-product-btn::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='m12 2 1.7 5.3H19l-4.3 3.1L16.4 16 12 12.8 7.6 16l1.7-5.6L5 7.3h5.3L12 2Zm7 16v-3h-2v3h-3v2h3v3h2v-3h3v-2h-3Z'/%3E%3C/svg%3E") !important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='m12 2 1.7 5.3H19l-4.3 3.1L16.4 16 12 12.8 7.6 16l1.7-5.6L5 7.3h5.3L12 2Zm7 16v-3h-2v3h-3v2h3v3h2v-3h3v-2h-3Z'/%3E%3C/svg%3E") !important;
}
.mm-sc-wrap .mm-sc-cart-toolbar .mm-sc-topbar #mm-sc-open-note-modal-btn::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9 2h6l1 2h3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h3l1-2Zm0 2-.6 1.2-.6.8H5v14h14V6h-2.8l-.6-.8L15 4H9Zm-1 5h8v2H8V9Zm0 4h8v2H8v-2Zm0 4h5v2H8v-2Z'/%3E%3C/svg%3E") !important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9 2h6l1 2h3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h3l1-2Zm0 2-.6 1.2-.6.8H5v14h14V6h-2.8l-.6-.8L15 4H9Zm-1 5h8v2H8V9Zm0 4h8v2H8v-2Zm0 4h5v2H8v-2Z'/%3E%3C/svg%3E") !important;
}
.mm-sc-wrap .mm-sc-cart-toolbar .mm-sc-topbar .mm-sc-pdf-btn{
  color:#2242a8 !important;
  border-color:#a9baf5 !important;
  background:#fbfcff !important;
}
@media (hover:hover){
  .mm-sc-wrap .mm-sc-cart-toolbar .mm-sc-topbar .mm-sc-pdf-btn:hover{
    border-color:#7f99ef !important;
    background:#f5f8ff !important;
    color:#1c3790 !important;
  }
}


/* ==========================================================
   SHARE LINK SECOND ROW + CORPORATE PDF — v2.8.27
   Keep action buttons stable in row 1; generated share controls live in row 2.
   ========================================================== */
.mm-sc-wrap .mm-sc-cart-toolbar .mm-sc-topbar > *{
  order:1;
}
.mm-sc-wrap .mm-sc-cart-toolbar .mm-sc-topbar .share-inline-link{
  order:10 !important;
  flex:1 0 100% !important;
  width:100% !important;
  max-width:100% !important;
  margin-top:4px !important;
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
}
.mm-sc-wrap .mm-sc-cart-toolbar .mm-sc-topbar .share-inline-link[hidden]{
  display:none !important;
}
.mm-sc-wrap .mm-sc-cart-toolbar .mm-sc-topbar .share-inline-link input{
  flex:1 1 420px !important;
  width:auto !important;
  min-width:220px !important;
  max-width:720px !important;
}
.mm-sc-wrap .mm-sc-cart-toolbar .mm-sc-topbar .mm-sc-share-wrap{
  order:11 !important;
  flex:1 0 100% !important;
  width:100% !important;
  margin:0 !important;
  min-height:0 !important;
  text-align:left !important;
}
.mm-sc-wrap .mm-sc-cart-toolbar .mm-sc-topbar .mm-sc-share-wrap:empty{
  display:none !important;
}

/* PDF: corporate blue, not the brighter utility blue. */
.mm-sc-wrap .mm-sc-cart-toolbar .mm-sc-topbar .mm-sc-pdf-btn{
  color:#242467 !important;
  border-color:#242467 !important;
  background:#fff !important;
}
@media (hover:hover){
  .mm-sc-wrap .mm-sc-cart-toolbar .mm-sc-topbar .mm-sc-pdf-btn:hover{
    color:#242467 !important;
    border-color:#242467 !important;
    background:#f5f5fb !important;
  }
}

@media (max-width:640px){
  .mm-sc-wrap .mm-sc-cart-toolbar .mm-sc-topbar .share-inline-link{
    align-items:stretch !important;
    flex-wrap:wrap !important;
  }
  .mm-sc-wrap .mm-sc-cart-toolbar .mm-sc-topbar .share-inline-link input{
    flex:1 0 100% !important;
    width:100% !important;
    max-width:none !important;
  }
}


/* ==========================================================
   SHARE ROW RIGHT-ALIGNED + COPY/SHARE ICONS — v2.8.28
   Keeps generated share row aligned to the right and adds correct icons.
   ========================================================== */
.mm-sc-wrap .mm-sc-cart-toolbar .mm-sc-topbar .share-inline-link{
  justify-content:flex-end !important;
}
.mm-sc-wrap .mm-sc-cart-toolbar .mm-sc-topbar .share-inline-link input{
  margin-left:auto !important;
}
.mm-sc-wrap .mm-sc-cart-toolbar .mm-sc-topbar .mm-sc-share-wrap{
  text-align:right !important;
}
.mm-sc-wrap .mm-sc-cart-toolbar .mm-sc-topbar #mm-sc-share-copy,
.mm-sc-wrap .mm-sc-cart-toolbar .mm-sc-topbar #mm-sc-share-native{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
}
.mm-sc-wrap .mm-sc-cart-toolbar .mm-sc-topbar #mm-sc-share-copy::before,
.mm-sc-wrap .mm-sc-cart-toolbar .mm-sc-topbar #mm-sc-share-native::before{
  content:'' !important;
  flex:0 0 14px !important;
  width:14px !important;
  height:14px !important;
  background-color:currentColor !important;
  -webkit-mask-repeat:no-repeat !important;
  -webkit-mask-position:center !important;
  -webkit-mask-size:14px 14px !important;
  mask-repeat:no-repeat !important;
  mask-position:center !important;
  mask-size:14px 14px !important;
}
.mm-sc-wrap .mm-sc-cart-toolbar .mm-sc-topbar #mm-sc-share-copy::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M16 1H6a2 2 0 0 0-2 2v12h2V3h10V1Zm3 4H10a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h9a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2Zm0 16H10V7h9v14Z'/%3E%3C/svg%3E") !important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M16 1H6a2 2 0 0 0-2 2v12h2V3h10V1Zm3 4H10a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h9a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2Zm0 16H10V7h9v14Z'/%3E%3C/svg%3E") !important;
}
.mm-sc-wrap .mm-sc-cart-toolbar .mm-sc-topbar #mm-sc-share-native::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M18 16a3 3 0 0 0-2.39 1.19l-6.88-3.44a3.12 3.12 0 0 0 0-1.5l6.88-3.44A3 3 0 1 0 15 7a3.12 3.12 0 0 0 .08.69L8.2 11.13a3 3 0 1 0 0 1.74l6.88 3.44A3 3 0 1 0 18 16Z'/%3E%3C/svg%3E") !important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M18 16a3 3 0 0 0-2.39 1.19l-6.88-3.44a3.12 3.12 0 0 0 0-1.5l6.88-3.44A3 3 0 1 0 15 7a3.12 3.12 0 0 0 .08.69L8.2 11.13a3 3 0 1 0 0 1.74l6.88 3.44A3 3 0 1 0 18 16Z'/%3E%3C/svg%3E") !important;
}
@media (max-width:640px){
  .mm-sc-wrap .mm-sc-cart-toolbar .mm-sc-topbar .share-inline-link{
    justify-content:stretch !important;
  }
  .mm-sc-wrap .mm-sc-cart-toolbar .mm-sc-topbar .share-inline-link input{
    margin-left:0 !important;
  }
  .mm-sc-wrap .mm-sc-cart-toolbar .mm-sc-topbar .mm-sc-share-wrap{
    text-align:left !important;
  }
}


/* ==========================================================
   SHARE PANEL BELOW FIXED ACTION ROW — v2.8.29
   Keeps action buttons fixed on the top-right and opens share tools below.
   ========================================================== */
.mm-sc-wrap .mm-sc-cart-toolbar{
  align-items:flex-start !important;
}
.mm-sc-wrap .mm-sc-cart-toolbar .mm-sc-topbar{
  flex:0 0 auto !important;
  flex-wrap:wrap !important;
  row-gap:8px !important;
}
.mm-sc-wrap .mm-sc-cart-toolbar .mm-sc-share-panel{
  flex:1 0 100% !important;
  width:100% !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-end !important;
  gap:6px !important;
  margin:2px 0 0 !important;
  min-height:0 !important;
}
.mm-sc-wrap .mm-sc-cart-toolbar .mm-sc-share-panel .share-inline-link{
  width:min(100%, 940px) !important;
  margin-left:auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:8px !important;
}
.mm-sc-wrap .mm-sc-cart-toolbar .mm-sc-share-panel .share-inline-link[hidden]{
  display:none !important;
}
.mm-sc-wrap .mm-sc-cart-toolbar .mm-sc-share-panel .share-inline-link input{
  flex:1 1 620px !important;
  width:auto !important;
  min-width:260px !important;
  max-width:none !important;
}
.mm-sc-wrap .mm-sc-cart-toolbar .mm-sc-share-panel .mm-sc-share-wrap{
  width:min(100%, 940px) !important;
  margin:0 !important;
  text-align:left !important;
  min-height:0 !important;
}
.mm-sc-wrap .mm-sc-cart-toolbar .mm-sc-share-panel .mm-sc-share-wrap:empty{
  display:none !important;
}
/* Neutralize old topbar-only share-row rules when share panel is used. */
.mm-sc-wrap .mm-sc-cart-toolbar > .mm-sc-topbar > .share-inline-link,
.mm-sc-wrap .mm-sc-cart-toolbar > .mm-sc-topbar > .mm-sc-share-wrap{
  display:none !important;
}
@media (max-width:1050px){
  .mm-sc-wrap .mm-sc-cart-toolbar .mm-sc-share-panel{
    align-items:stretch !important;
  }
  .mm-sc-wrap .mm-sc-cart-toolbar .mm-sc-share-panel .share-inline-link,
  .mm-sc-wrap .mm-sc-cart-toolbar .mm-sc-share-panel .mm-sc-share-wrap{
    width:100% !important;
  }
}
@media (max-width:640px){
  .mm-sc-wrap .mm-sc-cart-toolbar .mm-sc-share-panel .share-inline-link{
    flex-wrap:wrap !important;
    justify-content:stretch !important;
  }
  .mm-sc-wrap .mm-sc-cart-toolbar .mm-sc-share-panel .share-inline-link input{
    flex:1 0 100% !important;
    width:100% !important;
    min-width:0 !important;
  }
}


/* ==========================================================
   CUSTOM PRODUCTS — visually aligned with normal products v2.8.30
   ========================================================== */
.mm-sc-left .mm-sc-custom-product-row .mm-sc-p--img--custom{
  flex-direction:column;
  gap:6px;
  background:linear-gradient(180deg,#fafbff 0%,#f4f6fb 100%);
  border:1px dashed #d7dceb;
}
.mm-sc-left .mm-sc-custom-product-row .mm-sc-custom-thumb-icon{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:10px;
  background:#eef2ff;
  color:#3a3972;
  font-size:16px;
  line-height:1;
  font-weight:700;
}
.mm-sc-left .mm-sc-custom-product-row .mm-sc-custom-thumb-label{
  display:block;
  max-width:78px;
  color:var(--mm-cart-muted);
  font-size:10px;
  line-height:1.2;
  text-align:center;
  font-weight:700;
  letter-spacing:.02em;
  text-transform:uppercase;
}
.mm-sc-left .mm-sc-custom-product-row .mm-sc-custom-desc{
  display:block;
  margin:0;
  color:var(--mm-cart-muted);
  font-size:12px;
  line-height:1.45;
}
.mm-sc-left .mm-sc-custom-product-row .mm-sc-price{
  color:var(--mm-cart-muted) !important;
  font-size:13px !important;
  font-weight:600 !important;
}
.mm-sc-left .mm-sc-custom-product-row .mm-sc-qty{
  text-align:center !important;
}
.mm-sc-left .mm-sc-custom-product-row .mm-sc-qty-wrap--custom-admin{
  display:inline-grid !important;
  grid-template-columns:42px 76px !important;
  height:44px !important;
  border:1px solid #d8dde8 !important;
  border-radius:9px !important;
  overflow:hidden !important;
  background:#fff !important;
  box-shadow:none !important;
}
.mm-sc-left .mm-sc-custom-product-row .mm-sc-edit-custom-btn{
  width:42px !important;
  height:44px !important;
  border:0 !important;
  border-right:1px solid #d8dde8 !important;
  background:#fff !important;
  color:#3a3972 !important;
  display:grid !important;
  place-items:center !important;
  font-size:14px !important;
}
.mm-sc-left .mm-sc-custom-product-row .mm-sc-edit-custom-btn:hover{
  background:#f7f8fc !important;
}
.mm-sc-left .mm-sc-custom-product-row .mm-sc-qty-custom-val{
  width:76px !important;
  height:44px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-weight:700 !important;
  color:var(--mm-cart-ink) !important;
}
.mm-sc-left .mm-sc-custom-product-row .mm-sc-qty-wrap--custom-client{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:118px !important;
  height:44px !important;
  border:1px solid #d8dde8 !important;
  border-radius:9px !important;
  background:#fff !important;
  box-shadow:none !important;
}
.mm-sc-left .mm-sc-custom-product-row .mm-sc-qty-custom-static{
  width:auto !important;
  min-width:0 !important;
  height:auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-weight:700 !important;
  color:var(--mm-cart-ink) !important;
}
.mm-sc-left .mm-sc-custom-product-row .mm-sc-custom-qty-hint{
  margin-top:6px !important;
  color:var(--mm-cart-muted) !important;
}
@media (max-width:800px){
  .mm-sc-left .mm-sc-custom-product-row .mm-sc-p--img--custom{
    flex:0 0 84px;
    width:84px;
    height:84px;
    gap:4px;
  }
  .mm-sc-left .mm-sc-custom-product-row .mm-sc-custom-thumb-label{
    max-width:62px;
    font-size:9px;
  }
  .mm-sc-left .mm-sc-custom-product-row .mm-sc-qty-wrap--custom-client{
    width:100px !important;
  }
}


/* ==========================================================
   CUSTOM PRODUCTS — neutral customer-facing treatment v2.8.31
   No visual cue exposes that the item was created manually.
   ========================================================== */
.mm-sc-left .mm-sc-custom-product-row .mm-sc-p--img--custom{
  background:#f7f8fb !important;
  border:1px solid #e7eaf1 !important;
}
.mm-sc-left .mm-sc-custom-product-row .mm-sc-custom-thumb-icon{
  width:32px !important;
  height:32px !important;
  border-radius:0 !important;
  background-color:#9aa3b8 !important;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 5.5 12 2l8 3.5V18l-8 4-8-4V5.5Zm8-1.32L7.2 6.28 12 8.4l4.8-2.12L12 4.18ZM6 7.82v8.93l5 2.5V10.3L6 7.82Zm7 11.43 5-2.5V7.82l-5 2.48v8.95Z'/%3E%3C/svg%3E") center/contain no-repeat !important;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 5.5 12 2l8 3.5V18l-8 4-8-4V5.5Zm8-1.32L7.2 6.28 12 8.4l4.8-2.12L12 4.18ZM6 7.82v8.93l5 2.5V10.3L6 7.82Zm7 11.43 5-2.5V7.82l-5 2.48v8.95Z'/%3E%3C/svg%3E") center/contain no-repeat !important;
}
.mm-sc-left .mm-sc-custom-product-row .mm-sc-custom-thumb-label{
  display:none !important;
}


/* ==========================================================
   GROUPED CART RECALCULATOR — functional v2.8.33
   ========================================================== */
.mm-sc-left .mm-sc-group-recalculate-preview{
  cursor:pointer !important;
}
.mm-sc-left .mm-sc-group-recalculate-preview.is-busy{
  opacity:.65 !important;
  cursor:wait !important;
}
.mm-sc-left .mm-sc-group-calculator-error{
  margin-top:10px !important;
  padding:9px 11px !important;
  border-radius:8px !important;
  background:#fff7f7 !important;
  border:1px solid #f0caca !important;
  color:#9f2f37 !important;
  font-size:12px !important;
  line-height:1.4 !important;
}
.mm-sc-left .mm-sc-group-calculator-suggestion{
  margin-top:10px !important;
  padding:10px 12px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:14px !important;
  border:1px solid #efd6d8 !important;
  border-left:3px solid #c84b54 !important;
  border-radius:8px !important;
  background:#fffafa !important;
  color:#5b3440 !important;
  font-size:12.5px !important;
  line-height:1.45 !important;
}
.mm-sc-left .mm-sc-group-calculator-suggestion[hidden]{display:none !important;}
.mm-sc-left .mm-sc-group-calculator-suggestion__text{min-width:0 !important;}
.mm-sc-left .mm-sc-group-apply-savings{
  flex:0 0 auto !important;
  min-height:32px !important;
  padding:6px 12px !important;
  border:1px solid #d99197 !important;
  border-radius:7px !important;
  background:#fff !important;
  color:#a2333d !important;
  font-size:12px !important;
  font-weight:700 !important;
  cursor:pointer !important;
}
@media (hover:hover){
  .mm-sc-left .mm-sc-group-apply-savings:hover{background:#fff3f3 !important;border-color:#c96b73 !important;}
}
@media (max-width:640px){
  .mm-sc-left .mm-sc-group-calculator-suggestion{align-items:flex-start !important;flex-direction:column !important;}
  .mm-sc-left .mm-sc-group-apply-savings{width:100% !important;justify-content:center !important;}
}


/* ==========================================================
   GROUPED CALCULATOR — preview then apply v2.8.35
   ========================================================== */
.mm-sc-left .mm-sc-group-calculator-result{
  margin-top:10px !important;
  padding:10px 12px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:14px !important;
  border:1px solid #dfe3ee !important;
  border-radius:8px !important;
  background:#f8f9fc !important;
  color:#39415b !important;
  font-size:12.5px !important;
  line-height:1.4 !important;
}
.mm-sc-left .mm-sc-group-calculator-result[hidden]{display:none !important;}
.mm-sc-left .mm-sc-group-calculator-result__text{min-width:0 !important;}
.mm-sc-left .mm-sc-group-apply-result{
  flex:0 0 auto !important;
  min-height:34px !important;
  padding:7px 12px !important;
  border:1px solid #242467 !important;
  border-radius:7px !important;
  background:#242467 !important;
  color:#fff !important;
  font-size:12px !important;
  font-weight:700 !important;
  cursor:pointer !important;
}
.mm-sc-left .mm-sc-group-apply-result.is-busy,
.mm-sc-left .mm-sc-group-apply-savings.is-busy{opacity:.65 !important;cursor:wait !important;}
.mm-sc-left .mm-sc-group-card--previewing .mm-sc-group-detail__line--preview{
  opacity:1 !important;
}
.mm-sc-left .mm-sc-group-preview-count{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:46px !important;
  height:34px !important;
  padding:0 10px !important;
  border:1px solid #e0e4ed !important;
  border-radius:7px !important;
  background:#f8f9fc !important;
  color:#59627c !important;
  font-weight:700 !important;
}
@media (max-width:640px){
  .mm-sc-left .mm-sc-group-calculator-result{
    align-items:flex-start !important;
    flex-direction:column !important;
  }
  .mm-sc-left .mm-sc-group-apply-result{width:100% !important;justify-content:center !important;}
}


/* ==========================================================
   GROUPED CALCULATOR — full-width result rows v2.8.36
   Result and savings suggestion are horizontal rows before breakdown.
   ========================================================== */
.mm-sc-left .mm-sc-group-calculator-preview{
  flex-wrap:wrap !important;
  align-items:center !important;
}
.mm-sc-left .mm-sc-group-calculator-preview__copy{
  flex:1 1 260px !important;
}
.mm-sc-left .mm-sc-group-calculator-preview__control{
  flex:0 1 auto !important;
}
.mm-sc-left .mm-sc-group-calculator-error,
.mm-sc-left .mm-sc-group-calculator-result,
.mm-sc-left .mm-sc-group-calculator-suggestion{
  flex:1 0 100% !important;
  width:100% !important;
  max-width:none !important;
  box-sizing:border-box !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
.mm-sc-left .mm-sc-group-calculator-result{
  margin-top:2px !important;
  padding:11px 13px !important;
  min-height:48px !important;
}
.mm-sc-left .mm-sc-group-calculator-suggestion{
  margin-top:-4px !important;
  padding:10px 13px !important;
  min-height:46px !important;
  border-top:1px solid #efd6d8 !important;
  border-right:1px solid #efd6d8 !important;
  border-bottom:1px solid #efd6d8 !important;
  border-left:3px solid #c84b54 !important;
  border-radius:8px !important;
}
.mm-sc-left .mm-sc-group-calculator-result__text,
.mm-sc-left .mm-sc-group-calculator-suggestion__text{
  flex:1 1 auto !important;
  min-width:0 !important;
}
.mm-sc-left .mm-sc-group-apply-result,
.mm-sc-left .mm-sc-group-apply-savings{
  flex:0 0 auto !important;
  white-space:nowrap !important;
}
@media (max-width:760px){
  .mm-sc-left .mm-sc-group-calculator-preview__copy,
  .mm-sc-left .mm-sc-group-calculator-preview__control{
    flex:1 0 100% !important;
    width:100% !important;
  }
  .mm-sc-left .mm-sc-group-calculator-preview__control{
    justify-content:flex-start !important;
  }
  .mm-sc-left .mm-sc-group-calculator-result,
  .mm-sc-left .mm-sc-group-calculator-suggestion{
    flex-direction:column !important;
    align-items:stretch !important;
  }
  .mm-sc-left .mm-sc-group-apply-result,
  .mm-sc-left .mm-sc-group-apply-savings{
    width:100% !important;
    justify-content:center !important;
  }
}


/* ==========================================================
   GROUP DETAIL — same icons as Matmap Header minicart v2.8.37
   ========================================================== */
.mm-sc-left .mm-sc-group-detail-toggle{
  gap:6px !important;
}
.mm-sc-left .mm-sc-group-detail-toggle .mm-sc-group-detail-list-icon{
  font-size:13px !important;
  line-height:1 !important;
  margin:0 !important;
  transform:none !important;
  transition:none !important;
}
.mm-sc-left .mm-sc-group-detail-toggle .mm-sc-group-detail-chevron{
  font-size:10px !important;
  line-height:1 !important;
  margin-left:2px !important;
  transform:rotate(0deg) !important;
  transition:transform .2s ease !important;
}
.mm-sc-left .mm-sc-group-detail-toggle[aria-expanded="true"] .mm-sc-group-detail-chevron{
  transform:rotate(180deg) !important;
}


/* ==========================================================
   CART GROUPED PRODUCT — MOBILE NATURAL HEADER v2.8.74
   Papelera arriba derecha → nombre → Total cantidad / precio.
   No toca detalle, calculadora ni desktop.
   ========================================================== */
@media (max-width:800px){
  .mm-sc-left .mm-sc-group-card{
    position:relative !important;
  }

  .mm-sc-left .mm-sc-group-card__head{
    display:grid !important;
    grid-template-columns:72px minmax(0,1fr) !important;
    gap:0 14px !important;
    align-items:start !important;
    width:100% !important;
    position:relative !important;
  }

  .mm-sc-left .mm-sc-group-card__media{
    grid-column:1 !important;
    grid-row:1 !important;
    width:72px !important;
    min-width:72px !important;
    height:72px !important;
    margin:0 !important;
  }

  .mm-sc-left .mm-sc-group-card__main{
    grid-column:2 !important;
    grid-row:1 !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    grid-template-rows:auto auto auto !important;
    column-gap:12px !important;
    row-gap:8px !important;
    min-width:0 !important;
    width:100% !important;
    padding-right:0 !important;
  }

  /* Liberamos título/precio de sus wrappers para ordenar visualmente. */
  .mm-sc-left .mm-sc-group-card__title-line,
  .mm-sc-left .mm-sc-group-card__price-actions{
    display:contents !important;
  }

  .mm-sc-left .mm-sc-group-card__title{
    grid-column:1 / 3 !important;
    grid-row:1 !important;
    display:block !important;
    min-width:0 !important;
    padding-right:46px !important;
    margin:0 !important;
    font-size:14px !important;
    line-height:1.32 !important;
    text-align:left !important;
    overflow-wrap:anywhere !important;
  }

  .mm-sc-left .mm-sc-group-card__meta{
    grid-column:1 !important;
    grid-row:2 !important;
    align-self:center !important;
    margin:0 !important;
    min-width:0 !important;
    text-align:left !important;
    white-space:normal !important;
  }

  .mm-sc-left .mm-sc-group-card__price-actions .mm-sc-group-card__price{
    grid-column:2 !important;
    grid-row:2 !important;
    align-self:center !important;
    justify-self:end !important;
    width:auto !important;
    margin:0 !important;
    padding:0 !important;
    text-align:right !important;
    white-space:nowrap !important;
    font-size:16px !important;
  }

  /* Papelera: siempre primer elemento visual, esquina superior derecha. */
  .mm-sc-left .mm-sc-group-card__price-actions .mm-sc-remove-group-btn{
    position:absolute !important;
    top:0 !important;
    right:0 !important;
    left:auto !important;
    bottom:auto !important;
    z-index:3 !important;
    width:36px !important;
    min-width:36px !important;
    height:36px !important;
    margin:0 !important;
  }

  .mm-sc-left .mm-sc-group-card__actions{
    grid-column:2 !important;
    grid-row:2 !important;
    width:100% !important;
    margin:14px 0 0 !important;
    padding:0 !important;
  }
}

@media (max-width:420px){
  .mm-sc-left .mm-sc-group-card__head{
    grid-template-columns:64px minmax(0,1fr) !important;
    gap:0 12px !important;
  }
  .mm-sc-left .mm-sc-group-card__media{
    width:64px !important;
    min-width:64px !important;
    height:64px !important;
  }
  .mm-sc-left .mm-sc-group-card__title{
    padding-right:42px !important;
  }
  .mm-sc-left .mm-sc-group-card__price-actions .mm-sc-group-card__price{
    font-size:15px !important;
  }
}


/* ==========================================================
   CART GROUPED PRODUCT — MOBILE ACTIONS OWN ROW v2.8.75
   Evita que Ver detalle/Recalcular pisen Total + precio.
   Solo mobile; no toca detalle ni desktop.
   ========================================================== */
@media (max-width:800px){
  .mm-sc-left .mm-sc-group-card__actions{
    grid-column:1 / 3 !important;
    grid-row:3 !important;
    width:100% !important;
    margin:12px 0 0 !important;
    padding:0 !important;
    align-self:start !important;
    position:relative !important;
    z-index:1 !important;
  }
}


/* ==========================================================
   CART GROUPED DETAIL — MOBILE 3-COLUMN TABLE v2.8.76
   1: formato | 2: cálculo + +/- | 3: total
   Cada producto ocupa una sola fila lógica.
   ========================================================== */
@media (max-width:800px){

  .mm-sc-left .mm-sc-group-detail{
    width:100% !important;
    max-width:100% !important;
    margin-top:16px !important;
    overflow:visible !important;
  }

  .mm-sc-left .mm-sc-group-detail__lines{
    width:100% !important;
    max-width:100% !important;
  }

  .mm-sc-left .mm-sc-group-detail__line{
    display:grid !important;
    grid-template-columns:
      minmax(0,1.05fr)
      minmax(106px,.9fr)
      minmax(68px,.58fr) !important;
    grid-template-rows:auto auto !important;
    column-gap:8px !important;
    row-gap:7px !important;
    align-items:center !important;

    width:100% !important;
    min-width:0 !important;
    padding:13px 0 !important;
    margin:0 !important;
    box-sizing:border-box !important;
  }

  /* Columna 1 — tipo/formato. */
  .mm-sc-left .mm-sc-group-detail__label{
    grid-column:1 !important;
    grid-row:1 / 3 !important;
    align-self:center !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;

    font-size:12.5px !important;
    line-height:1.35 !important;
    text-align:left !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
  }

  .mm-sc-left .mm-sc-group-detail__label strong{
    display:block !important;
    min-width:0 !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
  }

  .mm-sc-left .mm-sc-group-detail__label small{
    display:block !important;
    margin-top:4px !important;
    font-size:11px !important;
    line-height:1.3 !important;
    white-space:normal !important;
  }

  /* Columna 2, arriba — cantidad/cálculo. */
  .mm-sc-left .mm-sc-group-detail__calc{
    grid-column:2 !important;
    grid-row:1 !important;
    align-self:end !important;
    justify-self:stretch !important;
    min-width:0 !important;
    margin:0 !important;

    font-size:11.5px !important;
    line-height:1.35 !important;
    text-align:center !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
  }

  /* Columna 2, abajo — controles. */
  .mm-sc-left .mm-sc-group-detail__qty{
    grid-column:2 !important;
    grid-row:2 !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    min-width:0 !important;
    width:100% !important;
    margin:0 !important;
  }

  .mm-sc-left .mm-sc-group-detail__qty .mm-sc-group-qty-input{
    width:40px !important;
    min-width:40px !important;
    height:34px !important;
  }

  .mm-sc-left .mm-sc-group-detail__qty .mm-sc-group-qty-btn{
    width:31px !important;
    min-width:31px !important;
    height:34px !important;
  }

  /* Columna 3 — total de esa línea, centrado verticalmente. */
  .mm-sc-left .mm-sc-group-detail__subtotal{
    grid-column:3 !important;
    grid-row:1 / 3 !important;
    align-self:center !important;
    justify-self:end !important;
    min-width:0 !important;
    margin:0 !important;

    font-size:12.5px !important;
    line-height:1.3 !important;
    text-align:right !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
  }

  /* TOTAL conserva exactamente las mismas tres columnas. */
  .mm-sc-left .mm-sc-group-detail__line--total{
    grid-template-rows:auto !important;
    padding-top:14px !important;
    padding-bottom:14px !important;
  }

  .mm-sc-left .mm-sc-group-detail__line--total .mm-sc-group-detail__label{
    grid-column:1 !important;
    grid-row:1 !important;
    align-self:center !important;
  }

  .mm-sc-left .mm-sc-group-detail__line--total .mm-sc-group-detail__calc{
    grid-column:2 !important;
    grid-row:1 !important;
    align-self:center !important;
    text-align:center !important;
  }

  .mm-sc-left .mm-sc-group-detail__line--total .mm-sc-group-detail__qty{
    display:none !important;
  }

  .mm-sc-left .mm-sc-group-detail__line--total .mm-sc-group-detail__subtotal{
    grid-column:3 !important;
    grid-row:1 !important;
    align-self:center !important;
  }
}

/* Móviles muy estrechos: mantenemos 3 columnas, solo compactamos. */
@media (max-width:380px){
  .mm-sc-left .mm-sc-group-detail__line{
    grid-template-columns:
      minmax(0,1fr)
      minmax(100px,.9fr)
      minmax(64px,.55fr) !important;
    column-gap:6px !important;
  }

  .mm-sc-left .mm-sc-group-detail__label,
  .mm-sc-left .mm-sc-group-detail__subtotal{
    font-size:12px !important;
  }

  .mm-sc-left .mm-sc-group-detail__calc{
    font-size:11px !important;
  }

  .mm-sc-left .mm-sc-group-detail__qty .mm-sc-group-qty-input{
    width:38px !important;
    min-width:38px !important;
  }

  .mm-sc-left .mm-sc-group-detail__qty .mm-sc-group-qty-btn{
    width:30px !important;
    min-width:30px !important;
  }
}


/* ==========================================================
   CART TRUST — MOBILE PAYMENT TITLE + ICONS v2.8.77
   Tick + "Pago seguro" en primera fila; logos debajo.
   ========================================================== */
@media (max-width:767px){
  .mm-sc-right .mm-sc-trust > li.mm-sc-trust--pay{
    display:grid !important;
    grid-template-columns:17px minmax(0,1fr) !important;
    grid-template-rows:auto auto !important;
    column-gap:8px !important;
    row-gap:6px !important;
    align-items:center !important;
  }

  .mm-sc-right .mm-sc-trust > li.mm-sc-trust--pay::before{
    grid-column:1 !important;
    grid-row:1 !important;
    align-self:center !important;
    justify-self:start !important;
    margin:0 !important;
  }

  .mm-sc-right .mm-sc-trust--pay .mm-sc-trust-main{
    grid-column:2 !important;
    grid-row:1 / 3 !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    grid-template-rows:auto auto !important;
    row-gap:6px !important;
    width:100% !important;
    min-width:0 !important;
    margin:0 !important;
  }

  .mm-sc-right .mm-sc-trust--pay .mm-sc-trust-label{
    grid-column:1 !important;
    grid-row:1 !important;
    display:block !important;
    margin:0 !important;
    align-self:center !important;
    line-height:1.35 !important;
  }

  .mm-sc-right .mm-sc-trust--pay .mm-sc-trust-icons{
    grid-column:1 !important;
    grid-row:2 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    flex-wrap:wrap !important;
    gap:5px 7px !important;
    width:100% !important;
    margin:0 !important;
  }
}


/* Grouped +/- AJAX: bloqueo visual breve sin alterar el layout. */
.mm-sc-group-detail__qty button:disabled,
.mm-sc-group-detail__qty input:disabled{
  opacity:.55 !important;
  cursor:wait !important;
}


/* La etiqueta del descuento en la linea del carrito. Verde del sistema: dice
   "esto te beneficia" sin competir con el precio.
   Es un <button> ahora, no un <em>: el clic es real y necesita foco de
   teclado, asi que se resetea lo que un boton trae de serie. */
.mm-sc-dto{
  display:inline-block;font-style:normal;font-size:10px;font-weight:700;
  letter-spacing:.05em;text-transform:uppercase;
  background:var(--mm-good-bg,#E4F4ED);color:var(--mm-good,#0E7C55);
  padding:2px 6px;border-radius:3px;margin-left:6px;vertical-align:1px;
  line-height:1.4;border:0;font-family:inherit;cursor:pointer;
}
.mm-sc-dto:hover{filter:brightness(.97)}
.mm-sc-dto:focus-visible{outline:2px solid var(--mm-good,#0E7C55);outline-offset:2px}
/* SVG propio, no un caracter Unicode en ::after: ese se corrompio a un "D8"
   literal al guardar el fichero -- un SVG con currentColor no depende de
   fuente ni de codificacion. Ver el <svg class="mm-sc-dto__icon"> en el PHP. */
.mm-sc-dto__icon{margin-left:3px;vertical-align:-1px;opacity:.85}

/* El detalle: en flujo normal, nunca en posicion absoluta. Un tooltip
   flotante se sale de la pantalla en el minicarrito o en una tarjeta
   estrecha; un bloque que empuja el resto hacia abajo no se corta nunca,
   sea cual sea el ancho del contenedor donde aparezca. */
.mm-sc-dto-detalle{
  display:block;margin-top:3px;font-size:11.5px;font-weight:400;
  text-transform:none;letter-spacing:normal;color:#7c849c;line-height:1.4;
}
.mm-sc-dto-detalle[hidden]{display:none}

/* v2.16.15 — Modal "Nombre" (compartir carrito): botones alineados y con espaciado uniforme */
#mm-sc-identifier-modal .mm-sc-modal__actions{
  display:flex !important;
  flex-wrap:wrap;
  justify-content:flex-end;
  align-items:stretch;
  gap:12px;
  margin-top:20px;
}
#mm-sc-identifier-modal .mm-sc-modal__actions .btn-share{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-sizing:border-box !important;
  height:auto !important;
  min-height:46px !important;
  margin:0 !important;
  padding:12px 22px !important;
  line-height:1.2 !important;
  font-size:14px !important;
  font-weight:600 !important;
  text-align:center !important;
  white-space:nowrap;
  border-radius:10px !important;
}
#mm-sc-identifier-modal .mm-sc-modal__actions .mm-sc-modal__secondary{
  background:#f3f4f6 !important;
  border:1px solid #d1d5db !important;
  color:#374151 !important;
}
#mm-sc-identifier-modal .mm-sc-modal__actions .mm-sc-modal__secondary:hover{background:#e9ebef !important}
#mm-sc-identifier-modal .mm-sc-modal__actions .mm-sc-modal__primary{
  background:#3a3972 !important;
  border:1px solid #3a3972 !important;
  color:#fff !important;
}
@media (max-width:480px){
  #mm-sc-identifier-modal .mm-sc-modal__actions{flex-direction:column-reverse}
  #mm-sc-identifier-modal .mm-sc-modal__actions .btn-share{width:100%}
}
/* v2.16.15 — por si wpautop inyecta <p> dentro del modal */
#mm-sc-identifier-modal .mm-sc-modal__actions p{display:contents !important;margin:0 !important}
#mm-sc-identifier-modal .mm-sc-modal__actions p:empty,
#mm-sc-identifier-modal .mm-sc-modal__body > p:empty{display:none !important}
