/* =====================================================================
   shop.css — prodotti, carrello demo, gift card
   ===================================================================== */

.product-card { position: relative; }
.product-card .card__price { font-size: 1.25rem; }
.qty { display: inline-flex; align-items: center; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.qty button { width: 34px; height: 34px; border: none; background: var(--bg-alt); font-size: 1.1rem; color: var(--olive-dark); }
.qty input { width: 44px; text-align: center; border: none; border-inline: 1px solid var(--line); height: 34px; font-family: inherit; }

.cart-layout { display: grid; grid-template-columns: 1.7fr 1fr; gap: clamp(1.4rem,3vw,2.4rem); align-items: start; }
@media (max-width: 900px) { .cart-layout { grid-template-columns: 1fr; } }
.cart-line { display: grid; grid-template-columns: 72px 1fr auto; gap: 1rem; align-items: center; padding: 1rem 0; border-bottom: 1px solid var(--line); }
.cart-line .placeholder { width: 72px; height: 72px; border-radius: var(--radius); aspect-ratio: 1; }
.cart-line .name { font-family: var(--serif); font-size: 1.15rem; color: var(--olive-dark); }
.cart-line .rm { background: none; border: none; color: var(--red-earth); font-size: .82rem; text-decoration: underline; padding: 0; }
.cart-empty { text-align: center; padding: 3rem 1rem; color: var(--ink-soft); }
.cart-badge { display: inline-grid; place-items: center; min-width: 18px; height: 18px; padding: 0 4px; background: var(--accent); color: #fff; border-radius: 100px; font-size: .7rem; font-weight: 700; margin-left: .3rem; }

.gift-preview {
  border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 1.6rem; background: linear-gradient(135deg, var(--limewash), var(--warm-white));
  box-shadow: var(--shadow); position: sticky; top: calc(var(--header-h) + 12px);
}
@media (max-width: 900px) { .gift-preview { position: static; } }
.gift-preview .gc-brand { font-family: var(--serif); font-size: 1.4rem; color: var(--olive-dark); }
.gift-preview .gc-value { font-family: var(--serif); font-size: 2.4rem; color: var(--accent); margin: .6rem 0; }
.gift-preview .gc-msg { font-style: italic; color: var(--ink-soft); border-top: 1px dashed var(--line); padding-top: .8rem; margin-top: .8rem; }
