.elementor-6381 .elementor-element.elementor-element-39d89b5{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-6381 .elementor-element.elementor-element-20e7cee > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}/* Start custom CSS for shortcode, class: .elementor-element-20e7cee */@import url('https://fonts.googleapis.com/css2?family=Livvic:wght@400;500;600;700&display=swap');



/* ====== Layout general ====== */
.inova-cart {
  max-width: 1200px;   
  margin: 35px auto;     
  padding: 0 16px;
}
.inova-cart__title {
  font-size: 28px;
  font-weight: 700;
  color: white;
  margin: 0 0 40px;
  background: #0076BE;
  padding: 18px 210px;
  font-family: 'Livvic', sans-serif !important;
  width:100vw;                  /* o 100dvw si prefieres medidas dinámicas */
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  box-sizing:border-box;
}

/* ====== GRID PRINCIPAL ====== */
.inova-cart__grid {
  display: grid;
  grid-template-columns: 2.7fr 1fr;
  gap: 24px;
}
@media (max-width: 980px) {
  .inova-cart__grid {
    grid-template-columns: 1fr;
  }
}

/* ====== CARD que envuelve la tabla ====== */
.inova-card--list {
  background: #fff;
  border: 1px solid #e6ecf2;
  border-radius: 14px;
  box-shadow: 0 2px 6px rgba(16, 24, 40, 0.08);
  padding: 0;
  overflow: hidden;
}

/* ====== Encabezados ====== */
.inova-cart-head {
  display: grid !important;
  grid-template-columns: 1fr 120px 150px 150px;
  column-gap: 16px;
  align-items: center;
  padding: 16px;
  font-weight: 800;
  color: #0a2540;
  background: #fff;
  border-bottom: 1px solid #e6ecf2;
  text-align: center;
}

/* ====== Filas ====== */
.inova-cart__items {
  display: block;
}
.inova-cart-item {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 120px 150px 150px;
  column-gap: 16px;
  align-items: center;
  padding: 16px;
  background: #fff;
  border-bottom: 1px solid #eef2f7;
  text-align: center;
}
.inova-cart-item:last-child {
  border-bottom: 0;
}

/* ====== Columna producto ====== */
.inova-cart-item__left {
  display: grid;
  grid-template-columns: 84px 1fr;
  gap: 12px;
  align-items: center;
  padding-left: 28px; /* deja espacio para botón eliminar */
}
.inova-cart-item__thumb {
  width: 84px;
  height: 60px;
  object-fit: cover;
  border-radius: 10px;
}
.inova-cart-item__info {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 14px;
}
.inova-cart-item__name {
  font-weight: 500;
  color: #0a2540;
  text-decoration: none;
}
.inova-cart-item__name:hover {
  text-decoration: underline;
}

/* ====== Botón eliminar ====== */
.inova-cart-item__remove {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #ffe9e6;
  color: #b42318;
  font-weight: 800;
  font-size: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}
.inova-cart-item__remove::before {
  content: "×";
  line-height: 1;
}

/* ====== Bloque derecho (qty | unit | subtotal) ====== */
.inova-cart-item__right {
  display: grid;
  grid-template-columns: 120px 150px 150px;
  column-gap: 16px;
  align-items: center;
}
.inova-cart-item__price,
.inova-cart-item__subtotal-price {
  font-weight: 500;
  color: #0a2540;
  font-size: 15px;
}

