/**
 * Clubbercise Product Display Overrides
 * Styles for WooCommerce product grid items
 */

/* CRITICAL: Override theme button CSS - must come first with highest specificity */
body:not(.wp-admin) .w-grid-item-h .button,
body:not(.wp-admin) .w-grid-item-h .add_to_cart_button,
body:not(.wp-admin) .w-grid-item-h .product_type_variable,
body:not(.wp-admin) .w-grid-item-h .product_type_simple,
body:not(.wp-admin) .w-grid-item-h .w-btn-wrapper .button,
body:not(.wp-admin) .w-grid-item-h .w-btn-wrapper a,
body:not(.wp-admin) .w-grid-item-h .w-btn-wrapper button,
body:not(.wp-admin) .clubbercise-price-button-row .button,
body:not(.wp-admin) .clubbercise-price-button-row .add_to_cart_button,
body:not(.wp-admin) .clubbercise-price-button-row .w-btn-wrapper .button,
body:not(.wp-admin) .clubbercise-price-button-row .w-btn-wrapper a,
body:not(.wp-admin) .single_add_to_cart_button.button.alt,
body:not(.wp-admin) .single_add_to_cart_button.button.alt.disabled,
body:not(.wp-admin) .woocommerce .single_add_to_cart_button,
body:not(.wp-admin) .woocommerce-page .single_add_to_cart_button,
body:not(.wp-admin) .single-product .single_add_to_cart_button,
body:not(.wp-admin) .woocommerce .w-grid-item-h .button,
body:not(.wp-admin) .woocommerce-page .w-grid-item-h .button {
	background-color: #000000 !important;
	background: #000000 !important;
	background-image: none !important;
	color: #ffffff !important;
	border-color: #000000 !important;
	border: 2px solid #000000 !important;
	--clubbercise-primary: #000000 !important;
	--clubbercise-bg: #ffffff !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
}

/* Flex container for price and button on same line */
.clubbercise-price-button-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin: 8px 0;
	width: 100%;
}

/* Target product grid items */
.w-grid-item-h {
	display: grid;
	grid-template-columns: 1fr;
	gap: 12px;
	align-items: start;
}

/* Price and button within flex container */
.clubbercise-price-button-row .usg_product_field_3.price-shop,
.clubbercise-price-button-row .product_field.price {
	display: flex;
	align-items: center;
	gap: 16px;
	margin: 0;
	padding: 0;
	width: auto;
}

.clubbercise-price-button-row .usg_add_to_cart_1,
.clubbercise-price-button-row .w-btn-wrapper.woocommerce {
	margin: 0;
	flex-shrink: 0;
}

/* Price styling */
.w-grid-item-h .price {
	font-size: 18px;
	font-weight: 600;
	color: #111827;
	margin: 0;
	line-height: 1.2;
}

.w-grid-item-h .price del {
	opacity: 0.6;
	margin-right: 4px;
	font-size: 16px;
}

.w-grid-item-h .price ins {
	text-decoration: none;
	color: #ec4899;
	font-weight: 700;
}

/* Add to cart button wrapper */
.w-grid-item-h .usg_add_to_cart_1,
.w-grid-item-h .w-btn-wrapper.woocommerce,
.clubbercise-price-button-row .w-btn-wrapper.woocommerce {
	margin: 0;
	display: flex;
	align-items: center;
}

