/* ========================================
   BUNZIEZ STUDIOS - WooCommerce overrides
   Styles the shop, product pages, cart,
   checkout, and My Account to match the
   industrial brand aesthetic.
   ======================================== */

/* ---- Shop grid ---- */
.woocommerce ul.products li.product {
	background: var(--wp--preset--color--off-white);
	border: 1px solid var(--wp--preset--color--concrete);
	border-radius: 2px;
	padding: var(--wp--custom--spacing--lg);
	transition: border-color 0.2s ease;
	position: relative;
}

.woocommerce ul.products li.product:hover {
	border-color: var(--wp--preset--color--black);
}

/* Corner marks on product cards */
.woocommerce ul.products li.product::before,
.woocommerce ul.products li.product::after {
	content: "";
	position: absolute;
	width: 12px;
	height: 12px;
	border-color: var(--wp--preset--color--concrete);
	border-style: solid;
	pointer-events: none;
}

.woocommerce ul.products li.product::before {
	top: 8px;
	left: 8px;
	border-width: 1px 0 0 1px;
}

.woocommerce ul.products li.product::after {
	bottom: 8px;
	right: 8px;
	border-width: 0 1px 1px 0;
}

/* Product title */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	font-size: 1rem;
	text-transform: uppercase;
	letter-spacing: -0.01em;
	padding-top: var(--wp--custom--spacing--md);
}

/* Price */
.woocommerce ul.products li.product .price {
	font-family: var(--wp--preset--font-family--mono);
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--text-secondary);
}

/* Version number metadata (custom field output) */
.woocommerce ul.products li.product .product-version {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.75rem;
	color: var(--wp--preset--color--text-secondary);
	margin-top: var(--wp--custom--spacing--sm);
}

/* Add to cart button */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: var(--wp--custom--letter-spacing--wide);
	background: transparent;
	color: var(--wp--preset--color--black);
	border: 2px solid var(--wp--preset--color--black);
	border-radius: 2px;
	padding: 8px 18px;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	transition: all 0.2s ease;
}

.woocommerce ul.products li.product .button:hover {
	background: var(--wp--preset--color--black);
	color: var(--wp--preset--color--off-white);
}

/* ---- Single product ---- */
.woocommerce div.product .product_title {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: var(--wp--custom--letter-spacing--tight);
	font-size: var(--wp--preset--font-size--x-large);
}

.woocommerce div.product .price {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	font-size: 2rem;
	color: var(--wp--preset--color--black);
	letter-spacing: -0.02em;
}

.woocommerce div.product .price del {
	color: var(--wp--preset--color--text-secondary);
}

.woocommerce div.product .woocommerce-product-details__short-description {
	font-weight: 300;
	line-height: 1.6;
}

/* Single product add to cart */
.woocommerce div.product form.cart .button {
	background: var(--wp--preset--color--orange);
	color: var(--wp--preset--color--black);
	border: 2px solid var(--wp--preset--color--orange);
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	font-size: var(--wp--preset--font-size--small);
	text-transform: uppercase;
	letter-spacing: var(--wp--custom--letter-spacing--wide);
	padding: 14px 32px;
	border-radius: 2px;
	min-height: 44px;
	transition: all 0.2s ease;
}

.woocommerce div.product form.cart .button:hover {
	background: transparent;
	color: var(--wp--preset--color--orange);
}

/* Quantity input */
.woocommerce div.product form.cart .quantity input[type="number"] {
	font-family: var(--wp--preset--font-family--mono);
	border: 1px solid var(--wp--preset--color--concrete);
	border-radius: 2px;
	min-height: 44px;
	min-width: 44px;
	padding: 8px;
}

/* Tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: var(--wp--custom--letter-spacing--wide);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: var(--wp--preset--color--orange-text);
}

/* ---- Cart ---- */
.woocommerce-cart .woocommerce table.cart {
	border-collapse: collapse;
}

.woocommerce-cart .woocommerce table.cart th {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: var(--wp--custom--letter-spacing--wide);
	padding: var(--wp--custom--spacing--md);
	border-bottom: 2px solid var(--wp--preset--color--black);
}

.woocommerce-cart .woocommerce table.cart td {
	padding: var(--wp--custom--spacing--md);
	border-bottom: 1px solid var(--wp--preset--color--warm-gray);
	vertical-align: middle;
}

.woocommerce-cart .woocommerce table.cart .product-name a {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: -0.01em;
	text-decoration: none;
	color: var(--wp--preset--color--black);
}

.woocommerce-cart .woocommerce table.cart .product-name a:hover {
	color: var(--wp--preset--color--orange);
}

