:root{
  --gold:#C8B273;--black:#1c1c1c;--grey:#6b6b6b;--light:#f0f0f0;--muted:#e9e9e9;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;padding:0;background:#fff;color:var(--black);
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial;
  -webkit-tap-highlight-color: transparent;
}
/* Header */
.header{padding:16px 14px 10px;border-bottom:1px solid var(--light);background:#fff;position:sticky;top:0;z-index:5}
.header h1{font-size:20px;margin:0 0 4px;font-weight:800;letter-spacing:.2px}
.header .tag{font-size:12px;color:var(--grey)}
.header-inner{display:flex;align-items:center;gap:12px}
.logo-holder{flex:0 0 auto;background:#fff;border:1px solid var(--light);border-radius:10px;padding:8px;display:flex;align-items:center;justify-content:center;height:52px;width:52px;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.logo-holder .logo{max-width:100%;max-height:100%;object-fit:contain}
.title-block{flex:1}
.bar{height:3px;background:var(--gold)}
.container{max-width:900px;margin:0 auto;padding:12px 14px 110px}
/* Cards & form */
.card{border:1px solid var(--light);border-radius:14px;padding:14px;margin:12px 0;background:#fff;box-shadow:0 1px 0 rgba(0,0,0,.02)}
.card h3{margin:0 0 8px;font-size:18px}

label{display:block;font-size:13px;color:var(--grey);margin:6px 0 6px}
input,select,textarea{
  width:100%;padding:14px 12px;border:1px solid var(--muted);border-radius:12px;font-size:16px;background:#fff;
}
input:focus,select:focus,textarea:focus{outline:none;border-color:#cfcfcf;box-shadow:0 0 0 3px rgba(200,178,115,.15)}
/* Titre du formulaire */
.form-title{font-size:18px;font-weight:800;margin:4px 0 10px;}
/* Toolbar */
.toolbar{display:flex;gap:10px;align-items:center;margin:6px 0 10px;flex-wrap:wrap}
.toolbar #search{flex:1 1 260px}
.toggle{display:flex;align-items:center;gap:8px;font-size:14px;color:#333}
.toggle input{width:22px;height:22px}
/* Groupes par maison */
.group-maison{
  margin:18px 0 8px;
  font-size:16px;font-weight:800;letter-spacing:.3px;color:#1c1c1c;
  display:flex;align-items:center;gap:8px;
}
.group-maison::before{
  content:"";flex:0 0 4px;height:16px;background:var(--gold);border-radius:2px;
}
/* Items produits */
.products .item{
  display:grid;gap:8px;align-items:center;padding:12px 0;border-bottom:1px dashed #eee;
  grid-template-columns: 1fr auto;
}
.prod-title{font-weight:700;font-size:16px;line-height:1.3}
.prod-meta{font-size:12px;color:#6b6b6b;margin-top:2px}
.price-row{display:flex;gap:10px;color:#444;font-size:12px;margin-top:4px}
.price-pill{border:1px solid var(--light);border-radius:999px;padding:6px 10px;background:#fafafa}
/* Stepper */
.stepper{display:flex;align-items:center;gap:8px}
.stepper button{
  min-width:34px;height:34px;border:1px solid var(--muted);background:#fff;border-radius:12px;
  font-size:18px;line-height:1;font-weight:700;display:flex;align-items:center;justify-content:center;
}
.stepper input.qty{
  width:60px;text-align:center;font-size:12px;padding:12px;border:1px solid var(--muted);border-radius:12px;
}
/* Barre total : une seule ligne */
.total{
  position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid var(--light);
  padding:12px 14px;box-shadow:0 -8px 20px rgba(0,0,0,.06);z-index:10;
}
.total .sub{
  font-size:13px;
  color:#6b6b6b;
  margin-top:2px;
}
.total .grid{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}
.total .fig{font-weight:800;font-size:16px;white-space:nowrap}
.btn{
  display:inline-block;background:#1c1c1c;color:#fff;border:none;padding:16px 18px;border-radius:14px;
  font-size:16px;font-weight:800;min-height:52px
}
/* Misc */
.footer{padding:18px 6px 0;font-size:12px;color:#6b6b6b;text-align:center}
.border-wrap{border:1px solid #eee;border-radius:16px;padding:8px 10px}
.hp{display:none}
/* Desktop tweaks */
@media (min-width:720px){
  .products .item{grid-template-columns: 1fr auto;}
}
/* Confirmation overlay */
.overlay{
  position:fixed;inset:0;background:rgba(0,0,0,0.65);
  display:flex;align-items:center;justify-content:center;
  z-index:999;
}
.popup{
  background:#fff;border-radius:18px;padding:26px 22px;max-width:360px;
  box-shadow:0 8px 24px rgba(0,0,0,.2);text-align:center;
}
.popup h2{margin:0 0 12px;font-size:20px;font-weight:800;color:#1c1c1c}
.popup p{font-size:15px;color:#444;margin:6px 0;line-height:1.4}
.close-btn{
  margin-top:14px;background:#1c1c1c;color:#fff;border:none;
  padding:12px 20px;border-radius:12px;font-size:15px;font-weight:700;
}
.catalog-link{margin:4px 0 10px}
.catalog-link a{font-size:12px;text-decoration:none;border-bottom:1px solid #ddd;padding-bottom:2px}

.maison{border:1px solid var(--light);border-radius:12px;margin:10px 0;overflow:hidden}
.maison summary{
  list-style:none;cursor:pointer;padding:12px 12px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;
  background:#fafafa;border-bottom:1px solid var(--light);
}
.maison summary::-webkit-details-marker{display:none}
.maison .m-title{font-weight:800;font-size:14px;flex:1}
.filters{display:flex;gap:8px;flex-wrap:wrap}
.chip{
  display:inline-flex;align-items:center;gap:6px;border:1px solid var(--muted);border-radius:999px;padding:6px 10px;
  font-size:12px;background:#fff;cursor:pointer;
}
.chip input{width:16px;height:16px}
.maison-body{padding:8px 12px}


