.offcanvas-carrito { --bs-offcanvas-width: 420px; }
.offcanvas-carrito .offcanvas-header { padding: 1.25rem 1.5rem; border-bottom: 1px solid var(--kf-linea); align-items: flex-start; }
.offcanvas-carrito .offcanvas-title { font-family: "Josefin Sans", sans-serif; font-weight: 700; font-size: 1.4rem; margin: 0; }
.carrito-resumen { color: var(--kf-gris-suave); font-size: .8rem; }
.carrito-aviso {
  margin: 1rem 1.5rem 0;
  background: #eef7f0; color: #22663b;
  font-size: .85rem; font-weight: 500;
  padding: .65rem .85rem; border-radius: 6px;
}
.carrito-linea { display: flex; gap: 1rem; padding: 1.1rem 1.5rem; border-color: var(--kf-linea); }
.carrito-linea .foto {
  flex: 0 0 auto; width: 78px; height: 98px;
  background: var(--kf-fondo-foto); border-radius: 6px;
  display: flex; align-items: center; justify-content: center;
}
.carrito-linea .foto img { max-width: 80%; max-height: 85%; object-fit: contain; }
.carrito-linea .nombre { font-weight: 600; font-size: .92rem; line-height: 1.3; }
.carrito-linea .meta { font-size: .76rem; color: var(--kf-gris-suave); margin-top: .2rem; }
.carrito-linea .badge { font-weight: 600; color: var(--kf-carbon); }
.min-w-0 { min-width: 0; }
.input-cant { width: 108px; }
.input-cant .btn { --bs-btn-border-color: #d8ccd4; --bs-btn-color: var(--kf-carbon); --bs-btn-hover-bg: var(--kf-lila-claro); --bs-btn-hover-border-color: #d8ccd4; --bs-btn-hover-color: var(--kf-carbon); --bs-btn-active-bg: var(--kf-lila); --bs-btn-active-border-color: #d8ccd4; }
.input-cant .form-control { text-align: center; border-color: #d8ccd4; font-weight: 600; padding-left: 0; padding-right: 0; background: #fff; }
.btn-eliminar { background: none; border: 0; padding: 0; font-size: .78rem; color: var(--kf-gris-suave); text-decoration: underline; text-underline-offset: 3px; }
.btn-eliminar:hover { color: var(--kf-carbon); }
.carrito-pie { padding: 1.25rem 1.5rem 1.5rem; border-top: 1px solid var(--kf-linea); background: #fff; }
.carrito-nota { font-size: .78rem; color: var(--kf-gris-suave); margin: .25rem 0 1rem; }
.enlace-suave { color: var(--kf-gris-suave); text-decoration: none; font-size: .82rem; }
.enlace-suave:hover { color: var(--kf-carbon); }
.carrito-vacio { text-align: center; padding: 3.5rem 1.5rem; color: var(--kf-gris-suave); border: 0; }
.carrito-vacio i { font-size: 2.6rem; color: var(--kf-lila); display: block; margin-bottom: .75rem; }
.btn-whatsapp { transition: background-color 200ms ease, transform 160ms ease-out; }
.btn-whatsapp:active { transform: scale(.97); }
.btn-minimizar {
  display: inline-flex; align-items: center; justify-content: center; gap: .4rem;
  flex: 0 0 auto; margin-left: auto; margin-top: .1rem;
  height: 38px; padding: 0 1rem;
  border: 1px solid #d8ccd4; border-radius: 50px; background: #fff;
  font-size: .78rem; font-weight: 600; color: var(--kf-carbon);
  transition: background-color 150ms ease, border-color 150ms ease, transform 160ms ease-out;
}
.btn-minimizar:hover { background: var(--kf-lila-claro); border-color: var(--kf-morado); }
.btn-minimizar:active { transform: scale(.97); }
