/* Global fonts (used site-wide) */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Montserrat:wght@600;700&display=swap');


/* Reset some default styles */
body {
	margin: 0;
	font-family: Arial, sans-serif;
	background: #f5f5f5;
	color: #222; /* darker for better contrast on light background */
}

/* Navigation Bar */
/* --- NAVIGATION BAR (Unified across all pages) --- */
nav {
  background-color: #222;
  padding: 0.5rem 1rem;       /* consistent vertical height */
  font-size: 0.95rem;         /* unify text size */
  line-height: 1;             /* avoid extra vertical space */
}

nav ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 1rem;
}

nav ul li {
  display: inline;
}

nav ul li a {
  font-family: 'Inter', sans-serif; /* same everywhere */
  font-weight: 500;                 /* clean, not too bold */
  font-size: inherit;               /* inherit from nav */
  color: #fff;
  text-decoration: none;
  padding: 0.5rem 0.75rem;
  display: inline-block;
  transition: background 0.3s ease;
}

nav ul li a:hover {
  background-color: #444;
  border-radius: 4px;
}




/* General Content */
h1 {
	margin: 1rem;
}

p, section {
	margin: 1rem;
	line-height: 1.5;
}

/* Art/Crafts Styling */
.art-piece {
	background: white;
	padding: 1rem;
	margin: 1rem;
	display: inline-block;
	box-shadow: 0 4px 12px rgba(0,0,0,0.25);
	border-radius: 6px;
	text-align: center;
}

.art-piece img {
	display: block;
	margin: 0 auto 1rem auto;
	border-radius: 4px;
}

.art-piece button {
	background-color: #222;
	color: white;
	border: none;
	padding: 0.5rem 1rem;
	cursor: pointer;
	border-radius: 4px;
	font-size: 1rem;
	transition: background 0.3s ease;
}

.art-piece button:hover {
	background-color: #444;
}

/* Game Page Styling */
.game-splash img {
	width: 100%;
	display: block;
}

.game-info {
	text-align: center;
	padding: 2rem 1rem;
	background: transparent;
}

.game-info h1 {
	font-size: 2.5rem;
	margin-bottom: 0.5rem;
}

.game-info p {
	font-size: 1.2rem;
	margin-bottom: 1rem;
}

.steam-button {
	display: inline-block;
	background: #171a21;
	color: white;
	padding: 0.75rem 1.5rem;
	font-size: 1.2rem;
	font-weight: bold;
	text-decoration: none;
	border-radius: 6px;
	transition: background 0.3s ease;
}

.steam-button:hover {
	background: #2a475e;
}

/* Screenshot Gallery */
.screenshot-gallery {
	padding: 2rem 1rem;
	text-align: center;
}

.screenshots {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1rem;
}

.screenshot {
	position: relative;
	overflow: hidden;
	border-radius: 6px;
	box-shadow: 0 4px 12px rgba(0,0,0,0.25);
}

.screenshot img {
	display: block;
	width: 300px;
	height: auto;
	transition: transform 0.3s ease;
}

.screenshot:hover img {
	transform: scale(1.05);
}

.caption {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	background: rgba(0,0,0,0.7);
	color: white;
	padding: 0.5rem;
	font-size: 0.9rem;
	opacity: 0;
	transition: opacity 0.3s ease;
}

.screenshot:hover .caption {
	opacity: 1;
}

/* Background for post-splash content */
.game-content {
	background: url("./BG.png") repeat;
	padding: 2rem 1rem;
}

/* Product Grid */
.product-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
	gap: 2rem;
	padding: 2rem;
}

