:root {
		--background: #f8eee6;
		--text: #18120c;
		--accent: #18120c;
		--menu-bg: #ede3d5;
		--menu-hover: #d6c7b0;
		--font-main: 'EB Garamond', 'Georgia', serif;
		--font-script: 'EB Garamond', 'Georgia', serif;
}

body {
	background: var(--background);
	color: var(--text);
	font-family: var(--font-main);
	margin: 0;
	padding: 0;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
}

h1 {
	font-family: var(--font-main);
	font-size: 2.7rem;
	letter-spacing: 0.25em;
	font-weight: bold;
	margin-top: 2.5rem;
	margin-bottom: 1.5rem;
	text-transform: uppercase;
}

h1::before {
	content: "\2665 "; /* Heart symbol */
	color: #b71c1c;
	font-size: 1.5rem;
	vertical-align: middle;
	margin-right: 0.3em;
}

h1::after {
	content: "\1F384"; /* Christmas tree emoji */
	font-size: 1.5rem;
	vertical-align: middle;
	margin-left: 0.3em;
}
}

p {
	font-family: var(--font-script);
	font-size: 1.5rem;
	margin-bottom: 2.5rem;
	color: var(--text);
}

ul {
		list-style: none;
		padding: 0;
		margin: 2.5rem 0 0 0;
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 1.1rem;
		background: none;
		border: none;
		box-shadow: none;
		max-width: 350px;
		width: 100%;
	}

li {
		width: 100%;
		text-align: center;
	}

a {
		display: block;
		width: 100%;
		padding: 0.7rem 0;
		font-family: var(--font-main);
		font-size: 1.25rem;
		font-weight: 500;
		color: var(--accent);
		background: var(--menu-bg);
		border-radius: 8px;
		text-decoration: none;
		letter-spacing: 0.08em;
		transition: background 0.18s, color 0.18s;
		border: none;
		box-shadow: none;
}

a::before {
		content: "";
}

a:hover, a:focus {
		background: var(--menu-hover);
		color: var(--accent);
		outline: none;
}

@media (max-width: 900px) {
	body {
		padding: 0 0.5rem;
	}
	h1 {
		font-size: 1.4rem;
		margin-top: 1.2rem;
		margin-bottom: 1rem;
		letter-spacing: 0.12em;
	}
	h1::before, h1::after {
		font-size: 1.1rem;
		margin: 0 0.15em;
	}
	p {
		font-size: 1.05rem;
		margin-bottom: 1.2rem;
	}
	ul {
		max-width: 100vw;
		padding: 0.7rem 0.2rem;
		gap: 0.7rem;
	}
	a {
		font-size: 0.98rem;
		padding: 0.6rem 0;
		border-radius: 6px;
	}
}

.language-switcher {
  position: absolute;
  top: 1rem;
  right: 1rem;
}

.flag-link {
  display: inline-block !important;
  width: auto !important;
  padding: 0 !important;
  background: none !important;
  border-radius: 0 !important;
  text-decoration: none !important;
  font-size: initial !important;
  font-weight: normal !important;
  color: transparent !important;
  letter-spacing: normal !important;
  transition: none !important;
  border: none !important;
  box-shadow: none !important;
}

.flag-link:hover, .flag-link:focus {
  background: none !important;
  color: transparent !important;
}

.flag-link img {
  display: block;
  border: 1px solid var(--accent);
  border-radius: 2px;
  padding: 2px;
}
