/**
 * NextDisc Child Theme styles
 */

:root {
	--nextdisc-primary: #111827;
	--nextdisc-accent: #2563eb;
	--nextdisc-surface: #ffffff;
	--nextdisc-text: #1f2937;
	--nextdisc-muted: #6b7280;
	--nextdisc-radius: 12px;
	--nextdisc-container: 1200px;
}

html {
	scroll-behavior: smooth;
}

body.nextdisc-theme {
	color: var(--nextdisc-text);
	background: var(--nextdisc-surface);
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}

body.nextdisc-theme a {
	text-underline-offset: 0.18em;
}

body.nextdisc-theme a:focus-visible,
body.nextdisc-theme button:focus-visible,
body.nextdisc-theme input:focus-visible,
body.nextdisc-theme select:focus-visible,
body.nextdisc-theme textarea:focus-visible {
	outline: 3px solid color-mix(in srgb, var(--nextdisc-accent) 45%, transparent);
	outline-offset: 3px;
}

.nextdisc-container {
	width: min(100% - 2rem, var(--nextdisc-container));
	margin-inline: auto;
}

.nextdisc-card {
	padding: clamp(1rem, 2vw, 2rem);
	border: 1px solid rgba(17, 24, 39, 0.1);
	border-radius: var(--nextdisc-radius);
	background: var(--nextdisc-surface);
	box-shadow: 0 12px 30px rgba(17, 24, 39, 0.08);
}

.nextdisc-button,
.elementor-button.nextdisc-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0.75rem 1.25rem;
	border-radius: 999px;
	background: var(--nextdisc-accent);
	color: #fff;
	font-weight: 700;
	text-decoration: none;
	transition: transform 180ms ease, box-shadow 180ms ease, opacity 180ms ease;
}

.nextdisc-button:hover,
.elementor-button.nextdisc-button:hover {
	color: #fff;
	transform: translateY(-1px);
	box-shadow: 0 10px 24px rgba(37, 99, 235, 0.25);
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}
