.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-price { display: grid; flex: 0 0 auto; min-width: 130px; align-content: center; justify-items: end; color: var(--green); }
.cart-price small { white-space: nowrap; }
.cart-price strong { font-size: 17px; }
.cart-total { display: flex; justify-content: flex-end; align-items: baseline; gap: 18px; margin: 18px 0 -8px; padding: 15px 17px; border: 1px solid var(--line); border-radius: 12px; background: var(--card); }
.cart-total span { color: var(--muted); }
.cart-total strong { color: var(--green); font-size: 22px; }
.cart-summary { display: flex; justify-content: flex-end; align-items: stretch; gap: 10px; margin: 18px 0 -8px; }
.cart-summary .cart-total { margin: 0; }
.cart-weight { display: flex; align-items: baseline; gap: 12px; padding: 15px 17px; border: 1px solid var(--line); border-radius: 12px; background: var(--card); }
.cart-weight span { color: var(--muted); }
.cart-weight strong { color: var(--green); font-size: 20px; white-space: nowrap; }
.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; }
  .cart-price { justify-items: start; margin-left: 72px; }
  .cart-total { justify-content: space-between; }
  .cart-summary { display: grid; }
  .cart-summary .cart-total, .cart-weight { justify-content: space-between; }
}
.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-card > .checkout-address-option { grid-template-columns: minmax(0, 1fr); cursor: default; }
.checkout-card > .checkout-address-option span { min-width: 0; }
.checkout-shop-title { display: flex !important; grid-template-columns: minmax(0, max-content) max-content; align-items: center; justify-content: start; gap: 8px; }
.checkout-franchise-badge { display: inline-flex; align-items: center; width: max-content; padding: 3px 8px; border-radius: 999px; background: #dcebe2; color: #214d3a; font-size: 11px; font-style: normal; font-weight: 800; line-height: 1.2; }
.checkout-delivery-warning { padding: 13px 15px; border: 1px solid #e9b66e; border-radius: 11px; background: #fff5e7; color: #79440c; font-size: 14px; font-weight: 700; line-height: 1.45; }
.checkout-delivery-warning[hidden] { display: none; }
.checkout-no-address { padding: 18px; border: 1px dashed var(--line); border-radius: 12px; text-align: center; }
.checkout-delivery-date > p { margin: -5px 0 0; color: var(--muted); font-size: 13px; }
.checkout-date-options { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; }
.checkout-date-option { position: relative; display: block; cursor: pointer; }
.checkout-date-option input { position: absolute; opacity: 0; pointer-events: none; }
.checkout-date-option span { display: grid; min-height: 68px; padding: 10px; place-content: center; border: 1px solid var(--line); border-radius: 11px; background: white; text-align: center; transition: border-color .2s,background .2s,transform .2s; }
.checkout-date-option small { color: var(--muted); font-size: 11px; }
.checkout-date-option:has(input:checked) span { border-color: var(--green); background: #edf3ef; box-shadow: inset 0 0 0 1px var(--green); transform: translateY(-1px); }
.checkout-submit { justify-self: end; padding: 12px 24px; }
@media (max-width: 600px) { .checkout-page { margin: 26px auto; } .checkout-card { padding: 17px; } .checkout-date-options { grid-template-columns: repeat(2,minmax(0,1fr)); } .checkout-submit { width: 100%; } }