/* Cart totals */
.woocommerce-cart .cart_totals h2 {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: var(--wp--custom--letter-spacing--tight);
}

/* ---- Checkout ---- */
.woocommerce-checkout .woocommerce-checkout h3 {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: var(--wp--custom--letter-spacing--tight);
	font-size: var(--wp--preset--font-size--large);
}

.woocommerce-checkout .woocommerce form .form-row label {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: var(--wp--custom--letter-spacing--wide);
}

.woocommerce-checkout .woocommerce form .form-row input.input-text,
.woocommerce-checkout .woocommerce form .form-row textarea,
.woocommerce-checkout .woocommerce form .form-row select {
	border: 1px solid var(--wp--preset--color--concrete);
	border-radius: 2px;
	padding: 12px;
	min-height: 44px;
	font-family: var(--wp--preset--font-family--body);
	transition: border-color 0.2s ease;
}

.woocommerce-checkout .woocommerce form .form-row input.input-text:focus,
.woocommerce-checkout .woocommerce form .form-row textarea:focus,
.woocommerce-checkout .woocommerce form .form-row select:focus {
	border-color: var(--wp--preset--color--orange);
	outline: none;
	box-shadow: 0 0 0 2px rgba(255, 107, 0, 0.15);
}

/* Place order button */
.woocommerce-checkout #place_order {
	background: var(--wp--preset--color--orange);
	color: var(--wp--preset--color--black);
	border: 2px solid var(--wp--preset--color--orange);
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: var(--wp--custom--letter-spacing--wide);
	padding: 14px 32px;
	border-radius: 2px;
	min-height: 44px;
	font-size: var(--wp--preset--font-size--small);
	transition: all 0.2s ease;
}

.woocommerce-checkout #place_order:hover {
	background: transparent;
	color: var(--wp--preset--color--orange);
}

/* Order review table */
.woocommerce-checkout .woocommerce-checkout-review-order-table th {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: var(--wp--custom--letter-spacing--wide);
}

/* ---- Order received / Thank you ---- */
.woocommerce-order-received .woocommerce-thankyou-order-received {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: var(--wp--custom--letter-spacing--tight);
	font-size: var(--wp--preset--font-size--x-large);
}

/* ---- My Account ---- */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
	display: block;
	padding: 10px 0;
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	font-size: 0.8125rem;
	text-transform: uppercase;
	letter-spacing: var(--wp--custom--letter-spacing--wide);
	text-decoration: none;
	color: var(--wp--preset--color--text-secondary);
	border-bottom: 1px solid var(--wp--preset--color--warm-gray);
	transition: color 0.2s ease;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
	color: var(--wp--preset--color--orange);
}

/* ---- License keys table (License Server output) ---- */
.woocommerce-table.bls-license-table,
.woocommerce-order-details .woocommerce-table {
	width: 100%;
	border-collapse: collapse;
}

.woocommerce-table.bls-license-table th,
.woocommerce-order-details .woocommerce-table th {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: var(--wp--custom--letter-spacing--wide);
	text-align: left;
	padding: var(--wp--custom--spacing--sm) var(--wp--custom--spacing--md);
	border-bottom: 2px solid var(--wp--preset--color--black);
}

.woocommerce-table.bls-license-table td,
.woocommerce-order-details .woocommerce-table td {
	padding: var(--wp--custom--spacing--sm) var(--wp--custom--spacing--md);
	border-bottom: 1px solid var(--wp--preset--color--warm-gray);
	font-size: 0.9375rem;
}

/* License key monospace styling */
.woocommerce-table.bls-license-table td[style*="monospace"],
.bls-license-key {
	font-family: var(--wp--preset--font-family--mono) !important;
	font-size: var(--wp--preset--font-size--small);
	letter-spacing: 0.02em;
	user-select: all;
}

/* ---- License dashboard (My Account tab) ---- */
.bls-license-dashboard h2 {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: var(--wp--custom--letter-spacing--tight);
	font-size: var(--wp--preset--font-size--x-large);
	margin-bottom: var(--wp--custom--spacing--lg);
}

.bls-license-card {
	background: var(--wp--preset--color--off-white);
	border: 1px solid var(--wp--preset--color--concrete);
	border-radius: 2px;
	padding: var(--wp--custom--spacing--lg);
	margin-bottom: var(--wp--custom--spacing--md);
	position: relative;
}

/* Corner marks */
.bls-license-card::before,
.bls-license-card::after {
	content: "";
	position: absolute;
	width: 12px;
	height: 12px;
	border-color: var(--wp--preset--color--concrete);
	border-style: solid;
	pointer-events: none;
}

