.shop-categories-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:18px;}
.shop-category-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:20px;text-align:center;}
.shop-category-card img{height:110px;width:100%;object-fit:cover;border-radius:10px;margin-bottom:10px;}
.shop-category-placeholder{height:110px;display:flex;align-items:center;justify-content:center;font-size:2rem;background:var(--bg-secondary);border-radius:10px;margin-bottom:10px;}
.shop-category-card h4{font-size:0.85rem;margin-bottom:2px;}
.shop-category-card p{font-size:0.75rem;margin:0;}

.shop-products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px;}
.shop-product-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:16px;position:relative;}
.shop-product-card img{height:180px;width:100%;object-fit:cover;border-radius:10px;margin-bottom:12px;}
.shop-product-placeholder{height:180px;display:flex;align-items:center;justify-content:center;font-size:2.4rem;background:var(--bg-secondary);border-radius:10px;margin-bottom:12px;}
.shop-product-card h4{font-size:0.92rem;margin-bottom:2px;}
.shop-name-ar{font-size:0.78rem;margin-bottom:8px;}
.shop-tag{position:absolute;top:26px;left:26px;font-size:0.62rem;font-weight:700;padding:4px 10px;border-radius:999px;letter-spacing:0.03em;text-transform:uppercase;}
.shop-tag-new{background:rgba(47,165,99,0.18);color:var(--success);}
.shop-tag-limited{background:rgba(255,138,0,0.18);color:var(--accent);}
.shop-tag-elite{background:rgba(168,85,247,0.18);color:#c084fc;}
.shop-price-row{display:flex;align-items:center;justify-content:space-between;margin-top:10px;}
.shop-price{font-weight:800;color:var(--accent-2);font-size:1rem;}
.btn-add-cart{background:var(--accent);border:1px solid var(--accent);color:#100900;border-radius:8px;width:36px;height:36px;cursor:pointer;font-size:1rem;}
.btn-add-cart:hover{background:var(--accent-dark);}

.shop-note-section{padding-top:0;}
.shop-note{text-align:center;font-size:0.85rem;color:var(--text-secondary);background:var(--card-bg);border:1px dashed var(--border);border-radius:var(--radius);padding:16px;}

/* ---- Cart ---- */
.cart-message{background:rgba(47,165,99,0.14);color:var(--success);border:1px solid rgba(47,165,99,0.3);border-radius:10px;padding:10px 16px;margin-bottom:16px;font-size:0.85rem;}
.cart-message-error{background:rgba(255,90,90,0.12);color:#ff8a8a;border-color:rgba(255,90,90,0.3);}
.cart-table-wrap{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);overflow:auto;margin-bottom:24px;}
.cart-table{width:100%;border-collapse:collapse;min-width:600px;}
.cart-table th{text-align:left;padding:14px 16px;font-size:0.7rem;color:var(--text-secondary);text-transform:uppercase;border-bottom:1px solid var(--border);}
.cart-table td{padding:12px 16px;border-bottom:1px solid var(--border);vertical-align:middle;}
.cart-product-cell{display:flex;align-items:center;gap:12px;}
.cart-product-cell img,.cart-thumb-placeholder{width:52px;height:52px;object-fit:cover;border-radius:8px;}
.cart-thumb-placeholder{display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);font-size:1.2rem;}
.cart-qty-form{display:flex;gap:8px;align-items:center;}
.cart-qty-form input{width:60px;background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);padding:6px 8px;border-radius:6px;}
.btn-remove{background:transparent;border:1px solid var(--border);color:var(--text-secondary);border-radius:8px;width:32px;height:32px;cursor:pointer;}
.btn-remove:hover{border-color:#ff8a8a;color:#ff8a8a;}
.cart-summary{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:22px;max-width:360px;}
.cart-total-row{display:flex;justify-content:space-between;font-size:1.1rem;font-weight:800;margin-bottom:16px;}

/* ---- Checkout ---- */
.checkout-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:28px;align-items:start;}
@media (max-width:900px){.checkout-grid{grid-template-columns:1fr;}}
.checkout-form{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:26px;display:flex;flex-direction:column;gap:6px;}
.checkout-form label{font-size:0.78rem;color:var(--text-secondary);margin-top:12px;}
.checkout-form input,.checkout-form textarea,.checkout-form select{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);padding:10px 12px;border-radius:8px;font-family:inherit;}
.checkout-form button{margin-top:22px;}
.fulfillment-choice{display:flex;flex-direction:column;gap:8px;margin-top:8px;font-size:0.85rem;color:var(--text-primary);}
.checkout-summary{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:22px;}
.checkout-summary h3{font-size:0.95rem;margin-bottom:14px;}
.checkout-summary-line{display:flex;justify-content:space-between;font-size:0.85rem;color:var(--text-secondary);padding:6px 0;border-bottom:1px solid var(--border);}
.checkout-summary-total{display:flex;justify-content:space-between;margin-top:14px;font-size:1.05rem;}

.order-success-box{text-align:center;}
