/* ProofStamp shared UI components. */

/*
 * Button variants
 *
 * Canonical classes are proofstamp-button-*. The psb-* selectors are
 * compatibility aliases for the current WordPress homepage content.
 */
.proofstamp-header-cta .wp-block-button__link,
.proofstamp-button-primary .wp-block-button__link,
.proofstamp-button-action .wp-block-button__link,
.proofstamp-button-accent .wp-block-button__link,
.proofstamp-button-secondary .wp-block-button__link,
.proofstamp-home-b .psb-primary .wp-block-button__link,
.proofstamp-home-b .psb-chain .wp-block-button__link,
.proofstamp-home-b .psb-ai-button .wp-block-button__link {
	text-decoration: none;
	transition:
		transform 160ms ease,
		box-shadow 160ms ease,
		background-color 160ms ease,
		border-color 160ms ease;
}

.proofstamp-header-cta .wp-block-button__link,
.proofstamp-button-primary .wp-block-button__link,
.proofstamp-button-action .wp-block-button__link,
.proofstamp-button-accent .wp-block-button__link,
.proofstamp-home-b .psb-primary .wp-block-button__link,
.proofstamp-home-b .psb-chain .wp-block-button__link,
.proofstamp-home-b .psb-ai-button .wp-block-button__link {
	background: var(--ps-blue);
	color: var(--ps-white);
	box-shadow: 0 6px 18px rgba(22, 45, 82, 0.14);
}

.proofstamp-header-cta .wp-block-button__link:hover,
.proofstamp-button-primary .wp-block-button__link:hover,
.proofstamp-button-action .wp-block-button__link:hover,
.proofstamp-button-accent .wp-block-button__link:hover,
.proofstamp-home-b .psb-primary .wp-block-button__link:hover,
.proofstamp-home-b .psb-chain .wp-block-button__link:hover,
.proofstamp-home-b .psb-ai-button .wp-block-button__link:hover {
	background: var(--ps-blue-hover);
	color: var(--ps-white);
	transform: translateY(-1px);
}

.proofstamp-button-secondary .wp-block-button__link {
	border: 1px solid var(--ps-border);
	background: var(--ps-white);
	color: var(--ps-blue);
}

.proofstamp-button-secondary .wp-block-button__link:hover {
	border-color: var(--ps-blue);
	background: var(--ps-surface);
	color: var(--ps-blue-hover);
	transform: translateY(-1px);
}

.proofstamp-header-cta .wp-block-button__link:focus-visible,
.proofstamp-button-primary .wp-block-button__link:focus-visible,
.proofstamp-button-action .wp-block-button__link:focus-visible,
.proofstamp-button-accent .wp-block-button__link:focus-visible,
.proofstamp-button-secondary .wp-block-button__link:focus-visible,
.proofstamp-home-b .psb-primary .wp-block-button__link:focus-visible,
.proofstamp-home-b .psb-chain .wp-block-button__link:focus-visible,
.proofstamp-home-b .psb-ai-button .wp-block-button__link:focus-visible {
	outline: 3px solid var(--ps-blue);
	outline-offset: 3px;
}

/*
 * Icon system
 *
 * Icons are 24px outline SVG masks stored in assets/icons. They inherit the
 * surrounding text color and remain semantic UI icons, not brand marks.
 */
.proofstamp-icon {
	display: inline-block;
	width: 1em;
	height: 1em;
	background: currentColor;
	-webkit-mask: var(--proofstamp-icon) center / contain no-repeat;
	mask: var(--proofstamp-icon) center / contain no-repeat;
	vertical-align: -0.125em;
}

.proofstamp-home-b .psb-node-icon,
.proofstamp-home-b .psb-card-icon,
.proofstamp-home-b .psb-use-icon,
.proofstamp-home-b .psb-shield,
.proofstamp-home-b .psb-trust-notes b,
.proofstamp-home-b .psb-step-icon {
	--proofstamp-icon: url("../icons/check-circle.svg");
}

.proofstamp-icon-file,
.proofstamp-home-b .psb-node-file .psb-node-icon {
	--proofstamp-icon: url("../icons/file.svg");
}

.proofstamp-icon-mail,
.proofstamp-home-b .psb-node-email .psb-node-icon,
.proofstamp-home-b .psb-email-card .psb-card-icon {
	--proofstamp-icon: url("../icons/mail.svg");
}

.proofstamp-icon-anchor,
.proofstamp-home-b .psb-node-chain .psb-node-icon,
.proofstamp-home-b .psb-chain-card .psb-card-icon {
	--proofstamp-icon: url("../icons/public-anchor.svg");
}

