/* client.lacafetdebibi.re — couleurs du logo, compléments v2 */
:root{--green:#024B36;--green-2:#0B6B4A;--green-ink:#013624;--sand:#FDAD00;--sand-soft:#FFF3D6;--rouge:#E0341F;--cream:#FBF7EC;--ink:#2B1A0E;--muted:#6B6253;--line:#E8DFC9}
body{background:var(--cream)}
.wrap{max-width:560px}
.entete-site{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:22px;flex-wrap:wrap}
.entete-site .brand{margin:0}
.brand img{border-radius:50%!important;width:44px!important;height:44px!important}
.menu-site{display:flex;gap:4px}
.menu-site a{padding:8px 12px;border-radius:999px;text-decoration:none;color:var(--green);font-weight:600;font-size:15px}
.menu-site a:hover{background:#fff}
.card{background:var(--green);position:relative}
.card::after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:linear-gradient(var(--sand) 0 60%,var(--rouge) 60%)}
.btn-primary{background:var(--sand);color:var(--ink)}
.btn-vert{background:var(--green);color:#fff;width:100%}
.btn-ligne{background:#fff;color:var(--green);border:2px solid var(--line);width:100%}
.choix-prog{display:grid;gap:12px;margin-top:6px}
.choix-prog button{all:unset;cursor:pointer;display:block;background:#fff;border:2px solid var(--line);border-radius:18px;padding:18px 18px 16px;box-sizing:border-box}
.choix-prog button:hover,.choix-prog button:focus-visible{border-color:var(--green);box-shadow:0 0 0 3px rgba(2,75,54,.12)}
.choix-prog .titre{font-size:20px;font-weight:600;color:var(--green);display:block}
.choix-prog .desc{color:var(--muted);display:block;margin-top:4px}
.choix-prog .actuel{border-color:var(--sand);background:var(--sand-soft)}
.tag{display:inline-block;padding:3px 10px;border-radius:999px;font-size:13px;font-weight:600;background:var(--sand-soft);color:#7a5200}
.tag.ok{background:#e3f1ea;color:var(--green)}
.code-remise{font-family:ui-monospace,Menlo,monospace;font-size:28px;font-weight:700;letter-spacing:.12em;color:var(--green);background:#fff;border:2px dashed var(--sand);border-radius:14px;padding:10px 16px;text-align:center;margin:8px 0}
.hub{display:grid;gap:12px}
.hub a{display:flex;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;text-decoration:none;color:var(--ink)}
.hub a:hover{border-color:var(--green)}
.hub .ico{font-size:30px}
.hub strong{display:block;color:var(--green);font-size:18px}
.hub span.s{color:var(--muted)}
.menu-cmd .cat{margin:22px 0 8px;font-size:15px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.ligne-cmd{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px 12px;margin-bottom:8px}
.ligne-cmd img{width:52px;height:52px;border-radius:10px;object-fit:cover;background:var(--cream)}
.ligne-cmd .t{flex:1;min-width:0}
.ligne-cmd .t strong{display:block;line-height:1.2}
.ligne-cmd .prix{color:var(--muted);font-size:15px}
.qte{display:flex;align-items:center;gap:6px}
.qte button{width:36px;height:36px;border-radius:50%;border:2px solid var(--line);background:#fff;font:inherit;font-size:20px;line-height:1;cursor:pointer;color:var(--green)}
.qte input{width:44px;min-height:36px!important;text-align:center;padding:4px!important}
.panier{position:sticky;bottom:10px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--green);color:#fff;border-radius:18px;padding:12px 12px 12px 18px;margin-top:16px;box-shadow:0 10px 30px -10px rgba(1,54,36,.6);z-index:5}
.panier .btn{width:auto;min-width:150px;margin:0}
.panier .small{opacity:.8;font-size:14px}
.options-cmd .radio-ligne label{background:var(--cream);border:2px solid var(--line)}
.options-cmd .radio-ligne label:has(input:checked){border-color:var(--green)}
.panier .total{font-size:20px;font-weight:600}
.panier label{color:#fff}
.radio-ligne{display:flex;gap:10px;margin:10px 0}
.radio-ligne label{flex:1;display:flex;gap:8px;align-items:center;border-radius:12px;padding:10px;font-weight:500;cursor:pointer}
.info-livraison{background:var(--sand-soft);border-radius:14px;padding:12px 14px;margin-bottom:12px}
table.cmds{width:100%;border-collapse:collapse;font-size:15px}
table.cmds td{border-top:1px solid var(--line);padding:8px 4px;vertical-align:top}
.muted{color:var(--muted)}
.check{display:flex;gap:10px;align-items:flex-start;font-size:15px;line-height:1.4}
.check input{margin-top:3px;width:auto;min-height:0}
.ligne-cmd.choisi{border-color:var(--green);box-shadow:0 0 0 2px rgba(2,75,54,.12)}
.panier .btn-primary:disabled{opacity:.5;cursor:not-allowed}
.panier input{background:#fff}
@media (max-width:420px){.menu-site a{padding:6px 8px;font-size:14px}}
.card-progress{background:rgba(255,255,255,.06);padding:22px 20px 18px}
.card-progress .barre{height:14px;border-radius:999px;background:rgba(255,255,255,.15);overflow:hidden}
.card-progress .barre span{display:block;height:100%;background:var(--sand);border-radius:999px}
.card-progress .leg{color:#fff;opacity:.9;margin-top:10px;font-size:15px}
#qrcode{display:flex;justify-content:center;margin:6px 0 4px}
.progression{height:12px;border-radius:999px;background:var(--cream);overflow:hidden;margin-top:10px}
.progression span{display:block;height:100%;background:var(--green);border-radius:999px}
.ligne-form{display:flex;gap:8px;flex-wrap:wrap}
.ligne-form input{flex:1;min-width:200px}
.ligne-form .btn{width:auto;margin:0}
.deux{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:420px){.deux{grid-template-columns:1fr}}
form.inline{display:inline}
button.lien{all:unset;cursor:pointer;color:var(--green);text-decoration:underline;font-size:14px}
.commander .btn{margin-top:6px}
