/* CR Saved Carts – responsive table and totals (v1.1.3) */
.cr-scroller{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.cr-saved-carts-table{width:100%;border-collapse:collapse;table-layout:auto}
.cr-saved-carts-table th,.cr-saved-carts-table td{border-bottom:1px solid #e5e7eb;padding:10px 8px;vertical-align:middle;text-align:left;white-space:nowrap}
.cr-saved-carts-table th:first-child,.cr-saved-carts-table td:first-child{white-space:normal}
.cr-saved-carts-tfoot td{font-weight:600}
.cr-saved-carts-actions{display:flex;gap:8px;flex-wrap:wrap}
.cr-saved-carts-actions .button,.cr-saved-carts-actions button,.cr-saved-carts-actions a{display:inline-block}
@media (max-width:768px){
  .cr-saved-carts-table th,.cr-saved-carts-table td{padding:8px 6px}
  .cr-saved-carts-actions{flex-direction:column}
  .cr-saved-carts-actions .button,.cr-saved-carts-actions button,.cr-saved-carts-actions a{width:100%;text-align:center}
}

/* === CR patch: Mobile botones a ancho completo y texto “estirado” (2025-10-14) === */
@media (max-width: 768px) {
  .cr-saved-carts .cr-scroller {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .cr-saved-carts table {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
  }
  .cr-saved-carts table th,
  .cr-saved-carts table td {
    white-space: normal;
    word-break: break-word;
    overflow-wrap: anywhere;
  }
  .cr-saved-carts table td .actions,
  .cr-saved-carts table td .cr-actions {
    display: flex;
    gap: 8px;
    align-items: stretch;
  }
  .cr-saved-carts table td a.button,
  .cr-saved-carts table td button,
  .cr-saved-carts table td .button {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1 1 0;
    width: 100%;
    min-height: 44px;
    padding: 10px 12px;
    text-align: center;
    line-height: 1.2;
    white-space: normal;
    word-break: break-word;
    overflow-wrap: anywhere;
    hyphens: auto;
  }
}

/* === CR patch: Mobile layout "2 niveles" (info arriba, acciones abajo) — 2025-10-14 === */
@media (max-width: 768px) {
  /* Oculta encabezados para mobile card layout */
  .cr-saved-carts table thead {
    display: none;
  }

  /* Cada fila como "card" */
  .cr-saved-carts table tr {
    display: block;
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 10px;
    padding: 10px;
    margin: 10px 0;
    background: #fff;
  }

  /* Normaliza celdas */
  .cr-saved-carts table td {
    display: block;
    padding: 6px 0;
    border: 0;
    white-space: normal;
    word-break: break-word;
    overflow-wrap: anywhere;
  }

  /* Bloque superior: nombre | fecha | total en una sola línea responsiva */
  .cr-saved-carts table tr .cr-col-nombre,
  .cr-saved-carts table tr .cr-col-fecha,
  .cr-saved-carts table tr .cr-col-total {
    display: inline-block;
    vertical-align: top;
    width: 33.3333%;
    padding: 4px 6px;
    box-sizing: border-box;
  }

  /* Si tu tabla no tiene clases por columna, mapea por posición */
  .cr-saved-carts table tr td:nth-child(1) { /* Nombre */
    display: inline-block;
    width: 33.3333%;
    padding: 4px 6px;
    box-sizing: border-box;
  }
  .cr-saved-carts table tr td:nth-child(2) { /* Fecha */
    display: inline-block;
    width: 33.3333%;
    padding: 4px 6px;
    box-sizing: border-box;
  }
  .cr-saved-carts table tr td:nth-child(3) { /* Total */
    display: inline-block;
    width: 33.3333%;
    padding: 4px 6px;
    box-sizing: border-box;
    text-align: right; /* total alineado a la derecha */
    font-weight: 600;
  }

  /* Acciones abajo: ocupa todo el ancho, botones uno bajo otro */
  .cr-saved-carts table tr td:last-child {
    display: block;
    width: 100%;
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px dashed rgba(0,0,0,.1);
  }

  /* Contenedor de acciones: pila vertical */
  .cr-saved-carts table tr td:last-child .actions,
  .cr-saved-carts table tr td:last-child .cr-actions {
    display: flex;
    flex-direction: column; /* uno sobre otro */
    gap: 8px;
    align-items: stretch;
  }

  /* Botones: 100% de ancho, texto completo visible dentro */
  .cr-saved-carts table tr td:last-child a.button,
  .cr-saved-carts table tr td:last-child button,
  .cr-saved-carts table tr td:last-child .button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 44px;
    padding: 10px 12px;
    text-align: center;
    line-height: 1.2;
    white-space: normal;
    word-break: break-word;
    overflow-wrap: anywhere;
    hyphens: auto;
  }
}

/* === CR patch: Top line con Nombre + Fecha + Ítems en una sola línea — 2025-10-14 === */
@media (max-width: 768px) {
  /* Convertimos cada fila en flex para controlar líneas */
  .cr-saved-carts table tr {
    display: flex;
    flex-wrap: wrap;           /* permite que acciones baje a la 2da línea */
    align-items: center;
    gap: 8px;
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 10px;
    padding: 10px;
    margin: 10px 0;
    background: #fff;
  }

  .cr-saved-carts table thead { display: none; }
  .cr-saved-carts table td, 
  .cr-saved-carts table th { border: 0; padding: 4px 6px; }

  /* 1) Nombre: toma el espacio restante, recorta con elipsis si es muy largo */
  .cr-saved-carts table tr td:nth-child(1) {
    flex: 1 1 40%;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  /* 2) Fecha: se ajusta a su contenido, sin cortar */
  .cr-saved-carts table tr td:nth-child(2) {
    flex: 0 0 auto;
    white-space: nowrap;
  }

  /* 3) Ítems: contenido compacto; alineado a la derecha usando margen automático */
  .cr-saved-carts table tr td:nth-child(3) {
    flex: 0 0 auto;
    white-space: nowrap;
    margin-left: auto; /* empuja el contador a la derecha de la misma línea */
    font-weight: 600;
  }

  /* Acciones: ocupa 100% y baja a la siguiente línea (debido al wrap) */
  .cr-saved-carts table tr td:last-child {
    flex: 1 1 100%;
    margin-top: 6px;
    padding-top: 8px;
    border-top: 1px dashed rgba(0,0,0,.1);
  }

  /* Botones en columna, texto visible completo dentro del botón */
  .cr-saved-carts table tr td:last-child .actions,
  .cr-saved-carts table tr td:last-child .cr-actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: stretch;
  }
  .cr-saved-carts table tr td:last-child a.button,
  .cr-saved-carts table tr td:last-child button,
  .cr-saved-carts table tr td:last-child .button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 44px;
    padding: 10px 12px;
    text-align: center;
    line-height: 1.2;
    white-space: normal;
    word-break: break-word;
    overflow-wrap: anywhere;
    hyphens: auto;
  }
}

/* === CR patch: Etiqueta 'Nombre:' visible solo en móvil y línea única adaptable (2025-10-14) === */
@media (max-width: 768px) {
  .cr-saved-carts .cr-label-name {
    font-weight: 600;
    margin-right: 6px;
    white-space: nowrap;
  }
  .cr-saved-carts table tr td:nth-child(1) {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .cr-saved-carts table tr td:nth-child(1) .cr-value {
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}
@media (min-width: 769px) {
  .cr-saved-carts .cr-mob-label { display: none !important; }
}

/* === CR patch: Mobile stack de campos (Nombre, Fecha, Ítems, Total) — 2025-10-14 === */
@media (max-width: 768px) {
  .cr-saved-carts table thead { display: none; }
  .cr-saved-carts table tr {
    display: block;
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 12px;
    padding: 10px;
    margin: 10px 0;
    background: #fff;
  }
  .cr-saved-carts table td {
    display: block;
    padding: 6px 0;
    border: 0;
  }
  /* Cada campo como bloque con etiqueta + valor */
  .cr-saved-carts .cr-field {
    display: flex;
    gap: 6px;
    align-items: baseline;
    min-width: 0;
  }
  .cr-saved-carts .cr-field .cr-mob-label {
    font-weight: 600;
    white-space: nowrap;
    flex: 0 0 auto;
  }
  .cr-saved-carts .cr-field .cr-value {
    flex: 1 1 auto;
    min-width: 0;
    white-space: normal;
    word-break: break-word;
    overflow-wrap: anywhere;
  }
  /* Acciones: abajo del todo, una sobre otra */
  .cr-saved-carts table tr td.cr-sc-actions,
  .cr-saved-carts table tr td:last-child .actions,
  .cr-saved-carts table tr td:last-child .cr-actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
  .cr-saved-carts table tr td.cr-sc-actions a.button,
  .cr-saved-carts table tr td.cr-sc-actions button,
  .cr-saved-carts table tr td.cr-sc-actions .button,
  .cr-saved-carts table tr td:last-child a.button,
  .cr-saved-carts table tr td:last-child button,
  .cr-saved-carts table tr td:last-child .button {
    width: 100%;
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    white-space: normal;
    word-break: break-word;
    overflow-wrap: anywhere;
    hyphens: auto;
  }
}
/* En desktop ocultamos las etiquetas móviles para mantener la tabla clásica */
@media (min-width: 769px) {
  .cr-saved-carts .cr-mob-label { display: none !important; }
}


/* === CR móvil lines: Nombre, Fecha, Ítems (izquierda), Total — fix5 === */
@media (max-width: 768px) {
  .cr-saved-carts table thead { display: none !important; }
  .cr-saved-carts tbody tr, .cr-saved-carts tbody tr td { display: block !important; width: 100% !important; }
  .cr-saved-carts tbody tr td { padding: 6px 0 !important; border: 0 !important; }
  .cr-saved-carts tbody tr td .cr-label { display: inline !important; font-weight: 600 !important; margin-right: 6px !important; white-space: nowrap !important; }
  .cr-saved-carts tbody tr td .cr-value { display: inline !important; word-break: break-word !important; overflow-wrap: anywhere !important; }
  /* Asegurar Ítems a la izquierda y sin empujes de margen */
  .cr-saved-carts tbody tr td.cr-td-items,
  .cr-saved-carts tbody tr td.cr-td-items * {
    text-align: left !important;
  }
  .cr-saved-carts table tr td:nth-child(3) {
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  /* Acciones al final 100% */
  .cr-saved-carts td.cr-sc-actions .button,
  .cr-saved-carts td.cr-sc-actions button,
  .cr-saved-carts td.cr-sc-actions .button.alt {
    width: 100% !important;
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }
}


/* === Fix7: asegurar etiquetas Fecha: e Ítems: visibles en móvil === */
@media (max-width: 768px) {
  .cr-saved-carts tbody tr td.cr-td-date .cr-label,
  .cr-saved-carts tbody tr td.cr-td-items .cr-label { display: inline; font-weight: 600; margin-right: 6px; }
  .cr-saved-carts tbody tr td.cr-td-date .cr-value,
  .cr-saved-carts tbody tr td.cr-td-items .cr-value { display: inline; }
}

/* === Borde sutil en "Mi Cuenta" para cada carrito guardado === */
@media (max-width: 768px) {
  .woocommerce-account .woocommerce-MyAccount-content .cr-saved-carts tbody tr {
    display: block;            /* ya lo usamos en móvil */
    border: 1px solid #e5e7eb; /* gris claro */
    border-radius: 10px;
    background: #fff;
    margin: 10px 0;
    padding: 10px;
  }
}

/* === Detalle del carrito guardado en frontend === */
.cr-sc-detail-row td{
  background:#fafafa;
  padding:14px 12px;
}
.cr-sc-detail-box{
  border:1px solid #e5e7eb;
  border-radius:12px;
  background:#fff;
  padding:14px;
}
.cr-sc-detail-box h4{
  margin:0 0 12px;
  font-size:18px;
}
.cr-sc-detail-table-wrap{
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.cr-sc-detail-table{
  width:100%;
  min-width:760px;
  border-collapse:collapse;
}
.cr-sc-detail-table th,
.cr-sc-detail-table td{
  padding:10px 8px;
  border-bottom:1px solid #e5e7eb;
  text-align:left;
  vertical-align:top;
}
.cr-sc-detail-table tfoot th,
.cr-sc-detail-table tfoot td{
  font-weight:700;
}
.cr-sc-status{
  display:inline-block;
  padding:4px 8px;
  border-radius:999px;
  background:#f3f4f6;
  font-size:12px;
  line-height:1.2;
}

@media (max-width: 768px) {
  .cr-saved-carts tbody tr.cr-sc-detail-row{
    display:block !important;
    border:0 !important;
    padding:0 !important;
    margin:0 0 12px !important;
    background:transparent !important;
  }
  .cr-saved-carts tbody tr.cr-sc-detail-row td{
    display:block !important;
    width:100% !important;
    padding:0 !important;
    border:0 !important;
  }
  .cr-sc-detail-box{
    margin-top:8px;
    padding:12px;
  }
  .cr-sc-detail-table{
    min-width:0;
  }
  .cr-sc-detail-table thead{
    display:none;
  }
  .cr-sc-detail-table,
  .cr-sc-detail-table tbody,
  .cr-sc-detail-table tr,
  .cr-sc-detail-table td,
  .cr-sc-detail-table th,
  .cr-sc-detail-table tfoot{
    display:block;
    width:100%;
  }
  .cr-sc-detail-table tr{
    border:1px solid #e5e7eb;
    border-radius:10px;
    padding:10px;
    margin:0 0 10px;
    background:#fff;
  }
  .cr-sc-detail-table td,
  .cr-sc-detail-table th{
    border:0;
    padding:4px 0;
    white-space:normal;
  }
  .cr-sc-detail-table td::before{
    content: attr(data-label) " ";
    font-weight:700;
  }
  .cr-sc-detail-table tfoot tr{
    border:0;
    padding:0;
    margin:8px 0 0;
    background:transparent;
  }
}

.cr-sc-detail-table .cr-add-saved-item{
  white-space:normal;
  line-height:1.2;
}
.cr-sc-detail-table td[data-label="Acción"] .button,
.cr-sc-detail-table td[data-label="Acción"] button{
  width:100%;
}

/* Estado visual: producto ya agregado al carrito */
.cr-saved-carts .cr-add-saved-item.is-in-cart,
.cr-saved-carts .cr-add-saved-item.is-in-cart:hover,
.cr-saved-carts .cr-add-saved-item.is-in-cart:focus {
  background: #eaf7ee;
  border-color: #8bc59b;
  color: #1f6b35;
  box-shadow: none;
  cursor: default;
}
