/* ===================== */
/* Graphin8 Theme Colors */
/* ===================== */
:root {
	/* Base Theme Colors */
	--g8-navy-dark: #070D59;
	/* Main Navbar Color, close to Black/Navy */
	--g8-navy-light: #0f1738;
	/* Card Background/Link Hover BG */
	--g8-orange: #F7B633;
	/* Main Accent / CTA / Gooey Blob */
	--g8-orange-hover: #e69a2b;
	/* Darker Gold for Hover */
	--g8-white: #ffffff;
	--g8-text-light: #e6eefb;
	/* Light text on dark backgrounds */
	--g8-text-dark: #333;
	--g8-border: rgba(255, 255, 255, 0.1);
	/* NEW: Glassmorphism Effect Background (Navy Dark with opacity) */
	--g8-glass: rgba(7, 13, 89, 0.8);
}

/* ===================== */
/* General Navbar Styles */
/* ===================== */

/* Navbar base */
.g8-navbar {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	background: transparent;
	transition: background 0.3s, box-shadow 0.3s;
	z-index: 1000;
}

/* Scrolled/Solid State: Dark Navy Background */
.g8-navbar.g8-navbar--scrolled,
.g8-navbar.g8-navbar--solid {
	background: var(--g8-glass);
	/* Changed to glass variable */
	backdrop-filter: blur(10px);
	/* Applied Glassmorphism effect */
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}

/* ===================== */
/* Error Page Navbar Fix */
/* ===================== */

/* Solid background already set */
.error-page .g8-navbar {
	background: var(--g8-navy-dark);
}

/* Force white logo (show light, hide dark) */
.error-page .g8-navbar .g8-navbar__logo-img--light {
	display: inline;
}

.error-page .g8-navbar .g8-navbar__logo-img--dark {
	display: none;
}

/* Even when scrolled: keep white logo */
.error-page .g8-navbar.g8-navbar--scrolled .g8-navbar__logo-img--light {
	display: inline;
}

.error-page .g8-navbar.g8-navbar--scrolled .g8-navbar__logo-img--dark {
	display: none;
}

/* Force links to white */
.error-page .g8-navbar .g8-navbar__link,
.error-page .g8-navbar.g8-navbar--scrolled .g8-navbar__link {
	color: var(--g8-white);
}

/* CTA buttons also white text on dark background */
.error-page .g8-navbar .g8-navbar__contact-btn {
	color: var(--g8-text-dark);
	border: 1px solid var(--g8-white);
}

.error-page .g8-navbar .g8-navbar__contact-btn:hover {
	background: var(--g8-white);
	color: var(--g8-navy-dark);
}

