:root {
	--color-brand-1: 118 110 99;
	--color-brand-2: 58 74 104;
	--color-bingo-1: 179 14 80;
	--color-bingo-2: 255 51 0;
	--color-bingo-3: 252 75 84;
	--color-bingo-4: 253 136 45;
	--color-bingo-5: 67 194 193;
	--color-white: 255 255 255;
	--color-grey-100: 249 249 249;
	--color-grey-200: 229 229 229;
	--color-grey-300: 209 209 209;
	--color-grey-400: 163 163 163;
	--color-grey-500: 115 115 115;
	--color-grey-600: 82 82 82;
	--color-grey-700: 64 64 64;
	--color-grey-800: 38 38 38;
	--color-grey-900: 23 23 23;
	--color-black: 0 0 0;
	--color-action: var(--color-brand-2);
	--color-danger: var(--color-bingo-2);
	--font-default: 'Poppins';
	--font-heading: 'Kavoon';

	background-color: rgb(var(--color-grey-900));
	color: rgb(var(--color-white) / 87%);
	color-scheme: light dark;
	font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-synthesis: none;
	font-weight: 400;
	line-height: 1.5;
	text-rendering: optimizelegibility;
}

/* kavoon-regular - latin */
@font-face {
	font-display: swap;
	font-family: Kavoon;
	font-style: normal;
	font-weight: 400;
	src: url('../fonts/kavoon-v23-latin-regular.woff2') format('woff2');
}

/* poppins-regular - latin */
@font-face {
	font-display: swap;
	font-family: Poppins;
	font-style: normal;
	font-weight: 400;
	src: url('../fonts/poppins-v22-latin-regular.woff2') format('woff2');
}

  /* poppins-700 - latin */
@font-face {
	font-display: swap;
	font-family: Poppins;
	font-style: normal;
	font-weight: 700;
	src: url('../fonts/poppins-v22-latin-700.woff2') format('woff2');
}

* {
	box-sizing: border-box;
}


body {
	align-items: center;
	background: rgb(var(--color-grey-100));
	background-attachment: fixed;
	background-image: url('/assets/images/background-delaque.png');
	background-position: left top;
	background-repeat: no-repeat;
	background-size: 50vh;
	font-family: var(--font-default);
	justify-content: center;
	margin: 0;
	min-height: 100vh;
	min-width: 320px;
}

a {
	color: rgb(var(--color-bingo-2));
	font-weight: 500;
	text-decoration: inherit;
}

a:hover {
	color: rgb(var(--color-bingo-3));
}


h1 {
	font-family: var(--font-heading);
	font-size: 4.5em;
	line-height: 1.1;
}

h2 {
	font-family: var(--font-heading);
	font-size: 2.5em;
	line-height: 1.1;
}

button {
	background-color: rgb(var(--color-grey-800));
	border: 1px solid transparent;
	border-radius: 8px;
	cursor: pointer;
	font-family: inherit;
	font-size: 1em;
	font-weight: 500;
	padding: 0.6em 1.2em;
	transition: border-color 0.25s;
}

button:hover {
	border-color: rgb(var(--color-bingo-2));
}

button:focus,
button:focus-visible {
	outline: 4px auto -webkit-focus-ring-color;
}

.card {
	padding: 2em;
}

#app {
	margin: 0 auto;
	max-width: 1560px;
	padding: 0;
	text-align: center;
	width: 100%;
}


.btn {
	border: none;
	border-radius: 4px;
	color: rgb(var(--color-white));
	cursor: pointer;
	flex: 1;
	font-size: 1rem;
	font-weight: bold;
	min-width: 120px;
	padding: 0.75rem 1.5rem;
	transition: all 0.2s ease;
}

.btn.save {
	background: rgb(var(--color-action));
}

.btn.cancel {
	background: rgb(var(--color-grey-400));
	color: rgb(var(--color-black));
}

.btn.reset {
	background: rgb(var(--color-bingo-1));
}

.btn:hover {
	filter: brightness(1.1);
	transform: translateY(-1px);
}

.btn.title {
	color: rgb(var(--color-grey-800));
}

.btn.clear {
	background: rgb(var(--color-danger));
}

.btn.disabled {
	background: rgb(var(--color-brand-1));
}

.btn:active {
	transform: translateY(0);
}

@media (prefers-color-scheme: light) {
	:root {
		background-color: rgb(var(--color-white));
		color: rgb(var(--color-grey-800));
	}

	a:hover {
		color: rgb(var(--color-bingo-4));
	}

	button {
		background-color: rgb(var(--color-grey-100));
	}
}

li:not(:last-child) {
	margin-bottom: 1rem;
}

.content {
	border-radius: 8px;
	margin: 4rem auto 0;
	max-width: 1560px;
	padding: 2rem;
	width: 100%;
}

.about-content {
	display: grid;
	gap: 2rem;
	grid-template-columns: 1fr 2fr;
	margin: 0 auto;
}

.about-left {
	align-items: flex-start;
	display: flex;
	justify-content: center;
}

.about-logo {
	height: auto;
	max-width: 100%;
	width: 100%;
}

.about-right {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.about-bottom {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	grid-column: span 2;
}

.about-content h1 {
	color: rgb(var(--color-grey-900));
	margin: 0;
}

.about-content .slogan {
	color: rgb(var(--color-grey-600));
	font-family: var(--font-heading);
	font-size: 1.2rem;
	font-style: italic;
	margin: 0;
}

.about-content .description {
	color: rgb(var(--color-grey-700));
	font-size: 1rem;
	line-height: 1.6;
}

.about-content .copyright {
	align-items: center;
	border-top: 1px solid rgb(var(--color-grey-200));
	display: flex;
	gap: 2rem;
	justify-content: center;
	margin-top: auto;
	padding-top: 1.5rem;
}

.about-content .delaque-logo {
	height: 30px;
	width: auto;
}

.about-content .copyright p {
	color: rgb(var(--color-grey-500));
	margin: 0;
}

@media (width <= 640px) {
	.about-content {
		grid-template-columns: 1fr;
	}

	.about-logo {
		width: 150px;
	}

	.about-bottom {
		grid-column: 1;
	}
}
