/* Veloria — tiroir panier (réplique Irazia, IRAZIA_SPEC § 5) : 480 px desktop, padding 24, rayon 0,
   barre de progression 6 px brune, lignes « OFFERT » rouges, cross-sell, 3 réassurances, CTA noir 52 px. */
.cart-slide-panel.vd-on { font-family: var(--ve-font, 'Urbanist', sans-serif); max-width: 480px; }
.vd { display: flex; flex-direction: column; height: 100%; color: #111; font: 400 14px/1.5 var(--ve-font, sans-serif); }
.vd *, .vd *::before, .vd *::after { box-sizing: border-box; border-radius: 0; }
.vd-head { display: flex; align-items: center; justify-content: space-between; padding: 18px 24px; border-bottom: 1px solid #EBEBEB; }
.vd-title { margin: 0; font-size: 18px; font-weight: 600; display: flex; align-items: center; gap: 8px; }
.vd-count { background: #000; color: #fff; border-radius: 999px !important; font-size: 12px; min-width: 22px; height: 22px; display: inline-grid; place-items: center; padding: 0 6px; }
.vd-close { background: none; border: 0; cursor: pointer; padding: 6px; color: #000; }
.vd-fomo { margin: 0; background: #F2F2F2; padding: 10px 24px; font-size: 14px; color: #111; }
.vd-illu { display: inline-block; background: #ffe600; color: #000; border: 1px solid #000; font: 800 10px/1 sans-serif; padding: 3px 5px; }
.vd-tbd { display: inline-block; border: 1px dashed #b37400; color: #7a4b00; font: 700 10px/1.2 sans-serif; padding: 2px 5px; }
.vd-prog { padding: 12px 24px; border-bottom: 1px solid #EBEBEB; }
.vd-prog__msg { margin: 0 0 8px; font-size: 13px; }
.vd-prog__track { height: 6px; background: #E6E6E6; border-radius: 999px !important; overflow: hidden; }
.vd-prog__fill { display: block; height: 100%; width: 0; background: var(--ve-accent, #C8102E); border-radius: 999px !important; transition: width .3s ease; }
.vd-body { flex: 1; overflow-y: auto; padding: 8px 24px 16px; }
.vd-lines { list-style: none; margin: 0; padding: 0; }
.vd-line { display: grid; grid-template-columns: 64px 1fr auto; gap: 12px; padding: 14px 0; border-bottom: 1px solid #EBEBEB; }
.vd-line__img { width: 64px; height: 80px; background: #F7F1EE; color: #4F3B39; display: grid; place-items: center; font-size: 10px; font-weight: 700; overflow: hidden; }
.vd-line__img img { width: 100%; height: 100%; object-fit: cover; }
.vd-line__t { margin: 0 0 4px; font-weight: 600; }
.vd-line__v { margin: 0; font-size: 12px; color: #555; }
.vd-free { color: var(--ve-accent, #C8102E); font-weight: 800; }
.vd-line__side { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; }
.vd-line__side s { color: var(--ve-accent, #C8102E); font-size: 12px; }
.vd-trash { background: none; border: 0; color: #555; cursor: pointer; padding: 4px; margin-top: auto; }
.vd-empty { text-align: center; padding: 40px 0; }
.vd-ups { margin-top: 18px; }
.vd-ups__t { font-size: 18px; font-weight: 600; margin: 0 0 10px; }
.vd-ups__track { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.vd-up { display: grid; grid-template-columns: 64px 1fr auto; gap: 12px; align-items: center; border: 1px solid #EBEBEB; padding: 10px; }
.vd-up[hidden] { display: none; }
.vd-up img, .vd-up__ph { width: 64px; height: 80px; object-fit: cover; background: #F7F1EE; color: #4F3B39; display: grid; place-items: center; font-size: 10px; font-weight: 700; }
.vd-up__name { margin: 0; font-size: 13px; }
.vd-up__price { margin: 2px 0 0; font-weight: 700; }
.vd-up__add { background: #000; color: #fff; border: 0; font: 500 12px var(--ve-font, sans-serif); padding: 8px 16px; cursor: pointer; }
.vd-up.is-busy { opacity: .5; pointer-events: none; }
.vd-trust { list-style: none; margin: 20px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; text-align: center; }
.vd-trust li { display: flex; flex-direction: column; align-items: center; gap: 2px; }
.vd-trust b { font-size: 12px; color: #1F2A37; }
.vd-trust small { font-size: 11px; color: #555; }
.vd-trust__ico { width: 26px; height: 26px; background: #F2F2F2; border-radius: 50% !important; }
.vd-foot { border-top: 1px solid #EBEBEB; padding: 14px 24px 18px; }
.vd-row { display: flex; justify-content: space-between; margin: 0 0 4px; font-size: 13px; }
.vd-row--save { color: var(--ve-accent, #C8102E); font-weight: 700; }
.vd-row--sub { font-size: 16px; font-weight: 700; margin-top: 6px; }
.vd-cta { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 52px; background: #000; color: #fff !important; text-decoration: none; font-size: 14px; margin-top: 10px; }
.vd-cta:hover { background: #262626; }
.vd-pay { list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 12px 0 0; padding: 0; }