.bls-license-card::before {
	top: 8px;
	left: 8px;
	border-width: 1px 0 0 1px;
}

.bls-license-card::after {
	bottom: 8px;
	right: 8px;
	border-width: 0 1px 1px 0;
}

.bls-license-card__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: var(--wp--custom--spacing--md);
	flex-wrap: wrap;
	gap: var(--wp--custom--spacing--sm);
}

.bls-license-card__product {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	font-size: 1rem;
	text-transform: uppercase;
	letter-spacing: -0.01em;
}

.bls-license-card__status {
	display: inline-block;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.6875rem;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 3px 10px;
	border: 1px solid;
}

.bls-license-card__status--active {
	color: var(--wp--preset--color--success);
	border-color: var(--wp--preset--color--success);
}

.bls-license-card__status--expired {
	color: var(--wp--preset--color--error);
	border-color: var(--wp--preset--color--error);
}

.bls-license-card__key {
	font-family: var(--wp--preset--font-family--mono);
	font-size: var(--wp--preset--font-size--small);
	background: var(--wp--preset--color--warm-gray);
	padding: 8px 12px;
	border-radius: 2px;
	display: inline-flex;
	align-items: center;
	gap: var(--wp--custom--spacing--sm);
	margin-bottom: var(--wp--custom--spacing--md);
	user-select: all;
}

.bls-license-card__copy {
	background: none;
	border: 1px solid var(--wp--preset--color--concrete);
	border-radius: 2px;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.6875rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	padding: 4px 8px;
	cursor: pointer;
	min-height: 30px;
	transition: all 0.2s ease;
}

.bls-license-card__copy:hover {
	border-color: var(--wp--preset--color--black);
}

.bls-license-card__copy.copied {
	border-color: var(--wp--preset--color--success);
	color: var(--wp--preset--color--success);
}

.bls-license-card__meta {
	display: flex;
	gap: var(--wp--custom--spacing--lg);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.75rem;
	color: var(--wp--preset--color--text-secondary);
	margin-bottom: var(--wp--custom--spacing--md);
	flex-wrap: wrap;
}

.bls-license-card__meta dt {
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin-bottom: 2px;
}

.bls-license-card__meta dd {
	margin: 0;
}

/* Activation rows */
.bls-activations {
	margin-top: var(--wp--custom--spacing--md);
	border-top: 1px solid rgba(176, 176, 176, 0.3);
	padding-top: var(--wp--custom--spacing--md);
}

.bls-activations__label {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.6875rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--wp--preset--color--text-secondary);
	margin-bottom: var(--wp--custom--spacing--sm);
}

.bls-activation-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 8px 0;
	border-bottom: 1px solid rgba(176, 176, 176, 0.15);
	transition: opacity 0.3s ease;
}

.bls-activation-row__url {
	font-family: var(--wp--preset--font-family--mono);
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--black);
	word-break: break-all;
}

.bls-deactivate-btn {
	background: none;
	border: 1px solid var(--wp--preset--color--error);
	color: var(--wp--preset--color--error);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.6875rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	padding: 4px 10px;
	cursor: pointer;
	border-radius: 2px;
	min-height: 30px;
	min-width: 44px;
	transition: all 0.2s ease;
}

.bls-deactivate-btn:hover {
	background: var(--wp--preset--color--error);
	color: var(--wp--preset--color--off-white);
}

.bls-deactivate-btn:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

/* No licenses message */
.bls-no-licenses {
	font-family: var(--wp--preset--font-family--mono);
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--text-secondary);
	padding: var(--wp--custom--spacing--xl) 0;
	text-align: center;
}

/* ---- Cross-sell / upsell product links ---- */
.woocommerce .cross-sells ul.products li.product a,
.woocommerce .related ul.products li.product a,
.woocommerce .up-sells ul.products li.product a,
.wc-block-cart .wc-block-cart-items__header a,
.wc-block-components-product-name {
	color: var(--wp--preset--color--black);
	text-decoration: none;
}

.woocommerce .cross-sells ul.products li.product a:hover,
.woocommerce .related ul.products li.product a:hover,
.woocommerce .up-sells ul.products li.product a:hover,
.wc-block-components-product-name:hover {
	color: var(--wp--preset--color--orange);
}

