/* WordPress-only icon sizing fix. Keep the layout photo and arrow asset separate. */
.tusks-v2 .category-card.is-project > .ts-ui-icon {
	top: auto;
	left: auto;
	right: 15px;
	bottom: 18px;
	width: 20px;
	height: 20px;
	object-fit: contain;
	object-position: center;
}

.tusks-v2 .ts-button.ts-button-ghost {
	border-color: rgba(245, 246, 242, 0.66);
	background: rgba(8, 11, 13, 0.2);
	color: var(--warm-white);
}

.tusks-v2 .ts-button.ts-button-ghost:hover:not(:disabled) {
	border-color: var(--signal);
	color: var(--signal);
}

/* Performance polish: keep current cards stable while live catalog data changes. */
.tusks-v2 [data-tusks-product-grid] {
	position: relative;
}

.tusks-v2 [data-tusks-product-grid][aria-busy="true"] {
	opacity: 1;
	pointer-events: none;
}

.tusks-v2 [data-tusks-product-grid][aria-busy="true"]::before {
	content: "";
	position: absolute;
	z-index: 8;
	top: -3px;
	left: 0;
	width: 34%;
	height: 3px;
	background: linear-gradient(90deg, transparent, var(--signal), transparent);
	animation: tusks-catalog-progress 900ms ease-in-out infinite;
}

.tusks-v2 [data-tusks-product-grid][aria-busy="true"] .product-card {
	opacity: 0.82;
}

.tusks-v2 [data-tusks-search-results][aria-busy="true"] {
	opacity: 0.58;
	transition: opacity 160ms ease;
}

.tusks-v2 .product-card {
	contain: layout paint;
}

/* The opening sequence remains energetic but reaches a usable state sooner. */
.tusks-v2 .motion-hero .hero-media img {
	animation-duration: 850ms;
}

.tusks-v2 .motion-hero .hero-content > .eyebrow,
.tusks-v2 .motion-hero .hero-content > h1,
.tusks-v2 .motion-hero .hero-content > .hero-copy,
.tusks-v2 .motion-hero .hero-content > .hero-actions,
.tusks-v2 .motion-hero .hero-content > .hero-proof {
	animation-duration: 480ms;
}

.tusks-v2 .motion-hero .hero-content > .eyebrow { animation-delay: 40ms; }
.tusks-v2 .motion-hero .hero-content > h1 { animation-delay: 90ms; }
.tusks-v2 .motion-hero .hero-content > .hero-copy { animation-delay: 150ms; }
.tusks-v2 .motion-hero .hero-content > .hero-actions { animation-delay: 220ms; }
.tusks-v2 .motion-hero .hero-content > .hero-proof { animation-delay: 290ms; }
.tusks-v2 .motion-hero .hero-index i { animation-duration: 420ms; animation-delay: 320ms; }

@keyframes tusks-catalog-progress {
	0% { transform: translateX(-105%); }
	100% { transform: translateX(300%); }
}

@media (max-width: 767px) {
	.tusks-v2 .ts-header-cta.header-rfq,
	.tusks-v2 .utility-inner > .utility-note {
		display: none;
	}
}

