/**
 * WoodMart / WooCommerce mapping onto semantic design tokens.
 */

:root {
	--wd-primary-color: var(--color-bg-brand);
	--wd-alternative-color: var(--color-bg-brand-strong);
	--wd-link-color: var(--color-action-secondary);
	--wd-link-color-hover: var(--color-bg-brand-strong);
	--wd-text-color: var(--color-text-primary);
	--wd-title-color: var(--color-text-primary);
	--wd-entities-title-color: var(--color-text-primary);
	--wd-entities-title-color-hover: var(--color-bg-brand);
	--wd-form-brd-color: var(--color-border-default);
	--wd-form-brd-color-focus: var(--color-focus-ring);
	--wd-form-color: var(--color-text-primary);
	--wd-form-placeholder-color: var(--color-text-secondary);
	--wd-brd-radius: var(--radius-md);
}

body,
.wd-page-wrapper {
	background-color: var(--color-bg-page);
	color: var(--color-text-primary);
	font-family: var(--font-sans);
	font-size: var(--type-body-size);
	line-height: var(--type-body-line);
}

.wd-content-layout,
.site-content,
.wd-content-area,
.whb-header,
.whb-row,
.wd-footer,
footer.footer-container {
	color: var(--color-text-primary);
}

a:not(.btn):not(.button):not(.added_to_cart):not(.product_type_simple):not(.checkout-button):not(.single_add_to_cart_button) {
	color: var(--color-action-secondary);
}

a:not(.btn):not(.button):hover {
	color: var(--color-bg-brand-strong);
}

h1,
.entry-title,
.page-title,
.wd-entities-title {
	color: var(--color-text-primary);
	font-weight: var(--type-h1-weight);
	line-height: var(--type-h1-line);
}

h2 {
	font-size: var(--type-h2-size);
	font-weight: var(--type-h2-weight);
	line-height: var(--type-h2-line);
}

h3 {
	font-size: var(--type-h3-size);
	font-weight: var(--type-h3-weight);
	line-height: var(--type-h3-line);
}

small,
.meta,
.woocommerce-result-count,
.woocommerce-breadcrumb,
.wd-breadcrumbs,
.cmplz-body,
.description,
.product_meta {
	color: var(--color-text-secondary);
	font-size: var(--type-body-sm-size);
	line-height: var(--type-body-sm-line);
}

.wf-btn-primary,
.btn-color-primary,
button.btn.btn-color-primary,
.wd-add-btn,
.single_add_to_cart_button,
.checkout-button,
#place_order,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
	background-color: var(--color-action-primary) !important;
	border-color: var(--color-action-primary) !important;
	color: var(--color-text-on-brand) !important;
	font-size: var(--type-button-size);
	font-weight: var(--type-button-weight);
	line-height: var(--type-button-line);
	min-height: 44px;
	border-radius: var(--radius-md) !important;
}

.wf-btn-primary:hover,
.btn-color-primary:hover,
.wd-add-btn:hover,
.single_add_to_cart_button:hover,
.checkout-button:hover,
#place_order:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover {
	background-color: var(--color-action-primary-hover) !important;
	border-color: var(--color-action-primary-hover) !important;
	color: var(--color-text-on-brand) !important;
}

.btn.btn-color-default,
.btn.btn-color-alt,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.button.wc-backward {
	background-color: var(--color-bg-surface);
	border: 1px solid var(--color-action-secondary);
	color: var(--color-action-secondary) !important;
	border-radius: var(--radius-md);
	min-height: 44px;
}

.btn.btn-color-default:hover,
.btn.btn-color-alt:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
	background-color: var(--color-bg-brand-soft);
	border-color: var(--color-bg-brand-strong);
	color: var(--color-bg-brand-strong) !important;
}

.whb-color-light .whb-row,
.whb-general-header,
.whb-sticky-row,
.whb-header-bottom {
	background-color: var(--color-bg-brand);
	color: var(--color-text-on-brand);
}

.whb-color-light .wd-nav > li > a,
.whb-color-light .wd-header-nav a,
.whb-color-light .wd-tools-element > a,
.whb-color-light .site-logo .wd-logo-alt {
	color: var(--color-text-on-brand);
}

