:root{
  --bg:#ffffff;
  --panel:#f3f3f3;
  --text:#2b2b2b;
  --muted:#6a6a6a;
  --border:#e2e2e2;
  --shadow:0 10px 30px rgba(0,0,0,.08);
  --radius:18px;
  --accent:#2b2b2b;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;color:var(--text);background:var(--bg)}
a{color:inherit;text-decoration:none}
.container{max-width:1100px;margin:0 auto;padding:22px}
.header{
  position:sticky;top:0;z-index:10;
  background:rgba(255,255,255,.85);backdrop-filter:blur(8px);
  border-bottom:1px solid var(--border);
}
.nav{display:flex;align-items:center;justify-content:space-between;gap:14px}
.brand{display:flex;align-items:center;gap:12px}
.brand h1{font-size:18px;margin:0}
.brand p{margin:0;color:var(--muted);font-size:12px}
.logo{
  width:170px;       /* logo plus grand */
  height:auto;
  background:none;   /* pas de fond */
  border:none;       /* pas de cadre */
  box-shadow:none;   /* pas d'ombre */
  padding:0;
  border-radius:0;   /* pas d'arrondi */
  overflow:visible;
}
.logo img{
  width:100%;
  height:auto;
  object-fit:contain;
  display:block;
}
.logo span{font-weight:800}

.navlinks{display:flex;gap:10px;flex-wrap:wrap}
.chip{
  padding:10px 12px;border:1px solid var(--border);
  border-radius:999px;background:#fff;
  transition:.15s transform ease, .15s background ease;
}
.chip:hover{transform:translateY(-1px);background:var(--panel)}
.hero{
  border:1px solid var(--border);
  border-radius:var(--radius);
  background:
    radial-gradient(1200px 400px at 20% 0%, rgba(0,0,0,.06), transparent 60%),
    radial-gradient(900px 300px at 80% 20%, rgba(0,0,0,.05), transparent 60%),
    linear-gradient(180deg,#fff,#fafafa);
  box-shadow:var(--shadow);
  overflow:hidden;
}
.hero-inner{display:grid;grid-template-columns:1.3fr .7fr;gap:18px;padding:22px}
.hero h2{margin:0 0 8px 0;font-size:28px}
.hero p{margin:0;color:var(--muted);line-height:1.5}
.badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.badge{border:1px solid var(--border);background:#fff;border-radius:999px;padding:8px 10px;font-size:12px}
.card{
  border:1px solid var(--border);
  border-radius:var(--radius);
  background:#fff;
  box-shadow:var(--shadow);
}
.grid{display:grid;grid-template-columns:1fr 380px;gap:18px;margin-top:18px}
.section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin:18px 0 10px}
.section-title h3{margin:0;font-size:18px}
.section-title small{color:var(--muted)}
.menu{padding:14px}
.category{margin:10px 0 18px}
.category h4{margin:0 0 10px 0;font-size:15px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.item{
  border:1px solid var(--border);
  border-radius:16px;
  background:linear-gradient(180deg,#fff,#fbfbfb);
  overflow:hidden;
  display:flex;gap:12px;
  padding:12px;
}
.item-img{
  width:74px;height:74px;border-radius:14px;
  border:1px solid var(--border);
  background:var(--panel);
  flex:0 0 auto;
  display:grid;place-items:center;
  overflow:hidden;
}
.item-img img{width:100%;height:100%;object-fit:cover}
.item h5{margin:0;font-size:15px}
.item p{margin:4px 0 0 0;color:var(--muted);font-size:12px;line-height:1.35}
.item .row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}
.price{font-weight:800}
.btn{
  border:1px solid var(--border);
  background:#fff;
  border-radius:12px;
  padding:9px 10px;
  cursor:pointer;
  transition:.15s transform ease, .15s background ease;
}
.btn:hover{transform:translateY(-1px);background:var(--panel)}
.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}
.btn.primary:hover{background:#111}
.sidebar{padding:14px}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}
.field label{font-size:12px;color:var(--muted)}
.field input,.field textarea,.field select{
  padding:11px 12px;border-radius:12px;border:1px solid var(--border);
  outline:none;background:#fff;
}
.field textarea{min-height:90px;resize:vertical}
.cart{border-top:1px dashed var(--border);padding-top:12px;margin-top:12px}
.cart-item{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid rgba(0,0,0,.04)}
.cart-item:last-child{border-bottom:none}
.cart-item .name{font-size:13px}
.cart-item .qty{display:flex;align-items:center;gap:6px}
.qty button{width:28px;height:28px;border-radius:10px}
.total{display:flex;justify-content:space-between;font-weight:800;margin-top:10px}
.notice{font-size:12px;color:var(--muted);line-height:1.4;margin-top:10px}
.footer{margin-top:28px;padding:16px 0;border-top:1px solid var(--border);background:#fff;text-align:center}
.toast{
  position:fixed;right:16px;bottom:16px;
  background:#111;color:#fff;padding:12px 14px;border-radius:14px;
  box-shadow:var(--shadow);opacity:0;transform:translateY(8px);
  transition:.18s ease;pointer-events:none;max-width:90vw
}
.toast.show{opacity:1;transform:translateY(0)}
@media (max-width: 980px){
  .hero-inner{grid-template-columns:1fr}
  .grid{grid-template-columns:1fr}
  .items{grid-template-columns:1fr}
}

/* Background overlay for readability when a background image is set on body */
body[style*="background-image"]::before{
  content:"";
  position:fixed; inset:0;
  background:rgba(255,255,255,.78);
  pointer-events:none;
  z-index:-1;
}

/* Admin tabs */
.tabs{display:flex;gap:8px;margin:14px 0 16px;flex-wrap:wrap}
.tab-btn{padding:10px 18px;border:1px solid var(--border);background:#fff;border-radius:20px;cursor:pointer;font-weight:800}
.tab-btn.active{background:#000;color:#fff}
.tab-content{display:none}
.tab-content.active{display:block}