/* ---- WooCommerce form styling (login, register, lost password) ---- */
.woocommerce form.woocommerce-form-login .form-row label,
.woocommerce form.woocommerce-form-register .form-row label,
.woocommerce form.woocommerce-ResetPassword .form-row label {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: var(--wp--custom--letter-spacing--wide);
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea {
	border: 1px solid var(--wp--preset--color--concrete);
	border-radius: 2px;
	padding: 12px;
	min-height: 44px;
	font-family: var(--wp--preset--font-family--body);
	transition: border-color 0.2s ease;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
	border-color: var(--wp--preset--color--orange);
	outline: none;
	box-shadow: 0 0 0 2px rgba(255, 107, 0, 0.15);
}

/* WooCommerce buttons (all contexts) */
.woocommerce .button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: var(--wp--custom--letter-spacing--wide);
	border-radius: 2px;
	min-height: 44px;
	padding: 10px 24px;
	transition: all 0.2s ease;
}

.woocommerce .button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce a.button.alt {
	background: var(--wp--preset--color--orange);
	color: var(--wp--preset--color--black);
	border: 2px solid var(--wp--preset--color--orange);
}

.woocommerce .button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce a.button.alt:hover {
	background: transparent;
	color: var(--wp--preset--color--orange);
}

/* ---- WooCommerce notices ---- */
.woocommerce-message,
.woocommerce-info {
	border-top-color: var(--wp--preset--color--orange);
}

.woocommerce-message::before {
	color: var(--wp--preset--color--orange);
}

.woocommerce-error {
	border-top-color: var(--wp--preset--color--error);
}

/* ---- WooCommerce headings (login, account sections) ---- */
.woocommerce h2,
.woocommerce-account h2 {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: var(--wp--custom--letter-spacing--tight);
}

/* Coming Soon state for premium products */
.btn--coming-soon {
	opacity: 0.6;
	cursor: default;
	pointer-events: none;
	border-style: dashed;
}

.coming-soon-notice {
	text-align: left;
}

.coming-soon-notice__text {
	font-size: 0.8125rem;
	margin-top: var(--wp--custom--spacing--sm);
}

.product-long-desc {
	margin-top: var(--wp--custom--spacing--lg);
}

.badge--coming-soon {
	background: var(--wp--preset--color--warm-gray);
	color: var(--wp--preset--color--text-secondary);
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	font-size: 0.6875rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	padding: 4px 12px;
	border-radius: 2px;
	display: inline-block;
}

/* Mobile touch targets for pagination */
@media (max-width: 768px) {
	.woocommerce-pagination .page-numbers li a,
	.woocommerce-pagination .page-numbers li span {
		min-width: 44px;
		min-height: 44px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}
}

/* ---- Pagination colors ---- */
.woocommerce nav.woocommerce-pagination ul li span.current {
	background: var(--wp--preset--color--black);
	color: var(--wp--preset--color--off-white);
	border-color: var(--wp--preset--color--black);
}

.woocommerce nav.woocommerce-pagination ul li a {
	color: var(--wp--preset--color--black);
	border-color: var(--wp--preset--color--concrete);
}

.woocommerce nav.woocommerce-pagination ul li a:hover {
	background: var(--wp--preset--color--black);
	color: var(--wp--preset--color--off-white);
	border-color: var(--wp--preset--color--black);
}

/* ---- Link colors ---- */
.woocommerce a,
.woocommerce-page a:not(.button):not(.wp-block-button__link) {
	color: var(--wp--preset--color--orange-text);
}

.woocommerce a:hover,
.woocommerce-page a:not(.button):not(.wp-block-button__link):hover {
	color: var(--wp--preset--color--black);
}

/* ---- WC page backgrounds ---- */
.single-product .site,
.woocommerce-page .site {
	background-color: var(--wp--preset--color--off-white);
}

/* ---- My Account login form ---- */
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register {
	border-color: var(--wp--preset--color--warm-gray);
}

.woocommerce form .form-row input.button,
.woocommerce-page form .form-row input.button,
.woocommerce button.button[name="login"],
.woocommerce button.button[name="register"] {
	background: var(--wp--preset--color--orange);
	color: var(--wp--preset--color--black);
	border: 2px solid var(--wp--preset--color--orange);
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	font-size: 0.8125rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	padding: 14px 32px;
	border-radius: 2px;
	cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease;
}

.woocommerce form .form-row input.button:hover,
.woocommerce-page form .form-row input.button:hover,
.woocommerce button.button[name="login"]:hover,
.woocommerce button.button[name="register"]:hover {
	background: transparent;
	color: var(--wp--preset--color--orange);
}

/* ---- Footer legal links (override WP blue) ---- */
.bunziez-footer .footer__bottom a {
	color: var(--wp--preset--color--orange-text);
}

.bunziez-footer .footer__bottom a:hover {
	color: var(--wp--preset--color--off-white);
}
