/* Cart — Lovable redesign */

.lv-cart-header{display:flex;align-items:center;gap:.75rem;margin-bottom:0}
.lv-cart-title{font-family:var(--font-serif);font-size:clamp(1.75rem,4vw,2.25rem);color:var(--ink);margin:0;font-weight:inherit}
.lv-cart-count{font-family:var(--font-sans);font-size:1.125rem;color:var(--muted)}

.lv-cart-grid{display:grid;grid-template-columns:1fr 340px;gap:1.5rem 2rem;align-items:start}
@media(max-width:991.98px){.lv-cart-grid{grid-template-columns:1fr}}

.lv-cart-items{display:flex;flex-direction:column;gap:1.5rem}

/* Warning */
.lv-cart-warning{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;border-radius:12px;background:hsl(30 30% 92%);border:1px solid hsl(30 20% 86%);font-family:var(--font-sans);font-size:.875rem;color:var(--ink)}
.lv-cart-warning svg{flex-shrink:0;margin-top:2px}
.lv-cart-warning p{margin:0}

/* Group */
.lv-cart-group{background:hsl(30 20% 95%);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.lv-cart-group-header{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:hsl(30 15% 92%);border-bottom:1px solid var(--line)}
.lv-temp-label{font-family:var(--font-sans);font-size:.875rem;font-weight:600;color:var(--brand)}
.lv-temp-count{font-family:var(--font-sans);font-size:.75rem;color:var(--muted)}
.lv-cart-group-items>*:not(:last-child){border-bottom:1px solid var(--line)}

/* Cart item */
.lv-cart-item{padding:1rem 1.25rem}
.lv-cart-item:hover{background:hsl(30 20% 97%)}
.lv-cart-item-main{display:flex;align-items:center;gap:1rem}
.lv-cart-item-img{width:56px;height:56px;border-radius:12px;overflow:hidden;background:hsl(30 20% 95%);flex-shrink:0;display:block}
.lv-cart-item-img img{width:100%;height:100%;object-fit:cover}
.lv-cart-item-info{flex:1;min-width:0}
.lv-cart-item-title{font-family:var(--font-sans);font-size:.875rem;font-weight:500;color:var(--ink);text-decoration:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.lv-cart-item-title:hover{color:var(--brand)}
.lv-cart-item-meta{font-family:var(--font-sans);font-size:.7rem;color:var(--muted);margin-top:.25rem}

/* Qty */
.lv-cart-item-qty{display:flex;align-items:center;gap:2px;flex-shrink:0}
.lv-qty-btn{width:32px;height:32px;border-radius:8px;border:1px solid var(--line);background:transparent;display:flex;align-items:center;justify-content:center;color:var(--muted);cursor:pointer;transition:all .15s}
.lv-qty-btn:hover{color:var(--ink);border-color:var(--ink)}
.lv-qty-input{width:40px;text-align:center;border:none;background:transparent;font-family:var(--font-sans);font-size:.875rem;font-weight:500;color:var(--ink);outline:none;-moz-appearance:textfield}
.lv-qty-input::-webkit-outer-spin-button,.lv-qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

/* Price */
.lv-cart-item-price{text-align:right;flex-shrink:0;min-width:80px}
.lv-price-total{font-family:var(--font-sans);font-size:.875rem;font-weight:600;color:var(--ink);display:block}
.lv-price-unit{font-family:var(--font-sans);font-size:.7rem;color:var(--muted)}

/* Remove */
.lv-cart-item-remove{background:none;border:none;color:var(--muted);cursor:pointer;padding:4px;flex-shrink:0;transition:color .15s}
.lv-cart-item-remove:hover{color:#c04141}

/* Variants */
.lv-cart-variants{list-style:none;margin:.75rem 0 0 72px;padding:0 0 0 1rem;border-left:2px solid hsl(30 15% 88%)}
.lv-cart-variant{display:flex;align-items:center;gap:.75rem;padding:.375rem 0;font-family:var(--font-sans);font-size:.75rem;color:var(--muted)}
.lv-variant-img{width:24px;height:24px;border-radius:4px;object-fit:cover;flex-shrink:0}
.lv-variant-img-placeholder{display:inline-block;background:var(--line)}
.lv-variant-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lv-variant-price{font-weight:500;color:var(--ink);white-space:nowrap}
.lv-variant-remove{background:none;border:none;color:var(--muted);cursor:pointer;padding:2px;flex-shrink:0;transition:color .15s;margin-left:.25rem}
.lv-variant-remove:hover{color:#c04141}
.lv-variant-section-label{font-family:var(--font-sans);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:.25rem 0;list-style:none}
.lv-cart-variants-optional{border-left-color:var(--brand);border-left-style:dashed}

/* Coupon */
.lv-cart-coupon{background:hsl(30 20% 95%);border:1px solid var(--line);border-radius:16px;padding:1.25rem}
.lv-coupon-label{font-family:var(--font-sans);font-size:.875rem;font-weight:500;color:var(--ink);display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}
.lv-coupon-form{display:flex;gap:.5rem}
.lv-coupon-input{flex:1;height:44px;border-radius:12px;border:1px solid var(--line);padding:0 1rem;font-family:var(--font-sans);font-size:.875rem;background:var(--bg);color:var(--ink);outline:none}
.lv-coupon-input:focus{border-color:var(--brand)}
.lv-coupon-btn{height:44px;padding:0 1.5rem;border-radius:12px;border:1px solid var(--line);background:transparent;font-family:var(--font-sans);font-size:.875rem;font-weight:500;color:var(--ink);cursor:pointer;white-space:nowrap;transition:all .15s}
.lv-coupon-btn:hover{border-color:var(--ink);background:hsl(30 20% 92%)}
.lv-coupon-badge{font-size:.7rem;background:hsl(30 20% 90%);padding:.25rem .5rem;border-radius:6px;font-weight:500}
.lv-coupon-code{font-weight:600;margin-left:.5rem}

/* Back link */
.lv-back-link{font-family:var(--font-sans);font-size:.875rem;font-weight:500;color:var(--brand);text-decoration:none;display:inline-flex;align-items:center;gap:.5rem}
.lv-back-link:hover{text-decoration:underline}

/* Summary */
.lv-cart-summary{position:sticky;top:5rem}
.lv-summary-card{background:hsl(30 20% 95%);border:1px solid var(--line);border-radius:16px;padding:1.5rem}
.lv-summary-title{font-family:var(--font-serif);font-size:1.25rem;color:var(--ink);margin:0 0 1rem;font-weight:inherit}
.lv-summary-row{display:flex;justify-content:space-between;font-family:var(--font-sans);font-size:.875rem;color:var(--muted);padding:.375rem 0}
.lv-summary-shipping{font-weight:500;color:var(--ink)}
.lv-summary-discount{font-weight:600;color:var(--brand)}
.lv-summary-total{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:.75rem;margin-top:.75rem}
.lv-summary-total span:first-child{font-family:var(--font-sans);font-size:1rem;font-weight:600;color:var(--ink)}
.lv-summary-total span:last-child,.lv-summary-total .cart-price-together{font-family:var(--font-sans);font-size:1.25rem;font-weight:700;color:var(--ink)}
.lv-btn-checkout{display:block;text-align:center;height:48px;line-height:48px;border-radius:12px;background:var(--brand);color:#fff;font-family:var(--font-sans);font-size:1rem;font-weight:500;text-decoration:none;margin-top:1.5rem;transition:background .2s}
.lv-btn-checkout:hover{background:var(--brand-hover);color:#fff}
.lv-btn-continue{display:block;text-align:center;height:48px;line-height:48px;border-radius:12px;border:1px solid var(--line);background:transparent;color:var(--ink);font-family:var(--font-sans);font-size:1rem;font-weight:500;text-decoration:none;margin-top:.75rem;transition:all .15s}
.lv-btn-continue:hover{border-color:var(--ink);color:var(--ink)}

/* Empty */
.lv-cart-empty{text-align:center;padding:5rem 0}
.lv-empty-title{font-family:var(--font-serif);font-size:1.5rem;color:var(--ink);margin:.75rem 0 .5rem;font-weight:inherit}
.lv-empty-text{font-family:var(--font-sans);font-size:.875rem;color:var(--muted);margin-bottom:1.5rem}
.lv-cart-empty .lv-btn-checkout{display:inline-block;padding:0 2rem}

@media(max-width:767.98px){
  .lv-cart-item-main{flex-wrap:wrap}
  .lv-cart-item-img{width:48px;height:48px}
  .lv-cart-item-info{flex-basis:calc(100% - 64px)}
  .lv-cart-item-qty{margin-left:auto}
  .lv-cart-variants{margin-left:0;border-left:none;padding-left:0}
}
