/**
 * dV Builder shared components.
 */

.dv-eyebrow {
	color: var(--dv-color-forest);
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	margin: 0;
	text-transform: uppercase;
}

.dv-button {
	align-items: center;
	background: var(--dv-color-forest-dark);
	border: 1px solid var(--dv-color-forest-dark);
	border-radius: var(--dv-radius-md);
	color: var(--dv-color-ivory);
	display: inline-flex;
	font-weight: 600;
	gap: var(--dv-space-xs);
	justify-content: center;
	min-block-size: 44px;
	padding: 0.75rem 1.25rem;
	text-decoration: none;
	transition: background var(--dv-transition-fast), border-color var(--dv-transition-fast), color var(--dv-transition-fast);
}

.dv-button:hover,
.dv-button:focus-visible {
	background: var(--dv-color-forest);
	border-color: var(--dv-color-forest);
	color: var(--dv-color-ivory);
}

.dv-button--secondary {
	background: transparent;
	color: var(--dv-color-forest-dark);
}

.dv-card {
	background: var(--dv-color-surface);
	border: 1px solid var(--dv-color-border);
	border-radius: var(--dv-radius-md);
	box-shadow: var(--dv-shadow-soft);
	color: var(--dv-color-text);
	padding: var(--dv-space-md);
}

.dv-placeholder {
	background: var(--dv-color-surface);
	border: 1px solid var(--dv-color-border);
	border-radius: var(--dv-radius-md);
	overflow: hidden;
	padding: clamp(1.5rem, 5vw, 4rem);
}

.dv-placeholder__inner {
	display: grid;
	gap: var(--dv-space-md);
}

.dv-placeholder__title {
	font-family: var(--dv-font-heading);
	font-size: clamp(2rem, 5vw, 4rem);
	line-height: 1.08;
	margin: 0;
}

.dv-placeholder__description {
	color: var(--dv-color-muted);
	font-size: clamp(1rem, 2vw, 1.125rem);
	margin: 0;
}
