
.pickup-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0;border-top:1px solid #d7bda5;border-bottom:1px solid #d7bda5;margin-bottom:25px}.pickup-intro h2{font:800 34px/1.05 var(--display);color:#813c32;margin:8px 0}.pickup-intro p{font-size:13px;line-height:1.6;max-width:620px}.pickup-add,.pickup-open,.pickup-next{border:1px solid #813c32;border-radius:999px;padding:12px 18px;background:#813c32;color:#faf0df;font:600 13px sans-serif;cursor:pointer}.pickup-add{grid-column:1/-1;width:max-content;margin-top:6px}.pickup-modal{box-sizing:border-box;width:min(620px,calc(100vw - 24px));max-height:85dvh;overflow:auto;border:1px solid #d7bda5;border-radius:18px;background:#faf0df;color:#211c17;padding:24px}.pickup-modal::backdrop{background:#211b1666;backdrop-filter:blur(4px)}.pickup-head{display:flex;justify-content:space-between;align-items:center;gap:16px}.pickup-head h2{font:700 25px/1.1 sans-serif;margin:0;color:#813c32}.pickup-close{border:1px solid #d7bda5;border-radius:50%;background:transparent;font-size:25px;width:38px;height:38px;cursor:pointer}.pickup-steps{display:flex;gap:6px;margin:20px 0}.pickup-steps span{flex:1;height:4px;background:#dfceba}.pickup-steps .active{background:#813c32}.pickup-note{font-size:12px;line-height:1.5;color:#796657}.pickup-line{display:grid;grid-template-columns:58px 1fr auto;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid #d7bda5}.pickup-line img{width:58px;height:58px;object-fit:cover;border-radius:8px}.pickup-line strong{font-size:15px}.pickup-quantity{display:flex;align-items:center;gap:8px}.pickup-quantity button{width:30px;height:30px;border:1px solid #d7bda5;border-radius:50%;background:transparent;cursor:pointer}.pickup-modal label{display:block;font:600 14px/1.5 sans-serif;margin:14px 0 6px}.pickup-modal input{display:block;box-sizing:border-box;width:100%;min-height:44px;padding:12px;border:1px solid #bd9d85;border-radius:8px;background:#fffaf1;font:15px sans-serif;color:#211c17}.pickup-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}.pickup-slots button{padding:10px;border:1px solid #c9af97;border-radius:7px;background:#fffaf1;cursor:pointer}.pickup-slots button[aria-pressed=true]{background:#813c32;color:#fff}.pickup-actions{display:flex;gap:12px;justify-content:space-between;margin:22px 0 0}.pickup-back{background:none;border:0;color:#813c32;text-decoration:underline;cursor:pointer}.pickup-next:disabled{opacity:.45;cursor:not-allowed}.pickup-modal dl{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:14px}.pickup-modal dd{margin:0;text-align:right}.pickup-preview-payment{padding:20px;border:1px solid #d7bda5;border-radius:10px;margin-top:18px}.pickup-alert{color:#9c2c24;font-size:13px}.pickup-modal button:focus-visible,.pickup-modal input:focus-visible,.pickup-add:focus-visible,.pickup-open:focus-visible{outline:3px solid #c95036;outline-offset:3px}.pickup-modal[open]{animation:pickup-in .2s ease-out}@keyframes pickup-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:650px){.pickup-intro{display:block}.pickup-open{margin-top:10px;width:100%}.pickup-intro h2{font-size:29px}.pickup-modal{padding:18px}.pickup-head h2{font-size:22px}.pickup-line{grid-template-columns:48px 1fr auto;gap:8px}.pickup-line img{width:48px;height:48px}.pickup-slots{grid-template-columns:repeat(3,1fr)}.pickup-add{font-size:12px;padding:10px 14px}}@media(prefers-reduced-motion:reduce){.pickup-modal[open]{animation:none}}

.shop-pickup{display:block;width:100%;margin-top:8px;padding:10px 14px;border:1px solid #813c32;border-radius:7px;background:transparent;color:#813c32;font:700 13px sans-serif;cursor:pointer}.shop-pickup:hover{background:#f5e9d7}.shop-pickup:focus-visible{outline:3px solid #c95036;outline-offset:2px}
/* Le nombre sur la fiche reflète toujours le panier local de démonstration. */
.pickup-add.is-picked::after{content:attr(data-picked-count);display:inline-grid;place-items:center;min-width:22px;height:22px;margin-left:8px;padding:0 4px;border-radius:999px;background:#faf0df;color:#813c32;font-weight:800;box-sizing:border-box}
.pickup-continue{border:1px solid #813c32;border-radius:999px;background:#fff8ed;color:#813c32;font:700 13px sans-serif;cursor:pointer;padding:11px 17px;min-height:44px}
.pickup-continue:focus-visible{outline:3px solid #c95036;outline-offset:3px}
@media(max-width:500px){.pickup-actions{flex-wrap:wrap}.pickup-continue,.pickup-actions .pickup-next{flex:1 1 100%}.pickup-actions .pickup-next{order:0}.pickup-continue{order:1;text-align:center}}
.pickup-toast{position:fixed;z-index:1000;right:20px;bottom:24px;display:flex;align-items:center;gap:14px;padding:12px 14px;border:1px solid #d7bda5;border-radius:12px;background:#fff8ed;color:#432720;box-shadow:0 12px 30px #25170d2b;font:600 13px sans-serif}
.pickup-toast[hidden]{display:none}.pickup-toast button{border:0;border-radius:999px;background:#813c32;color:#fff8ed;padding:9px 12px;font:700 12px sans-serif;cursor:pointer;white-space:nowrap}.pickup-toast button:focus-visible{outline:3px solid #c95036;outline-offset:3px}
@media(max-width:700px){.pickup-toast{left:12px;right:12px;bottom:84px;justify-content:space-between}}

/* Choix explicite du mode et secours vers le retrait. */
.pickup-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}
.pickup-modes button{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:116px;padding:18px;border:2px solid #c9af97;border-radius:12px;background:#fffaf1;color:#211c17;text-align:left;cursor:pointer}
.pickup-modes button[aria-pressed="true"]{border-color:#813c32;background:#f1ddcb}
.pickup-modes strong{font:700 17px/1.2 sans-serif;color:#813c32}
.pickup-modes span{font:13px/1.4 sans-serif;color:#6e5749}
.pickup-slot-unavailable{grid-column:span 2;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border:1px solid #d8c5b5;border-radius:8px;background:#efe4d8;color:#655348;font-size:12px}
.pickup-slot-unavailable button{flex:none;border-color:#813c32;color:#813c32;font-weight:700}
.pickup-fallback-note{margin:8px 0 0}
@media(max-width:650px){.pickup-modes{grid-template-columns:1fr}.pickup-modes button{min-height:86px}.pickup-slot-unavailable{grid-column:1/-1}}
