/* Layout */
.sofades-quote-wrap{display:grid;grid-template-columns:2fr 1fr;gap:24px;align-items:start}
@media(max-width:1024px){.sofades-quote-wrap{grid-template-columns:1fr}}

/* Table produits */
.sofades-products-table{width:100%;border-collapse:collapse}
.sofades-products-table th,.sofades-products-table td{padding:10px 8px;vertical-align:middle}
.sofades-products-table thead th{font-weight:600;text-align:left;border-bottom:1px solid rgba(0,0,0,.1)}
.sofades-products-table .col-select{width:30%} /* élargit la colonne Sélection */
.sofades-products-table .img-80{width:80px;height:80px;overflow:hidden;border-radius:4px}
.sofades-products-table .img-80 img{width:80px;height:80px;object-fit:cover;display:block}
.sofades-products-table .c-name .name{font-weight:600}
.sofades-products-table .price-regular{display:inline-block;margin-right:6px}
.sofades-products-table .price-sale{font-weight:700;color:var(--awb-color4);display:inline-block}
.price-suffix{opacity:.8;margin-left:6px}
.badge-promo{display:inline-block;padding:2px 6px;border-radius:999px;background:var(--awb-color4);color:#fff;font-size:.78em;margin-bottom:4px}
.desc-cell{font-size:.95em;color:#444;padding-top:0}

/* Form sélection */
.sofades-add-form{display:flex;flex-direction:column;gap:8px}
.sofades-add-form .sf-input{border:1px solid rgba(0,0,0,.15);border-radius:6px;padding:10px}
.sofades-add-form .sf-input:focus{outline:2px solid rgba(0,0,0,.1)}
.sofades-add-form .sf-total small{opacity:.85}
.sofades-add-form .sf-total .sf-total-amount{font-weight:700}
.sf-btn-add{background:var(--awb-color5);color:#fff;border:0;border-radius:8px;padding:10px 12px;cursor:pointer;font-weight:600;position:relative;overflow:hidden}
.sf-btn-add.loading{opacity:.85;pointer-events:none}
.sf-btn-add.loading:after{content:"";position:absolute;right:12px;top:50%;width:16px;height:16px;margin-top:-8px;border-radius:50%;border:2px solid rgba(255,255,255,.6);border-top-color:#fff;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* Mini-cart sticky robuste */
.minicart-col{align-self:start;position:sticky;top:100px}
@media(min-width:1025px){.sofades-mini-cart-wrap{position:sticky;top:100px}}
.sofades-mini-cart{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:12px;padding:14px}
.sofades-mini-cart .empty{opacity:.7}
.sofades-cart-items{list-style:none;margin:0;padding:0}
.sofades-cart-items .mc-item{display:flex;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid rgba(0,0,0,.06)}
.sofades-cart-items .mc-remove{width:28px;height:28px;border-radius:999px;background:var(--awb-color4);color:#fff;border:0;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px;line-height:1}
.sofades-cart-items .mc-info{flex:1}
.mc-name .blue{color:var(--awb-color5);font-weight:600}
.mc-meta{display:flex;justify-content:space-between;font-size:.95em;gap:12px;margin-top:4px}
.mc-price.blue{color:var(--awb-color5)}
.totals{margin-top:10px}
.totals .row{display:flex;justify-content:space-between;margin-bottom:6px}
.btn-commande{display:block;text-align:center;background:var(--awb-color5);color:#fff;padding:10px 12px;border-radius:10px;font-weight:700;text-decoration:none}

/* Titre panier */
.sofades-cart-title{margin:0 0 10px 0;font-size:1.2em;color:var(--awb-color5)}

/* FAB mobile + modal */
#sofades-open-cart{position:fixed;left:0;right:0;bottom:0;width:100%;padding:14px 16px;background:var(--awb-color5);color:#fff;border:0;border-radius:0;display:none;font-weight:700;z-index:9990;font-size:16px;text-transform:uppercase;g}
#sofades-open-cart .sofades-badge{margin-left:10px}
@media(max-width:1024px){#sofades-open-cart{display:block}}
.sofades-badge{display:inline-flex;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--awb-color4);color:#fff;align-items:center;justify-content:center;font-size:.85em}
.sofades-fab-mobile .sofades-badge {display:none !important;}
.sofades-modal[aria-hidden="true"]{display:none}
.sofades-modal{position:fixed;inset:0;z-index:9999}
.sofades-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.5)}
.sofades-modal-content{position:relative;margin:6vh auto 0;max-width:520px;background:#fff;border-radius:12px;padding:14px;top:100px;}
.sofades-modal-close{position:absolute;top:8px;right:10px;background:#eee;border:0;border-radius:50%;width:32px;height:32px;font-size:20px;cursor:pointer}
.sofades-modal-body{max-height:70vh;overflow:auto}

/* Toast (fond bleu, texte blanc) */
#sofades-toast{position:fixed;left:50%;transform:translateX(-50%);bottom:80px;background:green;color:#fff;padding:10px 14px;border-radius:10px;font-weight:700;opacity:0;pointer-events:none;transition:opacity .15s ease,transform .15s ease;z-index:10000}
#sofades-toast.error{background:var(--awb-color4)}
#sofades-toast.show{opacity:1;transform:translateX(-50%) translateY(-4px)}

/* Responsive table -> cartes */
@media(max-width:900px){
  .sofades-products-table .col-select{width:40%}
}
/* Mobile : carte produit en 2 colonnes (80px + 1fr) */
@media (max-width:700px){
  .sofades-products-table thead,
  .sofades-products-table colgroup{display:none !important;}

  .sofades-products-table tr.sofades-product{
    display:grid !important;
    grid-template-columns:80px minmax(0,1fr);
    column-gap:12px;
    align-items:start;
    padding:10px 0;
    border-top:1px solid rgba(0,0,0,.06);
  }
  .sofades-products-table tr.sofades-product > td{
    display:block !important;
    width:auto !important;
    padding-top:6px;
    padding-bottom:6px;
  }
  .sofades-products-table tr.sofades-product td.c-img{grid-column:1;}
  .sofades-products-table tr.sofades-product td.c-name{grid-column:2;}
  .sofades-products-table tr.sofades-product td.c-price{grid-column:2;}
  .sofades-products-table tr.sofades-product td.c-select{grid-column:1 / -1; margin-top:8px;}
  .sofades-products-table tr.sofades-desc td{grid-column:1 / -1;}

  /* petite sécurité pour le titre qui doit prendre tout l'espace dispo */
  .sofades-products-table .c-name .name{white-space:normal; overflow:visible; word-break:normal;}
}

