.cart-product-main { display: flex; min-width: 0; gap: 14px; align-items: center; }
.cart-product-main > div { min-width: 0; }
.cart-thumb { display: grid; flex: 0 0 68px; width: 68px; height: 68px; padding: 3px; place-items: center; overflow: hidden; border: 1px solid var(--line); border-radius: 10px; background: white; cursor: zoom-in; }
.cart-thumb img { width: 100%; height: 100%; object-fit: contain; }
.cart-thumb-empty { color: var(--muted); font-size: 10px; text-align: center; cursor: default; }
.cart-quantity { display: flex; flex: 0 0 auto; align-items: center; }
.cart-image-dialog { width: min(760px, calc(100% - 24px)); max-height: calc(100vh - 24px); padding: 18px; border: 0; border-radius: 18px; background: white; box-shadow: 0 28px 80px #14271d75; }
.cart-image-dialog::backdrop { background: #14271dba; backdrop-filter: blur(4px); }
.cart-image-dialog img { display: block; width: 100%; max-height: calc(100vh - 70px); object-fit: contain; cursor: zoom-out; }
.cart-image-dialog > button { position: absolute; top: 9px; right: 9px; width: 38px; height: 38px; padding: 0; border-radius: 50%; background: var(--green); color: white; font-size: 24px; line-height: 1; }
@media (max-width: 600px) {
  .cart-row { display: grid; gap: 12px; }
  .cart-product-main { align-items: flex-start; }
  .cart-thumb { flex-basis: 58px; width: 58px; height: 58px; }
  .cart-quantity { justify-content: flex-end; }
}
.checkout-page { max-width: 760px; margin: 42px auto; }
.checkout-page > p { color: var(--muted); }
.checkout-form { display: grid; gap: 16px; }
.checkout-card { display: grid; gap: 14px; padding: 22px; border: 1px solid var(--line); border-radius: 16px; background: var(--card); }
.checkout-card h2 { margin: 0; font: 700 23px Georgia, serif; }
.checkout-addresses { display: grid; gap: 10px; }
.checkout-address-option { display: grid; grid-template-columns: 22px 1fr; gap: 10px; align-items: center; padding: 13px; border: 1px solid var(--line); border-radius: 11px; background: white; cursor: pointer; }
.checkout-address-option:has(input:checked) { border-color: var(--green); box-shadow: inset 0 0 0 1px var(--green); background: #edf3ef; }
.checkout-address-option input { width: 18px; height: 18px; }
.checkout-address-option span { display: grid; }
.checkout-address-option small { color: var(--muted); }
.checkout-no-address { padding: 18px; border: 1px dashed var(--line); border-radius: 12px; text-align: center; }
.checkout-submit { justify-self: end; padding: 12px 24px; }
@media (max-width: 600px) { .checkout-page { margin: 26px auto; } .checkout-card { padding: 17px; } .checkout-submit { width: 100%; } }
