/* ===== CART PAGE ===== */
.cart-page { max-width:64rem; margin:0 auto; padding:1.5rem 1rem 3rem; direction:rtl; }
.cart-title { font-size:1.375rem; font-weight:700; color:#111827; margin-bottom:1.5rem; }

/* Empty */
.cart-empty { text-align:center; padding:4rem 1rem; background:#fff; border-radius:1rem; border:1px solid #e5e7eb; }
.cart-empty p { color:#9ca3af; margin:1rem 0; }

/* Grid */
.cart-grid { display:grid; grid-template-columns:1fr; gap:1.25rem; }
@media(min-width:768px){ .cart-grid { grid-template-columns:1fr 22rem; align-items:start; } }

/* Items */
.cart-items-box { background:#fff; border-radius:1rem; border:1px solid #e5e7eb; overflow:hidden; }
.cart-item { display:flex; align-items:flex-start; gap:1rem; padding:1rem; border-bottom:1px solid #f3f4f6; }
.cart-item:last-child { border-bottom:none; }
.cart-item__img { width:5rem; height:5rem; flex-shrink:0; border-radius:0.625rem; overflow:hidden; border:1px solid #f3f4f6; background:#f9fafb; display:flex; align-items:center; justify-content:center; }
.cart-item__img img { width:100%; height:100%; object-fit:contain; padding:0.25rem; }
.cart-item__img-placeholder { font-size:2rem; }
.cart-item__body { flex:1; min-width:0; }
.cart-item__name { font-size:0.875rem; font-weight:500; color:#1f2937; text-decoration:none; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; line-height:1.5; }
.cart-item__name:hover { color:#e0457b; }
.cart-item__meta { display:flex; align-items:center; gap:0.75rem; margin-top:0.375rem; }
.cart-item__price { font-size:0.875rem; font-weight:600; color:#111827; }
.cart-item__price-old { font-size:0.75rem; color:#9ca3af; text-decoration:line-through; }
.cart-item__actions { display:flex; align-items:center; gap:1rem; margin-top:0.625rem; }
.qty-box { display:flex; align-items:center; border:1.5px solid #e5e7eb; border-radius:0.5rem; overflow:hidden; }
.qty-btn { width:2rem; height:2rem; display:flex; align-items:center; justify-content:center; background:none; border:none; cursor:pointer; font-size:1.125rem; color:#6b7280; transition:all 0.12s; }
.qty-btn:hover { background:#fef2f7; color:#e0457b; }
.qty-btn:disabled { opacity:0.35; cursor:not-allowed; }
.qty-val { width:2.5rem; text-align:center; font-size:0.9375rem; font-weight:600; color:#111827; border-right:1px solid #e5e7eb; border-left:1px solid #e5e7eb; line-height:2rem; }
.cart-remove-btn { display:flex; align-items:center; gap:0.25rem; font-size:0.75rem; color:#9ca3af; background:none; border:none; cursor:pointer; font-family:inherit; transition:color 0.12s; }
.cart-remove-btn:hover { color:#ef4444; }
.cart-item__total { flex-shrink:0; font-size:0.9375rem; font-weight:700; color:#111827; padding-top:0.25rem; }

/* Summary */
.cart-summary { display:flex; flex-direction:column; gap:0.875rem; }
.summary-box { background:#fff; border-radius:1rem; border:1px solid #e5e7eb; padding:1.125rem; }
.summary-section-title { font-size:0.9375rem; font-weight:700; color:#374151; margin-bottom:0.875rem; }

/* Discount */
.summary-discount { display:flex; gap:0.5rem; }
.summary-discount input { flex:1; border:1px solid #e5e7eb; border-radius:0.625rem; padding:0.5rem 0.875rem; font-size:0.875rem; outline:none; font-family:inherit; }
.summary-discount input:focus { border-color:#e0457b; }
.discount-msg { font-size:0.8125rem; margin-top:0.5rem; padding:0.375rem 0.75rem; border-radius:0.5rem; }
.discount-msg.success { background:#d1fae5; color:#065f46; }
.discount-msg.error   { background:#fee2e2; color:#991b1b; }
.discount-msg.hidden  { display:none; }

/* Free shipping alert */
.free-shipping-alert { background:linear-gradient(135deg,#fef3c7,#fde68a); border:1px solid #fbbf24; border-radius:0.75rem; padding:0.75rem 1rem; font-size:0.875rem; color:#92400e; margin-bottom:0.875rem; text-align:center; }

/* Shipping options */
.shipping-option { display:flex; align-items:center; gap:0.875rem; padding:0.875rem; border:1.5px solid #e5e7eb; border-radius:0.875rem; cursor:pointer; margin-bottom:0.5rem; transition:all 0.15s; }
.shipping-option:last-child { margin-bottom:0; }
.shipping-option input[type="radio"] { display:none; }
.shipping-option.selected { border-color:#e0457b; background:#fef2f7; }
.shipping-option:hover { border-color:#e0457b; }
.shipping-option__icon { font-size:1.5rem; flex-shrink:0; }
.shipping-option__info { flex:1; }
.shipping-option__name { font-size:0.9375rem; font-weight:600; color:#1f2937; }
.shipping-option__desc { font-size:0.75rem; color:#6b7280; margin-top:0.125rem; }
.shipping-option__free-hint { font-size:0.75rem; color:#d97706; margin-top:0.25rem; font-weight:500; }
.shipping-option__cost { flex-shrink:0; font-size:0.9375rem; font-weight:700; color:#111827; }
.badge-free { background:#d1fae5; color:#065f46; padding:0.2rem 0.625rem; border-radius:9999px; font-size:0.8125rem; font-weight:600; }
.badge-cod  { background:#dbeafe; color:#1e40af; padding:0.2rem 0.625rem; border-radius:9999px; font-size:0.8125rem; font-weight:600; }

/* Totals */
.summary-row { display:flex; justify-content:space-between; font-size:0.875rem; color:#4b5563; padding:0.375rem 0; }
.summary-row.text-green { color:#059669; }
.summary-total { display:flex; justify-content:space-between; font-size:1.0625rem; font-weight:700; color:#111827; padding:0.75rem 0 0; margin-top:0.5rem; border-top:1px solid #f3f4f6; }

/* Buttons */
.btn-primary { display:inline-block; background:#e0457b; color:#fff; padding:0.625rem 1.5rem; border-radius:0.625rem; text-decoration:none; font-weight:600; transition:background 0.15s; }
.btn-primary:hover { background:#c73d6e; }
.btn-outline { padding:0.5rem 1rem; border:1px solid #e5e7eb; border-radius:0.625rem; background:#fff; font-size:0.875rem; cursor:pointer; font-family:inherit; color:#374151; transition:all 0.15s; white-space:nowrap; }
.btn-outline:hover { border-color:#e0457b; color:#e0457b; }
.btn-checkout { display:block; width:100%; padding:0.875rem; background:#e0457b; color:#fff; text-align:center; border-radius:0.875rem; font-size:1rem; font-weight:700; text-decoration:none; transition:background 0.15s; }
.btn-checkout:hover { background:#c73d6e; }
.btn-continue { display:block; text-align:center; font-size:0.875rem; color:#6b7280; text-decoration:none; margin-top:0.75rem; }
.btn-continue:hover { color:#e0457b; }
