.cart-panel {
  position: fixed;
  inset: 0 0 0 auto;
  margin: 0;
  width: min(440px, 100vw);
  max-width: 100vw;
  height: 100dvh;
  max-height: 100dvh;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: #fff;
  color: #171919;
  overflow: hidden;
  box-shadow: -8px 0 36px #17191914;
}
.cart-panel[open] { display: flex; flex-direction: column; animation: cart-drawer-in .22s ease-out; }
.cart-panel::backdrop { background: #17191924; backdrop-filter: none; animation: cart-backdrop-in .18s ease-out; }
.cart-panel-head { display: flex; flex: 0 0 auto; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 18px; border-bottom: 1px solid #ededeb; }
.cart-panel-head h2 { font-size: 18px; line-height: 1.4; letter-spacing: -.25px; font-weight: 700; margin: 0; }
.cart-panel-head .cart-panel-close { width: 40px; height: 40px; flex-shrink: 0; border-radius: 6px; }
.cart-panel-close svg { width: 20px; height: 20px; }
.cart-panel #selection-items { flex: 1 1 auto; min-height: 0; padding: 0 18px; overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; scrollbar-width: thin; }
.cart-row { display: grid; grid-template-columns: 60px minmax(0, 1fr); gap: 13px; align-items: start; padding: 16px 0; border-bottom: 1px solid #ededeb; }
.cart-row:last-child { border-bottom: 0; }
.cart-row-photo { width: 60px; height: 64px; position: relative; overflow: hidden; display: grid; place-items: center; background: #f7f8f4; border-radius: 6px; }
.cart-row-photo .product-photo { position: static; width: 100%; height: 100%; padding: 4px; object-fit: contain; }
.cart-row-photo > svg { width: 58px; height: 58px; }
.cart-row-photo .product-no-photo { font-size: 8px; gap: 4px; text-align: center; }
.cart-row-photo .product-no-photo svg { width: 22px; height: 22px; }
.cart-row-main { min-width: 0; }
.cart-row-main h3 { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; overflow-wrap: anywhere; font-size: 14px; font-weight: 600; line-height: 1.45; letter-spacing: 0; }
.cart-row-price { font-size: 13px; line-height: 1.5; color: #626863; margin-top: 4px; }
.cart-row-controls { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 9px; }
.cart-panel .cart-quantity { display: inline-flex; align-items: center; gap: 0; border: 1px solid #e4e6e0; border-radius: 6px; background: #fff; margin: 0; overflow: hidden; }
.cart-panel .cart-quantity button { width: 36px; height: 36px; padding: 0; font-size: 18px; }
.cart-panel .cart-quantity span { min-width: 29px; font-size: 13px; font-weight: 600; }
.cart-panel .cart-remove { min-width: 36px; min-height: 36px; padding: 8px; color: #888e86; display: grid; place-items: center; border-radius: 5px; }
.cart-panel .cart-remove:hover { color: #c54800; background: #fff6ef; }
.cart-panel .cart-remove svg { width: 17px; height: 17px; }
.cart-panel #selection-bottom { position: static; flex: 0 0 auto; padding: 14px 18px max(12px, env(safe-area-inset-bottom)); border-top: 1px solid #ededeb; background: #fff; }
.cart-panel .cart-send { min-height: 46px; gap: 10px; padding: 12px 14px; border-radius: 7px; font-size: 13px; font-weight: 600; line-height: 1.4; justify-content: space-between; background: #167746; }
.cart-panel .cart-send:hover { background: #11663b; }
.cart-panel .cart-send > svg { width: 18px; height: 18px; flex-shrink: 0; }
.cart-panel .cart-continue { display: block; width: max-content; min-height: 32px; margin: 7px auto 0; padding: 6px 4px; font-size: 12px; line-height: 1.5; color: #626863; text-decoration: none; }
.cart-panel .cart-continue:hover { color: #c54800; text-decoration: underline; }
.cart-channel-state { font-size: 12px; line-height: 1.5; color: #626863; padding: 11px 12px; border: 1px solid #e4e6e0; border-radius: 6px; text-align: center; }
.cart-panel .checkout-error { font-size: 12px; line-height: 1.5; padding: 9px 10px; margin-bottom: 10px; }
.cart-empty { display: grid; justify-items: center; gap: 12px; padding: 42px 12px; color: #888e86; text-align: center; }
.cart-empty > span > svg { width: 28px; height: 28px; }
.cart-empty p { font-size: 14px; color: #626863; }
.cart-panel button:focus-visible { outline: 2px solid #c54800; outline-offset: 2px; }
@keyframes cart-drawer-in { from { transform: translateX(100%); } to { transform: translateX(0); } }
@keyframes cart-sheet-in { from { transform: translateY(100%); } to { transform: translateY(0); } }
@keyframes cart-backdrop-in { from { background: transparent; } to { background: #17191924; } }
@media (max-width: 600px) {
  .cart-panel { inset: auto 0 0; width: 100%; max-width: 100%; height: auto; max-height: 88dvh; border-radius: 18px 18px 0 0; box-shadow: 0 -6px 30px #17191914; }
  .cart-panel[open] { animation-name: cart-sheet-in; }
  .cart-panel::before { content: ''; display: block; flex: 0 0 auto; width: 32px; height: 4px; border-radius: 4px; background: #dfe2dc; margin: 8px auto 0; }
  .cart-panel-head { padding: 7px 16px 12px; }
  .cart-panel-head h2 { font-size: 17px; }
  .cart-panel-head .cart-panel-close { width: 40px; height: 40px; }
  .cart-panel #selection-items { flex: 0 1 auto; max-height: calc(88dvh - 182px - env(safe-area-inset-bottom)); padding-inline: 16px; }
  .cart-row { grid-template-columns: 56px minmax(0, 1fr); gap: 12px; padding-block: 14px; }
  .cart-row-photo { width: 56px; height: 62px; }
  .cart-panel .cart-quantity button { width: 38px; height: 38px; }
  .cart-panel .cart-remove { min-width: 38px; min-height: 38px; }
  .cart-panel #selection-bottom { padding: 13px 16px max(12px, env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: reduce) { .cart-panel[open], .cart-panel::backdrop { animation: none; } }

.cart-reminder-consent{display:flex;align-items:flex-start;gap:8px;font-size:11px;line-height:1.4;color:#666;margin:0 0 11px;cursor:pointer}.cart-reminder-consent input{margin:1px 0 0;accent-color:#ed7624;width:15px;height:15px;flex-shrink:0}.cart-reminder-consent small{font-size:inherit;color:#777}
@media(max-width:600px){.cart-panel-list{max-height:calc(88dvh - 218px - env(safe-area-inset-bottom))}}
