@import url('https://fonts.googleapis.com/css2?family=Roboto+Condensed:wght@700&display=swap');

/* //////////////////////////// VARIABLES //////////////////////////// */

:root {
	--content-main-bg: #1e1a23;
	--content-dark-bg: #0b0015;

	--text-light-color: #a193b3;
	--purple-color: #c985ff;

	--editor-item-color: white;
	--editor-item-hover-color: var(--purple-color);
	--editor-item-border-color: rgba(255, 255, 255, 0.1);

	--content-max-width: 1200px;
	--admin-content-max-width: 800px;

	--social-width: 4rem;
}

@media (max-width: 1440px) {
	:root {
		--content-max-width: 1024px;
	}
}

@media (max-width: 1280px) {
	:root {
		--content-max-width: 900px;

		--social-width: 3.5rem;
	}
}

/* //////////////////////////// STYLES //////////////////////////// */

* {
	margin: 0;
	padding: 0;
	outline: 0;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	overflow-x: hidden;
	overflow-y: auto;
}

body {
	color: white;
	font-family: Helvetica, Arial, sans-serif;
	background-color: var(--content-main-bg);
}

h1,
h2,
h3,
h4,
h5 {
	font-family: 'Roboto Condensed', sans-serif;
	text-transform: uppercase;
}

h1 {
	font-size: 2.333rem;
}

h2 {
	font-size: 2rem;
}

h3 {
	font-size: 1.666rem;
	color: var(--text-light-color);
}

h3 a {
	color: var(--text-light-color);
	text-decoration: none;
	transition: all 0.2s ease;
}

h3 a:hover {
	color: white;
}

h4 {
	font-size: 1.333rem;
}

h5 {
	font-size: 1rem;
}

p {
	line-height: 1.5;
	word-wrap: anywhere;
}

p a {
	color: var(--text-light-color);
	text-decoration: none;
	transition: all 0.2s ease;
}

p a:hover {
	color: white;
}

img {
	display: block;
	max-width: 100%;
	-webkit-user-select: none;
	user-select: none;
}

blockquote,
.ql-editor blockquote {
	position: relative;
	margin: 2rem auto !important;
	padding: 1rem 1.5rem 1rem 3rem !important;
	font-size: 1.25rem;
	line-height: 1.5;
	background: rgba(255, 255, 255, 0.1);
	border-radius: 0.5rem;
	border: none !important;
}

blockquote::before,
.ql-editor blockquote::before {
	content: '';
	position: absolute;
	width: 5px;
	height: calc(100% - 2rem);
	top: 1rem;
	left: calc(1.5rem - 2px);
	background: var(--editor-item-hover-color);
}

.text-center {
	text-align: center;
}

.text-justify {
	text-align: justify;
}

.margin-top-1x {
	margin-top: 1.5rem;
}

.margin-bottom-1x {
	margin-bottom: 1.5rem;
}

#social {
	display: flex;
	position: absolute;
	top: calc(var(--header-height) + 2rem);
	right: 2rem;
	/* left: calc(50% + (var(--content-max-width) / 2) + 2rem); */
	flex-direction: column;
	gap: 0.5rem;
}

#social > div {
	display: flex;
	width: var(--social-width);
	height: auto;
	aspect-ratio: 1;
	align-items: center;
	justify-content: center;
	background-color: #342c3f;
	opacity: 0.5;
	transition: opacity 0.3s ease;
}

#social > div img {
	width: 1.5rem;
	aspect-ratio: 1;
}

#social > div:hover {
	opacity: 1;
}

@media (min-width: 1141px) {
	#social.fixed {
		position: fixed;
		top: 2rem;
	}
}

@media (max-width: 1140px) {
	#social {
		display: none;
	}
}

#container {
	display: grid;
	position: relative;
	width: min(var(--content-max-width), 90%);
	margin: 2rem auto;
	grid-template-columns: 1fr 1fr;
	gap: 4rem;
}

#hero {
	position: relative;
	/* height: 300px; */
	grid-column: span 2;
}

#hero::after {
	content: '';
	position: absolute;
	width: 100%;
	height: 2px;
	bottom: calc(-2rem - 1px);
	left: 0;
	background-color: white;
}

/* #hero img {
	width: 100%;
	height: 100%;
	object-fit: cover;
} */

#actual {
	position: relative;
}

#actual::after {
	content: '';
	position: absolute;
	width: 2px;
	height: calc(100% + 2rem);
	top: -2rem;
	right: calc(-2rem - 1px);
	background-color: white;
}

#gdpr-left {
	position: relative;
}

#gdpr-left::after {
	content: '';
	position: absolute;
	width: 2px;
	height: 100%;
	top: 0;
	right: calc(-2rem - 1px);
	background-color: white;
}