.product-card {
	text-align: center;
	text-decoration: none;
	color: white;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.product-card img {
	width: 100%;
	border-radius: 8px;
	box-shadow: 0 4px 12px rgba(0,0,0,0.25);
	transition: transform 0.3s ease;
}

.product-card:hover {
	transform: translateY(-5px);
}

.product-card:hover img {
	transform: scale(1.05);
}

.product-card h3 {
	margin: 0.5rem 0 0;
}

.product-card p {
	margin: 0.25rem 0;
	font-weight: bold;
}

/* Product Page (detail pages) */
.product-container {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-start;
	padding: 2rem;
	gap: 3rem;
}

.product-image img {
	max-width: 450px;
	border-radius: 8px;
	box-shadow: 0 4px 12px rgba(0,0,0,0.25);
}

.product-info {
	max-width: 500px;
}

.price {
	font-size: 1.5rem;
	font-weight: bold;
	margin: 0.5rem 0;
	color: #ffd700; /* gold/yellow accent */
}

.description {
	margin-bottom: 1rem;
}

.quantity {
	margin: 1rem 0;
}

.quantity input {
	width: 60px;
	padding: 0.25rem;
	text-align: center;
}

/* Accordion */
.accordion {
	margin-top: 2rem;
}

.accordion-btn {
	width: 100%;
	text-align: left;
	padding: 1rem;
	font-weight: bold;
	border: none;
	background: #222;
	color: white;
	cursor: pointer;
	transition: background 0.3s;
}

.accordion-btn:hover {
	background: #444;
}

.accordion-content {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease-out;
	background: #111;
	padding: 0 1rem;
	color: #ccc;
}

.accordion-content p {
	padding: 0.75rem 0;
	margin: 0;
}

/* Other Software Project Page */
.matrix-bg {
	background: url("othersoftware/matrix.jfif") repeat;
	background-size: cover;
	background-attachment: fixed;
	color: white;
}

.project-container {
	max-width: 1000px;
	margin: 2rem auto;
	padding: 1rem;
	text-align: center;
	background: rgba(0, 0, 0, 0.7); /* translucent box for readability */
	border-radius: 8px;
}

.project h1 {
	font-size: 2rem;
	margin-bottom: 1rem;
}

.project-description {
	font-size: 1.1rem;
	line-height: 1.6;
	margin-bottom: 2rem;
	color: #ddd;
}

/* Responsive YouTube Embed */
.video-wrapper {
	position: relative;
	flex: 1 1 560px;
	padding-bottom: 56.25%; /* 16:9 aspect ratio */
	height: 0;
	overflow: hidden;
	margin-bottom: 1.5rem;
	border-radius: 8px;
	box-shadow: 0 4px 12px rgba(0,0,0,0.3);
}

.video-wrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: none;
	border-radius: 8px;
}

/* Project Links */
.project-links a {
	display: inline-block;
	margin-top: 1rem;
	padding: 0.6rem 1.2rem;
	background: #222;
	color: white;
	text-decoration: none;
	font-weight: bold;
	border-radius: 6px;
	transition: background 0.3s ease;
}

.project-links a:hover {
	background: #444;
}

/* Image Gallery */
.image-gallery {
	display: flex;
	justify-content: center;
	gap: 1rem;
	margin: 1.5rem 0;
	flex-wrap: wrap;
}

.image-gallery img {
	max-width: 300px;
	border-radius: 8px;
	box-shadow: 0 4px 12px rgba(0,0,0,0.3);
	cursor: pointer;
	transition: transform 0.3s ease;
}

.image-gallery img:hover {
	transform: scale(1.05);
}

/* Lightbox Overlay */
#lightbox {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.9);
	justify-content: center;
	align-items: center;
	z-index: 1000;
}

#lightbox img {
	max-width: 90%;
	max-height: 90%;
	border-radius: 8px;
	box-shadow: 0 4px 20px rgba(0,0,0,0.5);
}

#close {
	position: absolute;
	top: 20px;
	right: 30px;
	font-size: 2rem;
	color: white;
	cursor: pointer;
}

/* Coaching Page Video Galleries */
.video-gallery {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1rem;
	margin: 1rem 0;
}

.video-gallery iframe {
	width: 300px;
	height: 170px;
	border-radius: 6px;
	box-shadow: 0 4px 12px rgba(0,0,0,0.25);
}

/* Coaching Page Background */
.coaching-bg {
	background: url("coaching/meleebg.png") repeat;
	background-size: cover;
	background-attachment: fixed;
	color: white;
}