/* ====== Control de cantidad (limpio y compacto) ====== */
.inova-qty {
  all: unset; /* resetea herencias del tema */
}
.inova-qty {
  display: inline-flex;
  align-items: center;
  width: 92px;
  border: 1px solid #e6ecf2;
  border-radius: 6px;
  background: #fff;
  overflow: hidden;
}
.inova-qty__btn {
  appearance: none;
  border: 0;
  background: #f5f7fb;
  width: 28px;
  height: 28px;
  font-size: 18px;
  line-height: 28px;
  cursor: pointer;
  user-select: none;
}
.inova-qty__btn:hover {
  background: #e9edf5;
}
.inova-qty input.qty {
  width: 36px;
  height: 28px;
  border: 0 !important;
  background: #fff !important;
  text-align: center;
  font-weight: 700;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  font-size: 14px;
}
/* Oculta spinners nativos */
.inova-qty input.qty[type=number]::-webkit-inner-spin-button,
.inova-qty input.qty[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.inova-qty input.qty[type=number] {
  -moz-appearance: textfield;
}

/* ====== Resumen ====== */
.inova-cart__summary {
  position: sticky;
  top: 16px;
  height: fit-content;
}
.inova-card {
  background: #fff;
  border: 1px solid #e6ecf2;
  border-radius: 14px;
  padding: 16px 16px 18px;
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04);
  overflow-x: auto;
}
.inova-card__title {
  margin: 0 0 10px;
  font-size: 18px;
  font-weight: 600;
  color: #0a2540;
  font-family: 'Livvic', sans-serif !important;
}
.inova-summary__row,
.inova-summary__total {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px dashed #e6ecf2;
}
.inova-summary__total {
  border-bottom: 0;
  font-size: 18px;
  font-weight: 800;
}
.inova-summary__cta {
  display: block;
  text-align: center;
  margin-top: 12px;
}

/* ====== Botones ====== */
.inova-btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  font-weight: 700;
  border-radius: 12px;
  text-decoration: none;
  border: 0;
  cursor: pointer;
}
.inova-btn--primary {
  background: #1e90ff;
  color: #fff;
  width: 100%;
}
.inova-btn--primary:hover {
  background: #2E9DA9;
  color: #fff;
}

/* ====== Estado vacío ====== */
.inova-cart__empty {
  background: #fff;
  border: 1px dashed #e6ecf2;
  padding: 24px;
  border-radius: 14px;
  text-align: center;
}

/* ====== Responsive ====== */
@media (max-width: 980px) {
  .inova-cart-head {
    display: none !important;
  }
  .inova-cart-item {
    grid-template-columns: 1fr;
    row-gap: 12px;
  }
  .inova-cart-item__right {
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      "qty qty"
      "unit subtotal";
  }
  .inova-cart-item__qty {
    grid-area: qty;
  }
  .inova-cart-item__unit {
    grid-area: unit;
  }
  .inova-cart-item__subtotal {
    grid-area: subtotal;
    justify-self: end;
  }
}


/* === Qty ocupa su columna (120px) y no se corta === */
.inova-cart-item__qty{
  display:flex; justify-content:center; align-items:center; min-width:0;
}

/* Contenedor del qty: toma todo el ancho de la columna (máx 120px) */
.inova-qty{
  width:100%;
  max-width:120px;            /* coincide con tu grid-template para Cantidad */
  height:36px;
  border:1px solid #e6ecf2;
  border-radius:6px;
  background:#fff;
  overflow:hidden;
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  padding:0 4px;
  box-sizing:border-box;
}

/* --- Reset FUERTE de los botones para ignorar reglas del tema --- */
.inova-qty__btn{
  all: unset;               
  display:flex;
  align-items:center;
  justify-content:center;
  width:30px;                 
  height:30px;
  line-height:30px;
  font-size:18px;
  font-weight:700;
  color:#0a2540;
  background:#f5f7fb;
  border-radius:4px;
  cursor:pointer;
  box-sizing:border-box;
}
.inova-qty__btn:hover{ background:#0076BE; color: white;}

/* Input centrado y sin empujar el layout */
.inova-qty input.qty{
  all: unset;                 
  width:40px;        
  height:30px;
  text-align:center;
  font-weight:700;
  font-size:14px;
  box-sizing:border-box;
}

/* Ocultar spinners nativos */
.inova-qty input.qty[type=number]::-webkit-inner-spin-button,
.inova-qty input.qty[type=number]::-webkit-outer-spin-button{ -webkit-appearance:none; margin:0; }
.inova-qty input.qty[type=number]{ -moz-appearance:textfield; }

/* ====== Fuerza misma retícula para TODAS las filas y encabezados ====== */
.inova-cart-head,
.inova-cart-item {
  display: grid !important;
  grid-template-columns: 260px 120px 150px 150px; /* <- Fija el ancho de la 1ra columna */
  column-gap: 16px;
  align-items: center;
  text-align: center;
}/* End custom CSS */