/* LV Gioielli - parti dinamiche del carrello */
.lv-cart-empty {
  display: grid; justify-items: center; text-align: center; gap: var(--lv-space-3);
  max-width: 560px; margin: var(--lv-space-6) auto var(--lv-space-8); padding: var(--lv-space-7) var(--lv-space-5);
  border-radius: var(--lv-radius-lg); background: var(--lv-surface-2); box-shadow: var(--lv-ring);
}
.lv-cart-empty > .material-symbols-outlined {
  width: 64px; height: 64px; border-radius: var(--lv-radius-pill); display: inline-flex; align-items: center; justify-content: center;
  background: #fff; color: var(--lv-olive); font-size: 28px; font-variation-settings: "wght" 300;
}
.lv-cart-empty h2 { margin: var(--lv-space-2) 0 0; font-family: var(--lv-serif); font-weight: 500; font-size: var(--lv-text-h3); line-height: var(--lv-lh-h3); color: var(--lv-ink); }
.lv-cart-empty p { margin: 0; max-width: 40ch; color: var(--lv-muted); line-height: 1.6; }
.lv-cart-empty__links { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: var(--lv-space-5); margin-top: var(--lv-space-4); }

.lv-cart-code-msg { margin: 0; min-height: 1em; font: 500 12px/1.4 var(--lv-sans); }
.lv-cart-code-msg[data-state="ok"] { color: var(--lv-olive); }
.lv-cart-code-msg[data-state="error"] { color: #9F2F2D; }
.lv-cart-note { margin: 0; font-size: 12.5px; line-height: 1.5; color: var(--lv-muted); }
.lv-cart-note:empty { display: none; }
.lv-cart-tbd { font-size: 15px !important; font-weight: 500 !important; color: var(--lv-muted) !important; }

.lv-cart-panel {
  display: grid; gap: var(--lv-space-3); padding: var(--lv-space-5); border-radius: var(--lv-radius-md);
  background: var(--lv-surface-2); box-shadow: var(--lv-ring);
}
.lv-cart-panel__title { margin: 0; font-family: var(--lv-serif); font-weight: 600; font-size: 22px; color: var(--lv-ink); }
.lv-cart-panel__text { margin: 0; font-size: var(--lv-text-sm); line-height: var(--lv-lh-sm); color: var(--lv-muted); }
.lv-cart-panel__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--lv-space-5); padding-top: var(--lv-space-1); }