@media (max-width: 1023px), (pointer: coarse) {
	.tusks-v2 .site-header {
		background: rgba(12, 18, 21, 0.98);
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.tusks-v2 [data-tusks-product-grid][aria-busy="true"]::before {
		animation: none;
		width: 100%;
	}
}

/* Final accessibility and short-viewport hardening. */
.tusks-v2 .ts-search-field:focus-within {
	border-color: var(--signal-dark);
	box-shadow: 0 0 0 3px rgba(70, 111, 5, 0.36);
}

.tusks-v2 .ts-search-result-copy em {
	color: #59656b;
}

@media (max-width: 1023px) {
	.tusks-v2 .mobile-menu {
		overflow-y: auto;
		overscroll-behavior: contain;
		-webkit-overflow-scrolling: touch;
		padding-bottom: calc(28px + env(safe-area-inset-bottom, 0px));
	}

	.tusks-v2 .mobile-action-bar {
		z-index: 50;
	}
}

/* Five-category information architecture and stronger Free Design hand-off. */
.tusks-v2 .category-section {
	padding-bottom: 32px;
}

.tusks-v2 .category-track {
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 12px;
}

.tusks-v2 .category-card {
	height: 276px;
}

.tusks-v2 .category-card .category-copy strong {
	font-size: 20px;
}

.tusks-v2 .project-section {
	padding-top: 62px;
}

.tusks-v2 .free-design-kicker {
	display: inline-flex;
	align-items: stretch;
	margin-bottom: 18px;
	color: var(--carbon-950);
	text-transform: uppercase;
	font-family: "Barlow Condensed", Impact, sans-serif;
	font-size: 12px;
	line-height: 1;
	font-weight: 800;
	letter-spacing: 0.09em;
	clip-path: polygon(0 0, calc(100% - 7px) 0, 100% 7px, 100% 100%, 7px 100%, 0 calc(100% - 7px));
}

.tusks-v2 .free-design-kicker span,
.tusks-v2 .free-design-kicker b {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	padding: 0 12px;
}

.tusks-v2 .free-design-kicker span { background: var(--signal); }
.tusks-v2 .free-design-kicker b { background: var(--graphite-900); color: var(--warm-white); }
.tusks-v2 .free-design-kicker + .signal-line { display: none; }

/* Secondary product filters stay lightweight: no extra library or preload. */
.tusks-v2 .product-tabs {
	overflow-x: auto;
	overscroll-behavior-inline: contain;
	scrollbar-width: thin;
}

.tusks-v2 .product-tabs > button {
	flex: 0 0 auto;
	white-space: nowrap;
}

.tusks-v2 .ts-product-subfilters {
	min-height: 52px;
	margin: 12px 0 22px;
}

.tusks-v2 .ts-subfilter-row {
	display: flex;
	align-items: center;
	gap: 8px;
	overflow-x: auto;
	padding: 2px 2px 8px;
	overscroll-behavior-inline: contain;
	scrollbar-width: thin;
}

.tusks-v2 .ts-subfilter-row > button {
	flex: 0 0 auto;
	min-height: 38px;
	border: 1px solid #425057;
	background: transparent;
	padding: 0 14px;
	color: #b9c2c5;
	text-transform: uppercase;
	font-family: "Barlow Condensed", Impact, sans-serif;
	font-size: 12px;
	line-height: 1;
	font-weight: 700;
	letter-spacing: 0.035em;
	cursor: pointer;
	transition: border-color 160ms ease, background 160ms ease, color 160ms ease, transform 160ms ease;
}

.tusks-v2 .ts-subfilter-row > button:hover,
.tusks-v2 .ts-subfilter-row > button:focus-visible {
	border-color: var(--signal);
	color: var(--signal);
	transform: translateY(-1px);
}

.tusks-v2 .ts-subfilter-row > button.is-active {
	border-color: var(--signal);
	background: var(--signal);
	color: var(--carbon-950);
}

.tusks-v2 .ts-subfilter-row.is-note {
	min-height: 42px;
	overflow: visible;
	border-left: 3px solid var(--signal);
	background: rgba(145, 220, 27, 0.08);
	padding: 9px 13px;
	color: #c9d0d2;
	font-size: 12px;
}

.tusks-v2 .ts-subfilter-row.is-note .ts-ui-icon {
	width: 18px;
	height: 18px;
	filter: invert(91%) sepia(77%) saturate(1551%) hue-rotate(32deg) brightness(92%) contrast(88%);
}

/* Quantity-aware quote list and safe acceptance form. */
.tusks-v2 .tusks-quantity-control {
	display: inline-grid;
	grid-template-columns: 30px 34px 30px;
	align-items: center;
	width: max-content;
	margin-top: 8px;
	border: 1px solid #56636a;
}

.tusks-v2 .tusks-quantity-control button,
.tusks-v2 .tusks-quantity-control output {
	width: 100%;
	height: 30px;
	display: grid;
	place-items: center;
	border: 0;
	background: transparent;
	color: inherit;
}

.tusks-v2 .tusks-quantity-control button {
	cursor: pointer;
}

.tusks-v2 .tusks-quantity-control button:hover {
	background: var(--signal);
	color: var(--carbon-950);
}

.tusks-v2 .tusks-quantity-control button .ts-ui-icon {
	width: 13px;
	height: 13px;
}

.tusks-v2 .tusks-quantity-control output {
	border-inline: 1px solid #56636a;
	font-size: 12px;
	font-weight: 700;
}

.tusks-v2 .quote-summary .quote-item {
	grid-template-columns: 58px minmax(0, 1fr) 40px;
	align-items: center;
}

.tusks-v2 .quote-summary .tusks-quantity-control {
	color: var(--graphite-900);
	border-color: #bdc5c1;
}

.tusks-v2 .quote-summary .tusks-quantity-control output {
	border-color: #bdc5c1;
}

.tusks-v2 .rfq-card {
	margin: 0;
}

.tusks-v2 .tusks-consent {
	display: grid;
	grid-template-columns: 18px minmax(0, 1fr);
	align-items: start;
	gap: 10px;
	margin-top: 2px;
	color: #56636a;
	font-size: 11px;
	font-weight: 500;
	line-height: 1.5;
}

.tusks-v2 .tusks-consent input {
	width: 18px;
	height: 18px;
	margin: 1px 0 0;
	accent-color: var(--signal-dark);
}

.tusks-v2 .tusks-consent span {
	display: block;
}

.tusks-v2 .ts-honeypot {
	position: absolute !important;
	left: -10000px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

.tusks-v2 .tusks-form-status {
	min-height: 22px;
	margin-top: 12px;
	border-left: 3px solid transparent;
	padding: 0 0 0 10px;
	color: #677277;
	font-size: 12px;
	line-height: 1.55;
}

.tusks-v2 .tusks-form-status.is-success {
	border-color: var(--signal-dark);
	color: #355605;
}

.tusks-v2 .tusks-form-status.is-error {
	border-color: var(--error);
	color: #9f342f;
}

.tusks-v2 .rfq-card [aria-invalid="true"] {
	border-color: var(--error);
	box-shadow: 0 0 0 2px rgba(225, 105, 99, 0.2);
}

@media (min-width: 768px) and (max-width: 1199px) {
	.tusks-v2 .category-track {
		grid-template-columns: repeat(5, 245px);
		overflow-x: auto;
		overflow-y: visible;
		justify-content: start;
		padding-bottom: 18px;
		scroll-snap-type: x proximity;
	}

	.tusks-v2 .category-card { scroll-snap-align: start; }
}

@media (max-width: 767px) {
	.tusks-v2 .category-section { padding-bottom: 18px; }
	.tusks-v2 .category-track { grid-template-columns: repeat(5, 78vw); }
	.tusks-v2 .project-section { padding-top: 44px; }
	.tusks-v2 .free-design-kicker { margin-bottom: 15px; }
	.tusks-v2 .ts-product-subfilters { margin-bottom: 15px; }
	.tusks-v2 .ts-subfilter-row { margin-inline: -18px; padding-inline: 18px; }
	.tusks-v2 .ts-subfilter-row.is-note { margin-inline: 0; }
	.tusks-v2 .ts-inquiry-item { grid-template-columns: 56px minmax(0, 1fr) 34px; }
	.tusks-v2 .ts-inquiry-item > img,
	.tusks-v2 .ts-inquiry-item > .ts-result-placeholder { width: 56px; height: 56px; }
}

@media (prefers-reduced-motion: reduce) {
	.tusks-v2 .ts-subfilter-row > button { transition: none; }
}

/* 0.3.1: one white-stage system for all five primary categories. */
.tusks-v2 .category-card.is-photo::after {
	content: none;
}

.tusks-v2 .category-card > .ts-category-media {
	top: 14px;
	left: 5%;
	width: 90%;
	height: 70%;
	object-fit: contain;
	object-position: 50% 50%;
	background: #fff;
	filter: none;
}

.tusks-v2 .category-card .category-copy {
	right: 17px;
}

.tusks-v2 .category-card > .ts-ui-icon {
	display: none;
}

/* Keep every WooCommerce image on a stable, centered product stage. */
.tusks-v2 .product-image-button {
	display: grid;
	place-items: center;
	box-sizing: border-box;
	background: #fff;
	padding: 18px;
}

.tusks-v2 .product-image-button > .product-thumb {
	width: 100%;
	height: 100%;
	margin: auto;
	object-fit: contain;
	object-position: 50% 50%;
	background: #fff;
}

/* Six real icon steps with visible directional connectors. */
.tusks-v2 .process-strip {
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 18px;
	overflow: visible;
	border: 0;
}

.tusks-v2 .process-strip > .process-step.process-step {
	position: relative;
	min-height: 126px;
	border: 1px solid #334047;
	background: linear-gradient(145deg, rgba(22, 30, 34, 0.96), rgba(10, 14, 16, 0.98));
	transition: border-color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}

.tusks-v2 .process-strip > .process-step.process-step:hover {
	border-color: var(--signal);
	transform: translateY(-3px);
	box-shadow: 0 16px 28px rgba(0, 0, 0, 0.24);
}

.tusks-v2 .process-strip .process-index {
	top: 9px;
	left: 10px;
}

.tusks-v2 .process-strip .process-connector {
	position: absolute;
	z-index: 4;
	top: 50%;
	left: auto;
	right: -25px;
	width: 32px;
	height: 32px;
	display: grid;
	place-items: center;
	border: 1px solid #52653d;
	border-radius: 50%;
	background: #0a0e10;
	color: var(--signal);
	font-size: 0;
	line-height: 1;
	transform: translateY(-50%);
	pointer-events: none;
}

.tusks-v2 .process-strip .process-connector > .process-flow-arrow {
	position: static;
	width: 17px;
	height: 17px;
	display: block;
	background: transparent;
	filter: invert(91%) sepia(77%) saturate(1551%) hue-rotate(32deg) brightness(92%) contrast(88%);
}

@media (max-width: 900px) {
	.tusks-v2 .process-strip {
		grid-template-columns: none;
		grid-auto-flow: column;
		grid-auto-columns: minmax(144px, 46vw);
		gap: 18px;
		overflow-x: auto;
		overflow-y: hidden;
		padding: 1px 26px 14px 1px;
		scroll-snap-type: x proximity;
		scrollbar-width: none;
	}

	.tusks-v2 .process-strip::-webkit-scrollbar {
		display: none;
	}

	.tusks-v2 .process-strip > .process-step.process-step {
		min-height: 112px;
		border: 1px solid #334047;
		scroll-snap-align: start;
	}

	.tusks-v2 .process-strip .process-connector {
		display: grid;
		right: -25px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.tusks-v2 .process-strip > .process-step.process-step {
		transition: none;
	}
}

/* 0.3.4: cache-light seven-language menu and scoped right-to-left support. */
.tusks-v2 .ts-language-switcher {
	position: relative;
	z-index: 95;
	flex: 0 0 auto;
	color: var(--warm-white);
}

.tusks-v2 .ts-language-switcher > summary {
	min-width: 112px;
	height: 28px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	border: 1px solid rgba(255, 255, 255, 0.18);
	background: rgba(255, 255, 255, 0.035);
	padding: 0 9px;
	color: #e9eeeb;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.035em;
	list-style: none;
	cursor: pointer;
	user-select: none;
}

.tusks-v2 .ts-language-switcher > summary::-webkit-details-marker { display: none; }
.tusks-v2 .ts-language-switcher > summary::marker { content: ""; }

.tusks-v2 .ts-language-switcher > summary:hover,
.tusks-v2 .ts-language-switcher[open] > summary {
	border-color: var(--signal);
	color: var(--signal);
}

.tusks-v2 .ts-language-switcher > summary .ts-ui-icon {
	width: 14px;
	height: 14px;
}

.tusks-v2 .ts-language-switcher > summary > i {
	width: 0;
	height: 0;
	border-inline: 4px solid transparent;
	border-top: 5px solid currentColor;
	transition: transform 160ms ease;
}

.tusks-v2 .ts-language-switcher[open] > summary > i { transform: rotate(180deg); }

.tusks-v2 .ts-language-options {
	position: absolute;
	top: calc(100% + 5px);
	right: 0;
	width: 164px;
	display: grid;
	margin: 0;
	border: 1px solid #455159;
	background: #0d1316;
	padding: 5px;
	box-shadow: 0 18px 42px rgba(0, 0, 0, 0.38);
}

.tusks-v2 .ts-language-options li {
	margin: 0;
	list-style: none;
}

.tusks-v2 .ts-language-options a {
	min-height: 34px;
	display: flex;
	align-items: center;
	border-inline-start: 2px solid transparent;
	padding: 0 10px;
	color: #d8dfdc;
	font-size: 11px;
	font-weight: 600;
	text-decoration: none;
}

.tusks-v2 .ts-language-options a:hover,
.tusks-v2 .ts-language-options a:focus-visible,
.tusks-v2 .ts-language-options a[aria-current="true"] {
	border-inline-start-color: var(--signal);
	background: #172025;
	color: var(--signal);
}

.tusks-v2[lang="es"] .desktop-nav,
.tusks-v2[lang="pt"] .desktop-nav {
	gap: clamp(9px, 1vw, 16px);
}

.tusks-v2[lang="es"] .desktop-nav a,
.tusks-v2[lang="pt"] .desktop-nav a {
	font-size: 12px;
	letter-spacing: 0.02em;
}

.tusks-v2[lang="zh-CN"],
.tusks-v2[lang="ja"],
.tusks-v2[lang="ko"],
.tusks-v2[lang="ar"] {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans SC", "Noto Sans JP", "Noto Sans KR", "Noto Sans Arabic", Arial, sans-serif;
}

.tusks-v2[lang="zh-CN"] :is(h1, h2, h3, .eyebrow, .ts-eyebrow, .button, .ts-button, .desktop-nav a, .brand-name, .category-copy strong),
.tusks-v2[lang="ja"] :is(h1, h2, h3, .eyebrow, .ts-eyebrow, .button, .ts-button, .desktop-nav a, .brand-name, .category-copy strong),
.tusks-v2[lang="ko"] :is(h1, h2, h3, .eyebrow, .ts-eyebrow, .button, .ts-button, .desktop-nav a, .brand-name, .category-copy strong),
.tusks-v2[lang="ar"] :is(h1, h2, h3, .eyebrow, .ts-eyebrow, .button, .ts-button, .desktop-nav a, .brand-name, .category-copy strong) {
	font-family: inherit;
	letter-spacing: 0;
}

.tusks-v2[dir="rtl"] { text-align: right; }
.tusks-v2 .brand {
	direction: ltr;
	unicode-bidi: isolate;
}
.tusks-v2[dir="rtl"] .page-progress span { transform-origin: right center; }
.tusks-v2[dir="rtl"] .hero-overlay {
	background: linear-gradient(270deg, #06090af7, #06090adb 29%, #06090a6e 61%, #06090a33), linear-gradient(0deg, #06090aed, #06090a26 36% 100%);
}
.tusks-v2[dir="rtl"] .hero-proof div { border-left: 0; border-right: 1px solid rgba(255, 255, 255, 0.18); }
.tusks-v2[dir="rtl"] .hero-proof div:first-child { padding-left: 20px; padding-right: 0; border-right: 0; }
.tusks-v2[dir="rtl"] .category-card::before { left: auto; right: 0; }
.tusks-v2[dir="rtl"] .category-number { right: auto; left: 16px; }
.tusks-v2[dir="rtl"] .category-copy { left: 37px; right: 17px; text-align: right; }
.tusks-v2[dir="rtl"] .layout-visual::before { left: auto; right: 0; }
.tusks-v2[dir="rtl"] .layout-visual figcaption { left: auto; right: 22px; }
.tusks-v2[dir="rtl"] .capability-grid > a { border-left: 0; border-right: 1px solid #c9cfcb; }
.tusks-v2[dir="rtl"] .capability-grid > a:first-child { padding-left: 38px; padding-right: 0; border-right: 0; }
.tusks-v2[dir="rtl"] .products-section::before { right: auto; left: 5%; }
.tusks-v2[dir="rtl"] .model-search-button { text-align: right; }
.tusks-v2[dir="rtl"] .product-tabs button::after { transform-origin: right; }
.tusks-v2[dir="rtl"] .process-strip .process-index { left: auto; right: 10px; }
.tusks-v2[dir="rtl"] .process-strip .process-connector { right: auto; left: -25px; }
.tusks-v2[dir="rtl"] .ts-language-options { right: auto; left: 0; }
.tusks-v2[dir="rtl"] .ts-drawer aside {
	right: auto;
	left: 0;
	border-left: 0;
	border-right: 1px solid #48545b;
	box-shadow: 30px 0 70px #00000059;
	animation-name: tusks-bridge-drawer-in-rtl;
}
.tusks-v2[dir="rtl"] [data-tusks-icon="arrow-right"],
.tusks-v2[dir="rtl"] [data-tusks-icon="arrow-up-right"] { scale: -1 1; }

.tusks-v2 :is(.ts-product-copy, .ts-search-result-copy, .ts-inquiry-item > div, .quote-item-copy, .model-tag),
.tusks-v2 [dir="ltr"] {
	direction: ltr;
	unicode-bidi: isolate;
}

.tusks-v2[dir="rtl"] :is(.ts-product-copy, .ts-search-result-copy, .ts-inquiry-item > div, .quote-item-copy) { text-align: left; }

.tusks-v2[dir="rtl"] input[type="email"],
.tusks-v2[dir="rtl"] input[type="tel"],
.tusks-v2[dir="rtl"] [data-tusks-search-input] {
	direction: ltr;
	text-align: left;
	unicode-bidi: isolate;
}

@keyframes tusks-bridge-drawer-in-rtl {
	0% { transform: translateX(-100%); }
	100% { transform: none; }
}

@media (max-width: 767px) {
	.tusks-v2 .utility-inner { gap: 10px; }
	.tusks-v2 .ts-language-switcher { margin-inline-start: auto; }
	.tusks-v2 .ts-language-switcher > summary { min-width: 102px; }
	.tusks-v2 .ts-language-options { position: fixed; top: 36px; right: 10px; left: auto; }
	body.admin-bar .tusks-v2 .ts-language-options { top: 82px; }
	.tusks-v2[dir="rtl"] .ts-language-options { right: auto; left: 10px; }
}

@media (max-width: 430px) {
	.tusks-v2 .utility-phone { display: none; }
	.tusks-v2 .ts-language-switcher > summary { min-width: 88px; padding-inline: 7px; }
}

@media (prefers-reduced-motion: reduce) {
	.tusks-v2 .ts-language-switcher > summary > i { transition: none; }
}
