/*
Theme Name: Ecco Battery and Metal Recycling
Theme URI: https://ecco-recycling.com
Author: Ecco Battery and Metal Recycling
Description: Custom classic theme for Ecco Battery and Metal Recycling, a lithium-ion battery wet mechanical recycling company.
Version: 1.0.0
Text Domain: ecco
*/

*,
*::before,
*::after {
	box-sizing: border-box;
}

@font-face {
	font-family: 'Astro';
	src: url('assets/fonts/Astro-400.ttf') format('truetype');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Velour Logo';
	src: url('fonts/Velour-SemiBold.ttf') format('truetype');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Astro';
	src: url('assets/fonts/Astro-500.ttf') format('truetype');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Astro';
	src: url('assets/fonts/Astro-600.ttf') format('truetype');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Astro';
	src: url('assets/fonts/Astro-700.ttf') format('truetype');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

:root {
	--color-primary-green: #176A43;
	--color-accent-green: #37B86B;
	--color-cta-amber: #E9914B;
	--color-dark: #0D2119;
	--color-bg: #FFFFFF;
	--color-bg-alt: #F3F7F4;
	--color-border: #D7E1DA;
	--color-text: #46564D;
	--color-text-dark: #23382E;
	--color-soft-green: #E6F3EA;
	--color-copper-soft: #F8EBDD;
	--radius-sm: 8px;
	--radius-md: 14px;
	--ease-out: cubic-bezier(0.22, 1, 0.36, 1);

	--font-heading: 'Astro', sans-serif;
	--font-body: 'Astro', sans-serif;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	font-family: var(--font-body);
	color: var(--color-text);
	background-color: #FBFCFB;
	font-size: 1rem;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

h1, h2, h3, h4 {
	font-family: var(--font-heading);
	color: var(--color-dark);
	line-height: 1.08;
	letter-spacing: -0.025em;
	margin: 0 0 1rem;
	text-wrap: balance;
}

h1 { font-size: clamp(2.75rem, 5.6vw, 5.25rem); letter-spacing: -0.038em; }
h2 { font-size: clamp(2.25rem, 4vw, 4rem); letter-spacing: -0.035em; }
h3 { font-size: clamp(1.15rem, 1.7vw, 1.45rem); }

p {
	margin: 0 0 1rem;
	text-wrap: pretty;
}

a {
	color: var(--color-primary-green);
}

a,
button,
input,
textarea,
select {
	-webkit-tap-highlight-color: transparent;
}

:focus-visible {
	outline: 3px solid rgba(55, 184, 107, 0.72);
	outline-offset: 4px;
}

::selection {
	background: var(--color-accent-green);
	color: var(--color-dark);
}

img {
	max-width: 100%;
	display: block;
}

.container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 clamp(1rem, 3vw, 2rem);
}

.section {
	padding: clamp(5rem, 9vw, 8.5rem) 0;
}

.section--alt {
	background-color: var(--color-bg-alt);
}

.section--dark {
	background-color: var(--color-dark);
	color: #C9D8CF;
}

.section--dark h2,
.section--dark h3 {
	color: #FFFFFF;
}

.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 3.25rem;
	padding: 0.8rem 1.5rem;
	border-radius: 999px;
	font-family: var(--font-heading);
	font-weight: 700;
	text-decoration: none;
	transition: transform 0.25s var(--ease-out), background-color 0.25s ease, color 0.25s ease;
}

.btn--primary {
	background-color: var(--color-primary-green);
	color: #FFFFFF;
}

.btn--primary:hover {
	background-color: var(--color-accent-green);
	transform: translateY(-2px);
}

.btn--cta {
	background-color: var(--color-cta-amber);
	color: var(--color-dark);
}

.btn--cta:hover {
	background-color: #F2A665;
	transform: translateY(-2px);
}

.btn:active {
	transform: translateY(0);
}

.site-main {
	display: block;
}

.site-main--fallback {
	min-height: 60vh;
	padding-top: clamp(4rem, 8vw, 7rem);
	padding-bottom: clamp(4rem, 8vw, 7rem);
}