/* Coaching page screenshot */
.coaching-screenshot {
	display: flex;
	justify-content: center;
	margin: 1rem 0 1.5rem;
}

.coaching-screenshot img {
	max-width: 100%;
	height: auto;
	border-radius: 8px;
	box-shadow: 0 4px 12px rgba(0,0,0,0.25);
}

/* Coaching Page Layout */
.coaching-layout {
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start;
	gap: 2rem;
}

/* Main content takes up most of the width */
.coaching-layout .main-content {
	flex: 3;
}

/* Side panel for Calendly */
.coaching-sidebar {
	flex: 1;
	position: sticky;
	top: 1rem;
	background: #f9f9f9;
	padding: 1rem;
	border-radius: 8px;
	box-shadow: 0 4px 12px rgba(0,0,0,0.15);
	height: fit-content;
}

/* Responsive fallback: stack sidebar below on small screens */
@media (max-width: 900px) {
	.coaching-layout {
		flex-direction: column;
	}
	.coaching-sidebar {
		position: static;
		width: 100%;
	}
}

/* Coaching clean layout */
/* Make coaching layout clean without hijacking nav typography */
.coaching-clean {
  background: #fff;
  color: #000;
  
  /* DO NOT set font-family here */
}

/* --- Coaching page override fix --- */
.coaching-clean nav {
  font-size: 0.95rem !important;
  line-height: 1 !important;
  padding: 0.5rem 1rem !important;
}

/* If you want a different font in the coaching CONTENT only, scope it: */
.coaching-clean main {
  font-family: 'Inter', sans-serif;  /* or Arial if you really want it here only */
}


.coaching-container {
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start;
	gap: 2rem;
	max-width: 1200px;
	margin: 2rem auto;
	padding: 0 1rem;
}

.coaching-container .main-content {
	flex: 3;
}

.coaching-sidebar {
	flex: 1;
	position: sticky;
	top: 2rem;
	background: none; /* no box */
	padding: 0;
}

.lesson-img {
	max-width: 100%;
	height: auto;
	display: block;
	margin: 1.5rem auto;
	border-radius: 6px;
}

.primary-link {
	display: inline-block;
	margin-top: 0.5rem;
	padding: 0.75rem 1.25rem;
	background: #000;
	color: #fff;
	text-decoration: none;
	font-weight: bold;
	border-radius: 6px;
	transition: background 0.3s ease;
}
.primary-link:hover {
	background: #444;
}

/* Video galleries stay clean */
.video-gallery {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 1rem;
	margin: 1rem 0;
}

.video-gallery iframe {
	width: 300px;
	height: 170px;
	border-radius: 6px;
}

/* Main page clean look */
.main-clean {
	background: #fff;
	color: #000;
	font-family: Arial, sans-serif;
	margin: 0;
	padding: 0;
}

/* Header */
.main-header {
	text-align: center;
	padding: 3rem 1rem 2rem;
}
/* Header styling */
.main-header h1 {
	font-size: 3rem;         /* Bigger than before */
	font-weight: 700;
	margin-bottom: 0.5rem;
	text-align: center;
}




/* Preview grid */
.preview-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
	gap: 2rem;
	padding: 2rem;
	max-width: 1200px;
	margin: 0 auto;
}

/* Preview cards */
.preview-card {
	display: block;
	text-decoration: none;
	color: inherit;
	text-align: center;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.preview-card img {
	width: 100%;
	height: 200px;
	object-fit: cover;
	border-radius: 8px;
	box-shadow: 0 4px 12px rgba(0,0,0,0.15);
	margin-bottom: 0.75rem;
}
.preview-card h2 {
	font-size: 1.25rem;
	margin: 0;
}
.preview-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 6px 16px rgba(0,0,0,0.2);
}

/* Header image under name */
.opener-img {
	max-width: 300px;
	width: 80%;
	height: auto;
	margin-top: 1rem;
	border-radius: 8px;
	box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

/* Force grid to 2x2 */
.preview-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 2rem;
	padding: 2rem;
	max-width: 1000px;
	margin: 0 auto;
}

