/**
 * Baldų ABC global design tokens.
 * Routine layout/content styling should be controlled through Elementor where practical.
 */

/* Original upright variable WOFF2 files; provenance and OFL licenses are in ../fonts/. */
@font-face {
	font-family: "Space Grotesk";
	src: url("../fonts/space-grotesk-variable.woff2") format("woff2");
	font-style: normal;
	font-weight: 300 700;
	font-display: swap;
}

@font-face {
	font-family: "Plus Jakarta Sans";
	src: url("../fonts/plus-jakarta-sans-variable.woff2") format("woff2");
	font-style: normal;
	font-weight: 200 800;
	font-display: swap;
}

:root {
	/* Brand colors */
	--ba-color-primary: #E84A10;
	--ba-color-primary-hover: #D6400A;
	--ba-color-secondary: #121212;
	--ba-color-tertiary: #E7E3DE;
	--ba-color-neutral: #F8F7F5;
	--ba-color-white: #FFFFFF;

	/* Typography */
	--ba-font-heading: "Space Grotesk", Arial, sans-serif;
	--ba-font-body: "Plus Jakarta Sans", Arial, sans-serif;

	/* Layout */
	--ba-container-max: 1280px;
	--ba-gutter: clamp(20px, 4vw, 48px);

	/* Radius */
	--ba-radius-sm: 10px;
	--ba-radius-md: 18px;
	--ba-radius-lg: 28px;

	/* Motion */
	--ba-transition-fast: 180ms ease;
	--ba-transition-base: 260ms ease;
}

html {
	box-sizing: border-box;
	scroll-behavior: smooth;
}

*,
*::before,
*::after {
	box-sizing: inherit;
}

body {
	margin: 0;
	color: var(--ba-color-secondary);
	background: var(--ba-color-white);
	font-family: var(--ba-font-body);
	font-weight: 400;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--ba-font-heading);
	font-weight: 600;
}

p, button, input, select, textarea, label, nav, .elementor-button {
	font-family: var(--ba-font-body);
}

img,
svg,
video {
	max-width: 100%;
	height: auto;
}

a {
	color: inherit;
}

/* Accessible keyboard focus */
:focus-visible {
	outline: 3px solid var(--ba-color-primary);
	outline-offset: 3px;
}

/* Reusable content width helper for custom components. */
.ba-container {
	width: min(100% - (var(--ba-gutter) * 2), var(--ba-container-max));
	margin-inline: auto;
}

/* Respect reduced-motion preferences. */
@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

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