/* --- Global Variables & Reset --- */
:root {
	--bg-color: #0f0f12;
	--card-bg: #1a1a20;
	--nav-bg: rgba(26, 26, 32, 0.98);
	--accent: #e53935; /* High-contrast Ruby Red */
	--accent-hover: #ff5252; /* Lighter Coral-Red for interaction */
	--highlight: #ffb300; /* Warm Amber for visibility */
	--text-main: #e0e0e0;
	--text-muted: #a0a0a0;
	--success: #27ae60;
	--border: #333;
	--nav-height: 60px;
}

* { box-sizing: border-box; }

body {
	background-color: var(--bg-color);
	color: var(--text-main);
	font-family: 'Inter', sans-serif;
	margin: 0;
	padding-top: var(--nav-height);
	line-height: 1.6;
}

a { color: inherit; text-decoration: none; transition: 0.2s; }

/* --- Navbar CSS (common to all pages) --- */
.headerBG { background: var(--nav-bg); backdrop-filter: blur(12px); border-bottom: 1px solid var(--border); }
.nav { position: fixed; top: 0; left: 0; width: 100%; height: var(--nav-height); display: flex; align-items: center; justify-content: center; z-index: 1000; }
#navMain { display: flex; }
#navMobile { display: none; width: 100%; justify-content: flex-end; padding-right: 20px; }
.navMainItem { padding: 0 20px; height: var(--nav-height); display: flex; align-items: center; cursor: pointer; font-weight: 500; font-size: 0.95rem; }
.navMainItem.hover:hover { background: rgba(142, 68, 173, 0.1); color: var(--accent-hover); }

/* Multi-column Language Dropdown */
.language-menu { position: relative; }
.dropdown-content {
	display: none;
	position: absolute;
	top: var(--nav-height);
	left: 50%;
	transform: translateX(-50%);
	background: var(--card-bg);
	border: 1px solid var(--border);
	min-width: 650px;
	padding: 20px;
	grid-template-columns: repeat(3, 1fr);
	gap: 5px;
	box-shadow: 0 15px 35px rgba(0,0,0,0.8);
}
.language-menu:hover .dropdown-content { display: grid; }
.dropdown-content a { padding: 8px 12px; font-size: 0.85rem; border-radius: 4px; }
.dropdown-content a:hover { background: var(--accent); color: white; }

#mobileContent { display: none; position: fixed; top: var(--nav-height); left: 0; width: 100%; height: calc(100vh - var(--nav-height)); background: var(--bg-color); z-index: 999; overflow-y: auto; }
#mobileContent ul { list-style: none; padding: 0; margin: 0; }
#mobileContent .navMainItem { border-bottom: 1px solid var(--border); width: 100%; height: 50px; }
.language-header { background: #111; color: var(--accent); font-weight: bold; }

/* --- Common Page Elements --- */
#main {
	position: absolute;
	width: 100%;
	height: auto;
	top: 0;
	left: 0;
}

hr {
	color: #c53935;
}

a:active, a:focus {
	outline: 0;
	border: none;
}

p {
	color: var(--text-main);
}

.light-purple {
	color: #F0D0F0;
}

.mobileMenu {
	position: relative;
	left: 0;
	width: 40%;
	height: 100%;
	text-align: center;
	display: inline-block;
	color: var(--text-main);
	font-size: 1.5rem;
	cursor: pointer;
}

.mobileMenu i {
	font-size: 2.5rem;
	position: relative;
}

.abovePage {
	display: none;
	position: fixed;
	z-index: 2;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding: 0;
	text-align: center;
	background-color: rgba(0,0,0,0.9);
}

.commandIcon {
	position: fixed;
	display: inline-block;
	color: #f2fffc;
	font-size: 5rem !important;
	margin-top: 0;
	margin-bottom: 0;
	cursor: pointer;
}

.commandIcon:hover {
	color: #c53935;
}

.close {
	position: absolute;
	top: 0;
	right: 0;
}

.formCommon {
	display: block;
	margin: 5%;
}

.formCommon input {
	width: 70%;
}

.formCommon button {
	width: 70%;
	padding: 0;
	font-size: 1rem;
	font-weight: bold;
	cursor: pointer;
}

.green {
	color: #10F010;
}

.yellow {
	color: #F0F010;
}

.purple {
	color: #C03FFF;
}

.red {
	color: #F01010;
}

.white {
	color: #f2fffc;
}

.blue {
	color: #4e9ed9;
}

.naked {
	text-decoration: none;
	color: #f2fffc;
}

.link {
	color: #4e9ed9;
}

/* --- Links Page Specific --- */
#descContainer {
	position: relative;
	left: 15%;
	width: 70%;
	height: auto;
	padding: 2.5% 5% 2.5% 5%;
	box-sizing: border-box;
	border-left: 1px solid var(--accent);
	border-right: 1px solid var(--accent);
}

.callButtons {
  text-align: center;
  width: 100%;
}

.leftCallButtons {
	text-align: center;
	width: 100%;
}

.callButton {
  background-color: var(--accent);
  min-width: 10rem;
  height: 3rem;
  text-align: center;
  display: inline-block;
  border: none;
  padding: 0;
  color: #131713;
  font-size: 1.3rem;
  font-weight: bold;
  margin-left: 5px;
  margin-right: 5px;
}

.callButton:hover {
  background-color: var(--accent-hover);
  cursor: pointer;
}

.selector-container {
  text-align: center;
  display: block;
  font-size: 1.2rem;
  margin-bottom: 10px;
}

/* --- Partners Page Specific --- */
#blogTitleContainer {
	text-align: center;
	margin-bottom: 20px;
}

#blogTitle {
	font-size: 2rem;
	color: #f2fffc;
	margin-bottom: 8px;
}

.partners-list {
	list-style: none;
	padding: 0;
	margin: 20px 0;
}

.partners-list li {
	margin-bottom: 25px;
	padding-bottom: 15px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.partners-list li:last-child {
	border-bottom: none;
}

.partners-list h2 {
	margin: 0 0 8px 0;
	font-size: 1.3rem;
}

.partners-list h2 a {
	color: var(--accent);
	transition: color 0.2s ease;
}

.partners-list h2 a:hover {
	color: var(--accent-hover);
	text-decoration: underline;
}

.partners-list p {
	margin: 0;
	color: var(--text-main);
	line-height: 1.6;
}

@media screen and (max-width: 1023px) {
	#descContainer {
		left: 0;
		width: 100%;
		padding: 5%;
		border-left: none;
		border-right: none;
	}

	#navMain {
		display: none;
	}

	#navMobile {
		display: flex;
	}

	.navMainItem {
		margin-top: 3px;
		margin-bottom: 3px;
	}

  .callButton {
    margin-top: 5px;
    margin-bottom: 5px;
  }

	h3 {
		font-size: 1rem;
	}

	.listLink {
		margin-top: 10px;
		margin-bottom: 10px;
	}
}
