/* Reset a základní styl */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  place-items: center;
}

/* Stylování scrollbarů pro WebKit prohlížeče */
::-webkit-scrollbar {
  width: 8px; /* šířka svislého scrollbar */
  height: 8px; /* výška vodorovného scrollbar */
}

::-webkit-scrollbar-track {
  background: #1e1e1e; /* pozadí tracku */
}

::-webkit-scrollbar-thumb {
  background: #888; /* barva jezdce */
  border-radius: 10px;
}

::-webkit-scrollbar-thumb:hover {
  background: #555; /* barva při najetí myší */
}

* {
  scrollbar-width: thin; /* "auto", "thin" nebo "none" */
  scrollbar-color: #888 #1e1e1e; /* barva jezdce a pozadí */
}

body, html {
	font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
	height: 100%;
	width: 100%;
	color: #f5f5f5;
	background-color: #1e1b2e;
	overflow-x:hidden;
}

nav {
	width: 100vw;
	min-width: 100vw;
	background: transparent;
	margin-bottom: 0;
	padding: 0;
	justify-content: center;
	align-items: center; /* ZAROVNÁ NAVIGACI VERTIKÁLNĚ */
	height: 80px;
	position: fixed; /* Připne navbar nahoru */
	top: 0;
	left: 0;
	z-index: 100;
	display: flex;
	position: relative;
}


nav ul {
  display: flex;
  list-style: none;
  justify-content: center;
  gap: 60px; /* větší mezery mezi položkami */
  width: 100vw;
  padding: 0 40px;
  align-items: center;
}

nav li {
  flex: 0 0 auto;
}

nav a {
  text-decoration: none;
  color: #c9a4ff;
  font-weight: 600;
  font-size: 1.25rem; /* větší písmo */
  padding: 12px 24px;
  border-radius: 8px;
  transition: color 0.3s, background 0.3s;
}

nav a:hover {
  color: #fff;
  background: #8b5cf6;
}

/* Hlavní část */
/* main {
	display: flex;
	position: relative;
} */

#main-overlay {
  background: url('background.png') no-repeat center center/cover;
  width: 100vw;
  height: 60vh;
  /* min-height: calc(100vh - 80px); */
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0;
  position: relative;
  z-index: 10;
}


/* Vystředění overlayu přesně doprostřed stránky */
#main-overlay {
  inset: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 10;
  background: url('background.png') no-repeat center center/cover;
}

.overlay {
	background-color: rgba(36, 24, 56, 0.85);
	padding: 40px;
	border-radius: 20px;
	text-align: center;
	backdrop-filter: blur(5px);
	max-width: 600px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	justify-content: center; 
	align-items: center;
	min-height: 0;
	min-width: 0;
}

.overlay h1 {
  font-size: 2.5rem;
  margin-bottom: 20px;
  color: #e0c8ff;
}

.discord-button {
  display: inline-block;
  margin-top: 25px;
  padding: 12px 25px;
  background-color: #8b5cf6;
  color: #fff;
  text-decoration: none;
  font-weight: bold;
  border: none;
  border-radius: 8px;
  font-size: 1rem;
  transition: background-color 0.3s ease;
}

.discord-button:hover {
  background-color: #7c3aed;
}

/* Sekce tým */
#tym-section {
  background-color: #2b2245;
  padding: 60px 20px;
  text-align: center;
  min-height: 100vh;
  box-sizing: border-box;
  overflow-y: auto;
}

#tym-section h2 {
  font-size: 2rem;
  margin-bottom: 30px;
  color: #d5b4ff;
}

#tym div {
  margin-bottom: 15px;
  font-size: 1.1rem;
  color: #e9dbff;
}

.team-role-group {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 24px;
  margin-bottom: 32px;
}

.team-card {
  background: #241838;
  border-radius: 12px;
  padding: 18px 24px;
  text-align: center;
  box-shadow: 0 2px 8px rgba(0,0,0,0.18);
  min-width: 120px;
}

.team-card img {
  margin-bottom: 10px;
}

#tym-section h3 {
  color: #bfaaff;
  margin: 32px 0 16px 0;
  font-size: 1.3rem;
}

/* Loader styly */
.loader-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 40px 0;
}

.loader {
  border: 6px solid #bfaaff;
  border-top: 6px solid #8b5cf6;
  border-radius: 50%;
  width: 48px;
  height: 48px;
  animation: spin 1s linear infinite;
  margin-bottom: 16px;
}