/* Add to cart button - Black with white text */
body:not(.wp-admin) .single_add_to_cart_button.button.alt,
body:not(.wp-admin) .single_add_to_cart_button.button.alt.disabled,
body:not(.wp-admin) .single_add_to_cart_button.button.alt.wc-variation-selection-needed,
body:not(.wp-admin) .w-grid-item-h .w-btn-wrapper a,
body:not(.wp-admin) .w-grid-item-h .w-btn-wrapper button,
body:not(.wp-admin) .w-grid-item-h .w-btn-wrapper .button,
body:not(.wp-admin) .w-grid-item-h .add_to_cart_button,
body:not(.wp-admin) .w-grid-item-h .product_type_variable,
body:not(.wp-admin) .w-grid-item-h .product_type_simple,
body:not(.wp-admin) .w-grid-item-h .w-btn-wrapper.woocommerce a,
body:not(.wp-admin) .w-grid-item-h .w-btn-wrapper.woocommerce button,
body:not(.wp-admin) .w-grid-item-h .w-btn-wrapper.woocommerce .button,
body:not(.wp-admin) .clubbercise-price-button-row .w-btn-wrapper a,
body:not(.wp-admin) .clubbercise-price-button-row .w-btn-wrapper button,
body:not(.wp-admin) .clubbercise-price-button-row .add_to_cart_button,
body:not(.wp-admin) .clubbercise-price-button-row .product_type_variable,
body:not(.wp-admin) .woocommerce .w-grid-item-h .w-btn-wrapper a,
body:not(.wp-admin) .woocommerce-page .w-grid-item-h .w-btn-wrapper a,
body:not(.wp-admin) .woocommerce .w-grid-item-h .w-btn-wrapper .button,
body:not(.wp-admin) .woocommerce-page .w-grid-item-h .w-btn-wrapper .button,
body:not(.wp-admin) .single-product .single_add_to_cart_button,
body:not(.wp-admin) .woocommerce .single_add_to_cart_button,
body:not(.wp-admin) .woocommerce-page .single_add_to_cart_button {
	background: #000000 !important;
	background-color: #000000 !important;
	background-image: none !important;
	color: #ffffff !important;
	border-color: #000000 !important;
	border: 2px solid #000000 !important;
	padding: 10px 20px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	border-radius: 6px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	text-decoration: none !important;
	transition: all 0.2s ease !important;
	cursor: pointer !important;
	white-space: nowrap !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
	--clubbercise-primary: #000000 !important;
	--clubbercise-bg: #ffffff !important;
}

body:not(.wp-admin) .single_add_to_cart_button.button.alt:hover:not(:disabled),
body:not(.wp-admin) .w-grid-item-h .w-btn-wrapper a:hover,
body:not(.wp-admin) .w-grid-item-h .w-btn-wrapper button:hover,
body:not(.wp-admin) .w-grid-item-h .w-btn-wrapper .button:hover,
body:not(.wp-admin) .w-grid-item-h .add_to_cart_button:hover,
body:not(.wp-admin) .w-grid-item-h .product_type_variable:hover,
body:not(.wp-admin) .w-grid-item-h .product_type_simple:hover,
body:not(.wp-admin) .w-grid-item-h .w-btn-wrapper.woocommerce a:hover,
body:not(.wp-admin) .w-grid-item-h .w-btn-wrapper.woocommerce button:hover,
body:not(.wp-admin) .w-grid-item-h .w-btn-wrapper.woocommerce .button:hover,
body:not(.wp-admin) .clubbercise-price-button-row .w-btn-wrapper a:hover,
body:not(.wp-admin) .clubbercise-price-button-row .add_to_cart_button:hover,
body:not(.wp-admin) .clubbercise-price-button-row .product_type_variable:hover,
body:not(.wp-admin) .woocommerce .w-grid-item-h .w-btn-wrapper a:hover,
body:not(.wp-admin) .woocommerce-page .w-grid-item-h .w-btn-wrapper a:hover,
body:not(.wp-admin) .woocommerce-page .w-grid-item-h .w-btn-wrapper button:hover,
body:not(.wp-admin) .woocommerce-page .w-grid-item-h .w-btn-wrapper .button:hover,
body:not(.wp-admin) .single-product .single_add_to_cart_button:hover:not(:disabled),
body:not(.wp-admin) .woocommerce .single_add_to_cart_button:hover:not(:disabled),
body:not(.wp-admin) .woocommerce-page .single_add_to_cart_button:hover:not(:disabled) {
	background: #ffffff !important;
	background-color: #ffffff !important;
	background-image: none !important;
	color: #000000 !important;
	border-color: #000000 !important;
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
}

	body:not(.wp-admin) .w-grid-item-h .w-btn-wrapper a:active,
