/* Slide-out cart + cart page */
.rb-cart-shade { position: fixed; inset: 0; z-index: 110; background: rgba(0, 0, 0, .45); }
.rb-cart { position: fixed; inset: 0 0 0 auto; z-index: 120; display: flex; flex-direction: column; width: min(86vw, 420px); background: #fff; transform: translateX(100%); visibility: hidden; transition: transform .25s ease, visibility 0s .25s; }
.rb-cart.is-open { transform: none; visibility: visible; transition: transform .25s ease; box-shadow: -8px 0 30px rgba(0, 0, 0, .12); }
.rb-cart__head { display: flex; align-items: center; justify-content: space-between; padding: 10px 12px 10px 16px; border-bottom: 1px solid var(--rb-line); font-size: 17px; }
.rb-cart .rb-ci-list { flex: 1; overflow-y: auto; padding: 0 16px; }
.rb-ci-list { margin: 0; padding: 0; list-style: none; }
.rb-ci { position: relative; display: grid; grid-template-columns: 72px 1fr; gap: 12px; padding: 14px 28px 14px 0; border-bottom: 1px solid var(--rb-bg-3); }
.rb-ci__img img { width: 72px; height: 72px; object-fit: cover; border-radius: 8px; background: var(--rb-bg-2); display: block; }
.rb-ci__info { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.rb-ci__name { color: var(--rb-text); font-size: 14px; font-weight: 600; line-height: 1.35; text-decoration: none; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.rb-ci__opt { font-size: 13px; color: var(--rb-text-2); }
.rb-ci__low { font-size: 12px; color: var(--rb-sale); }
.rb-ci__row { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 4px; }
.rb-ci__total { font-size: 15px; }
.rb-ci__x { position: absolute; top: 10px; right: 0; width: 28px; height: 28px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--rb-text-2); font-size: 20px; line-height: 1; cursor: pointer; }
.rb-ci__x:hover { background: var(--rb-bg-3); color: var(--rb-sale); }
.rb-cart-empty { display: grid; gap: 18px; justify-items: stretch; padding: 40px 0 16px; text-align: center; color: var(--rb-text-2); font-size: 16px; }
.rb-cart-empty p { margin: 0; }
.rb-cart-empty .rb-pill { justify-content: center; padding: 15px 20px; border-radius: 12px; font-size: 16px; }
.rb-cart__foot { display: grid; gap: 10px; padding: 14px 16px calc(14px + env(safe-area-inset-bottom)); border-top: 1px solid var(--rb-line); background: var(--rb-bg-2); }
.rb-cart__note { margin: 0; font-size: 13px; color: var(--rb-sale); }
.rb-sum { display: flex; justify-content: space-between; align-items: baseline; font-size: 15px; }
.rb-sum b { font-size: 20px; color: var(--rb-accent-dark); }
.rb-cart__cod { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 13px; color: var(--rb-text-2); }
.rb-cart__cod .rb-icon { color: var(--rb-accent); }
.rb-cart__alt { display: grid; grid-template-columns: 1fr; gap: 8px; align-items: center; }
.rb-cart__alt .rb-wa-btn { justify-content: center; }
.rb-cart__alt .rb-wa-btn[hidden] + .rb-cart__view { grid-column: 1 / -1; }
.rb-cart__view { display: block; padding: 6px 0; text-align: center; color: var(--rb-text-2); font-size: 14px; }

.rb-cartpage { padding: 0 0 24px; }
.rb-cartpage__title { margin: 0 0 18px; font-size: 32px; font-weight: 800; letter-spacing: -.01em; }
@media (max-width: 767px) { .rb-cartpage__title { font-size: 26px; } }
.rb-cartpage__grid { display: grid; gap: 20px; align-items: start; }
.rb-cartpage .rb-ci-list { padding: 0 16px; border: 1px solid var(--rb-line); border-radius: 12px; background: #fff; }
.rb-cartpage__sum { position: sticky; top: calc(var(--rb-header-h, 0px) + 12px); border: 1px solid var(--rb-line); border-radius: 12px; }
.rb-sum-label { font-size: 13px; font-weight: 600; color: var(--rb-text-2); }
.rb-delivery { margin: -4px 0 4px; padding: 0; list-style: none; font-size: 14px; }
.rb-delivery li { display: flex; justify-content: space-between; padding: 3px 0; }
.rb-delivery small { color: var(--rb-text-2); }
@media (min-width: 900px) { .rb-cartpage__grid { grid-template-columns: 1fr 360px; } }
