/* Global rules theme.json cannot express. Tokens: theme.json (--wp--preset--*, --wp--custom--*). */

html { -webkit-text-size-adjust: 100%; }
img { max-width: 100%; height: auto; }

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 2px solid var(--wp--preset--color--brand);
	outline-offset: 2px;
}

/* Prices, specs and codes line up: tabular figures everywhere numbers are compared. */
.price, .wc-block-components-product-price, .wc-block-formatted-money-amount,
.wc-block-components-totals-item__value, .woocommerce-Price-amount, table {
	font-variant-numeric: tabular-nums;
	font-feature-settings: "tnum";
}

/* Model codes and register addresses. */
.has-mono-font-family, code, kbd, samp { font-family: var(--wp--preset--font-family--mono); }

/* Secondary button: slate outline. Teal fill stays the one main action per screen. */
.wp-block-button.is-style-outline > .wp-block-button__link,
.wp-block-button .wp-block-button__link.is-style-outline {
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--text);
	border-color: var(--wp--preset--color--border-strong);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: #F2F4F6;
	color: var(--wp--preset--color--text);
}

/* Form controls: the control border is the strong one (3:1 against the page). */
input[type="text"], input[type="email"], input[type="tel"], input[type="search"], input[type="number"],
input[type="password"], select, textarea {
	border: 1px solid var(--wp--preset--color--border-strong);
	border-radius: var(--wp--custom--radius--control);
	min-height: var(--wp--custom--control-height);
	font: inherit;
}

/* Header, main and footer sit flush; each template's main sets its own vertical padding. */
.wp-site-blocks > * { margin-block-start: 0; }

/* WooCommerce mini-cart: count badge and drawer buttons on the brand colors. */
.wc-block-mini-cart__badge {
	background: var(--wp--preset--color--action) !important;
	color: #fff !important;
	border-color: var(--wp--preset--color--surface) !important;
	font-weight: 700;
	min-width: 18px;
	height: 18px;
}
.wc-block-mini-cart__footer-checkout,
.wc-block-mini-cart__footer-checkout:hover,
.wc-block-components-button:not(.is-link).contained {
	background: var(--wp--preset--color--action);
	color: #fff !important;
	border-radius: var(--wp--custom--radius--control);
}
.wc-block-mini-cart__footer-checkout:hover { background: var(--wp--preset--color--action-hover); }
.wc-block-mini-cart__footer-cart {
	border-color: var(--wp--preset--color--border-strong) !important;
	border-radius: var(--wp--custom--radius--control);
	color: var(--wp--preset--color--text) !important;
}
/* Cart lines: the lead time stays, the marketing excerpt goes. */
.wc-block-mini-cart__drawer .wc-block-components-product-metadata__description { display: none; }

/* Shared layout pieces: page container, eyebrow label, buttons (header, home, product pages). */
.an-header, .an-home, .an-footer { --an-wrap: 1280px; }
.an-wrap { max-width: var(--an-wrap, 1280px); margin: 0 auto; padding: 0 16px; }
@media (min-width: 901px) { .an-wrap { padding: 0 28px; } }
.an-eyebrow { font-size: 13px; font-weight: 590; letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--brand); margin: 0; }
.an-header .an-eyebrow, .an-eyebrow--lime { color: var(--wp--preset--color--lime); }
.an-eyebrow--accent { color: var(--wp--preset--color--accent); }
.an-icon { width: 20px; height: 20px; flex: none; }

.an-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 0 18px; border-radius: var(--wp--custom--radius--control); border: 1px solid transparent; font-weight: 590; font-size: 15px; text-decoration: none !important; cursor: pointer; }
.an-btn .an-icon { width: 18px; height: 18px; }
.an-btn--inverse { background: #fff; color: var(--wp--preset--color--action); }
.an-btn--inverse:hover { background: var(--wp--preset--color--tint); }
.an-btn--secondary { background: #fff; color: var(--wp--preset--color--text); border-color: var(--wp--preset--color--border-strong); }
.an-btn--secondary:hover { background: #F2F4F6; }
.an-btn--wa { color: #1F6B45; }


.an-btn--lg { min-height: 52px; padding: 0 22px; font-size: 16.5px; }
.an-btn--primary { background: var(--wp--preset--color--action); color: #fff; }
.an-btn--primary:hover { background: var(--wp--preset--color--action-hover); }
.an-btn--ghost-light { background: transparent; color: #fff; border-color: rgba(255,255,255,.55); }
.an-btn--ghost-light:hover { background: rgba(255,255,255,.08); }

/* Status badges: colour is state only (in stock / low / out), never decoration. */
.an-badge { display: inline-flex; align-items: center; gap: 6px; height: 24px; padding: 0 10px; border-radius: 9999px; font-size: 13px; font-weight: 590; white-space: nowrap; }
.an-badge::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.an-badge--ok { color: var(--wp--preset--color--ok); background: var(--wp--preset--color--ok-bg); }
.an-badge--warn { color: var(--wp--preset--color--warn); background: var(--wp--preset--color--warn-bg); }
.an-badge--err { color: var(--wp--preset--color--err); background: var(--wp--preset--color--err-bg); }
.an-badge--neutral { color: var(--wp--preset--color--muted); background: #EEF1F3; }
.an-badge--neutral::before { display: none; }
.an-chip-param { display: inline-flex; align-items: center; height: 24px; padding: 0 8px; border-radius: var(--wp--custom--radius--tile); font-size: 12.5px; font-weight: 510; color: var(--wp--preset--color--muted); background: var(--wp--preset--color--bg); box-shadow: var(--wp--preset--shadow--ring); }

/* Logo (header, checkout header, drawer) */
.an-logo { display: flex; align-items: center; gap: 10px; color: var(--wp--preset--color--text) !important; text-decoration: none !important; flex: none; }
/* Full wordmark, 3:1: size by height so it never gets squashed. */
.an-logo img { width: auto; height: 40px; }
@media (min-width: 901px) {
	.an-logo img { width: auto; height: 54px; }
}
