/* =========================================================
   Competition Cart — Dark Layout
   Drop into your theme's style.css or enqueue separately.
   ========================================================= */

.woocommerce .competition-cart-form {
	background: transparent;
	color: #e7eef0;
	font-family: 'Inter', system-ui, -apple-system, sans-serif;
}

/* Reset Woo's default table chrome */
.competition-cart {
	border: 0 !important;
	border-collapse: separate !important;
	border-spacing: 0 12px !important;
	width: 100%;
	background: transparent !important;
}

.competition-cart thead {
	background: #1f2526;
	border-radius: 12px;
}

.competition-cart thead th {
	background: #1f2526 !important;
	color: #fff !important;
	font-weight: 600;
	font-size: 14px;
	padding: 18px 16px !important;
	border: 0 !important;
	text-align: center;
	letter-spacing: 0.2px;
}

.competition-cart thead th:first-child { border-radius: 12px 0 0 12px; }
.competition-cart thead th:last-child  { border-radius: 0 12px 12px 0; text-align: right; padding-right: 28px !important; }
.competition-cart thead th.product-name { text-align: left; }
.competition-cart thead th.product-description { text-align: left; }

/* Each cart row is its own dark card */
.competition-cart tbody tr.cart_item {
	background: #2a3133;
	border-radius: 14px;
	box-shadow: 0 1px 0 rgba(0,0,0,0.2);
}

.competition-cart tbody tr.cart_item td {
	background: #2a3133 !important;
	border: 0 !important;
	padding: 20px 16px !important;
	vertical-align: middle;
	color: #e7eef0;
}

.competition-cart tbody tr.cart_item td:first-child { border-radius: 14px 0 0 14px; padding-left: 20px !important; }
.competition-cart tbody tr.cart_item td:last-child  { border-radius: 0 14px 14px 0; padding-right: 28px !important; text-align: right; font-weight: 700; font-size: 18px; }

/* Thumbnail */
.competition-cart td.product-thumbnail {
	width: 130px;
}
.competition-cart td.product-thumbnail img {
	width: 110px;
	height: 110px;
	object-fit: cover;
	border-radius: 10px;
	background: #3a4244;
	display: block;
}

/* Remove link — subtle, top-right of the image cell */
.competition-cart td.product-thumbnail a.remove {
	position: absolute;
	margin-left: 90px;
	margin-top: -110px;
	color: #fff !important;
	background: rgba(0,0,0,0.5);
	width: 22px; height: 22px;
	line-height: 20px;
	border-radius: 50%;
	font-size: 14px;
	text-align: center;
	opacity: 0;
	transition: opacity .15s ease;
}
.competition-cart tr.cart_item:hover td.product-thumbnail a.remove { opacity: 1; }

/* Product name */
.competition-cart td.product-name {
	width: 200px;
	font-weight: 700;
	font-size: 17px;
	color: #fff;
}
.competition-cart td.product-name a {
	color: #fff !important;
	text-decoration: none;
}

/* Short description */
.competition-cart td.product-description {
	color: #b9c3c5;
	font-size: 14px;
	line-height: 1.5;
	max-width: 320px;
}
.competition-cart td.product-description p { margin: 0; }

/* Quantity (Tickets) */
.competition-cart td.product-quantity {
	width: 140px;
	text-align: center;
}
.competition-cart .quantity {
	display: inline-flex;
	align-items: center;
	background: #3a4244;
	border-radius: 8px;
	padding: 4px;
	gap: 0;
}
.competition-cart .quantity input.qty {
	background: transparent;
	border: 0;
	color: #fff;
	text-align: center;
	width: 38px;
	font-weight: 700;
	font-size: 15px;
	-moz-appearance: textfield;
}
.competition-cart .quantity input.qty::-webkit-outer-spin-button,
.competition-cart .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* Custom +/- buttons via JS (see snippet below). Falls back gracefully without. */
.competition-cart .quantity .qty-btn {
	width: 30px; height: 30px;
	border-radius: 6px;
	background: transparent;
	border: 0;
	color: #fff;
	font-size: 16px;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.competition-cart .quantity .qty-btn:hover { background: rgba(255,255,255,0.08); }

/* Total */
.competition-cart td.product-subtotal {
	color: #fff;
}

/* Actions row */
.competition-cart td.actions {
	background: transparent !important;
	border: 0 !important;
	padding: 24px 0 0 0 !important;
	text-align: right;
}

.competition-cart td.actions .button {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 14px 22px;
	border-radius: 8px;
	font-weight: 700;
	font-size: 13px;
	letter-spacing: 0.6px;
	text-transform: uppercase;
	border: 0;
	cursor: pointer;
	margin-left: 12px;
}

.competition-cart td.actions .button--secondary,
.competition-cart td.actions .cart-action-back {
	background: #fff;
	color: #1f2526 !important;
}

.competition-cart td.actions .button--checkout {
	background: #2cbcb1;
	color: #fff !important;
}
.competition-cart td.actions .button--checkout:hover { background: #25a89e; }

/* Hidden Update Cart button — kept in the DOM so the qty-change JS can click
   it silently to submit the form, but never visible to the user. We use
   visibility:hidden + zero size so theme `display` rules can't override it. */
.competition-cart button[name="update_cart"],
.competition-cart .update-cart-hidden,
.woocommerce-cart .competition-cart-form button[name="update_cart"] {
	visibility: hidden !important;
	position: absolute !important;
	left: -9999px !important;
	top: -9999px !important;
	width: 0 !important;
	height: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	opacity: 0 !important;
	pointer-events: none !important;
	overflow: hidden !important;
}

/* Belt-and-braces: hide the Cart Totals block if any plugin still renders it */
.woocommerce-cart .cart-collaterals,
.woocommerce-cart .cart_totals,
.woocommerce-cart .cross-sells { display: none !important; }

/* While the cart is AJAX-updating, dim it slightly — no flash, no reload */
.competition-cart-form.is-updating .competition-cart {
	opacity: 0.55;
	transition: opacity 0.15s ease;
	pointer-events: none;
}
.competition-cart-form .competition-cart {
	transition: opacity 0.15s ease;
}

/* Responsive — stack to cards on mobile */
@media (max-width: 768px) {
	.competition-cart thead { display: none; }
	.competition-cart tbody tr.cart_item {
		display: grid;
		grid-template-columns: 100px 1fr;
		gap: 4px 14px;
		padding: 14px;
	}
	.competition-cart tbody tr.cart_item td {
		padding: 4px 0 !important;
		background: transparent !important;
		border-radius: 0 !important;
	}
	.competition-cart td.product-thumbnail { grid-row: 1 / span 4; }
	.competition-cart td.product-thumbnail img { width: 100px; height: 100px; }
	.competition-cart td.product-name { font-size: 16px; }
	.competition-cart td.product-description { font-size: 13px; }
	.competition-cart td.product-subtotal { text-align: left !important; padding-right: 0 !important; font-size: 16px; }
	.competition-cart td.actions { text-align: center; }
	.competition-cart td.actions .button { margin: 6px 4px; }
}