.whb-color-light .wd-nav > li > a:hover,
.whb-color-light .wd-header-nav a:hover {
	color: var(--color-bg-brand-soft);
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="search"],
input[type="password"],
select,
textarea,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
	background-color: var(--color-bg-surface);
	border: 1px solid var(--color-border-default);
	border-radius: var(--radius-md);
	color: var(--color-text-primary);
	min-height: 44px;
}

input:focus-visible,
select:focus-visible,
textarea:focus-visible,
.woocommerce form .form-row input.input-text:focus-visible,
.woocommerce form .form-row textarea:focus-visible,
.woocommerce form .form-row select:focus-visible {
	border-color: var(--color-focus-ring);
	outline: var(--focus-outline);
	outline-offset: 2px;
}

:focus {
	outline: none;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
	outline: var(--focus-outline);
	outline-offset: 2px;
}

.woocommerce-message,
.woocommerce-info {
	background-color: var(--color-alert-success-bg);
	border-color: var(--color-alert-success-border);
	color: var(--color-success);
}

.woocommerce-error,
.woocommerce-NoticeGroup-checkout .woocommerce-error {
	background-color: var(--color-alert-error-bg);
	border-color: var(--color-alert-error-border);
	color: var(--color-error);
}

.woocommerce-Price-amount,
.amount,
.price,
.order-total .amount {
	font-variant-numeric: tabular-nums;
}

.woocommerce-Price-amount bdi,
.price .amount bdi {
	font-family: var(--font-mono);
}

.product-grid-item,
.wd-product,
.woocommerce ul.products li.product {
	background: var(--color-bg-surface);
	border: 1px solid var(--color-border-default);
	border-radius: var(--radius-md);
}

.product-grid-item:hover,
.wd-product:hover {
	border-color: var(--color-card-hover-border);
	box-shadow: var(--shadow-1);
}

.wd-notice.wd-success,
.wd-notice-success {
	background-color: var(--color-alert-success-bg);
	color: var(--color-success);
}

.wd-notice.wd-warning,
.wd-notice-warning {
	background-color: #fff8e6;
	color: var(--color-warning);
}

.wf-mono,
.wf-plz,
.wf-order-id {
	font-family: var(--font-mono);
}

/* TASK-013 — Wireframe nav shell */
.whb-header .wd-nav.wd-nav-main {
	flex-wrap: wrap;
	gap: var(--space-2, 0.5rem);
}

.whb-header .wd-nav.wd-nav-main > li > a {
	font-weight: 600;
	padding: 0.5rem 0.75rem;
	white-space: nowrap;
}

.whb-header .wd-nav.wd-nav-main > li.menu-item-type-post_type:last-child > a,
.whb-header .wd-nav.wd-nav-main > li.menu-item-type-post_type:nth-last-child(2) > a {
	border: 1px solid rgba(255, 255, 255, 0.35);
	border-radius: var(--radius-md);
}

.whb-header .wd-tools-element.wd-header-my-account > a,
.whb-header .wd-header-cart > a,
.whb-header .wd-header-mobile-nav > a {
	min-width: 44px;
	min-height: 44px;
}

.whb-header .wd-header-mobile-nav .wd-tools-text {
	clip: rect(0, 0, 0, 0);
	border: 0;
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

/* TASK-014 — Wireframe footer shell */
.wf-footer-shell {
	padding-block: var(--space-6, 2rem);
}

.wf-footer-columns {
	gap: var(--space-6, 2rem);
}

.wf-footer-heading {
	color: var(--color-text-on-brand, #fff);
	font-size: var(--type-h3-size);
	font-weight: var(--type-h3-weight);
	margin-bottom: var(--space-3, 0.75rem);
}

.wf-footer-links,
.wf-footer-links li {
	list-style: none;
	margin: 0;
	padding: 0;
}

.wf-footer-links li + li {
	margin-top: var(--space-2, 0.5rem);
}

.wf-footer-links a {
	color: rgba(255, 255, 255, 0.92);
	text-decoration: none;
}

.wf-footer-links a:hover {
	color: #fff;
	text-decoration: underline;
}

.wf-footer-nap {
	color: rgba(255, 255, 255, 0.85);
	font-size: var(--type-body-sm-size);
	margin-top: var(--space-5, 1.25rem);
}

.wf-footer-nap a {
	color: rgba(255, 255, 255, 0.92);
}

.wd-footer .copyrights-wrapper,
.wd-footer .copyrights-wrapper a {
	color: rgba(255, 255, 255, 0.85);
	font-size: var(--type-body-sm-size);
}
