/* Parcours de commande : panier, formulaire, confirmation. Chargé après tous les autres styles. */

/* ---- Notifications ---- */
.toast{display:flex;align-items:center;justify-content:center;gap:14px;width:max-content}
.toast.visible{pointer-events:auto}
.toast-action{pointer-events:auto;padding:7px 14px;border-radius:999px;background:#ffffff26;color:#fff;font-size:13px;font-weight:700;white-space:nowrap;cursor:pointer;transition:background .15s}
.toast-action:hover{background:#ffffff3d}

/* ---- Panier ---- */
.cart-dialog[open]{display:flex;flex-direction:column}
.cart-dialog .drawer-heading{flex:none;margin-bottom:14px}
.cart-dialog #cart-content{flex:1;min-height:0;display:flex;flex-direction:column}
.cart-lines{flex:1;min-height:0;overflow-y:auto;margin:0 -6px;padding:0 6px}
.cart-item{grid-template-columns:72px 1fr 34px;gap:14px;padding:18px 0;align-items:start}
.cart-item>img{width:72px;height:72px;padding:4px;border-radius:10px;background:#f6f8f1;object-fit:contain}
.cart-item h3{margin:0 0 2px;font-size:16px;line-height:1.35}
.cart-item .cart-item-variant{margin:0;font-size:13px;color:#718164}
.cart-item .cart-item-unit{margin:2px 0 10px;font-size:12.5px;color:#8a9680}
.cart-item .cart-item-note{margin:8px 0 0;font-size:12.5px;color:#8a5a04}
.cart-item .quantity-selector{min-height:40px;border-radius:10px;border-color:#d7e1cb}
.cart-item .quantity-selector button{width:38px;min-height:38px;font-size:18px;cursor:pointer}
.cart-item .quantity-selector button:disabled{opacity:.3;cursor:not-allowed}
.cart-item .quantity-selector input{width:46px;min-height:38px;padding:0;border:0;background:transparent;text-align:center;font-size:16px;font-weight:700;color:#233c2c;appearance:textfield;-moz-appearance:textfield}
.cart-item .quantity-selector input:focus{outline:2px solid #7aa35f;outline-offset:-2px}
.cart-item .cart-item-price{font-size:15px}
.remove-button{width:34px;height:34px;border-radius:9px;cursor:pointer;transition:background .15s,color .15s}
.remove-button:hover{background:#fdeeea;color:#b3382b}
.cart-notes{margin:0 0 12px;padding:11px 13px;border:1px solid #f0dca4;border-radius:10px;background:#fff6e0;color:#6b4d0c;font-size:13.5px;line-height:1.5}
.cart-notes p{margin:0 0 4px}
.cart-notes p:last-child{margin:0}
.cart-undo{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 6px;padding:10px 14px;border-radius:10px;background:#eef3e5;font-size:14px}
.cart-summary{flex:none;margin:0;padding:14px 0 calc(4px + env(safe-area-inset-bottom));border-top:1px solid #e3e8db;background:#fff}
.cart-summary .summary-row{margin:0 0 4px}
.cart-summary .summary-row.total{padding-top:0;border-top:0;font-size:19px}
.cart-dialog .summary-row.total{font-size:18px;line-height:1.4;align-items:baseline}
.cart-dialog .summary-row.total span:last-child{white-space:nowrap;font-weight:700}
.cart-summary .summary-note{margin:6px 0 14px;font-size:13.5px;line-height:1.5;color:#6f7f63}
.cart-summary .button-primary{min-height:54px;font-size:16px;margin-top:0}
.last-order{display:grid;justify-items:center;gap:10px;margin-top:26px;padding:18px;border:1px solid #e3e8db;border-radius:14px;background:#f6f8f1}
.last-order p{margin:0;font-size:14px}

/* ---- Barre « Voir mon panier » (téléphone) ---- */
.cart-bar{display:none}
@keyframes cart-bar-in{from{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}
@media(max-width:800px){
 .cart-bar:not([hidden]){position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:85;display:flex;align-items:center;gap:12px;min-height:56px;padding:0 18px 0 12px;border-radius:16px;background:#285339;color:#fff;box-shadow:0 12px 30px #10291c55;font-size:15px;font-weight:700;text-align:left;cursor:pointer;animation:cart-bar-in .35s cubic-bezier(.22,.8,.3,1)}
 .cart-bar-count{min-width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:#ffffff26;font-size:14px}
 .cart-bar-label{flex:1}
 .cart-bar-total{font-size:14px;font-weight:600;opacity:.92}
 .cart-bar .icon{width:18px;height:18px}
 body.has-cart-bar{padding-bottom:86px}
 body.has-cart-bar .whatsapp-float{bottom:calc(84px + env(safe-area-inset-bottom))}
 .toast{bottom:calc(92px + env(safe-area-inset-bottom))}
 body.has-cart-bar .toast{bottom:calc(152px + env(safe-area-inset-bottom))}
}

/* ---- Fiche produit : confirmation d'ajout ---- */
.detail-actions>.added-box{flex:1 1 100%}
.added-box{width:100%;padding:14px;border:1px solid #c5e0cb;border-radius:12px;background:#f0f9f2}
.added-title{display:flex;align-items:center;gap:10px;margin:0 0 12px;font-size:16px;font-weight:700;color:#1f6b3c}
.added-check{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#1a9b4b;color:#fff}
.added-check .icon{width:15px;height:15px}
.added-actions{display:grid;gap:8px}
.added-actions .button{width:100%}

/* ---- Formulaire de commande ---- */
.back-link{display:inline-flex;align-items:center;gap:8px;margin:-8px 0 8px -6px;padding:8px 12px 8px 6px;background:none;color:#4e6c3a;font-size:14px;font-weight:650;cursor:pointer}
.back-link:hover{color:#2d5239}
.back-arrow{display:inline-grid;transform:rotate(180deg)}
.back-arrow .icon{width:16px;height:16px}
.order-recap{margin:14px 0 4px;border:1px solid #dfe6d7;border-radius:12px;background:#f6f8f1}
.order-recap>summary{display:flex;align-items:center;gap:12px;padding:13px 15px;font-size:15px;list-style:none;cursor:pointer}
.order-recap>summary::-webkit-details-marker{display:none}
.recap-count{font-weight:700}
.recap-total{margin-left:auto;font-weight:700;color:#285339;text-align:right}
.recap-toggle .icon{width:15px;height:15px;transform:rotate(90deg);transition:transform .2s}
.order-recap[open] .recap-toggle .icon{transform:rotate(-90deg)}
.recap-lines{margin:0;padding:2px 15px 12px;border-top:1px solid #e4eadb;list-style:none}
.recap-lines li{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px dashed #e0e7d6;font-size:14px}
.recap-lines li:last-child{border-bottom:0}
.recap-lines small{display:block;color:#8a9680}
.recap-lines li>span:last-child{white-space:nowrap;font-weight:650}
#order-notice .cart-notes{margin:12px 0 0}

.remembered{margin:0;padding:10px 13px;border-radius:10px;background:#eef4e6;font-size:13.5px;color:#5d6e52}
.remembered .link-button{font-size:13.5px}
.form-grid .field-hint{display:block;margin-top:5px;font-size:12px;font-weight:500;color:#8a9680}
.field-error{display:block;margin-top:6px;font-size:13px;font-weight:600;line-height:1.4;color:#9e352c}
.field-error[hidden]{display:none}
.form-grid input[aria-invalid=true],.form-grid textarea[aria-invalid=true]{border-color:#c4493d;background:#fff8f6;box-shadow:0 0 0 3px #c4493d1f}
.check-label input[aria-invalid=true]{outline:2px solid #c4493d;outline-offset:2px}

.choice-group{min-width:0;margin:0;padding:0;border:0}
.choice-group legend{margin:0 0 8px;padding:0;font-size:13px;font-weight:600}
.choice-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.form-grid .choice{position:relative;display:block;font-weight:400}
.form-grid .choice input{position:absolute;width:1px;height:1px;min-height:0;margin:0;padding:0;opacity:0}
.choice span{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1.5px solid #d7e1cb;border-radius:12px;background:#fff;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}
.choice strong{font-size:15px;color:#233c2c}
.choice small{font-size:12.5px;color:#7a8870}
.choice input:checked+span{border-color:#285339;background:#eef4e6;box-shadow:0 0 0 3px #28533922}
.choice input:focus-visible+span{outline:3px solid #7aa35f;outline-offset:2px}

.more-options{border:1px dashed #cdd9bf;border-radius:12px;background:#fbfcf8}
.more-options>summary{display:flex;align-items:center;gap:10px;padding:13px 15px;font-size:14px;font-weight:650;color:#3f5e2c;list-style:none;cursor:pointer}
.more-options>summary::-webkit-details-marker{display:none}
.more-options>summary::before{content:'+';display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#e6eed9;font-size:16px;line-height:1}
.more-options[open]>summary::before{content:'−'}
.more-grid{display:grid;gap:14px;padding:4px 15px 15px}
.form-grid .button-large{min-height:56px;font-size:16px}
.form-error ul{margin:8px 0 10px;padding-left:18px}
.form-error .button{margin-top:6px}

/* ---- Confirmation ---- */
button.reference-box{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px 12px;width:100%;font-family:inherit;text-align:center;cursor:pointer}
button.reference-box small{padding:3px 10px;border:1px solid #c9d7b2;border-radius:999px;background:#fff;color:#5d7a42;font-size:12px;font-weight:700;letter-spacing:0}

@media(max-width:560px){
 .cart-item{grid-template-columns:62px 1fr 34px;gap:11px}
 .cart-item>img{width:62px;height:62px}
 .cart-item h3{font-size:15px}
 .choice span{padding:11px 12px}
}

/* ---- Finitions petits écrans ---- */
.cart-dialog{max-width:100%}
.cart-item>div,.cart-item-body{min-width:0}
.cart-item .cart-item-bottom{flex-wrap:wrap;gap:8px 12px}
.cart-item .cart-item-price{margin-left:auto;text-align:right}
.recap-count{white-space:nowrap}
.recap-total{font-size:14px}
@media(max-width:400px){
 .cart-item .quantity-selector button{width:34px}
 .cart-item .quantity-selector input{width:38px}
 .order-recap>summary{gap:8px;padding:12px}
}
