/**
 * WooCommerce global overrides.
 * Colours: var(--color-*) from style.css only - do not hardcode hex values.
 */

.site-main--woocommerce {
	padding-block: var(--space-lg);
}

.woocommerce-products-header__title {
	margin-bottom: var(--space-sm);
}

/* Competition archive grid + cards: assets/css/pages/competitions.css */

.woocommerce .button,
.woocommerce a.button,
.woocommerce button.button {
	background: var(--color-gold) !important;
	color: var(--color-bg-primary) !important;
	border-radius: var(--radius);
	font-weight: 600;
}

.woocommerce .button:hover,
.woocommerce a.button:hover {
	background: var(--color-gold-light) !important;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error {
	list-style: none;
	margin: 0 0 16px;
	padding: 14px 16px;
	background: var(--color-bg-secondary);
	border: 1px solid var(--color-border);
	border-left-width: 4px;
	border-radius: var(--radius-sm);
	color: var(--color-text-primary);
	font-size: 14px;
	line-height: 1.55;
}

.woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-message {
	border-left-color: var(--color-success);
}

.woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-info {
	border-left-color: var(--color-gold);
}

.woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-error {
	border-left-color: var(--color-urgent);
}

.woocommerce-error li,
.woocommerce-message li,
.woocommerce-info li {
	margin: 0;
	padding: 0;
	list-style: none;
}

.woocommerce-error li + li,
.woocommerce-message li + li,
.woocommerce-info li + li {
	margin-top: 8px;
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
	display: none;
}

.woocommerce table.shop_table {
	background: var(--color-bg-card);
	border-color: var(--color-border);
	color: var(--color-text-primary);
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
	border-color: var(--color-border);
}

/* WooCommerce Blocks - primary cart / checkout CTAs */
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
.wc-block-components-button.contained:not(.is-style-outline) {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 16px 24px !important;
	border: none !important;
	border-radius: var(--radius-md) !important;
	background: linear-gradient(135deg, var(--color-gold) 0%, var(--color-gold-light) 100%) !important;
	color: var(--color-bg-primary) !important;
	font-family: var(--font-body) !important;
	font-size: 17px !important;
	font-weight: 800 !important;
	letter-spacing: 0.02em;
	line-height: 1.2 !important;
	text-decoration: none !important;
	box-shadow: 0 4px 20px rgba(var(--color-gold-rgb), 0.35);
	transition: transform 0.15s, box-shadow 0.15s, filter 0.15s;
}

.wc-block-cart__submit-button:hover,
.wc-block-cart__submit-button:focus,
.wc-block-components-checkout-place-order-button:hover,
.wc-block-components-checkout-place-order-button:focus,
.wc-block-components-button.contained:not(.is-style-outline):hover,
.wc-block-components-button.contained:not(.is-style-outline):focus {
	transform: translateY(-1px);
	filter: brightness(1.05);
	box-shadow: 0 8px 28px rgba(var(--color-gold-rgb), 0.45) !important;
	background: linear-gradient(135deg, var(--color-gold) 0%, var(--color-gold-light) 100%) !important;
	color: var(--color-bg-primary) !important;
}

.wc-block-cart__submit-button:active,
.wc-block-components-checkout-place-order-button:active,
.wc-block-components-button.contained:not(.is-style-outline):active {
	transform: scale(0.98);
}

.wc-block-components-button__text,
.wc-block-components-checkout-place-order-button__text {
	color: inherit !important;
	font-weight: inherit !important;
}

.wc-block-components-checkout-place-order-button--full-width {
	width: 100%;
}

/* Header/footer logo: beat WooCommerce `.woocommerce img { height: auto; max-width: 100%; }` */
.woocommerce .header .nav__logo-img,
.woocommerce-page .header .nav__logo-img,
.header .nav__logo-img {
	display: block;
	height: 40px;
	width: auto;
	max-width: min(200px, 46vw);
}

.woocommerce .footer__brand-logo .nav__logo-img,
.woocommerce-page .footer__brand-logo .nav__logo-img,
.footer__brand-logo .nav__logo-img {
	height: 44px;
	max-width: min(220px, 70vw);
}