.proofstamp-icon-fingerprint,
.proofstamp-home-b .psb-fingerprint span,
.proofstamp-home-b .psb-process-row > .wp-block-column:nth-child(1) .psb-step-icon {
	--proofstamp-icon: url("../icons/fingerprint.svg");
}

.proofstamp-icon-check,
.proofstamp-home-b .psb-shield,
.proofstamp-home-b .psb-trust-notes b,
.proofstamp-home-b .psb-process-row > .wp-block-column:nth-child(3) .psb-step-icon {
	--proofstamp-icon: url("../icons/check-circle.svg");
}

.proofstamp-icon-ai,
.proofstamp-home-b .psb-ai-card .psb-card-icon,
.proofstamp-home-b .psb-choice-card:has(.psb-card-link a[href="/ai/"]) .psb-card-icon {
	--proofstamp-icon: url("../icons/sparkles.svg");
}

.proofstamp-icon-photo,
.proofstamp-home-b .psb-use-grid > .wp-block-column:nth-child(1) .psb-use-icon {
	--proofstamp-icon: url("../icons/photo.svg");
}

.proofstamp-icon-records,
.proofstamp-home-b .psb-use-grid > .wp-block-column:nth-child(3) .psb-use-icon {
	--proofstamp-icon: url("../icons/records.svg");
}

.proofstamp-icon-workflow,
.proofstamp-home-b .psb-use-grid > .wp-block-column:nth-child(4) .psb-use-icon {
	--proofstamp-icon: url("../icons/workflow.svg");
}

.proofstamp-icon-archive,
.proofstamp-home-b .psb-process-row > .wp-block-column:nth-child(2) .psb-step-icon {
	--proofstamp-icon: url("../icons/archive.svg");
}

.proofstamp-home-b .psb-use-grid > .wp-block-column:nth-child(2) .psb-use-icon {
	--proofstamp-icon: url("../icons/file.svg");
}

.proofstamp-home-b .psb-node-icon,
.proofstamp-home-b .psb-card-icon,
.proofstamp-home-b .psb-use-icon,
.proofstamp-home-b .psb-shield,
.proofstamp-home-b .psb-trust-notes b {
	font-size: 0;
}

.proofstamp-home-b .psb-node-icon::before,
.proofstamp-home-b .psb-card-icon::before,
.proofstamp-home-b .psb-use-icon::before,
.proofstamp-home-b .psb-shield::before,
.proofstamp-home-b .psb-trust-notes b::before,
.proofstamp-home-b .psb-step-icon::before {
	content: "";
	display: block;
	background: currentColor;
	-webkit-mask: var(--proofstamp-icon) center / contain no-repeat;
	mask: var(--proofstamp-icon) center / contain no-repeat;
}

.proofstamp-home-b .psb-node-icon::before {
	width: 1.45rem;
	height: 1.45rem;
}

.proofstamp-home-b .psb-card-icon::before {
	width: 1.75rem;
	height: 1.75rem;
}

.proofstamp-home-b .psb-use-icon::before {
	width: 1.5rem;
	height: 1.5rem;
}

.proofstamp-home-b .psb-trust-notes b::before {
	width: 0.72rem;
	height: 0.72rem;
}

.proofstamp-home-b .psb-step-icon {
	font-size: 0;
}

.proofstamp-home-b .psb-step-icon::before {
	width: 1.7rem;
	height: 1.7rem;
}

.proofstamp-home-b .psb-step-icon span {
	font-size: 0.72rem;
}

.proofstamp-home-b .psb-fingerprint span {
	display: block;
	width: 3rem;
	height: 3rem;
	background: currentColor;
	font-size: 0;
	-webkit-mask: var(--proofstamp-icon) center / contain no-repeat;
	mask: var(--proofstamp-icon) center / contain no-repeat;
}

.proofstamp-home-b .psb-shield::before {
	width: 3.2rem;
	height: 3.2rem;
}

@media (prefers-reduced-motion: reduce) {
	.proofstamp-header-cta .wp-block-button__link,
	.proofstamp-button-primary .wp-block-button__link,
	.proofstamp-button-action .wp-block-button__link,
	.proofstamp-button-accent .wp-block-button__link,
	.proofstamp-button-secondary .wp-block-button__link,
	.proofstamp-home-b .psb-primary .wp-block-button__link,
	.proofstamp-home-b .psb-chain .wp-block-button__link,
	.proofstamp-home-b .psb-ai-button .wp-block-button__link {
		transition: none;
	}
}