/* Container */
.g8-navbar__container {
	max-width: 1276px;
	margin: 0 auto;
	padding: 14px 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

/* Logo (No color changes here, relies on image files) */
.g8-navbar__logo-img {
	height: 40px;
	vertical-align: middle;
}

.g8-navbar__logo-img--dark {
	display: none;
}

/* Logo Switching: Dark background (scrolled/solid) shows LIGHT logo */
.g8-navbar.g8-navbar--scrolled .g8-navbar__logo-img--light,
.g8-navbar.g8-navbar--solid .g8-navbar__logo-img--light {
	display: inline;
	/* Show light logo (white) */
}

.g8-navbar.g8-navbar--scrolled .g8-navbar__logo-img--dark,
.g8-navbar.g8-navbar--solid .g8-navbar__logo-img--dark {
	display: none;
	/* Hide dark logo (grey) */
}

/* Links Wrapper */
.g8-navbar__links-wrapper {
	display: flex;
	align-items: center;
	gap: 20px;
}

/* Nav Menu */
.g8-navbar__menu {
	list-style: none;
	display: flex;
	margin: 0;
	padding: 0;
	position: relative;
}

/* Link Base Color */
.g8-navbar__link {
	color: var(--g8-white);
	/* Default: White text on transparent background */
	font-size: 16px;
	font-weight: 500;
	padding: 10px 20px;
	text-decoration: none;
	transition: color 0.3s ease;
	position: relative;
	z-index: 2;
}

/* Link Color on Dark Navy Background (Solid/Scrolled) */
.g8-navbar.g8-navbar--scrolled .g8-navbar__link,
.g8-navbar.g8-navbar--solid .g8-navbar__link {
	color: var(--g8-text-light);
	/* Light text on navy */
}

.g8-navbar__link:hover,
.g8-navbar__link:focus,
.g8-navbar.g8-navbar--scrolled .g8-navbar__link:hover,
.g8-navbar.g8-navbar--solid .g8-navbar__link:hover {
	color: var(--g8-navy-dark);
	/* Black/Navy text over the Gold blob */
	outline: none;
}

/* Gooey blob */
li.gooey-horizontal {
	position: absolute;
	top: 50%;
	left: 0;
	width: 0;
	height: 0;
	background: var(--g8-orange);
	/* Gold/Orange color */
	border-radius: 999px;
	filter: none;
	transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
	z-index: 1;
	opacity: 0;
	pointer-events: none;
	transform: translateY(-50%) scaleY(1.3);
	transform-origin: center;
}

/* Hover effect - follow the link */
.g8-navbar__item:hover~li.gooey-horizontal {
	opacity: 1;
	transform: translate(var(--gooey-x, 0px), -50%);
}

/* Contact Button */
.g8-navbar__contact-btn {
	display: inline-block;
	padding: 12px 25px;
	border-radius: 8px;
	border: 1px solid var(--g8-orange-hover);
	background: var(--g8-orange);
	/* Always Gold/Orange */
	color: var(--g8-navy-dark);
	/* Black/Navy text */
	font-weight: bold;
	text-decoration: none;
	transition: background 0.3s ease, color 0.3s ease, transform 0.2s ease;
}

.g8-navbar__contact-btn:hover,
.g8-navbar__contact-btn:focus {
	background: var(--g8-orange-hover);
	color: var(--g8-navy-dark);
	transform: translateY(-2px);
}

/* Scrolled State - No change needed here, as base is already Gold/Orange */
.g8-navbar.g8-navbar--scrolled .g8-navbar__contact-btn,
.g8-navbar.g8-navbar--solid .g8-navbar__contact-btn {
	background: var(--g8-orange);
	color: var(--g8-navy-dark);
}

/* Scrolled State Hover/Focus */
.g8-navbar.g8-navbar--scrolled .g8-navbar__contact-btn:hover,
.g8-navbar.g8-navbar--scrolled .g8-navbar__contact-btn:focus,
.g8-navbar.g8-navbar--solid .g8-navbar__contact-btn:hover,
.g8-navbar.g8-navbar--solid .g8-navbar__contact-btn:focus {
	background: var(--g8-navy-dark);
	/* Navy background on hover */
	color: var(--g8-orange);
	/* Gold/Orange text on hover */
	transform: translateY(-2px) scale(1.05);
	border: 1px solid var(--g8-orange-hover);
}

/* Hamburger */
.g8-navbar__hamburger {
	display: none;
	flex-direction: column;
	gap: 5px;
	background: transparent;
	border: none;
	cursor: pointer;
}

.g8-navbar__hamburger-line {
	width: 25px;
	height: 3px;
	background: var(--g8-white);
	/* White on transparent background */
	transition: 0.3s;
}

.g8-navbar.g8-navbar--scrolled .g8-navbar__hamburger-line,
.g8-navbar.g8-navbar--solid .g8-navbar__hamburger-line {
	background: var(--g8-white);
	/* Still White on dark navy background */
}

.g8-navbar__menu,
.g8-navbar__contact-btn {
	display: flex;
}

.g8-navbar__hamburger {
	display: none;
}

/* ===================== */
/* Fullscreen Menu Styles */
/* ===================== */
.g8-fullscreen-menu {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: var(--g8-orange);
	/* Gold/Orange background */
	display: none;
	flex-direction: column;
	justify-content: space-between;
	z-index: 2000;
	padding: 20px;
}

/* Show when open */
.g8-fullscreen-menu.open {
	display: flex;
}

/* Top bar (logo + close button) */
.g8-fullscreen-top {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

/* Logo inside fullscreen (Grey logo is correct on Gold background) */
.g8-fullscreen-logo img {
	height: 40px;
}

/* Close button */
.g8-fullscreen-close {
	background: none;
	border: none;
	font-size: 32px;
	font-weight: bold;
	color: var(--g8-navy-dark);
	/* Black/Navy text */
	cursor: pointer;
	line-height: 1;
}

/* Menu links (centered in middle) */
.g8-fullscreen-links {
	list-style: none;
	margin: 0;
	padding: 0;
	flex-grow: 1;

	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 30px;
}

/* Links styling */
.g8-fullscreen-links a {
	font-size: 36px;
	font-weight: 700;
	color: var(--g8-navy-dark);
	/* Black/Navy text */
	text-decoration: none;
	transition: color 0.3s ease;
}

.g8-fullscreen-links a:hover,
.g8-fullscreen-links a:focus {
	color: var(--g8-navy-light);
	/* Darker hover */
	outline: none;
}

/* Floating Vertical Menu */
/* ===== Floating Vertical Menu ===== */
.g8-floating-menu {
	position: fixed;
	top: 50%;
	left: 20px;
	transform: translateY(-50%);
	background: var(--g8-glass);
	/* Changed to glass variable */
	backdrop-filter: blur(10px);
	/* Applied Glassmorphism effect */
	border-radius: 12px;
	padding: 10px 0;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
	display: inline-block;
	z-index: 99 !important;
}

.g8-floating-menu__list {
	position: relative;
	list-style: none;
	margin: 0;
	padding: 0;
}

.g8-floating-menu__item {
	position: relative;
	display: block;
}

.g8-floating-menu__link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	color: var(--g8-text-light);
	/* Light text/icons */
	font-size: 1.2rem;
	transition: color 0.3s ease;
	position: relative;
	z-index: 2;

}
/* 4. Active State Styling (Optional but recommended) */
/* Keeps the icon highlighted even if the blob hides on mouseleave */
.g8-floating-menu__link[aria-current="page"] {
    color: var(--g8-orange);
}
.g8-floating-menu__link span {
	position: absolute;
	left: 100%;
	top: 50%;
	transform: translate(-20px, -50%);
	margin-left: 0.5rem;
	opacity: 0;
	pointer-events: none;
	font-size: 0.8rem;
	font-weight: 600;
	color: var(--g8-navy-dark);
	/* Dark text */
	background: var(--g8-orange);
	/* Gold/Orange Background */
	padding: 0.4rem 0.7rem;
	border-radius: 12px;
	white-space: nowrap;
	transition: transform 0.35s ease, opacity 0.35s ease;
}


.g8-floating-menu__link:hover {
	color: var(--g8-navy-dark);
	/* Dark icon/text on hover (over gooey) */
	fill: var(--g8-navy-dark);
}

.g8-floating-menu__link:hover span {
	opacity: 1;
	transform: translate(0, -50%);
}

/* === Gooey Highlight Effect === */
li.gooey {
	position: absolute;
	top: 0;
	left: 0.3rem;
	width: 2.5rem;
	height: 2.5rem;
	background: var(--g8-orange);
	/* Gold/Orange highlight */
	border-radius: 50%;
	z-index: 1;
	opacity: 0;
	transform: scale(1);
	transition: top 250ms cubic-bezier(1, 0.2, 0.1, 1.2), opacity 0.3s ease, transform 0.25s;
	pointer-events: none;
}

/* Animate scaling */
li.gooey.animate {
	animation: gooeyScale 250ms;
}

@keyframes gooeyScale {
	0% {
		transform: scale(1);
	}

	50% {
		transform: scale(0.5, 1.5);
	}

	100% {
		transform: scale(1);
	}
}

/* ===================== */
/* Auth Pages Navbar */
/* ===================== */
.auth-navbar {
	position: sticky;
	top: 0;
	z-index: 1000;
	background: var(--g8-navy-dark);
	/* Dark Navy Background */
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
}


/* Always show WHITE logo in auth navbar */
.auth-navbar .g8-navbar__logo-img--dark {
	display: none;
}

.auth-navbar .g8-navbar__logo-img--light {
	display: inline;
}

/* Buttons on auth navbar */
.auth-navbar .g8-navbar__contact-btn {
	background: var(--g8-orange);
	color: var(--g8-navy-dark);
}

.auth-navbar .g8-navbar__contact-btn:hover {
	background: var(--g8-navy-dark);
	color: var(--g8-orange);
}

/* User avatar button */
.g8-user-menu {
	position: relative;
	display: inline-block;
}

.g8-user-avatar {
	width: 35px;
	height: 35px;
	min-width: 35px;
	min-height: 35px;

	padding: 0;
	background: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;

	border-radius: 50%;
	overflow: hidden;
	border: 2px solid var(--g8-orange);
	/* Gold/Orange border */

	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.g8-user-avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;

	border-radius: 50%;
	transition: transform 0.25s ease, filter 0.25s ease;
}

/* Hover effect */
.g8-user-avatar:hover {
	transform: scale(1.08);
	border-color: var(--g8-orange-hover);
	box-shadow: 0 0 12px rgba(247, 182, 51, 0.7);
}

.g8-navbar.g8-navbar--scrolled .g8-user-avatar img,
.g8-navbar.g8-navbar--solid .g8-user-avatar img {
	transform: scale(1.05);
	filter: invert(0%) brightness(1.2);
}

/* Dropdown */
.g8-user-dropdown {
	position: absolute;
	right: 0;
	top: 48px;
	background: var(--g8-navy-light);
	/* Lighter Navy background */
	border: 1px solid var(--g8-border);
	border-radius: 8px;
	min-width: 300px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
	display: none;
	flex-direction: column;
	z-index: 1000;
}

.g8-user-dropdown a,
.g8-user-dropdown .g8-user-header {
	display: block;
	padding: 10px 14px;
	font-size: 14px;
	color: var(--g8-text-light);
	/* Light text */
	text-decoration: none;
}

.g8-user-dropdown .g8-user-header {
	font-weight: 600;
	cursor: default;
}

.g8-user-dropdown a:hover {
	background: var(--g8-navy-dark);
	/* Darker Navy on hover */
	color: var(--g8-orange);
}

.g8-user-dropdown hr {
	margin: 6px 0;
	border: none;
	border-top: 1px solid var(--g8-border);
}





/* Responsive */

@media (max-width: 992px) {

	/* ... (Keep existing mobile styles, only change colors for hamburger if needed) */
	.g8-navbar.g8-navbar--scrolled .g8-navbar__hamburger-line,
	.g8-navbar.g8-navbar--solid .g8-navbar__hamburger-line {
		background: var(--g8-white);
		/* Hamburger lines remain white on dark background */
	}


	.g8-navbar__menu,

	.g8-navbar__contact-btn {

		display: none;

		/* hide nav menu + contact on mobile */

	}



	.g8-navbar__hamburger {

		display: flex;

		/* show hamburger on mobile */

	}





	.g8-floating-menu {

		display: none;

	}

}