@keyframes spin {
  0% { transform: rotate(0deg);}
  100% { transform: rotate(360deg);}
}







/* slide show */


:root {
	--items: 6;
	--carousel-duration: 40s;

	--carousel-width: min(
		80vw,
		1200px
	); /* note - it will "break" if it gets too wide and there aren't enough items */
	--carousel-item-width: 280px;
	--carousel-item-height: 400px;
	--carousel-item-gap: 2rem;

	--clr-cta: rgb(0, 132, 209);
}

/* @layer demo { */
	.carousel {

		/* background-color: light-dark(var(--bg-light), var(--bg-dark));
		color: light-dark(var(--txt-light), var(--txt-dark));
		min-height: 100svh;
		margin: 0;
		padding: 1rem;
		font-size: 1rem;
		font-family: "Abel", sans-serif;
		line-height: 1.5;
		display: grid; */
		/* place-items: center; */
		/* gap: 2rem; */
		


		margin-top: 1rem;
		margin-bottom: 1rem;
		position: relative;
		width: var(--carousel-width);
		height: var(--carousel-item-height);
		overflow: clip;

		&[mask] {
			/* fade out on sides */
			mask-image: linear-gradient(
				to right,
				transparent,
				black 10% 90%,
				transparent
			);
		}

		&[reverse] > article {
			animation-direction: reverse;
		}
		/* hover pauses animation */
		&:hover > article {
			animation-play-state: paused;
		}
	}
	.carousel > article {
		position: absolute;
		top: 0;
		left: calc(100% + var(--carousel-item-gap));
		width: var(--carousel-item-width);
		height: var(--carousel-item-height);
		display: grid;
		grid-template-rows: 200px auto 1fr auto;
		gap: 0.25rem;
		border: 1px solid light-dark(rgba(0 0 0 / 0.25), rgba(255 255 255 / 0.15));

		padding-block-end: 1rem;
		border-radius: 10px;
		background: light-dark(white, rgba(255 255 255 / 0.05));
		color: light-dark(rgb(49, 65, 88), white);

		/* animation */
		will-change: transform;
		animation-name: marquee;
		animation-duration: var(--carousel-duration);
		animation-timing-function: linear;
		animation-iteration-count: infinite;
		animation-delay: calc(
			var(--carousel-duration) / var(--items) * 1 * var(--i) * -1
		);
		&:nth-child(1) {
			--i: 0;
		}
		&:nth-child(2) {
			--i: 1;
		}
		&:nth-child(3) {
			--i: 2;
		}
		&:nth-child(4) {
			--i: 3;
		}
		&:nth-child(5) {
			--i: 4;
		}
		&:nth-child(6) {
			--i: 5;
		}
		&:nth-child(7) {
			--i: 6;
		}
		&:nth-child(8) {
			--i: 7;
		}
	}
	.carousel img {
		width: 100%;
		height: 100%;
		object-fit: cover;

		border-radius: 10px 10px 0 0;
	}
	.carousel > article > *:not(img) {
		padding: 0 1rem;
	}
	.carousel > article > div {
		grid-row: span 2;
		display: grid;
		grid-template-rows: subgrid;
		font-size: 0.8rem;
	}
	.carousel > article h2 {
		font-size: 1.2rem;
		font-weight: 300;
		padding-block: 0.75rem 0.25rem;
		margin: 0;
	}
	.carousel > article p {
		margin: 0;
	}
	.carousel > article a {
		text-decoration: none;
		text-transform: lowercase;
		border: 1px solid var(--clr-cta);
		color: light-dark(var(--clr-cta), white);
		border-radius: 3px;
		padding: 0.25rem 0.5rem;
		place-self: start;
		transition: 150ms ease-in-out;
		&:hover,
		&:focus-visible {
			background-color: var(--clr-cta);
			color: white;
			outline: none;
		}
	}

	@keyframes marquee {
		100% {
			transform: translateX(
				calc(
					(var(--items) * (var(--carousel-item-width) + var(--carousel-item-gap))) *
						-1
				)
			);
		}
	}
/* } */

/* general styling */
@layer base {
	* {
		box-sizing: border-box;
	}
	:root {
		color-scheme: light dark;

		--bg-dark: rgb(2, 6, 24);
		--bg-light: rgb(229, 229, 229);
		--txt-light: rgb(10, 10, 10);
		--txt-dark: rgb(245, 245, 245);
	}
}
