.deep-button,
.deep-core :where(button, input[type="submit"], input[type="button"], input[type="reset"]) {
	min-height: var(--deep-button-height);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .5rem;
	padding: .7rem 1.15rem;
	border: 1px solid transparent;
	border-radius: var(--deep-radius-md);
	background: var(--deep-color-primary);
	color: var(--deep-color-primary-contrast);
	font: inherit;
	font-weight: 650;
	line-height: 1;
	text-decoration: none;
	cursor: pointer;
	transition: transform var(--deep-transition), opacity var(--deep-transition), box-shadow var(--deep-transition), background-color var(--deep-transition), border-color var(--deep-transition);
}

.deep-button:hover,
.deep-core :where(button, input[type="submit"], input[type="button"], input[type="reset"]):hover {
	opacity: .93;
	transform: translateY(-1px);
	box-shadow: var(--deep-shadow-sm);
}

.deep-button:disabled,
.deep-core :where(button, input[type="submit"], input[type="button"], input[type="reset"]):disabled {
	opacity: var(--deep-disabled-opacity);
	cursor: not-allowed;
	transform: none;
	box-shadow: none;
}

.deep-button--secondary {
	background: var(--deep-color-secondary);
	color: var(--deep-color-secondary-contrast);
}

.deep-button--outline {
	border-color: var(--deep-color-primary);
	background: transparent;
	color: var(--deep-color-primary);
}

.deep-button--ghost {
	background: transparent;
	color: var(--deep-color-text);
}

.deep-button--danger {
	background: var(--deep-color-error);
	color: #fff;
}

.deep-core :where(label) {
	display: inline-block;
	margin-bottom: .35rem;
	font-weight: 600;
}

.deep-core :where(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="reset"]), select) {
	min-height: var(--deep-input-height);
}

.deep-core :where(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="reset"]), select, textarea) {
	width: 100%;
	padding: .7rem .85rem;
	border: 1px solid var(--deep-color-border);
	border-radius: var(--deep-radius-md);
	background: var(--deep-color-background);
	color: var(--deep-color-text);
	font: inherit;
	transition: border-color var(--deep-transition), box-shadow var(--deep-transition), background-color var(--deep-transition);
}

.deep-core :where(input, select, textarea)::placeholder {
	color: var(--deep-color-text-muted);
	opacity: .8;
}

.deep-core :where(input, select, textarea):focus {
	border-color: var(--deep-color-primary);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--deep-color-primary) 12%, transparent);
}

.deep-core :where(input[type="checkbox"], input[type="radio"]) {
	accent-color: var(--deep-color-primary);
}

.deep-field {
	display: grid;
	gap: .35rem;
}

.deep-field__help {
	color: var(--deep-color-text-muted);
	font-size: var(--deep-text-sm);
}

.deep-field--error :where(input, select, textarea) {
	border-color: var(--deep-color-error);
}

.deep-field__error {
	color: var(--deep-color-error);
	font-size: var(--deep-text-sm);
}

.deep-card {
	border: 1px solid var(--deep-color-border);
	border-radius: var(--deep-radius-lg);
	background: var(--deep-color-background);
	box-shadow: var(--deep-shadow-sm);
	padding: var(--deep-space-lg);
}

.deep-card--interactive {
	transition: transform var(--deep-transition), box-shadow var(--deep-transition), border-color var(--deep-transition);
}

.deep-card--interactive:hover {
	transform: translateY(-2px);
	box-shadow: var(--deep-shadow-md);
	border-color: color-mix(in srgb, var(--deep-color-primary) 35%, var(--deep-color-border));
}

.deep-badge {
	display: inline-flex;
	align-items: center;
	gap: .3rem;
	min-height: 1.75rem;
	padding: .2rem .65rem;
	border-radius: var(--deep-radius-pill);
	background: var(--deep-color-surface);
	color: var(--deep-color-text-muted);
	font-size: var(--deep-text-xs);
	font-weight: 700;
}

.deep-badge--success { color: var(--deep-color-success); }
.deep-badge--warning { color: var(--deep-color-warning); }
.deep-badge--error { color: var(--deep-color-error); }

.deep-notice {
	padding: var(--deep-space-md);
	border: 1px solid var(--deep-color-border);
	border-left-width: 4px;
	border-radius: var(--deep-radius-md);
	background: var(--deep-color-surface);
	color: var(--deep-color-text);
}

.deep-notice--success { border-left-color: var(--deep-color-success); }
.deep-notice--warning { border-left-color: var(--deep-color-warning); }
.deep-notice--error { border-left-color: var(--deep-color-error); }
.deep-notice--info { border-left-color: var(--deep-color-primary); }

.deep-empty-state {
	padding: clamp(2rem, 6vw, 4rem);
	border: 1px dashed var(--deep-color-border);
	border-radius: var(--deep-radius-lg);
	text-align: center;
	color: var(--deep-color-text-muted);
	background: var(--deep-color-surface);
}

.deep-table-wrap {
	width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.deep-core :where(table) {
	width: 100%;
	border-collapse: collapse;
}

.deep-core :where(th, td) {
	padding: .8rem;
	border-bottom: 1px solid var(--deep-color-border);
	text-align: left;
	vertical-align: top;
}

.deep-core :where(th) {
	font-weight: 700;
}

.deep-breadcrumbs,
.deep-pagination,
.deep-core .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	align-items: center;
}

.deep-breadcrumbs {
	color: var(--deep-color-text-muted);
	font-size: var(--deep-text-sm);
}

.deep-pagination a,
.deep-pagination span,
.deep-core .nav-links a,
.deep-core .nav-links span {
	display: inline-grid;
	place-items: center;
	min-width: 2.5rem;
	min-height: 2.5rem;
	padding: .4rem .7rem;
	border: 1px solid var(--deep-color-border);
	border-radius: var(--deep-radius-sm);
	text-decoration: none;
}

.deep-pagination .current,
.deep-core .nav-links .current {
	border-color: var(--deep-color-primary);
	background: var(--deep-color-primary);
	color: var(--deep-color-primary-contrast);
}

.deep-spinner {
	width: 1.5rem;
	aspect-ratio: 1;
	border: 2px solid color-mix(in srgb, var(--deep-color-primary) 25%, transparent);
	border-top-color: var(--deep-color-primary);
	border-radius: 50%;
	animation: deep-spin .7s linear infinite;
}

@keyframes deep-spin {
	to { transform: rotate(360deg); }
}

.wp-block-button.deep-button { padding: 0; background: transparent; border: 0; min-height: 0; }
.wp-block-button.deep-button .wp-block-button__link {
	min-height: var(--deep-button-height);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: .7rem 1.15rem;
	border-radius: var(--deep-radius-md);
	background: var(--deep-color-primary);
	color: var(--deep-color-primary-contrast);
	font-weight: 650;
	text-decoration: none;
}
