/* Tutor Side Cart v1.5.5 (Live checkout sync + SVG icons + hide FAB when empty) */
:root { --tsc-width: 380px; --tsc-accent: #ff6600; --tsc-grad-start:#ff6600; --tsc-grad-end:#000000; --tsc-header-text:#ffffff; --tsc-btn-bg:#111827; --tsc-btn-text:#ffffff; --tsc-coupon-bg:#f3f4f6; --tsc-msg-success-bg:#ecfdf5; --tsc-msg-error-bg:#fef2f2; }
.tsc-backdrop { position: fixed; inset: 0; background: rgba(0,0,0,0.45); transition: opacity .25s ease; opacity: 1; z-index: 999999999; }
.tsc-hidden { opacity: 0; pointer-events: none; }
.tsc-drawer { position: fixed; top: 0; bottom: 0; width: var(--tsc-width); background: #111; color: #fff; box-shadow: 0 10px 30px rgba(0,0,0,.35); transform: translateX(100%); transition: transform .3s ease; z-index: 9999999999999; display: flex; flex-direction: column; border-left: 4px solid var(--tsc-accent); overflow: hidden; }
.tsc-drawer.tsc-left { left: 0; transform: translateX(-100%); border-left: none; border-right: 4px solid var(--tsc-accent); }
.tsc-drawer.tsc-right { right: 0; }
.tsc-open.tsc-right, .tsc-open.tsc-left { transform: translateX(0); }
.tsc-loader { position: absolute; inset: 0; display: grid; place-items: center; background: rgba(0,0,0,0.08);  z-index: 1; transition: opacity .2s ease; }
.tsc-loader.tsc-hidden { opacity: 0; pointer-events: none; }
.tsc-spinner { width: 38px; height: 38px; border: 4px solid #ffffff; border-top: 4px solid var(--tsc-accent); border-radius: 50%; animation: tsc-spin .8s linear infinite; }
@keyframes tsc-spin { to { transform: rotate(360deg); } }
.tsc-header { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px; background: linear-gradient(135deg, var(--tsc-grad-start), var(--tsc-grad-end)); color: var(--tsc-header-text); font-weight: 600; }
.tsc-close { background: transparent; border: none; color: var(--tsc-header-text); font-size: 24px; cursor: pointer; }
.tsc-msg { padding: 10px 14px; font-size: 14px; }
.tsc-msg--success { background: var(--tsc-msg-success-bg); color: #10b981; border-left: 3px solid #10b981; }
.tsc-msg--error { background: var(--tsc-msg-error-bg); color: #ef4444; border-left: 3px solid #ef4444; }
.tsc-items { padding: 10px 12px; overflow: auto; flex: 1; transition: opacity .2s ease; }
.tsc-line { display: grid; grid-template-columns: 64px 1fr 28px; gap: 10px; padding: 10px; border-radius: 12px; border: 1px solid #1f2937; margin-bottom: 10px; background:#0b0b0b; }
.tsc-thumb img { width: 64px; height: 64px; object-fit: cover; border-radius: 8px; }
.tsc-name { display: block; font-weight: 600; margin-top: 4px; text-decoration: none; color: #fff; }
.tsc-remove { background: transparent; border: none; font-size: 20px; cursor: pointer; color: #9ca3af; }
.tsc-empty { text-align: center; padding: 40px; color: #9ca3af; }
.tsc-footer { border-top: 1px solid #1f2937; padding: 12px; background:#0b0b0b; }
.tsc-coupon { display: grid; grid-template-columns: 1fr auto; gap: 8px; margin-bottom: 8px; }
.tsc-coupon input { padding: 8px 10px; border-radius: 10px; border: 1px solid #374151; background:#fff; color:#000; }
.tsc-coupon button { padding: 8px 12px; border-radius: 10px; background: var(--tsc-accent); color: #fff; border: none; cursor: pointer; }
.tsc-applied-coupons { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
.tsc-coupon-tag { background: var(--tsc-coupon-bg); border-radius: 999px; padding: 6px 10px; font-size: 12px; font-style: normal; }
.tsc-coupon-tag em, .tsc-hint em { font-style: normal; }
.tsc-coupon-amt { font-weight: 600; }
.tsc-totals { display: grid; gap: 6px; margin: 10px 0; }
.tsc-totals div { display: flex; justify-content: space-between; font-size: 15px; }
.tsc-discount-row span { color: #d1d5db; }
.tsc-hint { margin-top: 8px; font-size: 12px; color: #9ca3af; font-style: normal; }
.tsc-checkout { display: block; text-align: center; padding: 12px; border-radius: 12px; background: var(--tsc-btn-bg); color: var(--tsc-btn-text); text-decoration: none; font-weight: 700; }
.tsc-fab { position: fixed; display:none; top: var(--tsc-fab-top, auto); right: var(--tsc-fab-right, auto); bottom: var(--tsc-fab-bottom, 20px); left: var(--tsc-fab-left, 20px); width: 56px; height: 56px; border-radius: 999px; border: none; cursor: pointer; background: var(--tsc-accent); color: #fff; font-size: 22px; box-shadow: 0 10px 20px rgba(0,0,0,.35); display: grid; place-items: center; z-index: 999999999; }
.tsc-fab .tsc-icon { width:22px; height:22px; fill: currentColor; }
.tsc-fab-count { position: absolute; top: -6px; right: -6px; background: #111827; color: #fff; border-radius: 999px; font-size: 12px; padding: 2px 6px; }
.tsc-mini-cart { position: relative; display: inline-flex; align-items: center; gap: 6px; text-decoration:none; }
.tsc-mini-icon .tsc-icon { width:20px; height:20px; fill: currentColor; color:#fff; }
.tsc-mini-count { font-weight: 700; color:#fff; }