/* Scoped base */
.tsa-cart { --gap: 16px; --radius: 18px; --shadow: 0 10px 30px rgba(0,0,0,.06); --bg: #f4fbf1; --muted:#6b7280; --text:#1f2937; --accent:#e53935; }

/* Layout */
.tsa-cart { display:grid; grid-template-columns: 1fr 360px; gap: var(--gap); align-items:start; }
@media (max-width: 992px){ .tsa-cart { grid-template-columns: 1fr; } }

.tsa-cart__title { margin:0 0 6px; font-size: clamp(22px, 3vw, 28px); font-weight:700; color:var(--text); }

/* Item list */
.tsa-cart-list { list-style:none; margin:0; padding:0; display:grid; gap:12px; }
.tsa-cart-item { display:grid; grid-template-columns: 92px 1fr; gap:12px; background:var(--bg); border-radius: var(--radius); box-shadow: var(--shadow); padding:12px; }
@media (max-width:600px){ .tsa-cart-item { grid-template-columns: 72px 1fr; } }

.tsa-cart-item__thumb img { width:100%; height:auto; border-radius:12px; display:block; }

.tsa-cart-item__top { display:flex; justify-content:space-between; gap:10px; align-items:start; }
.tsa-cart-item__title { margin:0; font-size:16px; line-height:1.3; color:var(--text); }
.tsa-cart-item__remove { background:transparent; border:none; font-size:22px; line-height:1; cursor:pointer; color:#9ca3af; }
.tsa-cart-item__remove:hover { color:#ef4444; }

.tsa-cart-item__meta { display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin-top:6px; }
.tsa-cart-item__price { font-weight:700; }

/* Qty steppers */
.tsa-qty { display:inline-flex; border:1px solid #e5e7eb; border-radius:12px; overflow:hidden; }
.tsa-qty__btn { background:#f9fafb; border:0; padding:8px 12px; cursor:pointer; color:#125259; }
.tsa-qty__btn:active { transform: translateY(1px); }
.tsa-qty__input { width:56px; border:0; text-align:center; padding:8px 6px; outline:none; }

/* Sidebar */
.tsa-cart-aside { display:grid; gap:16px; position:sticky; top:16px; }
.tsa-card { background:var(--bg); border-radius: var(--radius); box-shadow: var(--shadow); padding:16px; }
.tsa-card h3 { margin:0 0 10px; font-size:18px; }
.tsa-row { display:flex; justify-content:space-between; padding:8px 0; font-size:15px; color:var(--text); }
.tsa-row--total { border-top:1px dashed #e5e7eb; margin-top:8px; padding-top:12px; font-weight:800; font-size:16px; }

/* Buttons & inputs */
.tsa-btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:12px 14px; border-radius:14px; border:1px solid transparent; text-decoration:none; cursor:pointer; font-weight:700; }
.tsa-btn--primary { background:var(--accent); color:#fff; }
.tsa-btn--primary:hover { filter: brightness(0.95); }
.tsa-btn--ghost { background:#f9fafb; border-color:#e5e7eb; color:#111; }
.tsa-btn--ghost:hover { background:#f3f4f6; }
.tsa-btn--link { background:transparent; color:#374151; display:none;}
.tsa-btn--full { width:100%; }

.tsa-input { width:100%; border:1px solid #e5e7eb; border-radius:12px; padding:12px 14px; }
.tsa-coupon { display:flex; gap:8px; }
.tsa-coupon__msg { margin-top:8px; color:var(--muted); min-height:1em; }

/* Empty */
.tsa-cart-empty { padding:20px; text-align:center; color:var(--muted); background:var(--bg); border-radius: var(--radius); box-shadow: var(--shadow); }

/* Mobile sticky checkout */
.tsa-cart-sticky { position: fixed; left:0; right:0; bottom:0; display:none; gap:12px; align-items:center; justify-content:space-between; background:#f4fbf1ee; backdrop-filter: blur(6px); padding:10px 14px; border-top:1px solid #eee; z-index: 999; }
.tsa-cart-sticky__sum { display:flex; gap:10px; font-weight:700; }
.tsa-cart-sticky .tsa-btn { min-width: 160px; }
.tsa-cart-sticky { display:flex; }

/* --- Cart scope: neutralize global link styles inside the cart UI --- */
.entry-content .tsa-cart a[href],
.tsa-cart a[href] {
  color: #fff;
  text-decoration: none;
}

/* Buttons should never look like text links */
.entry-content .tsa-cart a.tsa-btn,
.tsa-cart a.tsa-btn { text-decoration: none; }

/* Totals box + sticky bar: keep links neutral */
.entry-content #tsa-cart-totals a[href],
#tsa-cart-totals a[href],
.entry-content .tsa-cart-sticky a[href],
.tsa-cart-sticky a[href] {
  color: #fff !important;
  text-decoration: none;
}

/* Optional: style the coupon remove link subtly */
.tsa-card .woocommerce-remove-coupon {
  font-size: 12px;
  text-decoration: underline;
  color: #0a7980;
}
.tsa-card .woocommerce-remove-coupon:hover { color: var(--accent); }

/* Show the "Weiter einkaufen" text-link on desktop, hide on small screens if desired */
.tsa-btn--link { display: none; }