/* Cards with description */
.preview-card {
	display: block;
	text-decoration: none;
	color: inherit;
	text-align: center;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	padding: 1rem;
	border-radius: 8px;
	background: #fafafa;
	box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}
.preview-card img {
	width: 100%;
	height: 180px;
	object-fit: cover;
	border-radius: 6px;
	margin-bottom: 0.75rem;
}
.preview-card h2 {
	font-size: 1.25rem;
	margin: 0.5rem 0;
}
.preview-card p {
	font-size: 0.95rem;
	color: #333;
	line-height: 1.4;
}
.preview-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 6px 16px rgba(0,0,0,0.2);
}

/* Roles under name */
.roles {
	font-size: 1.25rem;      /* Bigger roles text */
	font-weight: 400;
	color: #444;
	text-align: center;
	margin-bottom: 2rem;
}

/* Row of opener images */
/* Row of opener images */
.opener-row {
	display: flex;
	justify-content: center;
	gap: 2rem; /* a bit more breathing space between images */
	flex-wrap: wrap;
	margin: 1rem auto 2rem;
	max-width: 1400px; /* wider than before */
}

.opener-row img {
	flex: 1 1 30%;
	min-width: 280px;  /* ensures they don’t shrink too small */
	max-width: 100%;
	height: auto;
	border-radius: 8px;
	box-shadow: 0 4px 12px rgba(0,0,0,0.15);
	object-fit: cover;
}


/* Divider before grid */
.divider {
	border: none;
	border-top: 1px solid #ddd;
	margin: 2rem auto;
	width: 80%;
}

/* Base body text */
body {
	font-family: 'Inter', sans-serif;
	color: #222;
	line-height: 1.6;
}

/* Headings stand out */
h1, h2, h3 {
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
}

/* Main header tweak */
.main-header h1 {
	font-size: 3rem;
	font-weight: 700;
	margin-bottom: 0.5rem;
	text-align: center;
}

/* Roles look cleaner + subtle */
.roles {
	font-size: 1.25rem;
	font-weight: 500;
	color: #555; /* lighter gray for hierarchy */
	text-align: center;
	margin-bottom: 2rem;
}

/* --- Kinetic Page Styles --- */
/* Kinetic page layout */
/* Force side-by-side layout */
/* Wider layout for kinetic page */
/* Wider layout for kinetic page */
/* Wider layout for kinetic page */
/* Wider layout for kinetic page */
/* Unified Kinetic Layout */
.kinetic-layout {
  display: grid;
  grid-template-columns: 2fr 1fr; /* balanced ratio, keeps box closer */
  gap: 1.25rem;                  /* smaller, matches Game Features spacing */
  align-items: start;
  max-width: 1200px;
  margin: 2rem auto;
  padding: 0 1rem;
}

.kinetic-main-image img {
  width: 100%;
  max-width: 780px;              /* keep image smaller */
  border-radius: 8px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.3);
  display: block;
}

.kinetic-info {
  background: #fff;
  color: #000;
  padding: 1.75rem;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
  align-self: start;
  min-width: 340px;              /* nice and wide */
}

/* Dark mode */
body.dark-mode .kinetic-info {
  background: #1e1e1e;   /* dark gray background */
  color: #f1f1f1;        /* light text */
  box-shadow: 0 4px 12px rgba(0,0,0,0.6);
}

/* Game Features title only inside Kinetic page */
.kinetic-layout .features h2 {
  text-align: center;
  margin-bottom: 3rem;   /* extra space before grid */
  font-size: 2rem;       /* larger title */
  font-weight: 700;
}

/* Feature card titles only inside Kinetic page */
.kinetic-layout .feature-card h3 {
  font-size: 1.25rem;  
  font-weight: 600;
  margin-bottom: 1rem;
}



/* Kinetic page header */
.kinetic-header {
  text-align: center;
  margin-top: 2rem;
  margin-bottom: 2rem;
}

