/* SmartOne — Modale de confirmation d'ajout au panier (widget so-cart) */
.so-cart-modal[hidden] { display: none; }
.so-cart-modal {
  position: fixed; inset: 0; z-index: 1080;
  display: flex; align-items: center; justify-content: center;
  padding: var(--so-space-4, 1rem);
}
.so-cart-modal__overlay {
  position: absolute; inset: 0;
  background: rgba(31, 26, 20, 0.55);
  backdrop-filter: blur(2px);
}
.so-cart-modal__box {
  position: relative; z-index: 1;
  width: 100%; max-width: 460px;
  background: var(--so-surface, #fff);
  border: 1px solid var(--so-border, #e7ded2);
  border-radius: var(--so-radius-lg, 16px);
  box-shadow: var(--so-shadow-2, 0 20px 50px rgba(0,0,0,.25));
  padding: var(--so-space-6, 1.75rem);
  animation: soCartIn .18s ease;
}
@keyframes soCartIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.so-cart-modal__close {
  position: absolute; top: .5rem; right: .75rem;
  background: none; border: 0; font-size: 1.8rem; line-height: 1;
  color: var(--so-ink-2, #6b6155); cursor: pointer;
}
.so-cart-modal__close:hover { color: var(--so-gold-text, #9a6b1f); }
.so-cart-modal__head {
  display: flex; align-items: center; gap: .5rem;
  font-weight: var(--so-font-weight-bold, 700);
  font-size: 1.05rem; margin: 0 0 var(--so-space-4, 1rem);
  color: var(--so-ink-1, #1f1a14);
}
.so-cart-modal__head .material-icons { color: #2e9e5b; }
.so-cart-modal__product {
  display: flex; gap: var(--so-space-4, 1rem); align-items: center;
  padding: var(--so-space-4, 1rem) 0;
  border-top: 1px solid var(--so-border, #e7ded2);
  border-bottom: 1px solid var(--so-border, #e7ded2);
}
.so-cart-modal__product:empty { display: none; }
.so-cart-modal__thumb {
  width: 64px; height: 64px; object-fit: contain;
  border: 1px solid var(--so-border, #e7ded2); border-radius: var(--so-radius-md, 10px);
  background: #fff; flex: none;
}
.so-cart-modal__info { display: flex; flex-direction: column; gap: .25rem; }
.so-cart-modal__name { font-weight: 600; color: var(--so-ink-1, #1f1a14); line-height: 1.3; }
.so-cart-modal__qty { font-size: .9rem; color: var(--so-ink-2, #6b6155); }
.so-cart-modal__summary {
  display: flex; justify-content: space-between; flex-wrap: wrap; gap: .25rem;
  font-size: .92rem; color: var(--so-ink-2, #6b6155);
  margin: var(--so-space-4, 1rem) 0;
}
.so-cart-modal__total { font-weight: var(--so-font-weight-bold, 700); color: var(--so-ink-1, #1f1a14); }
.so-cart-modal__actions {
  display: flex; flex-wrap: wrap; gap: var(--so-space-3, .6rem);
}
.so-cart-modal__actions .btn { flex: 1 1 auto; }
body.so-modal-open { overflow: hidden; }
@media (max-width: 480px) {
  .so-cart-modal__actions .btn { flex: 1 1 100%; }
}