body:not(.wp-admin) .w-grid-item-h .w-btn-wrapper button:active,
body:not(.wp-admin) .w-grid-item-h .w-btn-wrapper .button:active,
body:not(.wp-admin) .w-grid-item-h .add_to_cart_button:active,
body:not(.wp-admin) .w-grid-item-h .product_type_variable:active,
body:not(.wp-admin) .w-grid-item-h .product_type_simple:active,
body:not(.wp-admin) .w-grid-item-h .w-btn-wrapper.woocommerce a:active,
body:not(.wp-admin) .w-grid-item-h .w-btn-wrapper.woocommerce button:active,
body:not(.wp-admin) .clubbercise-price-button-row .w-btn-wrapper a:active,
body:not(.wp-admin) .clubbercise-price-button-row .add_to_cart_button:active,
body:not(.wp-admin) .woocommerce .w-grid-item-h .w-btn-wrapper a:active,
body:not(.wp-admin) .woocommerce-page .w-grid-item-h .w-btn-wrapper a:active,
body:not(.wp-admin) .woocommerce-page .w-grid-item-h .w-btn-wrapper button:active,
body:not(.wp-admin) .single-product .single_add_to_cart_button:active,
body:not(.wp-admin) .woocommerce .single_add_to_cart_button:active,
body:not(.wp-admin) .woocommerce-page .single_add_to_cart_button:active {
	transform: translateY(0);
}

/* Loading state for add to cart button */
.w-grid-item-h .add_to_cart_button.loading,
.w-grid-item-h .product_type_variable.loading {
	opacity: 0.7;
	pointer-events: none;
	position: relative;
}

.w-grid-item-h .add_to_cart_button.loading::after,
.w-grid-item-h .product_type_variable.loading::after {
	content: '';
	position: absolute;
	width: 16px;
	height: 16px;
	top: 50%;
	left: 50%;
	margin: -8px 0 0 -8px;
	border: 2px solid rgba(255, 255, 255, 0.3);
	border-top-color: #ffffff;
	border-radius: 50%;
	animation: clubberciseAddToCartSpin 0.6s linear infinite;
}

@keyframes clubberciseAddToCartSpin {
	to {
		transform: rotate(360deg);
	}
}

@media (max-width: 767px) {
	body:not(.wp-admin) .l-header.pos_fixed,
	body:not(.wp-admin) #page-header.l-header.pos_fixed,
	body:not(.wp-admin) .header_hor #page-header.l-header.pos_fixed {
		position: fixed !important;
		top: 0 !important;
		left: 0 !important;
		right: 0 !important;
		width: 100% !important;
		transform: none !important;
		z-index: 1000 !important;
	}

	body:not(.wp-admin) .header_hor .l-header.sticky_auto_hide,
	body:not(.wp-admin) .header_hor .l-header.sticky_auto_hide.down {
		transform: none !important;
	}

	body:not(.wp-admin) #page-header.l-header.pos_fixed ~ .l-main,
	body:not(.wp-admin) .l-header.pos_fixed ~ .l-main {
		padding-top: var(--header-height, 60px) !important;
	}

	.clubbercise-product-table-hint {
		display: inline-flex;
		align-items: center;
		gap: 8px;
		margin: 0 0 12px;
		padding: 8px 12px;
		background: #f3f4f6;
		border: 1px solid #e5e7eb;
		border-radius: 999px;
		color: #111827;
		font-size: 12px;
		font-weight: 600;
	}

	.clubbercise-product-table-scroll {
		overflow-x: auto !important;
		overflow-y: hidden !important;
		-webkit-overflow-scrolling: touch;
		width: 100%;
	}

	body:not(.wp-admin) .single-product .w-post-elm.post_content,
	body:not(.wp-admin) .single-product .us_custom_4076faf9 {
		overflow: visible !important;
	}

	body:not(.wp-admin) .single-product .clubbercise-product-table-scroll table {
		display: table !important;
		width: max-content !important;
		max-width: none !important;
		min-width: 560px !important;
		table-layout: auto !important;
		border-collapse: collapse !important;
		margin: 0 !important;
	}

	body:not(.wp-admin) .single-product .clubbercise-product-table-scroll tbody {
		display: table-row-group !important;
		width: auto !important;
	}

	body:not(.wp-admin) .single-product .clubbercise-product-table-scroll th,
	body:not(.wp-admin) .single-product .clubbercise-product-table-scroll td {
		white-space: nowrap !important;
		padding-left: 10px !important;
		padding-right: 10px !important;
	}
}