.kinetic-header h1 {
  font-size: 3rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
}

.kinetic-header .subtitle {
  font-size: 1.25rem;
  font-weight: 400;
  color: #555;
}

/* Alternate background for bottom section */
.alt-bg {
  background: #f9f9f9; /* light grey */
  padding: 3rem 1rem;
}


.steam-link {
  display: inline-block;
  padding: 0.75rem 1.5rem;
  background: #171a21;
  color: #fff;
  font-weight: bold;
  text-decoration: none;
  border-radius: 6px;
  transition: background 0.3s ease;
}
.steam-link:hover {
  background: #2a475e;
}

/* Feature GIFs */
.feature-card img {
  width: 100%;
  max-width: 280px;
  margin: 0.5rem auto;
  border-radius: 6px;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(0,0,0,0.2);
  transition: transform 0.3s ease;
}
.feature-card img:hover {
  transform: scale(1.05);
}

/* Lightbox overlay */
#lightbox {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.9);
  justify-content: center;
  align-items: center;
  z-index: 1000;
}
#lightbox img {
  max-width: 90%;
  max-height: 90%;
  border-radius: 8px;
}
#close {
  position: absolute;
  top: 20px;
  right: 30px;
  font-size: 2rem;
  color: #fff;
  cursor: pointer;
}




.tagline {
  text-align: center;
  font-size: 1.2rem;
  color: #555;
  margin-bottom: 2rem;
}

.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 2rem;
}

.main-section {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  align-items: flex-start;
  margin-bottom: 3rem;
}

.screenshot {
  flex: 2;
}

.screenshot img {
  width: 100%;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.details {
  flex: 1;
  background: #fff;
  padding: 1.5rem;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.details h2 {
  margin-top: 0;
  font-size: 1.5rem;
}

.details p {
  margin-bottom: 1rem;
  line-height: 1.5;
}

.platforms {
  font-size: 0.95rem;
  color: #444;
  margin-bottom: 1rem;
}

.buttons {
  display: flex;
  gap: 1rem;
}

.buttons a {
  display: inline-block;
  padding: 0.6rem 1.2rem;
  background: #111;
  color: #fff;
  text-decoration: none;
  border-radius: 6px;
  transition: background 0.3s ease;
}

.buttons a:hover {
  background: #444;
}

/* Features section */
.features {
  margin-top: 3rem;
}

.features h2 {
  text-align: center;
  margin-bottom: 2rem;
}

.features-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 2rem;
}

.feature-card {
  background: #fff;
  padding: 1.5rem;
  border-radius: 8px;
  text-align: center;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.feature-card h3 {
  margin-top: 0;
}

/* --- Kinetic Page Final Tweaks --- */

/* Colored background for top + bottom */
/* Ensure colored sections stretch fully */
/* Colored section fix */
.section-colored {
  background: #e8edf5;         /* grey-blue */
  padding: 4rem 0;             /* full vertical padding */
  margin: 0;                   /* remove outside spacing */
}

/* Prevent inner containers from creating extra white gaps */
.section-colored .container {
  margin: 0 auto;              /* only center horizontally */
  padding: 0 1rem;             /* keep horizontal spacing */
}

/* Make sure dividers don't overlap the colored areas */
/* Dividers between sections */
hr {
  margin: 0;                      /* kill vertical gaps */
  border: none;
  border-top: 1px solid #ccc;      /* subtle grey line */
}

.section-colored {
  background: #e8edf5;
  padding: 4rem 0;
  margin: 0;
}



.section-colored h1,
.section-colored h2,
.section-colored p {
  margin: 0.5rem 0;
}

/* Key art size adjustment */
.kinetic-main-image img {
  width: 100%;
  max-width: 780px; /* smaller than before */
  border-radius: 8px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.3);
  display: block;
}

/* --- NAV: unified across all pages --- */
nav, nav ul, nav ul li a {
  font-family: 'Inter', sans-serif;  /* same on every page */
}

nav ul li a {
  font-weight: 500;                  /* not bold; consistent visual weight */
  font-size: 0.95rem;                /* same sizing everywhere */
  line-height: 1;                    /* keeps bar height identical */
}

.two-column {
  display: flex;
  gap: 2rem;
  align-items: flex-start;
  margin-bottom: 3rem;
}

.gallery-column {
  flex: 2;
}

.preview {
  text-align: center;
  margin-bottom: 1rem;
}

.preview img {
  max-width: 100%;
  border-radius: 6px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.25);
}

