.cart-items { position: relative; min-width: 0; }
.cart-items__toolbar { display: flex; min-height: 48px; align-items: center; justify-content: space-between; padding: 0 15px; border: 1px solid #e5e6e9; border-radius: 12px; background: #fff; }
.cart-items__toolbar label, .cart-seller__header label, .cart-check { display: inline-flex; align-items: center; cursor: pointer; }
.cart-items input[type="checkbox"] { position: absolute; width: 1px; height: 1px; opacity: 0; }
.cart-items input[type="checkbox"] + span { position: relative; display: block; width: 17px; height: 17px; flex: 0 0 17px; border: 1.5px solid #c9cbd0; border-radius: 5px; background: #fff; }
.cart-items input[type="checkbox"]:checked + span { border-color: #ed0017; background: #ed0017; }
.cart-items input[type="checkbox"]:checked + span::after { position: absolute; width: 7px; height: 4px; border: solid #fff; border-width: 0 0 2px 2px; content: ""; inset: 4px 0 0 4px; transform: rotate(-45deg); }
.cart-items__toolbar label { gap: 9px; color: #36383e; font-size: 13px; }
.cart-items__toolbar button { border: 0; color: #9a4a53; background: transparent; font: inherit; font-size: 11px; cursor: pointer; }
.cart-seller { overflow: hidden; margin-top: 12px; border: 1px solid #e2e3e7; border-radius: 14px; background: #fff; box-shadow: 0 7px 22px rgb(27 31 40 / 4%); }
.cart-seller__header { display: grid; min-height: 59px; grid-template-columns: 18px 35px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 0 15px; border-bottom: 1px solid #eeeef0; }
.cart-seller__store { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 10px; background: #fff0f2; }
.cart-seller__store--blue { background: #edf6ff; }
.cart-seller__store img { width: 17px; }
.cart-seller__header > div { display: flex; min-width: 0; flex-direction: column; gap: 3px; }
.cart-seller__header strong { color: #2c2e34; font-size: 13px; }
.cart-seller__name { color: inherit; text-decoration: none; }
.cart-seller__name:hover strong { color: #ed0017; }
.cart-seller__header small { display: flex; align-items: center; gap: 4px; color: #85878e; font-size: 10px; }
.cart-seller__header small img { width: 11px; filter: invert(55%) sepia(90%) saturate(400%) hue-rotate(340deg); }
.cart-seller__header > a { color: #bc0016; font-size: 10px; font-weight: 700; text-decoration: none; }
.cart-seller__delivery { display: grid; min-height: 49px; grid-template-columns: 28px minmax(0, 1fr) auto; align-items: center; gap: 8px; margin: 10px 12px 0; padding: 7px 10px; border-radius: 9px; color: #23683d; background: #eefaf2; }
.cart-seller__delivery > img { width: 20px; }
.cart-seller__delivery > span { display: flex; min-width: 0; flex-direction: column; gap: 2px; }
.cart-seller__delivery strong { font-size: 11px; }
.cart-seller__delivery small { color: #66806f; font-size: 9px; }
.cart-seller__delivery > b { padding: 4px 7px; border-radius: 999px; background: #fff; font-size: 9px; }
.cart-seller__delivery i { display: block; height: 3px; overflow: hidden; margin-top: 2px; border-radius: 3px; background: #d5eadb; }
.cart-seller__delivery i span { display: block; height: 100%; border-radius: inherit; background: #2e9a52; }
.cart-item { display: grid; grid-template-columns: 18px 124px minmax(0, 1fr); gap: 15px; padding: 17px; border-bottom: 1px solid #eeeef1; transition: opacity .2s ease, transform .2s ease; }
.cart-item:last-child { border-bottom: 0; }
.cart-item.is-removing { opacity: 0; transform: translateX(14px); }
.cart-check { align-self: center; }
.cart-item__media { position: relative; display: grid; height: 124px; place-items: center; overflow: hidden; border-radius: 10px; background: #f6f6f8; }
.cart-item__media > span { position: absolute; z-index: 1; padding: 3px 5px; border-radius: 5px; color: #fff; background: #ed0017; font-size: 8px; font-weight: 800; inset: 6px auto auto 6px; }
.cart-item__media img { width: 88%; height: 88%; object-fit: contain; }
.cart-item__content { display: flex; min-width: 0; flex-direction: column; }
.cart-item__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.cart-item__top > div { display: flex; min-width: 0; flex-direction: column; gap: 3px; }
.cart-item__brand { color: #888a90; font-size: 10px; font-weight: 700; }
.cart-item__top a { overflow: hidden; color: #2c2e34; font-size: 13px; font-weight: 700; line-height: 1.4; text-decoration: none; text-overflow: ellipsis; }
.cart-item__top > button { display: grid; width: 27px; height: 27px; flex: 0 0 27px; place-items: center; border: 0; border-radius: 8px; background: #f6f6f8; cursor: pointer; }
.cart-item__top > button img { width: 14px; opacity: .62; }
.cart-item__content > p { display: flex; flex-wrap: wrap; gap: 12px; margin: 8px 0; color: #898b91; font-size: 10px; }
.cart-item__content > p b { color: #56585f; }
.cart-item__badges { display: flex; flex-wrap: wrap; gap: 5px; }
.cart-badge { display: inline-flex; align-items: center; gap: 4px; padding: 4px 7px; border-radius: 999px; color: #5c5f66; background: #f1f2f4; font-size: 8.5px; font-weight: 700; }
.cart-badge img { width: 10px; }
.cart-badge--green { color: #207542; background: #eaf8ee; }
.cart-badge--orange { color: #9a4a00; background: #fff2df; }
.cart-badge--purple { color: #6340a0; background: #f2ecff; }
.cart-item__bottom { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: end; gap: 12px; margin-top: auto; padding-top: 8px; }
.cart-quantity { display: grid; grid-template-columns: 26px 32px 26px; overflow: hidden; border: 1px solid #dadce0; border-radius: 8px; }
.cart-quantity button { height: 27px; border: 0; color: #4b4d54; background: #f7f7f8; font-size: 15px; cursor: pointer; }
.cart-quantity output { display: grid; height: 27px; place-items: center; border-inline: 1px solid #e2e3e6; color: #303238; font-size: 11px; font-weight: 700; }
.cart-item__favorite { display: inline-flex; align-items: center; justify-self: start; gap: 5px; border: 0; color: #777980; background: transparent; font: inherit; font-size: 10px; cursor: pointer; }
.cart-item__favorite img { width: 14px; }
.cart-item__favorite.is-active { color: #d00018; }
.cart-item__favorite.is-active img { filter: invert(14%) sepia(99%) saturate(6300%) hue-rotate(349deg); }
.cart-item__price { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; }
.cart-item__price del { color: #a1a3a8; font-size: 10px; }
.cart-item__price strong { color: #ed0017; font-size: 18px; }
.cart-empty { padding: 48px 20px; border: 1px solid #e4e5e8; border-radius: 14px; background: #fff; text-align: center; }
.cart-empty > img { width: 45px; opacity: .3; }
.cart-empty h2 { margin: 12px 0 6px; font-size: 18px; }
.cart-empty p { margin: 0 0 16px; color: #85878e; font-size: 10px; }
.cart-empty a { display: inline-flex; padding: 9px 15px; border-radius: 9px; color: #fff; background: #ed0017; font-size: 9px; font-weight: 700; text-decoration: none; }
.cart-toast { position: fixed; z-index: 120; max-width: 320px; padding: 10px 14px; border-radius: 9px; color: #fff; background: #24262c; box-shadow: 0 10px 30px rgb(0 0 0 / 22%); font-size: 9px; opacity: 0; pointer-events: none; inset: auto 22px 22px auto; transform: translateY(12px); transition: .2s ease; }
.cart-toast.is-visible { opacity: 1; transform: translateY(0); }
@media (min-width: 992px) {
  .cart-items__toolbar { min-height: 54px; padding-inline: 18px; }
  .cart-items__toolbar label { font-size: 15px; }
  .cart-items__toolbar button { font-size: 12px; }
  .cart-items input[type="checkbox"] + span { width: 19px; height: 19px; flex-basis: 19px; }
  .cart-items input[type="checkbox"]:checked + span::after { inset: 5px 0 0 5px; }
  .cart-seller__header { min-height: 66px; grid-template-columns: 20px 39px minmax(0, 1fr) auto; gap: 11px; padding-inline: 18px; }
  .cart-seller__store { width: 38px; height: 38px; }
  .cart-seller__header strong { font-size: 15px; }
  .cart-seller__header small, .cart-seller__header > a { font-size: 12px; }
  .cart-seller__delivery { min-height: 56px; margin: 12px 14px 0; padding: 9px 12px; }
  .cart-seller__delivery strong { font-size: 13px; }
  .cart-seller__delivery small { font-size: 11px; }
  .cart-seller__delivery > b { padding: 5px 9px; font-size: 10px; }
  .cart-item { grid-template-columns: 20px 138px minmax(0, 1fr); gap: 18px; padding: 20px; }
  .cart-item__media { height: 138px; }
  .cart-item__media > span { padding: 4px 6px; font-size: 10px; }
  .cart-item__brand { font-size: 11px; }
  .cart-item__top a { font-size: 16px; line-height: 1.35; }
  .cart-item__content > p { margin-block: 10px; font-size: 12px; }
  .cart-badge { padding: 5px 8px; font-size: 10px; }
  .cart-item__favorite { font-size: 12px; }
  .cart-quantity { grid-template-columns: 29px 36px 29px; }
  .cart-quantity button, .cart-quantity output { height: 31px; }
  .cart-quantity output { font-size: 12px; }
  .cart-item__price del { font-size: 12px; }
  .cart-item__price strong { font-size: 21px; }
}
@media (max-width: 767.98px) { .cart-item { grid-template-columns: 18px 84px minmax(0, 1fr); gap: 9px; padding: 12px; } .cart-item__media { height: 92px; } .cart-item__bottom { grid-template-columns: auto 1fr; } .cart-item__favorite { display: none; } .cart-item__price { grid-column: 2; grid-row: 1; } .cart-seller__header { padding-inline: 11px; } }
@media (max-width: 575.98px) {
  .cart-items__toolbar { min-height: 52px; padding-inline: 13px; }
  .cart-items__toolbar label { font-size: 14px; }
  .cart-items__toolbar button { font-size: 12px; }
  .cart-seller__header > a, .cart-seller__delivery small, .cart-seller__delivery > b { display: none; }
  .cart-seller__header strong { font-size: 14px; }
  .cart-seller__header small { font-size: 11px; }
  .cart-seller__delivery { grid-template-columns: 24px 1fr; }
  .cart-seller__delivery strong { font-size: 12px; }
  .cart-item { grid-template-columns: 18px 76px minmax(0, 1fr); }
  .cart-item__media { height: 84px; }
  .cart-item__media > span { font-size: 9px; }
  .cart-item__brand { font-size: 11px; }
  .cart-item__top a { font-size: 14px; line-height: 1.35; }
  .cart-item__badges { display: none; }
  .cart-item__content > p { margin: 7px 0; gap: 9px; font-size: 12px; }
  .cart-quantity output { font-size: 12px; }
  .cart-item__price del { font-size: 11px; }
  .cart-item__price strong { font-size: 18px; }
  .cart-toast { font-size: 12px; }
}