button {
	display: inline-block;
	padding: 12px 32px;
	font-family: 'Roboto Condensed', sans-serif;
	font-size: 16px;
	color: var(--content-main-bg);
	text-align: center;
	background-color: white;
	border: none;
	cursor: pointer;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	transition: all 0.2s ease;
}

button:hover {
	color: white;
	background-color: #4caf50;
}

iframe {
	display: block;
	width: 100%;
}

.aspect-16-9 {
	aspect-ratio: 16/9;
}

hr.line {
	width: 50%;
	height: 1px;
	margin: 30px auto;
	background-color: var(--text-light-color);
	border: 0;
}

footer {
	display: flex;
	position: relative;
	width: 100%;
	height: var(--header-height);
	align-items: center;
	justify-content: center;
	font-size: 0.9rem;
	color: var(--text-light-color);
	background-color: var(--content-dark-bg);
}

/* ///////////////////////// FŐOLDAL ///////////////////////// */

.article-thumbnail {
	display: block;
	position: relative;
	aspect-ratio: 16/9;
	overflow: hidden;
}

.article-thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1.1);
	transition: transform 0.3s ease;
}

.article-thumbnail:hover img {
	transform: scale(1);
}

.article-thumbnail::after {
	content: '';
	position: absolute;
	inset: 0;
	background-color: var(--purple-color);
	opacity: 0;
	mix-blend-mode: hard-light;
	transition: opacity 0.3s ease;
	pointer-events: none;
}

.article-thumbnail:hover::after {
	opacity: 0.333;
}

.article-info {
	display: flex;
	margin-top: 0.333rem;
	align-items: center;
	color: var(--text-light-color);
	gap: 0.666em;
}

.article-info div {
	display: inline-flex;
}

.article-info span.material-symbols-outlined {
	font-size: 1em;
	margin-right: 0.25em;
}

.article-info a {
	color: var(--text-light-color);
	text-decoration: none;
	transition: all 0.2s ease;
}

.article-info a:hover {
	color: white;
}

.category-label {
	position: absolute;
	bottom: 0;
	left: 0;
	padding: 0.5em 1em;
	color: white;
	font-size: 1rem;
	font-family: 'Roboto Condensed', sans-serif;
	text-decoration: none;
	text-transform: uppercase;
	background-color: var(--purple-color);
}

.article .category-label {
	font-size: 0.666rem;
}

#main-left,
#main-right {
	position: relative;
}

#main-left::after {
	content: '';
	position: absolute;
	width: 2px;
	height: calc(100% + 2rem);
	top: 0;
	right: calc(-2rem - 1px);
	background-color: white;
}

#categories {
	position: relative;
	grid-column: span 2;
}

#categories::after {
	content: '';
	position: absolute;
	width: 100%;
	height: 2px;
	top: calc(-2rem - 1px);
	left: 0;
	background-color: white;
}

#categories-container {
	display: grid;
	position: relative;
	width: 100%;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 4rem;
}

#categories-container .article-info,
#featured .article-info {
	font-size: 0.9rem;
}

#categories div {
	position: relative;
}

#categories div.rightbar::after {
	content: '';
	position: absolute;
	width: 2px;
	height: calc(100% + 2rem);
	top: -2rem;
	right: calc(-2rem - 1px);
	background-color: white;
}

/* ///////////////////////// ARTICLE ///////////////////////// */

.article-img {
	display: block;
	position: relative;
	aspect-ratio: 16/9;
	overflow: hidden;
}

.article-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.article-link {
	text-decoration: none;
	color: white;
	transition: color 0.3s ease;
}

.article-link:hover {
	color: var(--purple-color);
}

#article-container {
	display: grid;
	position: relative;
	width: min(var(--content-max-width), 90%);
	margin: 2rem auto;
	grid-template-columns: 5fr 2fr;
	gap: 4rem;
}

#article {
	position: relative;
}

#article::after {
	content: '';
	position: absolute;
	width: 2px;
	height: calc(100% + 2rem);
	top: 0;
	right: calc(-2rem - 1px);
	background-color: white;
}

#featured {
	display: grid;
	position: relative;
	width: 100%;
	grid-template-columns: 1fr;
	align-content: flex-start;
	gap: 4rem;
}

/* #featured #trip-check::after,
#featured #deep-check::after {
	content: '';
	position: absolute;
	width: 100%;
	height: 2px;
	bottom: calc(-2rem - 1px);
	left: 0;
	background-color: white;
} */

/* ///////////////////////// LOGIN ///////////////////////// */

#login-container {
	display: flex;
	width: 100%;
	min-height: 100vh;
	align-items: center;
	justify-content: center;
}

#login {
	display: flex;
	width: min(360px, 90%);
	padding: 2rem;
	flex-direction: column;
	align-items: center;
	background: var(--content-dark-bg);
	border-radius: 1rem;
}

#login #kmmlogo {
	max-width: 66.6%;
	margin-bottom: 2rem;
}

