/* mini-shop style */
body { font-family: Arial, sans-serif; margin:0; padding:0; background:#f6f8fb; color:#222; }
header { background:#0077cc; color:#fff; padding:16px; display:flex; justify-content:space-between; align-items:center; }
header h1 { margin:0; font-size:1.2rem; }
.cart-link a { color:#fff; text-decoration:none; font-weight:bold; }
.catalog { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:18px; padding:20px; max-width:1100px; margin:20px auto; }
.card { background:#fff; padding:14px; border-radius:8px; box-shadow:0 6px 18px rgba(0,0,0,0.06); text-align:center; }
.card img { max-width:100%; height:140px; object-fit:contain; margin-bottom:8px; }
.card h3 { margin:6px 0; color:#0d3b66; }
.card .price { font-weight:bold; margin:8px 0; }
button { background:#0077cc; color:#fff; border:none; padding:8px 12px; border-radius:6px; cursor:pointer; }
button:hover { background:#005a99; }
.cart { max-width:900px; margin:20px auto; padding:10px; }
.cart-table { width:100%; border-collapse:collapse; }
.cart-table th, .cart-table td { padding:8px; border-bottom:1px solid #e6e9ef; text-align:left; }
.total { font-weight:bold; margin-top:12px; }
.actions { margin-top:12px; display:flex; gap:8px; align-items:center; }
.checkout { max-width:700px; margin:20px auto; padding:10px; }
.success { background:#e8fff0; padding:14px; border-radius:8px; box-shadow:0 3px 8px rgba(0,0,0,0.05); }
.errors { background:#ffeceb; padding:10px; border-radius:6px; color:#8b0000; }
a.checkout { display:inline-block; padding:8px 12px; background:#0077cc; color:#fff; border-radius:6px; text-decoration:none; }
