:root{
  --bg:#f5f7fb; --card:#fff; --primary:#0b79d0; --muted:#666;
}
*{box-sizing:border-box}
body{font-family:Inter,system-ui,Arial,Helvetica,sans-serif;background:var(--bg);color:#111;margin:0;padding:24px}
header{max-width:1100px;margin:0 auto 18px}
main{display:flex;gap:18px;max-width:1100px;margin:0 auto}
.card{background:var(--card);padding:16px;border-radius:8px;box-shadow:0 1px 4px rgba(16,24,40,0.06);flex:1}
#products{flex:2}
#cart{flex:1;min-width:300px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.product{border:1px solid #eee;padding:12px;border-radius:6px;display:flex;flex-direction:column;gap:8px}
.product h3{margin:0;font-size:1rem}
.product .price{font-weight:700}
.product button{margin-top:auto;padding:8px;border:0;background:var(--primary);color:white;border-radius:6px;cursor:pointer}
.promo{margin-top:12px;display:flex;gap:8px;flex-direction:column}
.promo input{padding:8px;border-radius:6px;border:1px solid #ddd}
.promo button{padding:8px;border-radius:6px;border:1px solid #0b79d0;background:#eaf4ff;color:var(--primary);cursor:pointer}
.totals{margin-top:12px;font-size:0.95rem}
.totals div{display:flex;justify-content:space-between;margin:6px 0}
.total{font-weight:800}
.muted{color:var(--muted);font-size:0.9rem}
.primary{display:block;margin-top:14px;padding:10px 12px;background:var(--primary);color:#fff;border:0;border-radius:6px;cursor:pointer}
footer{max-width:1100px;margin:12px auto;color:var(--muted);font-size:0.9rem}

@media(max-width:800px){main{flex-direction:column}}

/* Rats animés */
.rat{position:fixed;font-size:32px;pointer-events:none;z-index:9999;animation:ratRun 8s linear infinite}
@keyframes ratRun{
  0%{transform:translateX(0) scaleX(1)}
  48%{transform:translateX(calc(100vw - 50px)) scaleX(1)}
  50%{transform:translateX(calc(100vw - 50px)) scaleX(-1)}
  98%{transform:translateX(0) scaleX(-1)}
  100%{transform:translateX(0) scaleX(1)}
}
.rat-float{position:fixed;font-size:24px;pointer-events:none;z-index:9998;animation:ratFloat 6s ease-in-out infinite}
@keyframes ratFloat{
  0%,100%{transform:translateY(0) rotate(0deg)}
  50%{transform:translateY(-20px) rotate(5deg)}
}
.rat-celebration{position:fixed;font-size:48px;pointer-events:none;z-index:10000;animation:ratPop 1.2s ease-out forwards}
@keyframes ratPop{
  0%{transform:scale(0) rotate(0deg);opacity:1}
  50%{transform:scale(1.2) rotate(180deg);opacity:1}
  100%{transform:scale(0.8) translateY(-100px) rotate(360deg);opacity:0}
}
