.cart-modal .cart-item { align-items: flex-start; justify-content: flex-start; gap: 12px; padding: 20px 24px; border-bottom: 1px solid #e9e9e9; }
.cart-modal .cart-item:last-child { border-bottom: 0; }
.cart-modal .cart-item__img { flex: 0 0 72px; width: 72px; height: 94px; }
.cart-modal .cart-item__img img { display: block; width: 100%; height: 100%; object-fit: contain; }
.cart-modal .cart-item-body { display: flex; flex: 1; flex-direction: column; align-items: stretch; gap: 9px; min-width: 0; width: auto; }
.cart-modal .cart-item-body__info { align-items: flex-start; gap: 7px; padding-right: 22px; line-height: 1.25; }
.cart-modal .cart-item-body__info .navlink { font-size: 13px; font-weight: 600; }
.cart-modal .cart-item-body__options { font-size: 13px; line-height: 1.4; }
.cart-modal .cart-item-body__price { white-space: nowrap; }
.cart-modal .cart-item .remove-product-btn { top: 18px; right: 20px; }
.cart-popup-recommendation { margin: 18px 24px 0; font-size: 12px; color: #53623b; }
.cart-modal .cart-popup-size { margin-top: 1px; }
.cart-popup-size-options { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; border: 0; min-width: 0; }
.cart-popup-size-options legend { width: 100%; margin: 0 0 7px; padding: 0; border: 0; font-size: 12px; font-weight: 500; line-height: 1.3; }
.cart-popup-size-choice { position: relative; display: inline-block; margin: 0; cursor: pointer; }
.cart-popup-size-choice input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.cart-popup-size-choice span { display: flex; align-items: center; justify-content: center; min-width: 34px; min-height: 34px; padding: 4px 7px; border: 1px solid #c8c8c8; background: #fff; text-align: center; font-size: 12px; line-height: 1.2; }
.cart-popup-size-choice:hover input:not(:disabled) + span { border-color: #111; }
.cart-popup-size-choice input:checked + span { border-color: #111; background: #111; }
.cart-popup-size-choice input:focus-visible + span { outline: 2px solid #206ba9; outline-offset: 2px; }
.cart-popup-size-choice.is-recommended input:not(:checked) + span { border-color: #607744; }
.cart-popup-size-choice.is-unavailable { cursor: not-allowed; }
.cart-modal .cart-popup-size-choice.is-unavailable span { position: relative; color: #aaa; background: #f5f5f5; cursor: not-allowed; }
.cart-modal .cart-popup-size-choice.is-unavailable span::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to bottom right, transparent calc(50% - .5px), #b8b8b8 50%, transparent calc(50% + .5px)); pointer-events: none; }
.cart-modal .cart-popup-size-choice:not(.is-unavailable) input:checked + span { color: #fff !important; }
.cart-popup-size[data-busy] .cart-popup-size-options { opacity: .55; }
.cart-popup-size-note, .cart-popup-size-message { display: block; margin: 7px 0 0; font-size: 12px; line-height: 1.35; }
.cart-popup-size-message[hidden] { display: none; }
.cart-popup-size-note.is-unavailable, .cart-popup-size-message.is-error { color: #b00020; }
.cart-popup-size-message.is-pending { color: #555; }
.cart-popup-related { padding: 20px 24px 24px; border-top: 1px solid #e5e5e5; }
.cart-popup-related.cart-popup-related { margin-bottom: 0 !important; }
.cart-popup-related__heading { margin: 0 0 12px; font-size: 14px; font-weight: 600; }
.cart-popup-related__item { display: flex; gap: 12px; padding: 14px 0; border-top: 1px solid #eee; }
.cart-popup-related__image { flex: 0 0 64px; }
.cart-popup-related__image img { display: block; width: 64px; height: 80px; object-fit: contain; }
.cart-popup-related__content { display: flex; flex: 1; flex-direction: column; align-items: flex-start; gap: 7px; min-width: 0; }
.cart-popup-related__name { color: #111; font-size: 13px; font-weight: 600; line-height: 1.3; }
.cart-popup-related__price { font-size: 13px; }
.cart-popup-related form { width: 100%; }
.cart-popup-related form .btn { margin-top: 10px; padding: 8px 12px; font-size: 12px; }
.cart-modal .cart-popup-related [data-cart-recommendation] > button.btn.primary { color: #fff !important; background: #111 !important; }
.cart-modal .cart-popup-related [data-cart-recommendation] > button.btn.primary:disabled { color: #fff !important; opacity: .55; }
.cart-modal .cart-popup-related [data-cart-recommendation] > button.cart-popup-related__add { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; min-width: 36px; padding: 0; }
.cart-popup-related__add svg { display: block; width: 18px; height: 18px; }
.cart-popup-related__content > .btn { padding: 8px 12px; font-size: 12px; }
@media (max-width: 420px) {
  .cart-modal .cart-item { padding: 18px 16px; gap: 10px; }
  .cart-modal .cart-item .remove-product-btn { right: 14px; }
  .cart-popup-related { padding: 18px 16px; }
  .cart-popup-recommendation { margin-left: 16px; margin-right: 16px; }
}

