/**
 * TeachDemy — Cart page design (Round 12).
 *
 * CSS-only refresh layered on top of WooCommerce's own real cart
 * markup (cart/form-cart.php + cart/cart-totals.php + Woodmart's
 * quantity stepper) — class names below are the stock WooCommerce
 * ones, so cart updates, coupons, AJAX and the checkout redirect all
 * keep working exactly as before. No template override.
 *
 * Extra markup injected by functions.php (Round 12):
 *   .td-cart-intro        — steps indicator + heading (before the form)
 *   .td-cart-trust        — trust rows card (after cart totals)
 *   .td-cart-empty-cta    — redesigned empty state (on empty cart)
 *
 * Brand tokens match teachdemy-shared.css.
 */

body.woocommerce-cart #main-content,
body.woocommerce-cart .wd-content-area{
	background:#f5fbf8;
	padding-block:8px 64px;
}

/* =====================================================================
   INTRO BAND + STEPS (injected by teachdemy_cart_intro())
   ===================================================================== */
.td-cart-intro{
	background:
		radial-gradient(circle at 88% 10%, rgba(32,185,232,.2), transparent 40%),
		linear-gradient(120deg,#062b2b 0%,#07504b 55%,#0c6d93 100%);
	color:#fff;border-radius:20px;
	padding:32px 34px 30px;margin:18px 0 26px;
}
.td-cart-intro__row{display:flex;flex-wrap:wrap;gap:18px 26px;align-items:flex-end;justify-content:space-between}
.td-cart-intro h2{color:#fff;font-size:24px;letter-spacing:-.6px;margin:12px 0 6px;font-weight:900}
.td-cart-intro p{color:#d6ece9;font-size:13px;line-height:1.7;margin:0;max-width:560px}
.td-cart-intro__eyebrow{
	display:inline-flex;align-items:center;gap:8px;
	border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);
	padding:7px 13px;border-radius:999px;
	font-size:10px;font-weight:950;letter-spacing:.12em;text-transform:uppercase;color:#b9dcff;
}
.td-cart-steps{display:flex;align-items:center;gap:0;flex-wrap:wrap}
.td-cart-steps__item{
	display:inline-flex;align-items:center;gap:8px;
	font-size:11.5px;font-weight:800;color:#9cc9bc;white-space:nowrap;
}
.td-cart-steps__item.is-current{color:#fff}
.td-cart-steps__item.is-done{color:#7ee7bd}
.td-cart-steps__num{
	width:24px;height:24px;border-radius:50%;display:inline-grid;place-items:center;
	font-size:10.5px;font-weight:900;border:1.5px solid rgba(255,255,255,.35);
	background:rgba(255,255,255,.06);color:#cfe5e2;
}
.td-cart-steps__item.is-current .td-cart-steps__num{
	background:linear-gradient(135deg,#16a673,#27c58b);border-color:transparent;color:#fff;
	box-shadow:0 0 0 5px rgba(22,166,115,.22);
}
.td-cart-steps__item.is-done .td-cart-steps__num{background:#16a673;border-color:#16a673;color:#fff}
.td-cart-steps__sep{width:44px;height:1.5px;background:rgba(255,255,255,.25);margin:0 10px}
@media (max-width:700px){
	.td-cart-intro{padding:24px 20px}
	.td-cart-steps__sep{width:20px;margin:0 6px}
	.td-cart-intro__row{flex-direction:column;align-items:flex-start}
}

/* =====================================================================
   CART FORM CARD
   ===================================================================== */
body.woocommerce-cart form.woocommerce-cart-form{
	background:#fff;border:1px solid #dcebe6;border-radius:18px;
	padding:10px 26px 24px;box-shadow:0 10px 30px rgba(6,43,43,.06);
	max-width:860px;
}
body.woocommerce-cart table.shop_table.cart{
	border:0 !important;margin:14px 0 0 !important;
}
body.woocommerce-cart table.shop_table.cart thead th{
	border-top:0;border-bottom:1px solid #dcebe6;
	font-size:10.5px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;
	color:#6b7b90;padding:14px 12px;
}
body.woocommerce-cart table.shop_table.cart td{
	border-top:0;border-bottom:1px solid #e8f3ee;padding:20px 12px;
	vertical-align:middle;background:transparent;
}
body.woocommerce-cart table.shop_table.cart tr:last-child td{border-bottom:0}
body.woocommerce-cart table.shop_table.cart tr.cart_item:hover td{background:#f7fdfa}

/* Product cell */
body.woocommerce-cart td.product-thumbnail img{
	width:84px !important;height:64px;object-fit:cover;border-radius:12px;
	border:1px solid #dcebe6;box-shadow:0 4px 12px rgba(6,43,43,.07);
}
body.woocommerce-cart td.product-name a{
	font-size:14.5px;font-weight:800;color:#12243d;text-decoration:none;
}
body.woocommerce-cart td.product-name a:hover{color:#16a673}
body.woocommerce-cart td.product-name dl.variation,
body.woocommerce-cart td.product-name .product-attributes{
	font-size:11.5px;color:#6b7b90;margin-top:5px;
}
body.woocommerce-cart td.product-name dl.variation dt,
body.woocommerce-cart td.product-name dl.variation dd{display:inline-block}

/* Prices */
body.woocommerce-cart td.product-price,
body.woocommerce-cart td.product-subtotal{
	font-size:13.5px;font-weight:800;color:#12243d;white-space:nowrap;
}
body.woocommerce-cart td.product-subtotal{color:#0d7a57;font-weight:900}
body.woocommerce-cart del{color:#9aa8ae;font-weight:600}
body.woocommerce-cart ins{text-decoration:none}

/* Quantity stepper */
body.woocommerce-cart .quantity{
	display:inline-flex;align-items:center;
	border:1px solid #dcebe6;border-radius:11px;overflow:hidden;background:#fff;
}
body.woocommerce-cart .quantity input[type="number"],
body.woocommerce-cart .quantity input.qty{
	-moz-appearance:textfield;appearance:textfield;
	width:44px;height:40px;border:0 !important;text-align:center;
	font-size:13.5px;font-weight:800;color:#12243d;background:transparent;
	box-shadow:none !important;padding:0 !important;
}
body.woocommerce-cart .quantity input::-webkit-outer-spin-button,
body.woocommerce-cart .quantity input::-webkit-inner-spin-button{
	-webkit-appearance:none;margin:0;
}
/* Woodmart's +/- buttons (if present) */
body.woocommerce-cart .quantity .wd-minus,
body.woocommerce-cart .quantity .wd-plus,
body.woocommerce-cart .quantity button{
	width:32px;height:40px;border:0;background:#f2faf6;color:#07504b;
	font-size:15px;font-weight:900;cursor:pointer;transition:background .15s;
}
body.woocommerce-cart .quantity button:hover{background:#e9fbf4}

/* Remove */
body.woocommerce-cart td.product-remove a.remove{
	width:30px;height:30px;border-radius:9px;line-height:30px;
	color:#b9c6c1 !important;background:#f4faf7;font-size:17px;
	transition:all .15s;
}
body.woocommerce-cart td.product-remove a.remove:hover{
	background:#e8554615;color:#d64533 !important;
}

/* Coupon + update row */
body.woocommerce-cart .cart-actions,
body.woocommerce-cart form.woocommerce-cart-form .actions,
body.woocommerce-cart table.shop_table.cart ~ .actions{
	padding-top:18px;border-top:1px dashed #dcebe6;margin-top:6px;
}
body.woocommerce-cart .coupon{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
body.woocommerce-cart .coupon label{display:none}
body.woocommerce-cart .coupon input.input-text{
	border:1px solid #dcebe6 !important;border-radius:11px !important;
	padding:12px 14px !important;font-size:12.5px !important;min-width:190px;
	background:#fff;
}
body.woocommerce-cart .coupon input.input-text:focus{
	border-color:#16a673 !important;box-shadow:0 0 0 3px #e9fbf4 !important;outline:none;
}
body.woocommerce-cart .coupon button,
body.woocommerce-cart button[name="update_cart"],
body.woocommerce-cart button[name="apply_coupon"]{
	border-radius:11px !important;font-weight:800 !important;font-size:12px !important;
	padding:12px 20px !important;
}
body.woocommerce-cart .coupon button{
	background:#062b2b !important;color:#fff !important;border:0 !important;
}
body.woocommerce-cart button[name="update_cart"]{
	background:transparent !important;color:#07504b !important;
	border:1.5px solid #dcebe6 !important;
}
body.woocommerce-cart button[name="update_cart"]:hover{border-color:#16a673 !important;color:#0d7a57 !important}

/* =====================================================================
   COLLATERALS — totals card (sticky) + cross-sells
   ===================================================================== */
body.woocommerce-cart .cart-collaterals{
	display:grid;grid-template-columns:860px minmax(300px,1fr);
	gap:26px;align-items:start;justify-content:start;
	max-width:1280px;
}
body.woocommerce-cart .cart_totals{
	background:#fff;border:1px solid #dcebe6;border-radius:18px;
	padding:24px 26px 26px;box-shadow:0 10px 30px rgba(6,43,43,.06);
	position:sticky;top:96px;
}
body.woocommerce-cart .cart_totals h2{
	font-size:17px;font-weight:900;color:#062b2b;margin:0 0 16px;letter-spacing:-.3px;
}
body.woocommerce-cart .cart_totals table.shop_table{
	border:0 !important;margin:0 0 18px !important;
}
body.woocommerce-cart .cart_totals table.shop_table th,
body.woocommerce-cart .cart_totals table.shop_table td{
	border:0;border-bottom:1px solid #e8f3ee;padding:11px 2px;
	font-size:13px;background:transparent;
}
body.woocommerce-cart .cart_totals table.shop_table tr:last-child th,
body.woocommerce-cart .cart_totals table.shop_table tr:last-child td{border-bottom:0}
body.woocommerce-cart .cart_totals table.shop_table th{color:#6b7b90;font-weight:700}
body.woocommerce-cart .cart_totals table.shop_table td{text-align:end;font-weight:800;color:#12243d}
body.woocommerce-cart .cart_totals .order-total th,
body.woocommerce-cart .cart_totals .order-total td{
	font-size:17px;font-weight:900;color:#0d7a57;padding-top:14px;
}
/* Wallet balance row injected by the plugin */
body.woocommerce-cart .cart_totals .td-cart-wallet{
	background:#e9fbf4;border:1px dashed #16a673;border-radius:12px;
	padding:11px 14px;font-size:12px;color:#0d7a57;font-weight:700;margin:0 0 14px;
}

/* Proceed to checkout CTA */
body.woocommerce-cart .cart_totals .checkout-button,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
	display:block;width:100%;text-align:center;
	background:linear-gradient(135deg,#16a673,#27c58b) !important;
	color:#fff !important;border-radius:13px !important;
	font-size:14px !important;font-weight:900 !important;
	padding:17px 20px !important;letter-spacing:.01em;
	box-shadow:0 12px 28px rgba(22,166,115,.28) !important;
	transition:transform .18s,box-shadow .18s !important;
}
body.woocommerce-cart .cart_totals .checkout-button:hover{
	transform:translateY(-2px);box-shadow:0 16px 34px rgba(22,166,115,.36) !important;
}

/* Trust rows (injected by teachdemy_cart_trust()) */
.td-cart-trust{
	margin:18px 0 0;padding:16px 18px;
	background:#f7fdfa;border:1px solid #dcebe6;border-radius:14px;
	display:flex;flex-direction:column;gap:11px;
}
.td-cart-trust__row{
	display:flex;align-items:flex-start;gap:10px;
	font-size:12px;color:#354a55;line-height:1.55;font-weight:650;
}
.td-cart-trust__row svg{
	width:16px;height:16px;flex:none;margin-top:1px;color:#16a673;
}
.td-cart-trust__row a{color:#0d7a57;font-weight:800;text-decoration:none;border-bottom:1px dashed #7cc4a9}
.td-cart-trust__row a:hover{color:#16a673}

/* Cross-sells under the totals (single column area) */
body.woocommerce-cart .cross-sells{
	grid-column:1;margin-top:26px;
}
body.woocommerce-cart .cross-sells > h2{
	font-size:18px;font-weight:900;color:#062b2b;margin:0 0 16px;letter-spacing:-.3px;
}
body.woocommerce-cart .cross-sells ul.products{
	display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:0;padding:0;list-style:none;
}
body.woocommerce-cart .cross-sells li.product{
	background:#fff;border:1px solid #dcebe6;border-radius:16px;padding:16px;
	margin:0 !important;width:auto !important;float:none !important;
	box-shadow:0 8px 22px rgba(6,43,43,.05);transition:transform .2s,box-shadow .2s;
}
body.woocommerce-cart .cross-sells li.product:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(6,43,43,.1)}
body.woocommerce-cart .cross-sells li.product img{border-radius:12px}
body.woocommerce-cart .cross-sells li.product .price{color:#0d7a57;font-weight:900}
body.woocommerce-cart .cross-sells li.product .button{
	background:#062b2b;color:#fff;border-radius:10px;font-weight:800;font-size:11.5px;
}
body.woocommerce-cart .cross-sells li.product .button:hover{background:#07504b}

/* =====================================================================
   EMPTY CART STATE
   ===================================================================== */
body.woocommerce-cart .woocommerce-cart-notice,
body.woocommerce-cart .cart-empty{display:none}
body.woocommerce-cart .td-cart-empty-cta{
	max-width:620px;margin:40px auto 30px;text-align:center;
	background:#fff;border:1px dashed #dcebe6;border-radius:22px;padding:54px 34px;
	box-shadow:0 10px 30px rgba(6,43,43,.05);
}
.td-cart-empty-cta__icon{
	width:76px;height:76px;border-radius:22px;margin:0 auto 20px;
	background:linear-gradient(135deg,#e9fbf4,#e8f3ff);display:grid;place-items:center;color:#16a673;
}
.td-cart-empty-cta__icon svg{width:36px;height:36px}
.td-cart-empty-cta h2{font-size:22px;font-weight:900;color:#062b2b;margin:0 0 8px;letter-spacing:-.4px}
.td-cart-empty-cta p{font-size:13.5px;color:#6b7b90;line-height:1.8;margin:0 0 24px}
.td-cart-empty-cta__actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.td-cart-empty-cta .btn{
	display:inline-flex;align-items:center;justify-content:center;gap:8px;
	border-radius:12px;padding:14px 26px;font-size:13px;font-weight:900;text-decoration:none;
	transition:transform .16s,box-shadow .16s;
}
.td-cart-empty-cta .btn:hover{transform:translateY(-2px)}
.td-cart-empty-cta .btn--primary{
	background:linear-gradient(135deg,#16a673,#27c58b);color:#fff;
	box-shadow:0 10px 24px rgba(22,166,115,.25);
}
.td-cart-empty-cta .btn--ghost{
	border:1.5px solid #dcebe6;color:#12243d;background:#fff;
}
.td-cart-empty-cta .btn--ghost:hover{border-color:#16a673;color:#0d7a57}

/* =====================================================================
   RESPONSIVE — the classic cart table becomes stacked cards
   ===================================================================== */
@media (max-width:1000px){
	body.woocommerce-cart .cart-collaterals{grid-template-columns:1fr;max-width:860px}
	body.woocommerce-cart .cart_totals{position:static}
}
@media (max-width:768px){
	body.woocommerce-cart form.woocommerce-cart-form{padding:6px 16px 18px}
	body.woocommerce-cart table.shop_table.cart thead{display:none}
	body.woocommerce-cart table.shop_table.cart tr.cart_item{
		display:grid;grid-template-columns:88px 1fr;gap:4px 14px;
		border-bottom:1px solid #e8f3ee;padding:16px 0;position:relative;
	}
	body.woocommerce-cart table.shop_table.cart tr.cart_item td{border:0;padding:0;display:block}
	body.woocommerce-cart td.product-thumbnail{grid-row:1 / span 4}
	body.woocommerce-cart td.product-thumbnail img{width:88px !important;height:112px}
	body.woocommerce-cart td.product-name{grid-column:2;font-size:15px;font-weight:850}
	body.woocommerce-cart td.product-price{grid-column:2;font-size:12.5px;color:#6b7b90;font-weight:650}
	body.woocommerce-cart td.product-quantity{grid-column:2;margin-top:6px}
	body.woocommerce-cart td.product-subtotal{grid-column:2;font-size:15px;color:#0d7a57}
	body.woocommerce-cart td.product-remove{
		position:absolute;top:10px;inset-inline-end:0;
	}
	body.woocommerce-cart .coupon input.input-text{min-width:0;flex:1}
	body.woocommerce-cart .cross-sells ul.products{grid-template-columns:1fr 1fr}
}
@media (max-width:520px){
	body.woocommerce-cart .cross-sells ul.products{grid-template-columns:1fr}
	body.woocommerce-cart .coupon{flex-direction:column;align-items:stretch}
	body.woocommerce-cart .coupon input.input-text{width:100%}
}

/* =====================================================================
   DARK MODE
   ===================================================================== */
html[data-theme="dark"] body.woocommerce-cart #main-content,
html[data-theme="dark"] body.woocommerce-cart .wd-content-area{background:#04201e}
html[data-theme="dark"] body.woocommerce-cart form.woocommerce-cart-form,
html[data-theme="dark"] body.woocommerce-cart .cart_totals,
html[data-theme="dark"] body.woocommerce-cart .cross-sells li.product,
html[data-theme="dark"] .td-cart-empty-cta{
	background:#072724;border-color:#12443d;box-shadow:none;
}
html[data-theme="dark"] body.woocommerce-cart table.shop_table.cart thead th{color:#a9c3bb;border-bottom-color:#12443d}
html[data-theme="dark"] body.woocommerce-cart table.shop_table.cart td{border-bottom-color:#0e3a35}
html[data-theme="dark"] body.woocommerce-cart tr.cart_item:hover td{background:#0a3230}
html[data-theme="dark"] body.woocommerce-cart td.product-name a,
html[data-theme="dark"] body.woocommerce-cart td.product-price,
html[data-theme="dark"] body.woocommerce-cart td.product-subtotal,
html[data-theme="dark"] body.woocommerce-cart .cart_totals table.shop_table td{color:#e9fbf4}
html[data-theme="dark"] body.woocommerce-cart td.product-thumbnail img{border-color:#12443d}
html[data-theme="dark"] body.woocommerce-cart .quantity{background:#04201e;border-color:#12443d}
html[data-theme="dark"] body.woocommerce-cart .quantity input.qty{color:#e9fbf4}
html[data-theme="dark"] body.woocommerce-cart .quantity .wd-minus,
html[data-theme="dark"] body.woocommerce-cart .quantity .wd-plus,
html[data-theme="dark"] body.woocommerce-cart .quantity button{background:#0a3230;color:#9adbc2}
html[data-theme="dark"] body.woocommerce-cart .cart_totals table.shop_table th{color:#a9c3bb}
html[data-theme="dark"] body.woocommerce-cart .cart_totals table.shop_table td,
html[data-theme="dark"] body.woocommerce-cart .cart_totals table.shop_table tr{border-bottom-color:#0e3a35}
html[data-theme="dark"] .td-cart-trust{background:#0a3230;border-color:#12443d}
html[data-theme="dark"] .td-cart-trust__row{color:#c6dcd4}
html[data-theme="dark"] body.woocommerce-cart .coupon input.input-text{background:#04201e;border-color:#12443d !important;color:#e9fbf4}
html[data-theme="dark"] body.woocommerce-cart .coupon button{background:#16a673 !important}
html[data-theme="dark"] body.woocommerce-cart button[name="update_cart"]{color:#9adbc2 !important;border-color:#12443d !important}
html[data-theme="dark"] .td-cart-empty-cta h2{color:#e9fbf4}
html[data-theme="dark"] .td-cart-empty-cta p{color:#a9c3bb}
html[data-theme="dark"] .td-cart-empty-cta .btn--ghost{background:transparent;color:#e9fbf4;border-color:#12443d}

/* Hide the default empty-cart return block (replaced by .td-cart-empty-cta). */
body.woocommerce-cart .return-to-shop{display:none}