.caption {
  margin-top: 0.5rem;
  font-size: 0.9rem;
  color: #555;
}

.thumbnails {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  justify-content: center;
}

.thumbnails img {
  width: 80px;
  height: 80px;
  object-fit: cover;
  border-radius: 4px;
  cursor: pointer;
  transition: transform 0.3s;
}

.thumbnails img:hover {
  transform: scale(1.1);
}

.info-column {
  flex: 1;
  background: #fff;
  padding: 1.25rem;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.projects-list {
  max-width: 1200px;
  margin: 2rem auto;
  padding: 0 1rem;
}

.project-split {
  display: flex;
  gap: 2rem;
  margin-bottom: 3rem;
  align-items: flex-start;
}

.project-split-left {
  flex: 1.5;
}

.preview-box {
  position: relative;
  background: #f0f0f0; /* light background behind preview */
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 1rem;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.preview-box img {
  max-width: 100%;
  height: auto;
  border-radius: 6px;
  cursor: pointer;
}

.caption {
  margin-top: 0.5rem;
  font-size: 0.9rem;
  color: #555;
}

.thumbnails {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 1rem;
}

.thumbnails img {
  width: 80px;
  height: 80px;
  object-fit: cover;
  border-radius: 4px;
  cursor: pointer;
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.thumbnails img:hover {
  transform: scale(1.1);
  opacity: 1;
}

.project-split-right {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.project-split-right h2 {
  margin-top: 0;
  font-size: 1.75rem;
}

.project-split-right p {
  font-size: 1rem;
  line-height: 1.5;
  color: #333;
}

.projects-header {
  text-align: center;
  padding: 2rem 1rem;
}

.projects-header h1 {
  font-size: 2.5rem;
  margin: 0 0 0.5rem;
}

.projects-header .subtitle {
  font-size: 1.2rem;
  color: #555;
}

hr {
  border: none;
  border-top: 1px solid #ccc;
  margin: 2rem 0;
}

.project-split {
  display: flex;
  gap: 2rem;
  margin-bottom: 2rem;
  align-items: flex-start;
}

.project-split-left {
  flex: 1.5;
}

.preview-box {
  background: #111;
  padding: 1rem;
  border-radius: 8px;
  text-align: center;
  min-height: 400px; /* fixed space so layout doesn't jump */
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.preview-inner {
  width: 100%;
  height: 350px; /* consistent box size */
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}

.preview-inner img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain; /* keep image inside box */
  cursor: pointer;
}

.caption {
  margin-top: 0.5rem;
  font-size: 0.9rem;
  color: #eee;
}

.thumbnails {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 1rem;
}

.thumbnails img {
  width: 80px;
  height: 80px;
  object-fit: cover;
  border-radius: 4px;
  cursor: pointer;
  transition: transform 0.2s ease;
}

.thumbnails img:hover {
  transform: scale(1.1);
}

.project-split-right.info-box {
  flex: 1;
  background: #fafafa;
  border: 1px solid #ddd;
  padding: 1.5rem;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

.project-split-right h2 {
  margin-top: 0;
  font-size: 1.5rem;
}

#lightbox {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.9);
  justify-content: center;
  align-items: center;
  z-index: 1000;
  flex-direction: column;
}

#lightbox img {
  max-width: 90%;
  max-height: 80%;
  border-radius: 8px;
  margin-bottom: 1rem;
}

#lightbox-caption {
  color: #fff;
  font-size: 1rem;
  text-align: center;
}

#close, #prev, #next {
  position: absolute;
  color: #fff;
  font-size: 2rem;
  cursor: pointer;
  user-select: none;
}

#close {
  top: 20px;
  right: 30px;
}

