/* Light Theme (Default) */
:root {
	--bg-primary: #ffffff;
	--bg-secondary: #f5f5f5;
	--text-primary: #212121;
	--text-secondary: #757575;
	--text-white: #ffffff;
	--card-bg: #424242;
	--card-border: #ffffff;
	--inline-code-bg: #444444;
	--inline-code-text: #EFEFEF;
	--nav-gradient-start: #9c27b0;
	--nav-gradient-end: #ff5722;
}

/* Dark Theme */
[theme="dark"] {
	--bg-primary: #121212;
	--bg-secondary: #1e1e1e;
	--text-primary: #e0e0e0;
	--text-secondary: #b0b0b0;
	--text-white: #ffffff;
	--card-bg: #2d2d2d;
	--card-border: #444444;
	--inline-code-bg: #2d2d2d;
	--inline-code-text: #e0e0e0;
	--nav-gradient-start: #7b1fa2;
	--nav-gradient-end: #d84315;
}

body {
	background-color: var(--bg-primary);
	color: var(--text-primary);
	display: flex;
	min-height: 100vh;
	flex-direction: column;
	transition: background-color 0.3s ease, color 0.3s ease;
}

main {
	flex: 1 0 auto;
}

/* Cards */
[theme="dark"] .card {
	background-color: var(--card-bg);
	color: var(--text-primary);
}

[theme="dark"] .card .card-content {
	color: var(--text-primary);
}

[theme="dark"] .card .card-action {
	border-top: 1px solid var(--card-border);
}

/* Tables */
[theme="dark"] table {
	color: var(--text-primary);
}

[theme="dark"] table.striped tbody tr:nth-child(odd) {
	background-color: var(--bg-secondary);
}

/* Code blocks */
[theme="dark"] .inline-code {
	background-color: var(--inline-code-bg);
	color: var(--inline-code-text);
}

/* Links */
[theme="dark"] a {
	color: #64b5f6;
}

[theme="dark"] a:hover {
	color: #90caf9;
}

/* Keep navbar links white in dark mode */
[theme="dark"] nav a,
[theme="dark"] nav .brand-logo,
[theme="dark"] nav ul li a {
	color: #ffffff;
}

[theme="dark"] nav a:hover,
[theme="dark"] nav ul li a:hover {
	color: #ffffff;
}

/* Table of contents */
[theme="dark"] .table-of-contents a {
	color: var(--text-secondary);
	border-left: 2px solid #444444;
}

[theme="dark"] .table-of-contents a:hover {
	color: var(--text-primary);
	border-left-color: #64b5f6;
}

[theme="dark"] .table-of-contents a.active {
	color: #64b5f6;
	border-left-color: #64b5f6;
}

/* Force navbar to always be 64px high, even on small screens */
nav {
	line-height: 64px !important;
	height: 64px !important;
}

nav .nav-wrapper {
	height: 64px !important;
}

nav .brand-logo {
	line-height: 64px !important;
	height: 64px !important;
}

nav ul a {
	line-height: 64px !important;
	height: 64px !important;
}

.navbar-fixed {
	height: 64px !important;
}

/* Override Materialize's small screen media query */
@media only screen and (max-width: 600px) {
	nav {
		line-height: 64px !important;
		height: 64px !important;
	}
	
	nav .nav-wrapper {
		height: 64px !important;
	}
	
	nav .brand-logo {
		line-height: 64px !important;
		height: 64px !important;
	}
	
	nav ul a {
		line-height: 64px !important;
		height: 64px !important;
	}
	
	.navbar-fixed {
		height: 64px !important;
	}
}

/* Style the theme toggle button */
.theme-toggle-btn {
	display: flex !important;
	align-items: center;
	justify-content: center;
	height: 64px;
	padding: 0 15px;
	cursor: pointer;
	transition: background-color 0.2s ease;
}

.theme-toggle-btn:hover {
	background-color: rgba(255, 255, 255, 0.1);
}

.theme-toggle-btn i {
	font-size: 24px;
	color: #ffffff;
	line-height: 64px;
}

/* Style the mobile hamburger menu button */
.dropdown-trigger {
	display: flex !important;
	align-items: center;
	justify-content: center;
	height: 64px;
	padding: 0 15px;
	cursor: pointer;
	transition: background-color 0.2s ease;
}

.dropdown-trigger:hover {
	background-color: rgba(255, 255, 255, 0.1);
}

.dropdown-trigger i {
	font-size: 24px;
	color: #ffffff;
	line-height: 64px;
}

.navfeature {
	background: linear-gradient(45deg, var(--nav-gradient-start), var(--nav-gradient-end));
}

.calltoaction {
	margin-top: 20px;
}

.page-footer {
	padding-top: 0px;
	margin-top: 3rem;
}

.card .card-action {
	border-top: 1px solid var(--card-border);
}

.footer-link {
	margin-bottom: 4px;
}

.section-title {
	margin: 1rem;
}

.header-offset {
	margin-top: 40px;
}

.inline-code {
	padding-top: 1px;
	padding-bottom: 1px;
	padding-left: 3px;
	padding-right: 3px;
	background-color: var(--inline-code-bg);
	color: var(--inline-code-text);
	border-radius: 5px;
}

.doc-li {
	list-style-type: none;
	margin-bottom: 4px;
}
