body{margin:0;background:#f4f5f7;color:#1d2939;font:18px/1.6 system-ui,sans-serif}main{max-width:1100px;margin:auto;padding:32px 20px}.suppliers{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}section{background:white;border:1px solid #d0d5dd;border-radius:12px;padding:24px}h1,h2{line-height:1.25}h2{font-size:1.4rem}

a{color:#174ea6}a:focus-visible{outline:3px solid #174ea6;outline-offset:4px}.category{margin-top:24px}.product{border-top:1px solid #d0d5dd;padding-top:16px}.muted{color:#526070}.description{white-space:pre-line}

.product-photo,.photo-placeholder{width:100%;height:260px;object-fit:contain;background:#fff;border-radius:8px}.photo-placeholder{display:flex;align-items:center;justify-content:center;color:#667085;background:#f4f5f7}

.product{min-width:0}.quantity-prices{margin:16px 0;border:2px solid #52739d;border-radius:10px;overflow:hidden;background:#f5f9ff}.quantity-prices table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.quantity-prices caption{text-align:left;padding:10px 14px;background:#174ea6;color:white;font-weight:700}.quantity-prices th,.quantity-prices td{padding:10px 14px;text-align:left;border-bottom:2px solid #8ba3c2}.quantity-prices thead{font-size:.85rem;color:#46566c}.quantity-prices tbody th{font-weight:500}.quantity-prices td{text-align:right;white-space:nowrap;font-size:1.2rem}.quantity-prices tbody tr:last-child{background:#e9f1fd}.pack-info,.promotion-info{margin:0;padding:8px 14px;font-size:.85rem;color:#46566c}

.quantity-prices th+th,.quantity-prices th+td,.quantity-prices td+td{border-left:2px solid #8ba3c2}.quantity-prices caption{border-bottom:2px solid #52739d}.quantity-prices thead{background:#e0eafa}

.category>.suppliers{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
.quantity-prices th,.quantity-prices td{padding:10px 8px}
.quantity-prices td{font-size:1.05rem}
.quantity-prices .order-cell{text-align:center;width:76px}
.quantity-add{min-width:60px;min-height:44px;padding:8px;border:1px solid #52739d;border-radius:6px;background:#dce7f5;color:#354b68;font:700 1rem system-ui,sans-serif;font-variant-numeric:tabular-nums}
.quantity-add{cursor:pointer;background:#174ea6;color:#fff}.quantity-add:active{transform:scale(.96)}.quantity-add:disabled{cursor:wait;opacity:.65}
.order-coming{margin:0;padding:8px 12px;font-size:.8rem;color:#526070;text-align:center;border-bottom:1px solid #8ba3c2}
@media(max-width:380px){.category{padding:12px}.quantity-prices th,.quantity-prices td{padding:8px 5px}.quantity-prices tbody th{font-size:.85rem}}

.decor-picker{border:2px solid #8ba3c2;border-radius:10px;padding:12px;margin:14px 0}.decor-picker legend{font-weight:700;padding:0 6px}.decor-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px}.decor-options label{cursor:pointer}.decor-options input{position:absolute;opacity:0}.decor-options span{display:flex;min-height:112px;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:8px;border:2px solid #d0d5dd;border-radius:8px;text-align:center}.decor-options img{width:90px;height:70px;object-fit:contain}.decor-options input:checked+span{border-color:#174ea6;background:#e9f1fd;box-shadow:0 0 0 2px #174ea6}.decor-options input:focus-visible+span{outline:3px solid #174ea6;outline-offset:2px}.decor-options small{font-size:.75rem}.decor-required{margin:10px 0 0;color:#526070;font-size:.85rem}

.supplier-picker{margin:20px 0 28px;background:white;border:2px solid #52739d;border-radius:10px;padding:16px}
.supplier-picker summary{padding:8px;cursor:pointer;font-weight:700;min-height:32px}
.supplier-picker fieldset{border:0;padding:12px 0;margin:0}.supplier-picker legend{padding-top:12px}
.supplier-choices{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0}
.supplier-choices label{display:flex;gap:12px;align-items:center;min-height:48px;padding:10px 16px;border:1px solid #8ba3c2;border-radius:8px;cursor:pointer}
.supplier-choices label:has(input:checked){background:#e9f1fd;border-color:#174ea6}
.supplier-choices input{width:24px;height:24px;accent-color:#174ea6}
.selection-submit{min-height:48px;padding:10px 20px;background:#174ea6;color:white;border:0;border-radius:6px;font:600 1rem system-ui;cursor:pointer}
.selection-error{padding:16px;background:#fff0f0;color:#8b1717}.supplier-group{margin:32px 0}.supplier-heading{padding-bottom:12px;border-bottom:3px solid #174ea6;font-size:1.7rem}
.category>h3{font-size:1.4rem;line-height:1.25}.product h4{font-size:1.17em;margin:1.3em 0;line-height:1.3}

.catalogue-header{position:sticky;top:0;z-index:12;display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;margin:-32px -20px 24px;padding:10px 20px;background:#fff;border-bottom:1px solid #d0d5dd;box-shadow:0 3px 12px #0001}.catalogue-brand{font-size:1.2rem;font-weight:800;text-decoration:none}.cart-summary{box-sizing:border-box;max-width:100%;padding:9px 12px;border-radius:9px;background:#173f73;color:#fff;font-size:.9rem;box-shadow:0 3px 12px #0002;text-decoration:none;overflow-wrap:anywhere}.variant-note{padding:9px 12px;border-left:4px solid #174ea6;background:#e9f1fd;font-size:.88rem}.current-suppliers{color:#526070;margin-top:-10px}
.header-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;max-width:100%}.cart-autosave{padding:10px 14px;border-radius:8px;background:#e9f1fd;color:#173f73}.account-page{max-width:620px}.account-form{display:grid;gap:14px;padding:22px;background:#fff;border-radius:12px}.account-form label{display:grid;gap:4px}.account-form input{min-height:44px;padding:6px 10px;font:1rem system-ui}.account-form button,.saved-carts button,.account-page button{min-height:44px;padding:8px 14px;border:0;border-radius:7px;background:#174ea6;color:#fff;font-weight:700}.saved-carts{display:grid;gap:12px}.saved-carts article{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;background:#fff;border-radius:10px}.saved-carts h2,.saved-carts p{margin:3px 0}
.account-form select{min-height:48px;padding:7px 10px;font:1rem system-ui}.seller-badge{padding:5px 9px;border-radius:6px;background:#e9f1fd;color:#173f73;font-size:.85rem}.client-choice{min-height:42px;box-sizing:border-box;padding:8px 12px;border:2px solid #174ea6;border-radius:7px;font-weight:700;text-decoration:none}
.top-menu{position:relative}.top-menu>summary{list-style:none;min-height:42px;box-sizing:border-box;padding:8px 12px;border:1px solid #52739d;border-radius:8px;background:#fff;color:#173f73;font-weight:800;cursor:pointer}.top-menu>summary::-webkit-details-marker{display:none}.menu-panel{position:absolute;right:0;top:calc(100% + 8px);width:min(420px,calc(100vw - 24px));max-height:calc(100vh - 80px);overflow:auto;box-sizing:border-box;padding:18px;background:#fff;border:2px solid #52739d;border-radius:12px;box-shadow:0 12px 36px #0004}.menu-panel h2{margin:0 0 10px}.menu-link{display:block;min-height:46px;box-sizing:border-box;padding:10px 12px;margin:6px 0;border-radius:7px;background:#edf3fb;font-weight:700;text-decoration:none}.menu-supplier fieldset{border:0;padding:8px 0}.menu-supplier legend{font-size:.8rem;color:#526070}.menu-supplier .supplier-choices{display:grid;gap:7px}.menu-supplier .supplier-choices label{min-height:42px;margin:0;padding:7px 10px}.menu-panel hr{margin:14px 0;border:0;border-top:1px solid #d0d5dd}
.location-choices{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0 16px}.location-choices label{display:flex;align-items:center;gap:8px;min-height:42px;padding:6px 10px;border:1px solid #8ba3c2;border-radius:8px}.location-choices input{width:22px;height:22px;accent-color:#174ea6}.location-choices label:has(input:checked){background:#e9f1fd;border-color:#174ea6}.variant-note.no-match{border-left-color:#a12626;background:#fff0f0;color:#821b1b}
.copy-reference{padding:3px 7px;border:1px solid #ffffff88;border-radius:5px;background:#ffffff18;color:#fff;font:inherit;font-weight:800;cursor:pointer}.copy-reference:hover,.copy-reference:focus-visible{background:#fff;color:#174ea6}.copy-reference:focus-visible{outline:3px solid #fff;outline-offset:2px}
.login-required{padding:12px 15px;border:2px solid #b36b00;border-radius:9px;background:#fff4df;color:#6f4100;font-weight:700}
.account-form textarea{padding:8px 10px;font:1rem system-ui;resize:vertical}.request-website{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}.account-request-link{padding:14px;background:#fff;border-radius:9px;text-align:center}
@media(max-width:650px){main{padding-top:18px}.catalogue-header{min-height:46px;margin:-18px -20px 20px;padding:8px 12px 8px 112px}.catalogue-brand{display:none}.seller-badge{display:none}.header-actions{width:100%;justify-content:flex-end;gap:7px}.cart-summary{width:auto;max-width:100%;font-size:.8rem;padding:8px}.top-menu{position:fixed;left:8px;top:8px;z-index:30}.top-menu>summary{font-size:.9rem;padding:8px 12px;background:#fff}.menu-panel{position:fixed;left:8px;right:auto;top:58px;width:calc(100vw - 16px)}.current-suppliers{font-size:.85rem}}
.cart-archive{display:flex;align-items:end;justify-content:flex-end;gap:10px;margin-top:22px;padding:16px;background:#fff;border-radius:10px}.cart-archive label{display:grid;font-size:.85rem}.cart-archive input{min-width:280px;padding:9px;font:1rem system-ui}.cart-archive button{min-height:44px;padding:8px 14px;border:0;border-radius:7px;background:#176b3a;color:#fff;font-weight:700}@media(max-width:600px){.cart-archive{align-items:stretch;flex-direction:column}.cart-archive input{box-sizing:border-box;min-width:0;width:100%}}
.decor-dialog{width:min(720px,calc(100% - 24px));max-height:calc(100% - 24px);padding:20px;border:0;border-radius:14px;box-shadow:0 16px 50px #0006}.decor-dialog::backdrop{background:#172033aa}.decor-dialog form{position:relative}.decor-dialog h2{margin-top:0}.dialog-close{position:absolute;right:0;top:-8px;width:46px;height:46px;border:0;border-radius:50%;background:#e8edf3;font-size:1.8rem;cursor:pointer}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.dialog-actions button{min-height:48px;padding:10px 18px;border-radius:8px;font:600 1rem system-ui;cursor:pointer}.dialog-cancel{border:1px solid #667085;background:#fff}.dialog-confirm{border:0;background:#174ea6;color:#fff}.dialog-confirm:disabled{opacity:.45;cursor:not-allowed}.dialog-status{min-height:1.6em;margin:14px 0 0;color:#176b3a;font-weight:700}.dialog-status.is-error{color:#9a1717}.cart-toast{position:fixed;z-index:20;left:50%;bottom:24px;transform:translateX(-50%);max-width:calc(100% - 32px);padding:13px 18px;border-radius:9px;background:#176b3a;color:#fff;box-shadow:0 6px 24px #0005}.cart-toast.is-error{background:#9a1717}
@media(max-width:600px){.decor-dialog{padding:14px}.decor-dialog .decor-options{grid-template-columns:repeat(2,1fr)}.cart-summary{width:100%;text-align:center}}

.cart-page{max-width:960px}.cart-page-header{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}.cart-page-header h1{margin:.4rem 0 0}.cart-lines{display:grid;gap:14px}.cart-line{display:grid;grid-template-columns:120px minmax(200px,1fr) minmax(310px,auto);gap:18px;align-items:center;padding:16px;background:#fff;border:1px solid #d0d5dd;border-radius:12px}.cart-line>img{width:120px;height:90px;object-fit:contain}.cart-line h2{margin:2px 0;font-size:1.1rem}.cart-line p{margin:2px 0}.cart-supplier{color:#174ea6;font-size:.82rem;font-weight:700}.cart-decor{font-size:.92rem}.cart-line dl{display:grid;grid-template-columns:repeat(2,auto);gap:18px;margin:0;text-align:right}.cart-line dl div{display:grid}.cart-line dt{font-size:.75rem;color:#526070}.cart-line dd{margin:0;font-variant-numeric:tabular-nums}.cart-line-actions{display:flex;align-items:end;justify-content:flex-end;gap:8px;margin-top:10px}.cart-line-actions form{display:flex;align-items:end;gap:6px;margin:0}.cart-line-actions label{display:grid;font-size:.75rem;color:#526070}.cart-line-actions input{box-sizing:border-box;width:78px;min-height:42px;padding:6px;border:1px solid #667085;border-radius:6px;font:1rem system-ui}.cart-line-actions button{min-height:42px;padding:7px 11px;border:0;border-radius:6px;background:#174ea6;color:#fff;font-weight:700;cursor:pointer}.cart-line-actions .cart-remove{background:#a12626}.cart-notice{padding:10px 14px;border-radius:8px;background:#e3f5e9;color:#176b3a;font-weight:700}.cart-notice.is-error{background:#fff0f0;color:#9a1717}.cart-total{display:flex;justify-content:flex-end;gap:28px;margin-top:20px;padding:18px;border-top:3px solid #174ea6;font-size:1.25rem}.cart-empty{padding:32px;background:#fff;border-radius:12px;text-align:center}.cart-empty .selection-submit{display:inline-block;text-decoration:none}
@media(max-width:720px){.cart-page-header{align-items:stretch;flex-direction:column}.cart-line{grid-template-columns:82px minmax(0,1fr)}.cart-line>img{width:82px;height:72px}.cart-line-details{grid-column:1/-1}.cart-line dl{justify-content:space-between;text-align:left}.cart-line-actions{justify-content:space-between;flex-wrap:wrap}.cart-total{justify-content:space-between}.cart-summary{width:100%}}

/* Les noms et adresses des clients peuvent être longs sur mobile. */
.account-page,.account-form,.account-form label{box-sizing:border-box;min-width:0}
.account-form input,.account-form select{box-sizing:border-box;min-width:0;width:100%;max-width:100%}
@media(max-width:650px){.account-page{width:100%;padding-left:12px;padding-right:12px}.account-form{padding:16px}}
