/* « Ma sélection » + bouton WhatsApp flottant — commun à l'accueil et au catalogue */
.order-dock{position:fixed;right:20px;bottom:20px;z-index:40;display:flex;align-items:center;gap:12px;pointer-events:none}
.order-dock>*{pointer-events:auto}
.dock-whatsapp{width:58px;height:58px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center;box-shadow:0 8px 24px #0004;transition:transform .2s}
.dock-whatsapp:hover{transform:scale(1.06)}
.dock-whatsapp svg{width:30px;height:30px;fill:currentColor}
.dock-selection{display:inline-flex;align-items:center;gap:10px;height:50px;padding:0 10px 0 18px;border:1px solid #d9b26a;border-radius:30px;background:#0d0b0a;color:#f4efe6;font:14px/1 Arial,sans-serif;box-shadow:0 8px 24px #0005;cursor:pointer}
.dock-selection[hidden]{display:none}
.dock-selection svg{width:20px;height:20px;fill:none;stroke:#d9b26a;stroke-width:1.5}
.dock-count{min-width:30px;height:30px;padding:0 8px;border-radius:15px;background:#7a0c22;color:#fff;display:grid;place-items:center;font-size:13px}
.dock-selection.bump{animation:dockBump .45s ease}
@keyframes dockBump{40%{transform:scale(1.08)}}

/* Panneau latéral */
.selection-panel{margin:0 0 0 auto;height:100dvh;max-height:100dvh;width:min(440px,100%);padding:0;border:0;border-left:1px solid #b7975d;background:#f8f6f0;color:#11100e;font-family:Arial,sans-serif}
.selection-panel[open]{display:flex;flex-direction:column;animation:spIn .3s ease}
@keyframes spIn{from{transform:translateX(30px);opacity:0}}
.selection-panel::backdrop{background:#090807b0;backdrop-filter:blur(4px)}
.sp-head{display:flex;justify-content:space-between;align-items:start;padding:26px 26px 14px;background:#0d0b0a;color:#f4efe6}
.sp-eyebrow{font-size:11px;letter-spacing:.14em;color:#d9b26a;margin:0 0 6px}
.sp-head h2{margin:0;font:400 30px/1.1 MaisonSerif,Maison,Georgia,serif}
.sp-close{background:none;border:0;color:#f4efe6;width:44px;height:44px;display:grid;place-items:center;cursor:pointer}
.sp-close svg,.sp-remove svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6}
.sp-body{padding:18px 26px 26px;overflow:auto;flex:1}
.sp-list{list-style:none;margin:0;padding:0}
.sp-list li{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid #e2ddd3}
.sp-info strong{display:block;font:400 18px/1.2 MaisonSerif,Maison,Georgia,serif;margin-bottom:4px}
.sp-price{font-size:13px;color:#6c665e}
.sp-qty{display:flex;align-items:center;border:1px solid #cfc8bc;border-radius:22px}
.sp-qty button{width:34px;height:34px;border:0;background:none;font-size:18px;cursor:pointer;color:#7a0c22}
.sp-qty output{min-width:22px;text-align:center;font-size:15px}
.sp-remove{border:0;background:none;color:#8a847b;width:34px;height:34px;display:grid;place-items:center;cursor:pointer}
.sp-remove:hover{color:#7a0c22}
.sp-empty{color:#6c665e;padding:30px 0;text-align:center}
.sp-summary{display:flex;justify-content:space-between;align-items:baseline;padding:18px 0 4px;font-size:15px}
.sp-summary strong{font:400 26px MaisonSerif,Maison,Georgia,serif;color:#7a0c22}
.sp-note{font-size:12px;color:#6c665e;margin:0 0 10px;min-height:1px}
.sp-form{display:grid;gap:12px;margin-top:8px}
.sp-form[hidden],.sp-summary[hidden],.sp-address[hidden],.sp-empty[hidden]{display:none}
.sp-form label{display:grid;gap:6px;font-size:13px;color:#4a4640}
.sp-form input:not([type=radio]){border:1px solid #cfc8bc;background:#fff;padding:12px;font-size:16px;font-family:inherit}
.sp-mode{border:0;padding:0;margin:0;display:flex;gap:18px;flex-wrap:wrap}
.sp-mode legend{font-size:13px;color:#4a4640;margin-bottom:8px;padding:0}
.sp-mode label{display:flex;align-items:center;gap:8px;font-size:14px;color:#11100e}
.sp-mode input{accent-color:#7a0c22;width:18px;height:18px}
.sp-send{display:flex;align-items:center;justify-content:center;gap:12px;min-height:52px;border:0;background:#25d366;color:#fff;font:600 15px Arial,sans-serif;cursor:pointer;margin-top:6px}
.sp-send:hover{background:#1ebe5b}
.sp-send svg{width:22px;height:22px;fill:currentColor}
.sp-clear{border:0;background:none;color:#6c665e;text-decoration:underline;text-underline-offset:3px;font-size:13px;cursor:pointer;justify-self:center;padding:8px}
.sp-legal{font-size:11px;color:#8a847b;margin:18px 0 0;text-align:center}
.sp-toast{position:fixed;left:50%;bottom:92px;transform:translate(-50%,20px);background:#0d0b0a;color:#f4efe6;border:1px solid #b7975d;padding:12px 18px;font:14px Arial,sans-serif;z-index:60;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;max-width:calc(100% - 32px);text-align:center;margin:0}
.sp-toast.show{opacity:1;transform:translate(-50%,0)}

/* Boutons « Ajouter » / « Commander » sur les produits */
.add-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:8px 14px;border:1px solid currentColor;background:transparent;color:inherit;font:13px Arial,sans-serif;cursor:pointer;transition:background .2s,color .2s}
.add-button::before{content:'+';font-size:17px;line-height:1}
.add-button.is-in::before{content:'✓'}
.quick-order{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:8px 14px;background:#25d366;color:#fff;font:600 13px Arial,sans-serif;text-decoration:none}
.quick-order:hover{background:#1ebe5b}
.quick-order svg{width:16px;height:16px;fill:currentColor}

@media(max-width:520px){.order-dock{right:14px;bottom:14px}
.dock-whatsapp{width:54px;height:54px}
.selection-panel{border-left:0}
.sp-head,.sp-body{padding-left:20px;padding-right:20px}
}
@media(prefers-reduced-motion:reduce){.selection-panel[open],.dock-selection.bump{animation:none}}
@media print{.order-dock,.sp-toast{display:none}}
