/**
 * Shared card interaction language.
 * Blue remains the navigation/selection color; copper is the hover accent.
 */

:root {
	--fb-card-hover-line: linear-gradient(90deg, var(--fb-copper), #e18a45);
	--fb-card-hover-shadow: 0 18px 40px rgba(6, 31, 59, 0.12);
	--fb-card-rest-border: rgba(8, 31, 61, 0.11);
}

/* Cards that do not already provide their own top-line element. */
.industrial-product-card,
.industrial-overlay-card,
.industrial-capability-grid a,
.resource-card,
.directory-card,
.fb-catalog-card,
.fb-product-relation-card,
.fb-process-card,
.fb-equipment-card,
.fb-workshop-card,
.fb-evidence-card,
.fb-inspection-evidence-card,
.fb-testing-equipment-card,
.fb-delivery-card,
.about-v4__sector,
.about-v4__stage,
.about-v4__credential,
.about-v4__value {
	position: relative;
	overflow: hidden;
	transition: transform 200ms ease, box-shadow 200ms ease, border-color 200ms ease;
}

.industrial-product-card::before,
.industrial-overlay-card::before,
.industrial-capability-grid a::before,
.resource-card::before,
.directory-card::before,
.fb-catalog-card::before,
.fb-product-relation-card::before,
.fb-process-card::before,
.fb-equipment-card::before,
.fb-workshop-card::before,
.fb-evidence-card::before,
.fb-inspection-evidence-card::before,
.fb-testing-equipment-card::before,
.fb-delivery-card::before,
.about-v4__sector::before,
.about-v4__stage::before,
.about-v4__credential::before,
.about-v4__value::before {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	z-index: 8;
	height: 3px;
	background: var(--fb-card-hover-line);
	content: "";
	pointer-events: none;
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 300ms ease-out;
}

.industrial-product-card:hover::before,
.industrial-product-card:focus-visible::before,
.industrial-overlay-card:hover::before,
.industrial-overlay-card:focus-visible::before,
.industrial-capability-grid a:hover::before,
.industrial-capability-grid a:focus-visible::before,
.resource-card:hover::before,
.resource-card:focus-within::before,
.directory-card:hover::before,
.directory-card:focus-within::before,
.fb-catalog-card:hover::before,
.fb-catalog-card:focus-within::before,
.fb-product-relation-card:hover::before,
.fb-product-relation-card:focus-within::before,
.fb-process-card:hover::before,
.fb-process-card:focus-within::before,
.fb-equipment-card:hover::before,
.fb-equipment-card:focus-within::before,
.fb-workshop-card:hover::before,
.fb-workshop-card:focus-within::before,
.fb-evidence-card:hover::before,
.fb-evidence-card:focus-within::before,
.fb-inspection-evidence-card:hover::before,
.fb-inspection-evidence-card:focus-within::before,
.fb-testing-equipment-card:hover::before,
.fb-testing-equipment-card:focus-within::before,
.fb-delivery-card:hover::before,
.fb-delivery-card:focus-within::before,
.about-v4__sector:hover::before,
.about-v4__stage:hover::before,
.about-v4__credential:hover::before,
.about-v4__value:hover::before {
	transform: scaleX(1);
}

/* Existing page-specific line elements use the same thickness and timing. */
.fb-resource-motion-line,
.resource-v3-motion-line,
.about-v4__motion-line {
	top: 0;
	right: 0;
	left: 0;
	width: auto;
	height: 3px;
	background: var(--fb-card-hover-line);
	opacity: 0;
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 300ms ease-out, opacity 120ms ease;
}

.fb-resource-motion-card:hover > .fb-resource-motion-line,
.fb-resource-motion-card:focus-within > .fb-resource-motion-line,
.resource-v3-motion-card:hover > .resource-v3-motion-line,
.resource-v3-motion-card:focus-within > .resource-v3-motion-line,
.about-v4__card:hover > .about-v4__motion-line,
.about-v4__card:focus-within > .about-v4__motion-line,
.about-v4__image-card:hover > .about-v4__motion-line,
.about-v4__image-card:focus-within > .about-v4__motion-line {
	opacity: 1;
	transform: scaleX(1);
}

/* Product detail cards previously showing a permanent copper strip now reveal it on interaction. */
.fb-option-card::before,
.fb-quality-card::before {
	background: var(--fb-card-hover-line);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 300ms ease-out;
}

.fb-option-card:hover::before,
.fb-option-card:focus-within::before,
.fb-quality-card:hover::before,
.fb-quality-card:focus-within::before {
	transform: scaleX(1);
}

/* Capabilities already uses pseudo-elements; normalize their visual behavior. */
.capabilities-source-directory__card::before,
.capabilities-source-cap-card::before,
.capabilities-source-process-card::before,
.capabilities-source-quality-feature::before,
.capabilities-source-quality-mini::before,
.capabilities-source-manufacturing-card::before,
.capabilities-source-image-panel::before,
.capabilities-source-photo-tile::before,
.capabilities-source-equipment-card::before,
.capabilities-source-workshop-card::before,
.capabilities-source-inspection-card::before,
.capabilities-source-service-card::before,
.capabilities-source-delivery-card::before,
.capabilities-source-delivery-image::before {
	height: 3px;
	background: var(--fb-card-hover-line);
	transition: transform 300ms ease-out;
}

/* Remove the old blue full-border hover language. */
.industrial-product-card:hover,
.industrial-product-card:focus-visible,
.industrial-capability-grid a:hover,
.industrial-capability-grid a:focus-visible,
.resource-card:hover,
.resource-card:focus-within,
.directory-card:hover,
.directory-card:focus-within {
	border-color: var(--fb-card-rest-border);
}

.front-page--industrial .industrial-product-card:hover,
.front-page--industrial .industrial-product-card:focus-visible,
.front-page--industrial .industrial-capability-grid a:hover,
.front-page--industrial .industrial-capability-grid a:focus-visible {
	color: var(--fb-ink);
}

.product-archive-page .resource-card:hover,
.product-archive-page .resource-card:focus-within {
	border-color: var(--fb-card-rest-border);
}

.industrial-product-card:hover,
.industrial-product-card:focus-visible,
.industrial-overlay-card:hover,
.industrial-overlay-card:focus-visible,
.industrial-capability-grid a:hover,
.industrial-capability-grid a:focus-visible,
.resource-card:hover,
.resource-card:focus-within,
.directory-card:hover,
.directory-card:focus-within,
.fb-catalog-card:hover,
.fb-catalog-card:focus-within,
.fb-product-relation-card:hover,
.fb-product-relation-card:focus-within,
.fb-process-card:hover,
.fb-process-card:focus-within,
.fb-equipment-card:hover,
.fb-equipment-card:focus-within,
.fb-workshop-card:hover,
.fb-workshop-card:focus-within,
.fb-evidence-card:hover,
.fb-evidence-card:focus-within,
.fb-inspection-evidence-card:hover,
.fb-inspection-evidence-card:focus-within,
.fb-testing-equipment-card:hover,
.fb-testing-equipment-card:focus-within,
.fb-delivery-card:hover,
.fb-delivery-card:focus-within,
.about-v4__sector:hover,
.about-v4__stage:hover,
.about-v4__credential:hover,
.about-v4__value:hover {
	box-shadow: var(--fb-card-hover-shadow);
	transform: translateY(-3px);
}

@media (prefers-reduced-motion: reduce) {
	.industrial-product-card,
	.industrial-overlay-card,
	.industrial-capability-grid a,
	.resource-card,
	.directory-card,
	.fb-catalog-card,
	.fb-product-relation-card,
	.fb-process-card,
	.fb-equipment-card,
	.fb-workshop-card,
	.fb-evidence-card,
	.fb-inspection-evidence-card,
	.fb-testing-equipment-card,
	.fb-delivery-card,
	.about-v4__sector,
	.about-v4__stage,
	.about-v4__credential,
	.about-v4__value,
	.fb-resource-motion-line,
	.resource-v3-motion-line,
	.about-v4__motion-line {
		transition: none;
	}
}
