/**
 * Rineova Labs — WooCommerce foundation styles.
 * Token-driven; no checkout redesign.
 */

.rineova-woocommerce-active .woocommerce,
.rineova-woocommerce-active .wc-block-components-sidebar-layout,
.rineova-woocommerce-active .wp-block-woocommerce-product-collection {
	color: var(--rivenova-text);
}

/* Product cards */
.wc-block-product,
.wp-block-woocommerce-product-template .wc-block-product {
	background: var(--rivenova-white);
	border: 1px solid var(--rivenova-border);
	border-radius: 12px;
	overflow: hidden;
	padding: 0 0 1rem;
	box-shadow: 0 8px 24px rgba(7, 20, 38, 0.05);
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.wc-block-product:hover,
.wc-block-product:focus-within {
	border-color: rgba(36, 119, 243, 0.35);
	box-shadow: 0 14px 32px rgba(7, 20, 38, 0.1);
	transform: translateY(-2px);
}

.wc-block-product .wc-block-components-product-image,
.wc-block-product .wc-block-components-product-image img {
	background: var(--rivenova-surface);
	aspect-ratio: 1 / 1;
	object-fit: contain;
}

.wc-block-product .wc-block-components-product-image img {
	padding: 1rem;
}

.wc-block-product .wc-block-components-product-title,
.wc-block-product .wp-block-post-title,
.wc-block-product .wc-block-components-product-title a,
.wc-block-product .wp-block-post-title a {
	color: var(--rivenova-text) !important;
	padding: 0.75rem 1rem 0.25rem;
	font-family: Inter, "Avenir Next", "Helvetica Neue", Arial, sans-serif;
	font-size: 1.05rem;
	font-weight: 700;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}

.wc-block-product .wc-block-components-product-title a:hover,
.wc-block-product .wc-block-components-product-title a:focus-visible,
.wc-block-product .wp-block-post-title a:hover,
.wc-block-product .wp-block-post-title a:focus-visible {
	color: var(--rivenova-blue) !important;
}

.wc-block-components-product-category,
.wc-block-product .wp-block-post-terms {
	color: var(--rivenova-blue-hover);
	border-left: 2px solid var(--rivenova-cyan);
	padding-left: 0.45rem;
	margin-left: 1rem;
	font-weight: 600;
	letter-spacing: 0.04em;
}

.wc-block-product .wc-block-components-product-price,
.wc-block-product .wp-block-woocommerce-product-price {
	padding: 0 1rem;
	color: var(--rivenova-text);
	font-weight: 600;
}

.wc-block-product .wp-block-button,
.wc-block-product .wc-block-components-product-button {
	padding: 0.75rem 1rem 0;
}

.wc-block-product .wp-block-button__link,
.wc-block-product .wc-block-components-product-button__button {
	width: 100%;
	justify-content: center;
	border-radius: 8px;
	min-height: 2.75rem;
}

/* Notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.wc-block-components-notice-banner {
	border-radius: 8px;
	border-width: 1px;
}

.woocommerce-message,
.wc-block-components-notice-banner.is-success {
	border-color: rgba(66, 229, 245, 0.55);
	background: var(--rivenova-surface);
	color: var(--rivenova-text);
}

.woocommerce-info {
	border-color: rgba(36, 119, 243, 0.35);
	background: rgba(52, 120, 246, 0.08);
}

.woocommerce-error,
.wc-block-components-notice-banner.is-error {
	border-color: var(--rivenova-navy);
	background: var(--rivenova-surface);
	color: var(--rivenova-text);
}

/* Forms */
.woocommerce form .input-text,
.woocommerce form select,
.woocommerce form textarea,
.wc-block-components-text-input input,
.wc-block-components-textarea textarea {
	border: 1px solid var(--rivenova-border);
	border-radius: 8px;
	min-height: 2.75rem;
	padding: 0.65rem 0.85rem;
	background: var(--rivenova-white);
}

.woocommerce form .input-text:focus,
.woocommerce form select:focus,
.woocommerce form textarea:focus,
.wc-block-components-text-input input:focus,
.wc-block-components-textarea textarea:focus {
	outline: 2px solid var(--rivenova-cyan);
	outline-offset: 1px;
	border-color: var(--rivenova-blue);
}

.woocommerce button.button,
.woocommerce a.button,
.woocommerce #respond input#submit,
.wc-block-components-button:not(.is-link) {
	border-radius: 8px;
	background: var(--rivenova-blue);
	color: var(--rivenova-white);
	font-weight: 600;
	min-height: 2.75rem;
}

.woocommerce button.button:hover,
.woocommerce a.button:hover,
.woocommerce #respond input#submit:hover,
.wc-block-components-button:not(.is-link):hover {
	background: var(--rivenova-blue-hover);
	color: var(--rivenova-white);
}

/* Prices */
.woocommerce .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--rivenova-text);
	font-weight: 600;
}

/* Breadcrumbs / pagination */
.woocommerce .woocommerce-breadcrumb,
.woocommerce nav.woocommerce-pagination {
	font-size: 0.875rem;
	color: var(--rivenova-text);
}

.woocommerce nav.woocommerce-pagination ul {
	border: 0;
	gap: 0.35rem;
}

.woocommerce nav.woocommerce-pagination ul li {
	border: 0;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	border: 1px solid var(--rivenova-border);
	border-radius: 8px;
	min-width: 44px;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

/* Empty states */
.woocommerce-info.cart-empty,
.wc-block-cart__empty-cart__title {
	font-family: Inter, "Avenir Next", "Helvetica Neue", Arial, sans-serif;
}

/* Mini cart / account in dark header */
.rineova-site-header .wc-block-mini-cart__button,
.rineova-site-header .wc-block-customer-account__account-icon {
	color: var(--rivenova-white);
}

.rineova-site-header .wc-block-mini-cart__badge {
	background: var(--rivenova-cyan);
	color: var(--rivenova-navy);
}

/* Hide WooCommerce header blocks gracefully if plugin inactive (invalid blocks) */
.rineova-woocommerce-inactive .wp-block-woocommerce-customer-account,
.rineova-woocommerce-inactive .wp-block-woocommerce-mini-cart {
	display: none;
}

@media (prefers-reduced-motion: reduce) {
	.wc-block-product:hover,
	.wc-block-product:focus-within {
		transform: none;
	}
}
