/*
 * NovusConfido — design tokens.
 *
 * Only the scales Elementor's Global Settings do not cover.
 * Colour and typography are NOT here: they live in Elementor Global Colours
 * and Global Fonts, and must never be duplicated in CSS.
 *
 * No component styles in this file. Components are built in Elementor.
 */

:root {
	/* Spacing — 8-point scale */
	--nc-space-xs: 8px;
	--nc-space-sm: 16px;
	--nc-space-md: 24px;
	--nc-space-lg: 32px;
	--nc-space-xl: 48px;
	--nc-space-2xl: 64px;
	--nc-space-3xl: 96px;
	--nc-space-4xl: 128px;

	/* Radius */
	--nc-radius-button: 12px;
	--nc-radius-input: 10px;
	--nc-radius-card: 16px;
	--nc-radius-image: 20px;
	--nc-radius-section: 24px;

	/* Shadow */
	--nc-shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.08);
	--nc-shadow-md: 0 8px 24px rgba(0, 0, 0, 0.12);
	--nc-shadow-lg: 0 20px 48px rgba(0, 0, 0, 0.16);

	/* Motion */
	--nc-ease: cubic-bezier(0.4, 0, 0.2, 1);
	--nc-duration-fast: 150ms;
	--nc-duration-base: 250ms;
	--nc-duration-slow: 400ms;
}

@media (prefers-reduced-motion: reduce) {

	:root {
		--nc-duration-fast: 0ms;
		--nc-duration-base: 0ms;
		--nc-duration-slow: 0ms;
	}

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

/* ---------------------------------------------------------------------------
   Section utilities.

   Each is applied through Elementor's Advanced → CSS Classes, so it is visible
   and removable in the editor rather than hidden in a stylesheet. Colours
   resolve to Elementor's own global variables (--e-global-color-*), so the
   global-colours rule in §3 of the brief still holds — no literal values.
   --------------------------------------------------------------------------- */

/* Paragraph rhythm inside Text Editor widgets. Astra's default paragraph margin
   is not on the 8-point scale; this puts it there. style.css already zeroes the
   trailing margin, so container gap stays in charge of the space between widgets. */
.elementor-widget-text-editor p {
	margin-bottom: var(--nc-space-md);
}

/* Staccato variant — short single-line beats that have to read as separate
   thoughts rather than collapsing into one block. */
.nc-beats p {
	margin-bottom: var(--nc-space-sm);
}

/* Card hover. Shadow only — no lift, no scale. */
.nc-card {
	transition: box-shadow var(--nc-duration-base) var(--nc-ease);
}

.nc-card:hover {
	box-shadow: var(--nc-shadow-sm);
}

/* Pull quote. The inherit rules let the widget's Elementor typography and colour
   win over Astra's own blockquote styling instead of fighting it. */
.nc-quote blockquote {
	margin: 0;
	padding-left: var(--nc-space-md);
	border-left: 3px solid var(--e-global-color-primary);
	font-size: inherit;
	font-style: normal;
	color: inherit;
	background: none;
	quotes: none;
}

.nc-quote blockquote::before,
.nc-quote blockquote::after {
	content: none;
}

.nc-quote blockquote p:last-child {
	margin-bottom: 0;
}