/* Added to cart state */
.w-grid-item-h .add_to_cart_button.added {
	background-color: #10b981 !important;
	color: #ffffff !important;
	border-color: #10b981 !important;
	box-shadow: 0 2px 8px rgba(16, 185, 129, 0.22);
}

.w-grid-item-h .added_to_cart.wc-forward,
.woocommerce .w-grid-item-h .added_to_cart.wc-forward,
.woocommerce-page .w-grid-item-h .added_to_cart.wc-forward {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px 16px;
	margin-top: 8px;
	background-color: #ffffff !important;
	color: #111827 !important;
	border: 2px solid #111827 !important;
	border-radius: 8px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.4px;
	text-transform: uppercase;
	line-height: 1.1;
	text-decoration: none;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
	transition: all 0.2s ease;
}

.w-grid-item-h .added_to_cart.wc-forward:hover,
.woocommerce .w-grid-item-h .added_to_cart.wc-forward:hover,
.woocommerce-page .w-grid-item-h .added_to_cart.wc-forward:hover {
	background-color: #111827 !important;
	color: #ffffff !important;
	border-color: #111827 !important;
}

/* Responsive: stack on mobile */
@media (max-width: 767px) {
	.w-grid-item {
		height: 100%;
	}

	.w-grid-item-h {
		display: flex;
		flex-direction: column;
		height: 100%;
	}

	.w-grid-item-h .usg_add_to_cart_1,
	.w-grid-item-h .w-btn-wrapper.woocommerce,
	.w-grid-item-h .w-btn-wrapper.woocommerce.has_font_size,
	.w-grid-item-h .w-btn-wrapper.woocommerce.has_border_radius {
		display: flex !important;
		opacity: 1 !important;
		visibility: visible !important;
		transform: none !important;
		position: static !important;
		pointer-events: auto !important;
	}

	.clubbercise-price-button-row {
		flex-direction: column;
		align-items: stretch;
		gap: 8px;
		margin-top: auto;
	}

	.w-grid-item-h .post_title,
	.w-grid-item-h .woocommerce-loop-product__title {
		min-height: 4.5em;
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: center;
		line-height: 1.05;
		margin-bottom: 10px;
	}

	.w-grid-item-h .post_title a,
	.w-grid-item-h .woocommerce-loop-product__title a {
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 3;
		overflow: hidden;
	}

	.w-grid-item-h .usg_product_field_3.price-shop,
	.w-grid-item-h .product_field.price {
		width: 100%;
		text-align: center;
		justify-content: center;
	}

	.w-grid-item-h .w-btn-wrapper a,
	.w-grid-item-h .w-btn-wrapper button,
	.w-grid-item-h .w-btn-wrapper .button,
	.w-grid-item-h .add_to_cart_button,
	.w-grid-item-h .product_type_variable,
	.w-grid-item-h .product_type_simple {
		width: auto !important;
		align-self: flex-start !important;
		padding: 6px 9px !important;
		font-size: 9px !important;
		line-height: 1.1 !important;
		min-height: 28px !important;
		letter-spacing: 0.01em !important;
		opacity: 1 !important;
		visibility: visible !important;
		transform: none !important;
		border-radius: 4px !important;
	}

	.w-grid-item-h .price {
		font-size: 16px;
		text-align: center;
		justify-content: center;
		width: 100%;
	}
}

/* Dark mode support */
@media (prefers-color-scheme: dark) {
	.w-grid-item-h .price {
		color: #f9fafb;
	}

	.w-grid-item-h .price del {
		opacity: 0.5;
	}
}
