
:root{
  --red:#d6392a;
  --accent:#ffb400;
  --bg:#fafafa;
  --muted:#6b6b6b;
}
*{box-sizing:border-box}
body{font-family:Inter,system-ui,Arial,sans-serif;background:var(--bg);margin:0;color:#111}
.container{max-width:1100px;margin:0 auto;padding:20px}
.site-header{background:#fff;box-shadow:0 1px 4px rgba(0,0,0,0.06)}
.site-header .container{display:flex;align-items:center;justify-content:space-between}
.brand{font-weight:800;color:var(--red)}
.nav a{margin-left:14px;color:#333;text-decoration:none}
.hero{position:relative;display:flex;gap:20px;align-items:center;padding:20px 0}
.hero-img{width:40%;border-radius:12px;object-fit:cover;height:260px}
.hero-text{width:60%}
.btn{background:var(--red);color:#fff;padding:10px 14px;border-radius:10px;text-decoration:none;display:inline-block}
.btn-outline{background:transparent;border:2px solid #fff;color:#fff}
.btn-secondary{background:#333;color:#fff;padding:10px 14px;border-radius:10px}
.menu-section{padding:30px 0}
.menu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.card{background:#fff;padding:12px;border-radius:12px;box-shadow:0 4px 10px rgba(0,0,0,0.04)}
.card h4{margin:0 0 6px}
.card p{margin:0 0 8px;color:var(--muted)}
.cart-widget{position:fixed;right:18px;bottom:18px;width:320px;background:#fff;padding:14px;border-radius:12px;box-shadow:0 12px 30px rgba(0,0,0,0.12)}
.cart-widget button{width:100%;padding:10px;border-radius:10px;border:none;background:var(--red);color:#fff}
.cart-total{margin-top:8px;font-weight:700}
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}
.gallery-grid img{width:100%;height:150px;object-fit:cover;border-radius:8px}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.hours{background:#fff;padding:12px;border-radius:8px}
.error{color:#b00020;background:#ffecec;padding:8px;border-radius:6px;margin-bottom:8px}
.modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0.4);padding:20px}
.modal.hidden{display:none}
.modal-content{background:#fff;padding:18px;border-radius:12px;max-width:680px;width:100%;position:relative}
.modal-content label{display:block;margin-bottom:8px}
.modal-content input,.modal-content textarea,.modal-content select{width:100%;padding:8px;border:1px solid #ddd;border-radius:6px;margin-top:6px}
.modal-content .inline{display:flex;gap:10px}
.close{position:absolute;right:12px;top:12px;border:none;background:transparent;font-size:18px}
.actions{display:flex;gap:8px;justify-content:flex-end;margin-top:10px}
.muted{color:var(--muted);font-size:13px}
footer{
    padding:20px;
    text-align:center;
    color:var(--muted);
    margin-top:40px;
    background:#fff;
    box-shadow:0 -1px 4px rgba(0,0,0,0.06);
    font-size:14px;
}
@media(max-width:800px){.hero{flex-direction:column}.hero-img{width:100%;height:220px}.contact-grid{grid-template-columns:1fr} .cart-widget{width:92%;left:4%;right:4%}}

/* Catégorie de menu */
.menu-section h3 {
  font-size: 1.5rem;
  margin-bottom: 12px;
  color: var(--red);
  border-bottom: 2px solid var(--accent);
  padding-bottom: 4px;
}

/* Conteneur de chaque catégorie */
.menu-category {
  background: #f9f9f9;
  padding: 14px;
  border-radius: 12px;
  margin-bottom: 24px;
}

/* Ajustement de la grille à l'intérieur d'une catégorie */
.menu-category .card {
  margin-bottom: 12px;
}