#login form {
	display: flex;
	width: 100%;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

#login input {
	display: inline-block;
	width: 100%;
	padding: 0.666rem;
	color: white;
	font-size: 15px;
	background: rgba(255, 255, 255, 0.2);
	border: 1px solid rgba(255, 255, 255, 0.1);
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	transition: all 0.3s ease;
}

#login input:active,
#login input:focus {
	border: 1px solid rgba(255, 255, 255, 0.5);
}

#login input + input {
	margin-top: 1rem;
}

#login input + button {
	margin-top: 2rem;
}

/* ///////////////////////// COOKIES ///////////////////////// */

div#cookies {
	display: none;
	position: fixed;
	width: 100%;
	bottom: 0;
	left: 0;
	color: white;
	background-color: var(--content-dark-bg);
	z-index: 9998;
}

div#cookies div.content {
	position: relative;
	width: min(var(--content-max-width), 90%);
	height: 100%;
	margin: 0 auto;
	padding: 1em 0;
}

div#cookies div.row {
	display: flex;
	width: 100%;
	gap: 1em;
	align-items: center;
}

/* ///////////////////////// LANDING ///////////////////////// */

#landing {
	display: flex;
	position: fixed;
	inset: 0;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

#landing img {
	width: 14vw;
	min-width: 260px;
	margin-bottom: 2rem;
}

/* ///////////////////////// TABELLA ///////////////////////// */

#tabella {
	position: relative;
	width: min(var(--content-max-width), 90%);
	margin: 0 auto;
}

#tabella.comebackin2026 {
	display: flex;
	height: calc(100vh - var(--header-height) - var(--header-height));
	align-items: center;
	justify-content: center;
	text-align: center;
}

#tabella section {
	display: flex;
	position: relative;
	width: 100%;
	padding: 6rem 0;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

#tabella section::after {
	content: '';
	position: absolute;
	width: 33.3%;
	height: 2px;
	bottom: -2px;
	left: 33.3%;
	background-color: white;
}

#tabella h2 {
	margin-bottom: 6rem;
}

#tabella h3 {
	margin-top: 6rem;
}

#tabella h3 + h3 {
	margin-top: 3rem;
}

#tabella h5 {
	margin-top: 0.5rem;
}

#tabella .bands {
	display: grid;
	width: 100%;
	place-content: center;
	text-align: center;
	gap: 4rem;
}

/* #tabella .bands.ended {
	width: 80%;
} */

/* #tabella .bands.ended + .bands.ended {
	margin-top: 4rem;
} */

#tabella .bands.grid-3 {
	grid-template-columns: repeat(3, 1fr);
}

#tabella .bands.grid-4 {
	grid-template-columns: repeat(4, 1fr);
}

#tabella .bands.grid-4 .band {
	margin: 0 12%;
}

#tabella .bands.grid-5 {
	grid-template-columns: repeat(5, 1fr);
}

#tabella .band-img {
	display: inline-block;
	position: relative;
	max-width: 160px;
	aspect-ratio: 1;
}

#tabella .ended .band .band-img::after {
	content: attr(data-score);
	display: grid;
	position: absolute;
	inset: 0;
	place-content: center;
	color: white;
	font-family: 'Roboto Condensed', sans-serif;
	font-size: 1.666rem;
	background-color: rgba(118, 37, 183, 0.333);
	border-radius: 50%;
	opacity: 0;
	transition: opacity 0.3s ease;
}

#tabella .ended .band:hover .band-img::after {
	opacity: 1;
}

/* #tabella .ended .band.correction .band-img::before {
	content: '';
	display: block;
	position: absolute;
	inset: 0;
	background-color: rgba(0, 0, 0, 0.5);
	border-radius: 50%;
	opacity: 0;
	transition: opacity 0.3s ease;
} */

/* #tabella .ended .band.correction:hover .band-img::before {
	opacity: 1;
} */

#tabella .band-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 50%;
}

#tabella .band.off img,
#tabella .band.off h5 {
	opacity: 0.333;
}

@media (max-width: 1366px) {
	#tabella section {
		padding: 4rem 0;
	}

	#tabella h2 {
		margin-bottom: 4rem;
	}

	#tabella h3 {
		margin-top: 4rem;
	}
}

/* ///////////////////////// MOBILE VIEW ///////////////////////// */

@media (max-width: 1023px) {
	#social {
		display: flex;
		top: 0;
		right: calc(9% + 24px);
		/* left: unset; */
		flex-direction: row;
		gap: 1rem;
		z-index: 9999;
	}

	#social > div {
		width: auto;
		height: var(--header-height);
		aspect-ratio: auto;
		background-color: transparent;
		opacity: 1;
	}

	#social > div img {
		width: 1rem;
		opacity: 0.5;
	}
}

