/* Cart layout fixes: discount row alignment, sizing, and responsiveness */
.summary-item.discount-item .discount-row {
  display: flex;
  gap: 0.5rem;
  align-items: stretch;
  width: 100%;
  flex-wrap: nowrap;
}

.summary-item.discount-item #applyDiscountBtn {
  align-self: stretch;
  flex-shrink: 0;
  min-height: 42px;
}

.summary-item.discount-item .discount-row input[type="text"] {
  flex: 1 1 auto;
  padding: 0.5rem 0.75rem !important;
  min-height: 42px;
  box-sizing: border-box;
}

@media (max-width: 540px) {
  .summary-item.discount-item .discount-row {
    flex-direction: column;
    align-items: stretch;
  }
  .summary-item.discount-item #applyDiscountBtn,
  .summary-item.discount-item .discount-row input[type="text"] {
    width: 100%;
    min-width: 0;
  }
}
/* Ajustes finos de la fila de descuento para barra lateral */
.summary-card .discount-item .discount-row {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: nowrap;
}

.summary-card .discount-item #discountCodeInput {
  min-width: 0; /* permite que el input encoja dentro del flex */
  flex: 1 1 auto;
  height: 34px !important;
  padding: 0 10px !important;
  box-sizing: border-box;
}

.summary-card .discount-item #applyDiscountBtn {
  flex: 0 0 auto;
  height: 34px !important;
  padding: 0 12px !important;
  min-width: 100px !important; /* más pequeño para evitar overflow */
  font-size: 0.9rem;
}

/* Apilado vertical en resoluciones pequeñas (cuando la tarjeta va al cuerpo) */
@media (max-width: 640px) {
  .summary-card .discount-item .discount-row {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }

  .summary-card .discount-item #discountCodeInput,
  .summary-card .discount-item #applyDiscountBtn {
    width: 100% !important;
    min-width: 0 !important;
    height: 38px !important;
  }
}