#prev {
  top: 50%;
  left: 20px;
  transform: translateY(-50%);
}

#next {
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
}

/* ============================
   DARK MODE STYLES
   ============================ */
body.dark-mode {
  background: #121212;
  color: #e0e0e0;
}

/* Navigation Bar */
body.dark-mode nav {
  background-color: #1e1e1e;
}
body.dark-mode nav ul li a {
  color: #e0e0e0;
}
body.dark-mode nav ul li a:hover {
  background-color: #333;
}

/* Headers */
body.dark-mode h1,
body.dark-mode h2,
body.dark-mode h3,
body.dark-mode .subtitle,
body.dark-mode .roles {
  color: #ffffff;
}

/* Divider */
body.dark-mode .divider,
body.dark-mode hr {
  border-color: #333;
}

/* Section colored areas */
body.dark-mode .section-colored {
  background: #1c1f26;  /* dark grey-blue */
  color: #e0e0e0;
}

/* Boxes (projects, features, info panels) */
body.dark-mode .project-box,
body.dark-mode .info-box,
body.dark-mode .feature-card,
body.dark-mode .details {
  background: #1e1e1e;
  color: #e0e0e0;
  box-shadow: 0 4px 12px rgba(0,0,0,0.6);
}

/* Captions under images */
body.dark-mode .caption,
body.dark-mode #lightbox-caption {
  color: #bbb;
}

/* Lightbox */
body.dark-mode #lightbox {
  background: rgba(0, 0, 0, 0.95);
}
body.dark-mode #close,
body.dark-mode #prev,
body.dark-mode #next {
  color: #fff;
}

/* Buttons */
body.dark-mode .steam-button,
body.dark-mode .steam-link,
body.dark-mode .primary-link,
body.dark-mode .project-links a {
  background: #333;
  color: #fff;
}
body.dark-mode .steam-button:hover,
body.dark-mode .steam-link:hover,
body.dark-mode .primary-link:hover,
body.dark-mode .project-links a:hover {
  background: #555;
}

/* Coaching sidebar */
body.dark-mode .coaching-sidebar {
  background: #1e1e1e;
  color: #e0e0e0;
  box-shadow: 0 4px 12px rgba(0,0,0,0.6);
}

/* Cards & previews */
body.dark-mode .preview-card {
  background: #1e1e1e;
  color: #e0e0e0;
}
body.dark-mode .preview-card p {
  color: #ccc;
}

/* Feature images hover */
body.dark-mode .feature-card img:hover,
body.dark-mode .image-gallery img:hover,
body.dark-mode .preview-card:hover img {
  transform: scale(1.05);
  box-shadow: 0 4px 14px rgba(255,255,255,0.2);
}

/* Dark mode base */
body.dark-mode {
  background-color: #121212;
  color: #e0e0e0;
}

body.dark-mode nav {
  background-color: #1f1f1f;
}

body.dark-mode nav a {
  color: #e0e0e0;
}

body.dark-mode nav a:hover {
  color: #ffffff;
}

/* Boxes in dark mode */
body.dark-mode .project-box,
body.dark-mode .info-box,
body.dark-mode .projects-list .project-split-right {
  background-color: #1e1e1e;
  border: 1px solid #333;
  color: #e0e0e0;
}

/* Titles */
body.dark-mode h1,
body.dark-mode h2,
body.dark-mode h3 {
  color: #ffffff;
}

/* Paragraphs, lists, captions */
body.dark-mode p,
body.dark-mode li,
body.dark-mode .project-description,
body.dark-mode .caption {
  color: #cccccc;
}

/* Divider lines */
body.dark-mode hr {
  border-top: 1px solid #444;
}

/* Lightbox in dark mode */
body.dark-mode #lightbox {
  background: rgba(0, 0, 0, 0.95);
}

body.dark-mode #lightbox-caption {
  color: #ddd;
}