@media (max-width: 480px) and (orientation: portrait) {
	h3 {
		font-size: 6vw;
		text-align: center;
	}

	#container,
	#categories-container,
	#article-container {
		grid-template-columns: 1fr;
	}

	#hero,
	#categories {
		grid-column: 1;
	}

	#actual::after,
	#main-left::after,
	#categories #trip-check::after,
	#categories #deep-check::after,
	#article::after {
		width: 100%;
		height: 2px;
		top: unset;
		right: unset;
		bottom: calc(-2rem - 1px);
		left: 0;
		background-color: white;
	}

	#gdpr-left::after {
		display: none;
	}

	div#cookies div.row {
		flex-direction: column;
		text-align: center;
	}

	#landing img {
		width: 60vw;
		min-width: 0;
	}

	#tabella h5 {
		margin-top: 0;
	}

	#tabella .bands {
		gap: 2rem;
	}

	/* #tabella .bands.ended {
		width: 100%;
	} */

	#tabella .bands.grid-3,
	#tabella .bands.grid-4,
	#tabella .bands.grid-5 {
		grid-template-columns: 1fr;
	}

	#tabella .bands.grid-4 .band {
		margin: 0;
	}

	#tabella .band-img {
		display: none;
	}
}

@media (max-width: 320px) {
	#social {
		display: none;
	}
}

/* ///////////////////////// ADMIN ///////////////////////// */

#admin-container {
	display: block;
	position: relative;
	width: min(var(--admin-content-max-width), 90%);
	margin: 2rem auto;
}

#article-editor {
	min-width: 0;
}

.ql-toolbar.ql-snow,
.ql-container.ql-snow {
	background: rgba(255, 255, 255, 0.2);
}

.ql-toolbar.sticky {
	position: fixed;
	width: min(var(--admin-content-max-width), 90%);
	top: 0;
	left: 50%;
	background: var(--content-main-bg) !important;
	z-index: 999;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

.ql-snow .ql-picker-options {
	background-color: var(--content-main-bg);
}

.ql-editor.ql-blank::before {
	color: rgba(255, 255, 255, 0.5);
}

.ql-editor * {
	color: white !important;
}

.ql-editor .ql-video,
.embed-responsive {
	width: 100%;
	height: auto;
	aspect-ratio: 16/9;
}

.embed-responsive-item {
	height: 100%;
}

#editor-container input#title {
	display: inline-block;
	width: 100%;
	margin: 2rem 0 1rem;
	padding: 12px 15px;
	color: white;
	font-family: Helvetica, Arial, sans-serif;
	font-size: 13px;
	background: rgba(255, 255, 255, 0.2);
	border: 1px solid rgba(255, 255, 255, 0.1);
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	transition: all 0.3s ease;
}

#editor-container + button {
	margin-top: 2rem;
}

.articles-header {
	display: flex;
	justify-content: space-between;
}

#new-article {
	display: flex;
	align-items: center;
	color: var(--editor-item-color);
	text-decoration: none;
	transition: all 0.2s ease;
}

#new-article:hover {
	color: var(--editor-item-hover-color);
}

.article-list {
	display: flex;
	margin: 2rem auto 4rem;
	flex-direction: column;
	font-size: 13px;
}

.article-list-header,
.article-list-item {
	display: flex;
	width: 100%;
	padding: 12px 15px;
	flex-direction: row;
	font-weight: bold;
	background: rgba(255, 255, 255, 0.2);
	border: 1px solid rgba(255, 255, 255, 0.1);
}

.article-title {
	display: flex;
	flex: 0 0 25%;
	align-items: center;
	overflow: hidden;
}

.article-author {
	display: flex;
	flex: 0 0 30%;
	align-items: center;
	overflow: hidden;
}

.article-date {
	display: flex;
	flex: 0 0 25%;
	align-items: center;
	overflow: hidden;
}

.article-action {
	display: flex;
	flex: 0 0 20%;
	align-items: center;
	justify-content: space-evenly;
	overflow: hidden;
}

.article-action a {
	display: inline-block;
	font-size: 0;
	color: var(--editor-item-color);
}

.article-action a:hover {
	color: var(--editor-item-hover-color);
}

.article-action span.material-symbols-outlined {
	font-size: 20px;
}

.article-action span.dot {
	display: block;
	width: 16px;
	height: 16px;
	border-radius: 50%;
}

.article-action span.dot.draft {
	background-color: rgba(255, 255, 255, 0.333);
}

.article-action span.dot.published {
	background-color: #4caf50;
}

.article-title span,
.article-author span,
.article-date span {
	display: block;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

/* confirm */

.confirm-container > .confirm {
	display: none;
}

.confirm-container > .confirm-default {
	display: inline;
}

.confirm-container:focus-within > .confirm {
	display: inline;
}

.confirm-container:focus-within > .confirm-default {
	display: none;
}
