/* APDB Public Styles */

/* Use default Wordpress child theme colors @style.css */

/* ===========================
   FULL WIDTH PAGE STYLES
   =========================== */

.apdb-full-width-page .nv-content-wrap,
.apdb-full-width-page .container,
.apdb-full-width-page .container-fluid {
	max-width: 100% !important;
	width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.apdb-full-width-container {
	width: 100%;
	padding-left: 2rem;
	padding-right: 2rem;
	margin: 0 auto;
}

@media (max-width: 768px) {
	.apdb-full-width-container {
		padding-left: 1rem;
		padding-right: 1rem;
	}

}

.apdb-full-width-page .site-content,
.apdb-full-width-page .content-area {
	max-width: 100% !important;
	width: 100% !important;
	margin: 0 !important;
}

/* ===========================
   SEARCH HERO SECTION
   =========================== */

.apdb-kew-search-browser {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0;
}

.apdb-search-hero {
	background: var(--gradient-primary);
	padding: 3rem 2rem;
	border-radius: 12px;
	margin-bottom: 2rem;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}

.apdb-search-container {
	max-width: 1100px;
	margin: 0 auto;
}

.apdb-search-title {
	color: var(--white);
	font-size: 2rem;
	margin-bottom: 0.5rem;
	text-align: center;
	font-weight: 700;
}

.apdb-search-subtitle {
	color: var(--white);
	font-size: 1rem;
	margin-bottom: 1.5rem;
	text-align: center;
	opacity: 0.95;
	line-height: 1.5;
}

/* Helper text */
.apdb-helper-text {
	color: var(--text-primary);
	font-size: 0.875rem;
	margin-top: 0.75rem;
	text-align: center;
	opacity: 0.9;
	line-height: 1.4;
}

.apdb-helper-text a {
	color: var(--link-primary);
	text-decoration: underline;
	transition: color 0.2s ease-in-out;
}

.apdb-helper-text a:hover {
	color: var(--link-hover);
	text-decoration: none;
}

.apdb-helper-text a:focus {
	color: var(--link-focus);
	outline: 2px solid var(--link-focus);
	outline-offset: 2px;
}

/* Helper text on dark background */
.apdb-helper-text-dark-background {
	color: var(--text-inverse);
	opacity: 0.95;
	font-size: 0.875rem;
	margin-top: 0.75rem;
	text-align: center;
	opacity: 0.9;
	line-height: 1.4;
}

.apdb-helper-text-dark-background a {
	color: var(--text-inverse);
	text-decoration: underline;
	text-decoration-color: rgba(255, 255, 255, 0.5);
	transition: all 0.2s ease-in-out;
}

.apdb-helper-text-dark-background a:hover {
	color: var(--white);
	text-decoration-color: var(--white);
	text-decoration: underline;
}

.apdb-helper-text-dark-background a:focus {
	color: var(--white);
	outline: 2px solid var(--white);
	outline-offset: 2px;
}

.apdb-search-box-wrapper {
	display: flex;
	gap: 0.5rem;
	background: var(--white);
	border-radius: 50px;
	padding: 0.8rem;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}

/* Fix Neve */
.apdb-search-input,
[tabindex="-1"]:focus, input:read-write:focus, select:focus, textarea:focus {
	flex: 1;
	border: none;
	background: transparent;
	padding: 0.75rem 1.25rem;
	font-size: 1rem;
	color: var(--text-primary);
	outline: none;
	font-family: 'Lato', sans-serif;
	box-shadow: none;
	border: 0;
}

.apdb-search-input::placeholder {
	color: var(--text-tertiary);
}

.apdb-search-button {
	background: var(--gradient-secondary);
	border: none;
	border-radius: 50%;
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: box-shadow 0.3s ease;
	color: var(--white);
	flex-shrink: 0;
}

.apdb-search-button svg {
	width: 24px;
	height: 24px;
	stroke: currentColor;
	fill: none;
	flex-shrink: 0;
}

.apdb-search-button:hover {
	box-shadow: 0 4px 12px rgba(184, 148, 31, 0.3);
}

.apdb-search-button:active {
	box-shadow: 0 2px 6px rgba(184, 148, 31, 0.2);
}

/* Header Search Variant (Compact) */
.aps-header-search .apdb-search-box-wrapper {
	width: 100%;
	display: flex;
	gap: 0.5rem;
	background: var(--bg-secondary);
	border: 1px solid var(--border-light);
	border-radius: 50px;
	padding: 0.4rem 0.6rem;
	transition: all 0.3s ease;
}

.aps-header-search .apdb-search-box-wrapper:focus-within {
	background: var(--bg-primary);
	border-color: var(--secondary);
	box-shadow: 0 2px 8px rgba(184, 148, 31, 0.2);
}

.aps-header-search .apdb-search-input {
	flex: 1;
	border: none;
	background: transparent;
	padding: 0.5rem 0.75rem;
	font-size: 0.9rem;
	color: var(--text-primary);
	outline: none;
	font-family: 'Lato', sans-serif;
	box-shadow: none;
}

.aps-header-search .apdb-search-input::placeholder {
	color: var(--text-tertiary);
	opacity: 0.8;
}

.aps-header-search .apdb-search-button {
	background: var(--gradient-secondary);
	border: none;
	border-radius: 50%;
	width: 40px;
	height: 40px;
	min-width: 40px;
	min-height: 40px;
	max-width: 40px;
	max-height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: all 0.3s ease;
	color: var(--white);
	flex-shrink: 0;
	padding: 0;
}

.aps-header-search .apdb-search-button svg {
	display: block;
	width: 20px;
	height: 20px;
	flex-shrink: 0;
}

.aps-header-search .apdb-search-button:hover {
	transform: scale(1.05);
	box-shadow: 0 4px 12px rgba(184, 148, 31, 0.3);
}

.aps-header-search .apdb-search-button:active {
	transform: scale(0.95);
	box-shadow: 0 2px 6px rgba(184, 148, 31, 0.2);
}

/* ===========================
   SEARCH TIPS
   =========================== */

.apdb-search-help-toggle {
	background: transparent;
	border: none;
	border-radius: 50%;
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: all 0.3s ease;
	color: var(--text-tertiary);
	flex-shrink: 0;
}

.apdb-search-help-toggle svg {
	width: 20px;
	height: 20px;
	stroke: currentColor;
	fill: none;
	flex-shrink: 0;
}

.apdb-search-help-toggle:hover {
	background: var(--bg-secondary);
	color: var(--secondary);
	transform: scale(1.05);
}

.apdb-search-help-toggle:active {
	transform: scale(0.95);
}

.apdb-search-help-toggle[aria-expanded="true"] {
	background: var(--bg-secondary);
	color: var(--secondary);
}

.apdb-search-tips {
	position: relative;
	animation: apdb-tips-fade-in 0.3s ease;
	text-align: left;
}

@keyframes apdb-tips-fade-in {
	from {
		opacity: 0;
		transform: translateY(-10px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}

}

.apdb-search-tips-content {
	background: var(--bg-primary);
	border: 2px solid var(--secondary);
	border-radius: 12px;
	padding: 1.25rem 1.5rem;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}

.apdb-tips-title {
	font-size: 1rem;
	font-weight: 600;
	color: var(--secondary);
	margin: 0 0 0.75rem 0;
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.apdb-tips-title svg {
	flex-shrink: 0;
}

.apdb-tips-list {
	margin: 0;
	padding-left: 1.5rem;
	list-style: none;
	text-align: left;
}

.apdb-tips-list li {
	font-size: 0.875rem;
	color: var(--text-primary);
	line-height: 1.6;
	margin-bottom: 0.5rem;
	position: relative;
}

.apdb-tips-list li:last-child {
	margin-bottom: 0;
}

.apdb-tips-list li::before {
	content: "→";
	position: absolute;
	left: -1.25rem;
	color: var(--secondary);
	font-weight: 600;
}

/* ===========================
   LIGHT MODE + COLOR THEME FIXES
   =========================== */

/* Fix search input text visibility in light mode with color themes */
[data-theme="light"][data-color-theme="seventies"] .apdb-search-input,
[data-theme="light"][data-color-theme="eighties"] .apdb-search-input,
[data-theme="light"][data-color-theme="fifties"] .apdb-search-input {
	color: #1a1a2e;
}

[data-theme="light"][data-color-theme="seventies"] .apdb-search-input::placeholder,
[data-theme="light"][data-color-theme="eighties"] .apdb-search-input::placeholder,
[data-theme="light"][data-color-theme="fifties"] .apdb-search-input::placeholder {
	color: #6b6b7c;
}

/* Fix search tips text visibility in light mode with color themes */
[data-theme="light"][data-color-theme="seventies"] .apdb-tip-text,
[data-theme="light"][data-color-theme="eighties"] .apdb-tip-text {
	color: #1a1a2e;
}

/* ===========================
   FILTER BAR
   =========================== */

.apdb-filter-bar {
	background: var(--bg-secondary);
	border: 1px solid var(--border-light);
	border-radius: 8px;
	padding: 1rem 1.5rem;
	margin-bottom: 1.5rem;
}

.apdb-filter-bar-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1.5rem;
	justify-content: space-between;
}

.apdb-filter-group {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	flex-wrap: wrap;
}

.apdb-filter-label {
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--text-primary);
	white-space: nowrap;
}

.apdb-select {
	padding: 0.5rem 1rem;
	border: 1px solid var(--border-medium);
	border-radius: 6px;
	background: var(--bg-primary);
	color: var(--text-primary);
	font-size: 0.9rem;
	font-family: 'Lato', sans-serif;
	cursor: pointer;
	transition: all 0.2s ease;
}

.apdb-select:hover {
	border-color: var(--secondary);
}

.apdb-select:focus {
	outline: none;
	border-color: var(--secondary);
	box-shadow: 0 0 0 3px var(--secondary-alpha);
}

.apdb-results-count {
	flex: 1;
	text-align: right;
	font-size: 0.9rem;
	color: var(--text-secondary);
	font-weight: 500;
	min-width: 200px;
}

/* ===========================
   LOADING & ERROR STATES
   =========================== */

.apdb-loading {
	text-align: center;
	padding: 3rem 1rem;
}

.apdb-spinner {
	width: 48px;
	height: 48px;
	border: 4px solid var(--border-light);
	border-top-color: var(--secondary);
	border-radius: 50%;
	margin: 0 auto 1rem;
	animation: apdb-spin 0.8s linear infinite;
}

@keyframes apdb-spin {
	to { transform: rotate(360deg); }
}

.apdb-loading p {
	color: var(--text-secondary);
	font-size: 1rem;
}

.apdb-error {
	background: var(--error-alpha);
	border-left: 4px solid var(--error);
	padding: 1.5rem;
	border-radius: 8px;
	margin-bottom: 1.5rem;
}

.apdb-error p {
	color: var(--error-dark);
	margin: 0;
	font-size: 0.95rem;
}

.apdb-no-results {
	text-align: center;
	padding: 3rem 1rem;
	color: var(--text-secondary);
	font-size: 1.1rem;
}

/* ===========================
   SEARCH RESULTS PAGE STYLES
   =========================== */

/* Search Results Page Container */
.apdb-search-results-page {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 1rem;
}

/* Search Header */
.apdb-search-header {
	margin-bottom: 3rem;
	text-align: center;
}

.apdb-search-results-title {
	color: var(--primary);
	font-size: 2rem;
	font-weight: 700;
	margin-bottom: 2rem;
	margin-top: 0;
}

/* Results Summary */
.apdb-search-results-summary {
	background: var(--bg-secondary);
	border-left: 4px solid var(--secondary);
	padding: 1rem 1.5rem;
	margin-bottom: 2rem;
	border-radius: 4px;
}

.apdb-search-results-summary p {
	margin: 0;
	color: var(--text-primary);
	font-size: 1.05rem;
}

/* No Results */
.apdb-no-results {
	text-align: center;
	padding: 3rem 1rem;
	background: var(--bg-secondary);
	border-radius: 8px;
	margin: 2rem 0;
}

.apdb-no-results p {
	color: var(--text-secondary);
	font-size: 1.125rem;
	margin-bottom: 0.5rem;
}

/* Results Section */
.apdb-search-results-section {
	margin-bottom: 3rem;
}

.apdb-search-results-section-title {
	color: var(--secondary);
	font-size: 1.5rem;
	font-weight: 600;
	margin-bottom: 1.5rem;
	padding-bottom: 0.5rem;
	border-bottom: 2px solid var(--border-light);
}

/* POWO external link */
.apdb-powo-link {
	margin-top: 8px;
	padding-top: 8px;
	border-top: 1px solid var(--border-light);
}

.apdb-powo-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 0.8rem;
	color: var(--text-tertiary);
	text-decoration: none;
	transition: color 0.2s ease;
}

.apdb-powo-btn:hover {
	color: var(--primary);
}.apdb-powo-btn i,
.apdb-powo-btn .aps-icon {
	font-size: 0.7rem;
}

/* Card link wrapper */
.apdb-card-link {
	text-decoration: none;
	color: inherit;
	display: block;
}

.apdb-card-link:hover .apdb-card {
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
	transform: translateY(-2px);
}

/* Card header layout */
.apdb-card-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 12px;
	margin-bottom: 12px;
}

/* Status badges */
.apdb-status-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 10px;
	border-radius: 12px;
	font-size: 0.75rem;
	font-weight: 600;
	white-space: nowrap;
	flex-shrink: 0;
}

.apdb-status-badge.status-draft {
	background: var(--bg-tertiary);
	color: var(--text-tertiary);
}

.apdb-status-badge.status-published {
	background: #d4edda;
	color: #155724;
}

.apdb-status-badge.status-in_review {
	background: #fff3cd;
	color: #856404;
}

.apdb-status-badge.status-obsolete {
	background: #f8d7da;
	color: #721c24;
}

.apdb-status-badge.status-archived {
	background: #e2e3e5;
	color: #383d41;
}

/* Taxonomic rank badge */
.apdb-taxon-rank {
	display: inline-flex;
	align-items: center;
	padding: 2px 8px;
	margin-left: 8px;
	border-radius: 10px;
	font-size: 0.65rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	white-space: nowrap;
	background: var(--bg-tertiary);
	color: var(--text-secondary);
	opacity: 0.8;
	vertical-align: middle;
}

/* Species status badge (ACCEPTED, SYNONYM, etc.) */
.apdb-species-status-badge {
	display: inline-flex;
	align-items: center;
	padding: 2px 8px;
	margin-left: 8px;
	border-radius: 10px;
	font-size: 0.65rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	white-space: nowrap;
	background: var(--bg-tertiary, #e9ecef);
	color: var(--text-secondary, #555);
	vertical-align: middle;
}


/* Common name / subtitle styling */
.apdb-species-common-name,
.apdb-species-family-name,
.apdb-iupac-name,
.apdb-parent-molecule,
.apdb-journal-name {
	font-size: 0.9rem;
	color: var(--text-secondary);
	margin-bottom: 8px;
	line-height: 1.4;
}

.apdb-species-family-name {
	font-style: italic;
	color: var(--text-tertiary);
}

/* Chemotype, extract type, plant part, etc. */
.apdb-chemotype,
.apdb-extract-type,
.apdb-plant-part,
.apdb-molecule-class,
.apdb-stereochemistry,
.apdb-configuration,
.apdb-publication-type {
	font-size: 0.85rem;
	color: var(--text-tertiary);
	background: var(--bg-secondary);
	padding: 4px 10px;
	border-radius: 4px;
	display: inline-block;
	margin-bottom: 8px;
}

/* Meta section */
.apdb-single-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	font-size: 0.85rem;
	color: var(--text-tertiary);
	padding-top: 12px;
	border-top: 1px solid var(--border-light);
	margin-top: auto;
}

.apdb-meta-item {
	display: inline-flex;
	align-items: center;
	gap: 4px;
}

.apdb-meta-item strong {
	font-weight: 600;
	color: var(--text-secondary);
}

.apdb-aps-id {
	font-family: 'Courier New', monospace;
	background: var(--bg-secondary);
	padding: 4px 8px;
	border-radius: 4px;
}

.apdb-brand-url {
	text-align: center;
	font-size: 0.85rem;
	padding-top: 8px;
}

.apdb-brand-url a {
	color: var(--link-primary);
	text-decoration: none;
	transition: color 0.2s ease-in-out;
}

.apdb-brand-url a:hover {
	color: var(--link-hover);
	text-decoration: underline;
}

/* Loading and Error States */
.apdb-loading,
.apdb-error {
	text-align: center;
	padding: 3rem 1rem;
	background: var(--bg-secondary);
	border-radius: 8px;
	margin: 2rem 0;
}

.apdb-spinner {
	width: 48px;
	height: 48px;
	margin: 0 auto 1rem;
	border: 4px solid var(--border-light);
	border-top-color: var(--secondary);
	border-radius: 50%;
	animation: spin 1s linear infinite;
}

@keyframes spin {
	to {
		transform: rotate(360deg);
	}
}

.apdb-error p {
	color: var(--error);
	font-size: 1.125rem;
	margin: 0;
}

/* Dark Mode Support */
[data-theme="dark"] .apdb-search-box-wrapper {
	background: var(--bg-secondary);
}

/* Responsive Design */
@media (max-width: 960px) {
	.apdb-search-title {
		font-size: 2rem;
	}

	.apdb-search-subtitle {
		font-size: 1rem;
	}

	/* Header Search - Tablet */
	.aps-header-search .apdb-search-input {
		font-size: 0.85rem;
		padding: 0.4rem 0.6rem;
	}

	.aps-header-search .apdb-search-button {
		width: 36px;
		height: 36px;
		min-width: 36px;
		min-height: 36px;
		max-width: 36px;
		max-height: 36px;
	}

	.aps-header-search .apdb-search-button svg {
		width: 18px;
		height: 18px;
	}
}

@media (max-width: 767px) {
	.apdb-search-hero {
		padding: 3rem 1.5rem;
		margin-bottom: 2rem;
	}

	.apdb-search-box-wrapper {
		border-radius: 12px;
		padding: 0.6rem;
		gap: 0.4rem;
	}

	.apdb-search-title {
		font-size: 1.75rem;
	}

	.apdb-search-subtitle {
		font-size: 0.95rem;
		margin-bottom: 1.5rem;
	}

	.apdb-search-input {
		padding: 0.75rem 1rem;
		font-size: 0.95rem;
	}

	.apdb-search-button {
		width: 44px;
		height: 44px;
		flex-shrink: 0;
	}

	.apdb-search-button svg {
		width: 20px;
		height: 20px;
	}

	.apdb-search-help-toggle {
		width: 44px;
		height: 44px;
		flex-shrink: 0;
	}

	.apdb-search-help-toggle svg {
		width: 18px;
		height: 18px;
	}

	.apdb-search-tips-content {
		padding: 1rem 1.25rem;
	}

	.apdb-tips-title {
		font-size: 0.9rem;
	}

	.apdb-tips-list li {
		font-size: 0.8rem;
	}

	.apdb-search-results-title {
		font-size: 1.75rem;
	}

	.apdb-search-results-section-title {
		font-size: 1.25rem;
	}

	.apdb-card-header {
		flex-direction: column;
		align-items: flex-start;
	}

	.apdb-status-badge {
		align-self: flex-start;
	}
}

/* ===========================
   Filter Bar
   =========================== */

.apdb-filter-bar {
	background: var(--bg-secondary);
	border: 1px solid var(--border-light);
	border-radius: 8px;
	padding: 20px;
	margin-bottom: 30px;
}

.apdb-filter-bar-inner {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	align-items: center;
}

.apdb-filter-group {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 2px;
}

.apdb-filter-label {
	font-weight: 500;
	font-size: 0.85rem;
	color: var(--text-tertiary);
	margin: 0;
	letter-spacing: 0.3px;
}

.apdb-select {
	padding: 8px 16px;
	border: 1px solid var(--border-light);
	border-radius: 6px;
	background: var(--white);
	font-size: 0.95rem;
	width: 100%;
	cursor: pointer;
	transition: border-color 0.3s ease;
}

.apdb-select:hover {
	border-color: var(--primary);
}

.apdb-select:focus {
	outline: none;
	border-color: var(--primary);
	box-shadow: 0 0 0 3px var(--primary-alpha);
}

.apdb-results-count {
	margin-left: auto;
	font-weight: 600;
	color: var(--text-secondary);
}

/* ===========================
   Genus Grid
   =========================== */

.apdb-genus-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 24px;
	margin-bottom: 40px;
}

.apdb-genus-card-container {
	position: relative;

}

.apdb-genus-card {
	background: var(--white);
	border: 1px solid var(--border-light);
	border-radius: 8px;
	padding: 24px;
	transition: all 0.3s ease;
	display: flex;
	flex-direction: column;
	gap: 16px;

}

.apdb-genus-card:hover {
	border-color: var(--primary);

}

.apdb-genus-epithet {
	color: var(--text-secondary);
}

.apdb-genus-notes {
	font-size: 0.9rem;
	line-height: 1.6;
	color: var(--text-tertiary);
	margin-bottom: 12px;
}

.apdb-genus-meta {
	display: flex;
	gap: 12px;
	font-size: 0.85rem;
	color: var(--text-tertiary);
	padding-top: 12px;
	border-top: 1px solid var(--border-light);
}

/* ===========================
   Pagination
   =========================== */

.apdb-pagination {
	display: flex;
	justify-content: center;
	margin-top: 40px;
}

.apdb-pagination-inner {
	display: flex;
	gap: 8px;
	align-items: center;
}

.apdb-page-link {
	min-width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 12px;
	border: 1px solid var(--border-light);
	border-radius: 6px;
	color: var(--text-secondary);
	text-decoration: none;
	font-weight: 500;
	transition: all 0.3s ease;
}

.apdb-page-link:hover {
	background: var(--bg-secondary);
	border-color: var(--primary);
	color: var(--primary);
}

.apdb-page-link.apdb-page-active {
	background: var(--primary);
	border-color: var(--primary);
	color: var(--white);
	cursor: default;
	pointer-events: none;
}

.apdb-page-ellipsis {
	padding: 0 8px;
	color: var(--text-tertiary);
}

/* ===========================
   Loading & Error States
   =========================== */

.apdb-loading {
	text-align: center;
	padding: 60px 20px;
}

.apdb-spinner {
	width: 50px;
	height: 50px;
	margin: 0 auto 20px;
	border: 4px solid var(--bg-tertiary);
	border-top: 4px solid var(--primary);
	border-radius: 50%;
	animation: spin 1s linear infinite;
}

@keyframes spin {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}

.apdb-error,
.apdb-no-results {
	text-align: center;
	padding: 60px 20px;
	color: var(--text-tertiary);
}

.apdb-error p,
.apdb-no-results p {
	font-size: 1.1rem;
	margin: 0;
}

/* ===========================
   Common Single Styles
   =========================== */

.apdb-single-container {
	margin: 0 auto;
	padding: 2rem 1rem;
	width: 100%;
	margin: 0 auto;
}

/* Header Section */
.apdb-single-header {
	margin-bottom: 0.5rem;
	padding-bottom: 1.5rem;
}

.apdb-single-icon {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: var(--gradient-secondary);
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 1.5rem;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.apdb-single-icon i,
.apdb-single-icon .aps-icon {
	font-size: 2rem;
	color: var(--white);
}

/* Color Theme Overrides for Single Page Icon */
[data-color-theme="seventies"] .apdb-single-icon {
	background: linear-gradient(135deg, #DAA520 0%, #B8941F 100%);
	box-shadow: 0 4px 12px rgba(218, 165, 32, 0.3);
}

[data-color-theme="eighties"] .apdb-single-icon {
	background: linear-gradient(135deg, #FF1493 0%, #C71585 100%);
	box-shadow: 0 4px 12px rgba(255, 20, 147, 0.4);
}

[data-color-theme="eighties"] .apdb-single-icon i,
[data-color-theme="eighties"] .apdb-single-icon .aps-icon {
	color: #000000;
}

[data-color-theme="fifties"] .apdb-single-icon {
	background: linear-gradient(135deg, #98FF98 0%, #7FFF7F 100%);
	box-shadow: 0 4px 12px rgba(152, 255, 152, 0.3);
}

[data-color-theme="fifties"] .apdb-single-icon i,
[data-color-theme="fifties"] .apdb-single-icon .aps-icon {
	color: #2C3E50;
}

/* Dark Mode + Color Theme Overrides for Icon */
[data-theme="dark"][data-color-theme="seventies"] .apdb-single-icon {
	background: linear-gradient(135deg, #DAA520 0%, #B8941F 100%);
	box-shadow: 0 4px 12px rgba(218, 165, 32, 0.5);
}

[data-theme="dark"][data-color-theme="eighties"] .apdb-single-icon {
	background: linear-gradient(135deg, #FF1493 0%, #C71585 100%);
	box-shadow: 0 4px 12px rgba(255, 20, 147, 0.6);
}

[data-theme="dark"][data-color-theme="fifties"] .apdb-single-icon {
	background: linear-gradient(135deg, #98FF98 0%, #7FFF7F 100%);
	box-shadow: 0 4px 12px rgba(152, 255, 152, 0.5);
}

.apdb-single-subtitle {
	font-size: 1.5rem;
	color: var(--text-primary);
	margin-bottom: 0.5rem;
	line-height: 1.2;
	text-align: center;
}

.apdb-isomer-also-known-as {
	font-size: 0.95rem;
	color: var(--text-secondary);
	margin: 0.25rem 0 0.5rem;
	text-align: center;
	line-height: 1.4;
}

.apdb-single-title {
	font-size: 2.5rem;
	font-weight: 700;
	color: var(--text-primary);
	margin-top: 0;
	margin-bottom: 0.5rem;
	line-height: 1.2;
	text-align: center;
}

.apdb-single-title .apdb-badge {
	vertical-align: middle;
	position: relative;
	top: -0.1em;
}

/* Batch Selector */
.apdb-batch-selector-container {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
}

.apdb-batch-selector-container > .apdb-meta-label {
	padding-top: 0.5rem;
}

.apdb-batch-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: center;
}

.apdb-batch-tag {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	padding: 0.5rem 0.875rem;
	font-size: 0.8125rem;
	font-weight: 500;
	line-height: 1.3;
	border: 2px solid var(--border-light);
	border-radius: 8px;
	background-color: var(--white);
	color: var(--text-primary);
	cursor: pointer;
	transition: all 0.2s ease;
	min-width: 5rem;
	text-align: center;
}

.apdb-batch-tag:hover {
	border-color: var(--link-primary);
	background-color: var(--bg-secondary, #f8f9fa);
	transform: translateY(-1px);
}

.apdb-batch-tag:focus {
	outline: none;
	border-color: var(--link-primary);
	box-shadow: 0 0 0 3px rgba(var(--link-primary-rgb, 52, 152, 219), 0.2);
}

.apdb-batch-tag:active {
	transform: translateY(0);
}

.apdb-batch-tag--active {
	border-color: var(--link-primary);
	background-color: var(--link-primary);
	color: var(--white);
}

.apdb-batch-tag--active:hover {
	background-color: var(--link-primary);
	color: var(--white);
}

.apdb-batch-tag__code {
	font-weight: 600;
	font-size: 0.875rem;
}

.apdb-batch-tag__date {
	font-size: 0.6875rem;
	opacity: 0.8;
	margin-top: 0.125rem;
}

.apdb-batch-tag--active .apdb-batch-tag__date {
	opacity: 0.9;
}

.apdb-batch-tag:disabled,
.apdb-batch-tag.apdb-batch-tag--loading {
	opacity: 0.6;
	cursor: not-allowed;
	pointer-events: none;
}

.apdb-batch-loading {
	color: var(--text-secondary);
}

[data-theme="dark"] .apdb-batch-tag {
	background-color: var(--bg-secondary);
	border-color: var(--border-dark);
	color: var(--text-primary);
}

[data-theme="dark"] .apdb-batch-tag:hover {
	border-color: var(--link-primary);
	background-color: var(--bg-tertiary, #2a2a2a);
}

[data-theme="dark"] .apdb-batch-tag--active {
	border-color: var(--link-primary);
	background-color: var(--link-primary);
	color: var(--white);
}

@media (max-width: 480px) {
	.apdb-batch-selector-container {
		flex-direction: column;
		align-items: flex-start;
	}

	.apdb-batch-selector-container > .apdb-meta-label {
		padding-top: 0;
		margin-bottom: 0.25rem;
	}

	.apdb-batch-tag {
		padding: 0.375rem 0.625rem;
		min-width: 4rem;
	}

	.apdb-batch-tag__code {
		font-size: 0.8125rem;
	}

}

/* Loading state for batch content */
#apdb-batch-analysis-container.apdb-loading {
	opacity: 0.5;
	pointer-events: none;
}

/* Batch Details Row - 2 column layout for Traceability + Cultivation sections */
.apdb-batch-details-row {
	display: flex;
	gap: 2rem;
	margin-bottom: 1.5rem;
}

.apdb-batch-details-row > .apdb-section {
	flex: 1;
	min-width: 0;
	margin-bottom: 0;
}

.apdb-batch-details-row .apdb-properties-grid {
	grid-template-columns: 1fr;
}

@media (max-width: 1024px) {
	.apdb-batch-details-row {
		flex-direction: column;
		gap: 1.5rem;
	}

}

.apdb-section-info {
	margin-top: 1rem;
	padding: 0.75rem 1rem;
	background: var(--apdb-chart-info-bg, #f8f9fa);
	border-left: 3px solid var(--apdb-chart-info-border, #3498db);
	border-radius: 4px;
	font-size: 0.8125rem;
	line-height: 1.6;
	color: var(--apdb-chart-info-text, #5a6c7d);
}

/* Light Mode Color Themes */
[data-color-theme="seventies"] .apdb-section-info {
	background: #FFF8DC;
	border-left-color: #D2691E;
	color: #654321;
}

[data-color-theme="eighties"] .apdb-section-info {
	background: rgba(0, 255, 255, 0.15);
	border-left-color: #00FFFF;
	color: #008B8B;
}

[data-color-theme="fifties"] .apdb-section-info {
	background: rgba(176, 224, 230, 0.3);
	border-left-color: #87CEEB;
	color: #2C3E50;
}

/* Dark Mode Default */
[data-theme="dark"] .apdb-section-info {
	background: rgba(52, 152, 219, 0.1);
	border-left-color: #3498db;
	color: #a8c5da;
}

/* Dark Mode Color Themes */
[data-theme="dark"][data-color-theme="seventies"] .apdb-section-info {
	background: rgba(218, 165, 32, 0.1);
	border-left-color: #DAA520;
	color: #e6d0a0;
}

[data-theme="dark"][data-color-theme="eighties"] .apdb-section-info {
	background: rgba(255, 20, 147, 0.1);
	border-left-color: #FF1493;
	color: #ffb3d9;
}

[data-theme="dark"][data-color-theme="fifties"] .apdb-section-info {
	background: rgba(152, 255, 152, 0.1);
	border-left-color: #98FF98;
	color: #c8ffc8;
}

/* ===========================
   Single Species
   =========================== */

.apdb-species-single {
	margin: 0 auto;
}

.apdb-species-article {
	background: var(--white);
	border: 1px solid var(--border-light);
	border-radius: 8px;
	padding: 40px;
}

.apdb-species-header {
	margin-bottom: 30px;
	padding-bottom: 20px;
	border-bottom: 2px solid var(--border-light);
}

.apdb-species-content h2 {
	font-size: 1.5rem;
	font-weight: 600;
	margin: 30px 0 16px 0;
	color: var(--text-secondary);
}

.apdb-single-footer {
	margin-top: 30px;
	padding-top: 20px;
	border-top: 1px solid var(--border-light);
}

.apdb-single-dates {
	display: flex;
	gap: 20px;
	font-size: 0.9rem;
	color: var(--text-tertiary);
}

/* ===========================
   Responsive Design
   =========================== */

@media (max-width: 768px) {
	.apdb-search-title {
		font-size: 1.75rem;
	}

	.apdb-search-hero {
		padding: 40px 20px;
	}

	.apdb-filter-bar-inner {
		flex-direction: column;
		align-items: stretch;
	}

	.apdb-filter-group {
		flex-direction: column;
		align-items: stretch;
	}

	.apdb-select {
		width: 100%;
	}

	.apdb-results-count {
		margin-left: 0;
		text-align: center;
	}

	.apdb-single-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.apdb-species-article {
		padding: 24px;
	}

	.apdb-single-dates {
		flex-direction: column;
		gap: 8px;
	}
}

/* ===========================
   Accessibility
   =========================== */

.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	width: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
}

/* Focus styles for keyboard navigation */
.apdb-search-input:focus,
.apdb-select:focus,
.apdb-page-link:focus {
	outline: 2px solid var(--primary);
	outline-offset: 2px;
}

/* ===========================
   Clickable Card Links
   =========================== */

.apdb-card-link {
	text-decoration: none;
	color: inherit;
	display: block;
	transition: transform 0.2s ease;
}

.apdb-card-link:hover {
	text-decoration: none;
}

.apdb-card-link:focus {
	outline: 2px solid var(--primary);
	outline-offset: 2px;
	border-radius: 8px;
}

/* Make entire card clickable and add subtle hover effect */
.apdb-card-link .apdb-card {
	cursor: pointer;
	height: 100%;
}

/* Remove default link underline on titles */
.apdb-card-link .apdb-card-name {
	text-decoration: none;
}

/* Add subtle active state */
.apdb-card-link:active .apdb-card {
	transform: scale(0.98);
}

/* ===========================
   UNIFIED GRID SYSTEM
   Applied to all object types: Genera, Species, Extracts, Molecules, etc.
   =========================== */

/* for new coding, use .apdb-single-grid for all grids */
/* genera, species and extracts are legacy - keep for backward compatibility */
.apdb-single-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	gap: 24px;
	margin-bottom: 40px;
	align-items: start;
}

/* Unified card container */
.apdb-card-container {
	position: relative;
}

/* Unified base card - covers genera, species, extracts */
.apdb-card {
	background: var(--bg-secondary, #fafafa);
	border: 1px solid var(--border-light);
	border-radius: 8px;
	padding: 24px;
	transition: all 0.3s ease;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

/* Unified hover state */
.apdb-card:hover {
	border-color: var(--primary);
	box-shadow: 0 4px 12px var(--primary-alpha);
	transform: translateY(-2px);
}

.apdb-card-name {
	font-size: 1.5rem;
	font-weight: 600;
	margin: 0 0 12px 0;
	color: var(--primary);
}
	
/* ===========================
   OBJECT-SPECIFIC CONTENT STYLES
   (Keep all these - they style the content inside cards)
   =========================== */

.apdb-publication-title {
    font-size: 1.15rem;
    font-weight: 700;
    margin: 0 0 8px 0;
    color: var(--text-primary);
}

.apdb-genus-notes {
	font-size: 0.9rem;
	line-height: 1.6;
	color: var(--text-tertiary);
	margin-bottom: 12px;
}

.apdb-species-epithet {
	color: var(--text-secondary);
}

.apdb-species-notes {
	font-size: 0.9rem;
	line-height: 1.6;
	color: var(--text-tertiary);
	margin-bottom: 12px;
}

.apdb-species-status {
	font-size: 0.85rem;
	color: var(--text-secondary);
	padding: 6px 12px;
	background: var(--bg-secondary);
	border-radius: 4px;
	margin-bottom: 12px;
	font-weight: 500;
}

/* Extract-specific content */
.apdb-extract-common-name {
	font-size: 0.95rem;
	color: var(--text-secondary);
	margin: 0;
	font-style: italic;
}

.apdb-extract-botanical-name {
	font-size: 0.95rem;
	color: var(--text-secondary);
	margin: 0;
}

.apdb-extract-type-short-name {
	text-align: center;
	font-size: 0.9em;
	opacity: 0.7;
	margin-top: 0.5em;
	margin-bottom: 0;
	color: var(--text-tertiary);
}

.apdb-single-meta {
	display: flex;
	flex-direction: column;
	gap: 8px;
	font-size: 0.9rem;
}

.apdb-extract-rating {
	display: flex;
	gap: 4px;
	align-items: center;
}

.apdb-star {
	font-size: 1.2rem;
	color: var(--border-light);
}

.apdb-star-filled {
	color: var(--warning);
}

.apdb-extract-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.apdb-badge {
	display: inline-block;
	padding: 4px 12px;
	border-radius: 12px;
	font-size: 0.8rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.apdb-badge-expert {
	background: var(--error-alpha);
	color: var(--error-dark);
}

.apdb-badge-storage {
	background: var(--info-light);
	color: var(--info-dark);
}

.apdb-extract-properties {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: 8px;
	padding: 12px;
	background: var(--bg-secondary);
	border-radius: 6px;
	font-size: 0.85rem;
}

.apdb-property {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.apdb-property strong {
	color: var(--text-secondary);
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

/* ===========================
   Physical Properties Grid
   =========================== */

.apdb-properties-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1px;
	background: var(--border-light);
	border: 1px solid var(--border-light);
	border-radius: 8px;
	overflow: hidden;
	margin-bottom: 1.5rem;
}

.apdb-property-item {
	display: grid;
	grid-template-columns: 200px 1fr;
	gap: 16px;
	padding: 16px 20px;
	background: var(--bg-primary);
	transition: background-color 0.2s ease;
	align-items: baseline;
}

/* Auto-span single items in last row */
.apdb-property-item:last-child:nth-child(odd) {
	grid-column: 1 / -1;
}

.apdb-property-item:hover {
	background: var(--bg-secondary);
}

.apdb-property-label {
	font-weight: 600;
	font-size: 0.875rem;
	color: var(--text-secondary);
	text-transform: uppercase;
	letter-spacing: 0.5px;
	line-height: 1.4;
}

.apdb-property-value-wrapper {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

/* Two visual tiers within a property item:
 *   Tier 1 (primary): the measurement itself — apdb-property-value.
 *   Tier 2 (secondary, muted): everything else describing it — condition,
 *     source, method, description. All share one secondary size for a
 *     readable, scannable layout.
 */
.apdb-property-value {
	font-family: 'Courier New', 'Monaco', monospace;
	font-size: 1rem;
	color: var(--text-primary);
	font-weight: 500;
	letter-spacing: 0.3px;
	line-height: 1.5;
}

/* Secondary tier — same size and color across all four classes. */
.apdb-property-condition,
.apdb-property-source,
.apdb-property-method,
.apdb-property-description {
	font-size: 0.85rem;
	color: var(--text-tertiary);
	line-height: 1.45;
	font-weight: normal;
}

/* Layout-only tweaks that don't affect typography. */
.apdb-property-condition {
	margin-left: 0.4rem;
	/* Inline next to value — keep its monospace inheritance off so the
	 * "at 20°C" bit reads as a regular note, not part of the number. */
	font-family: inherit;
}

.apdb-property-source,
.apdb-property-method,
.apdb-property-description {
	display: block;
}

.apdb-property-method {
	font-style: italic;
}

/* P3.5: per-source row inside a property item (multi-row for same property type) */
.apdb-property-row {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	padding: 0.25rem 0;
}

.apdb-property-row + .apdb-property-row {
	border-top: 1px dashed var(--border-light, #e5e5e5);
	padding-top: 0.4rem;
	margin-top: 0.25rem;
}

.apdb-property-source i {
	margin-right: 0.25rem;
	opacity: 0.7;
}

.apdb-property-source a {
	color: inherit;
	text-decoration: underline;
	text-decoration-style: dotted;
}

.apdb-property-source a:hover {
	color: var(--secondary);
}

/* Inline APA citation under a publication title in tables (Chemical Composition, etc.).
 * The link opens the DOI in a new tab; visually consistent with the
 * apdb-identifier-chip-link external-link convention. */
.apdb-publication-inline-ref {
	display: block;
	margin-top: 0.2rem;
	font-size: 0.85rem;
	color: var(--text-tertiary);
}

.apdb-publication-inline-ref-link {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	color: var(--text-tertiary);
	text-decoration: underline;
	text-decoration-style: dotted;
}

.apdb-publication-inline-ref-link:hover,
.apdb-publication-inline-ref-link:focus {
	color: var(--secondary);
	text-decoration-style: solid;
}

.apdb-publication-inline-ref-icon {
	font-size: 0.7em;
	opacity: 0.7;
}

.apdb-publication-inline-ref-text {
	color: var(--text-tertiary);
	font-style: italic;
}

/* Per-source notes line rendered beneath the publication citation */
.apdb-composition-notes {
	margin-top: 0.35rem;
	color: var(--text-secondary);
	font-size: 0.875em;
	line-height: 1.45;
	white-space: pre-line;
}

/* Thermal-coefficient cards on the public extract page (multi-row).
   First card (default) has full prominence; alternate-source cards
   sit indented and dimmer to keep the default reading first. */
.apdb-thermal-coefficient-section {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.apdb-tc-public-card {
	padding: 0.75rem 0;
}

.apdb-tc-public-card + .apdb-tc-public-card {
	border-top: 1px dashed var(--border-color, #e5e7eb);
	padding-top: 1rem;
}

.apdb-tc-public-card-header {
	margin-bottom: 0.5rem;
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.apdb-tc-public-card--default .apdb-properties-grid {
	font-weight: 500;
}

.apdb-tc-public-source {
	margin: 0.5rem 0 0;
	display: inline-flex;
	align-items: baseline;
	gap: 0.35rem;
	color: var(--text-secondary);
	font-size: 0.9em;
}

.apdb-tc-public-source .aps-icon {
	flex: 0 0 auto;
}

.apdb-tc-public-notes {
	margin-top: 0.35rem;
	color: var(--text-secondary);
	font-size: 0.875em;
	line-height: 1.45;
}

.apdb-publication-title-link {
	color: inherit;
	text-decoration: none;
}

.apdb-publication-title-link:hover,
.apdb-publication-title-link:focus {
	text-decoration: underline;
}

/* Composition table — group rows by molecule via rowspan. Each <tbody> wraps
 * one molecule's rows so a thicker divider sits between molecules. Continuation
 * rows (multi-source: same molecule, additional publications) get a softer,
 * dashed top border to read as "another source for the same molecule". The
 * Enantiomeric Profile table reuses the same pattern via .apdb-isomer-group*. */
.apdb-single-table .apdb-molecule-group + .apdb-molecule-group,
.apdb-single-table .apdb-isomer-group + .apdb-isomer-group {
	border-top: 2px solid var(--border-light, #e5e5e5);
}

.apdb-single-table .apdb-molecule-group-cont > td,
.apdb-single-table .apdb-isomer-group-cont > td {
	border-top: 1px dashed var(--border-light, #e5e5e5);
	background: var(--bg-secondary, #f9f9f9);
}

.apdb-single-table .apdb-molecule-group--multi .apdb-molecule-group-first > td[rowspan],
.apdb-single-table .apdb-isomer-group--multi .apdb-isomer-group-first > td[rowspan] {
	vertical-align: top;
	border-right: 1px solid var(--border-light, #e5e5e5);
}

.apdb-isomer-cell {
	vertical-align: top;
	min-width: 14rem;
}

/* Molecule cell on the public extract page — name + classification meta + badges
 * stacked vertically, replacing the old separate Formula / Class / Functional Group
 * / Type columns. Reduces the table from 8 columns to 3. */
.apdb-molecule-cell {
	vertical-align: top;
	min-width: 12rem;
}

.apdb-molecule-name {
	font-weight: 600;
	font-size: 1rem;
	line-height: 1.3;
}

/* Parent-molecule heading above each Enantiomeric Profile sub-table.
 * Mirrors the molecule-name typography (weight + link treatment) so the
 * two parent-molecule labels read as the same affordance; slightly larger
 * to signal "section heading above a table" rather than "cell label". */
.apdb-isomer-molecule-title {
	margin: 0 0 0.5rem 0;
	font-weight: 600;
	font-size: 1.1rem;
	line-height: 1.3;
	color: var(--text-primary);
}

.apdb-molecule-name a,
.apdb-isomer-molecule-title a {
	color: inherit;
	text-decoration: none;
}

.apdb-molecule-name a:hover,
.apdb-molecule-name a:focus,
.apdb-isomer-molecule-title a:hover,
.apdb-isomer-molecule-title a:focus {
	text-decoration: underline;
}

.apdb-molecule-meta {
	display: block;
	margin-top: 0.25rem;
	font-size: 0.85rem;
	color: var(--text-tertiary);
	line-height: 1.4;
}

.apdb-molecule-formula {
	font-family: 'Courier New', 'Monaco', monospace;
	font-size: 0.85rem;
	color: var(--text-tertiary);
	background: transparent;
	padding: 0;
}

.apdb-molecule-classification {
	margin-left: 0.4rem;
	font-style: italic;
}

.apdb-molecule-badges {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.3rem;
	margin-top: 0.4rem;
}

/* Major / Marker flags are equal-status: both are "this molecule plays role X
 * in this extract". The default .badge-primary uses a transparent (alpha)
 * background which reads as muted/off next to .badge-success's solid tint.
 * Override inside the molecule cell so both look equally active and only
 * differ by their text label. */
.apdb-molecule-badges .badge-primary,
.apdb-molecule-badges .badge-success {
	background: var(--bg-secondary, #f5f5f4);
	color: var(--text-primary, #1f2937);
	border: 1px solid var(--border-light, #d4d4d8);
}

/* Property Info Toggle Button */
.apdb-property-info-toggle {
	background: transparent;
	border: none;
	padding: 0;
	margin-left: 8px;
	cursor: pointer;
	color: var(--text-tertiary);
	transition: all 0.2s ease;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	border-radius: 50%;
}

.apdb-property-info-toggle:hover {
	color: var(--secondary);
	background: var(--bg-secondary);
	transform: scale(1.1);
}

.apdb-property-info-toggle:active {
	transform: scale(0.95);
}

.apdb-property-info-toggle[aria-expanded="true"] {
	color: var(--secondary);
	background: var(--bg-secondary);
}.apdb-property-info-toggle i,
.apdb-property-info-toggle .aps-icon {
	font-size: 16px;
}

/* Property Metadata Display */
.apdb-property-metadata {
	margin-top: 12px;
	padding: 12px 16px;
	background: var(--bg-secondary);
	border-left: 3px solid var(--secondary);
	border-radius: 6px;
	animation: apdb-metadata-fade-in 0.3s ease;
}

@keyframes apdb-metadata-fade-in {
	from {
		opacity: 0;
		transform: translateY(-8px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}

}

.apdb-property-metadata[hidden] {
	display: none;
}

.apdb-metadata-list {
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 8px 16px;
	align-items: baseline;
}

.apdb-metadata-list dt {
	font-size: 0.8rem;
	font-weight: 600;
	color: var(--text-secondary);
	text-transform: uppercase;
	letter-spacing: 0.5px;
	margin: 0;
}

.apdb-metadata-list dd {
	font-size: 0.85rem;
	color: var(--text-primary);
	margin: 0;
	line-height: 1.5;
}

.apdb-metadata-list dd.apdb-source-reference {
	grid-column: 1 / -1;
	margin-top: 4px;
	padding-top: 8px;
	border-top: 1px solid var(--border-light);
	font-size: 0.85rem;
	line-height: 1.6;
}

.apdb-metadata-list dd.apdb-source-reference p {
	margin: 0 0 8px 0;
}

.apdb-metadata-list dd.apdb-source-reference p:last-child {
	margin-bottom: 0;
}

/* Dark mode support for metadata */
[data-theme="dark"] .apdb-property-metadata {
	background: var(--bg-tertiary);
	border-left-color: var(--secondary);
}

[data-theme="dark"] .apdb-metadata-list dd.apdb-source-reference {
	border-top-color: var(--border-medium);
}

@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) .apdb-property-metadata {
		background: var(--bg-tertiary);
		border-left-color: var(--secondary);
	}

	:root:not([data-theme="light"]) .apdb-metadata-list dd.apdb-source-reference {
		border-top-color: var(--border-medium);
	}

}

/* Responsive metadata display */
@media (max-width: 768px) {
	.apdb-metadata-list {
		grid-template-columns: 1fr;
		gap: 4px;
	}

	.apdb-metadata-list dt {
		font-size: 0.75rem;
	}

	.apdb-metadata-list dd {
		font-size: 0.8rem;
		margin-bottom: 8px;
	}

	.apdb-metadata-list dd:last-child {
		margin-bottom: 0;
	}

	.apdb-metadata-list dd.apdb-source-reference {
		margin-top: 8px;
	}

}

/* Full-width property items (like solubility) */
.apdb-property-full-width {
	grid-column: 1 / -1;
}

.apdb-property-full-width .apdb-property-value {
	line-height: 1.6;
}

/* Dark mode support */
[data-theme="dark"] .apdb-properties-grid {
	background: var(--border-medium);
	border-color: var(--border-medium);
}

[data-theme="dark"] .apdb-property-item {
	background: var(--bg-secondary);
}

[data-theme="dark"] .apdb-property-item:hover {
	background: var(--bg-tertiary);
}

@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) .apdb-properties-grid {
		background: var(--border-medium);
		border-color: var(--border-medium);
	}

	:root:not([data-theme="light"]) .apdb-property-item {
		background: var(--bg-secondary);
	}

	:root:not([data-theme="light"]) .apdb-property-item:hover {
		background: var(--bg-tertiary);
	}

}

/* Tablet and mobile responsive */
@media (max-width: 1024px) {
	.apdb-properties-grid {
		grid-template-columns: 1fr;
	}

}

@media (max-width: 768px) {
	.apdb-property-item {
		grid-template-columns: 1fr;
		gap: 6px;
		padding: 12px 16px;
	}

	.apdb-property-label {
		font-size: 0.75rem;
	}

	.apdb-property-value {
		font-size: 0.9rem;
	}

}

/* ===========================
   Extract Type Badge Colors
   =========================== */

.apdb-extract-type {
	position: relative;
}

.apdb-extract-card[data-extract-type="essential-oil"] .apdb-extract-type strong {
	color: var(--primary);
}

.apdb-extract-card[data-extract-type="carrier-oil"] .apdb-extract-type strong {
	color: var(--secondary);
}

/* ===========================
   Olfactory Family Colors
   =========================== */

.apdb-olfactory-family {
	position: relative;
}

.apdb-extract-card[data-olfactory-family] .apdb-single-header::after {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: 4px;
	height: 100%;
	background: var(--secondary);
	border-radius: 0 8px 0 0;
}

/* ===========================
   Responsive - Genera & Extracts
   =========================== */

@media (max-width: 768px) {
	.apdb-single-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.apdb-single-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.apdb-card-name {
		font-size: 1.25rem;
	}

	.apdb-extract-properties {
		grid-template-columns: 1fr;
	}

	.apdb-extract-badges {
		justify-content: center;
	}
}

/* ===========================
   Action Buttons
   =========================== */

.apdb-action-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 16px 12px;
	margin: 1.5rem 0;
	padding: 10px;
	/* background: var(--white); */
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

button,
.apdb-button {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 0.5rem 0.9rem;
	font-size: 1rem;
	font-weight: 500;
	font-family: 'Lato', sans-serif;
	border: none;
	border-radius: 6px;
	cursor: pointer;
	text-decoration: none;
	white-space: nowrap;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
	transition: all 0.3s ease;
	line-height: 1;

}

.apdb-button:disabled {
	opacity: 0.6;
	cursor: not-allowed;
	transform: none;

}

.apdb-button:focus-visible {
	outline: 2px solid var(--link-focus);
	outline-offset: 2px;

}

.apdb-button-small {
	font-size: 0.875rem;
	padding: 0.5rem 1rem;

}

.apdb-button-primary {
	background: var(--primary);
	color: var(--text-inverse);

}

.apdb-button-primary:hover:not(:disabled) {
	background: var(--primary);
	color: var(--text-inverse);
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);

}

.apdb-button-primary:active:not(:disabled) {
	transform: translateY(0);
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);

}

.apdb-button-primary:focus-visible {
	outline-color: var(--primary);

}

.apdb-button-secondary {
	background: var(--bg-primary);
	color: var(--primary);
	border: 1px solid var(--primary);

}

.apdb-button-secondary:hover:not(:disabled) {
	background: var(--primary);
	color: var(--text-inverse);
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);

}

.apdb-button-secondary:active:not(:disabled) {
	transform: translateY(0);
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);

}

.apdb-button .dashicons {
	font-size: 20px;
	width: 20px;
	height: 20px;
}

/* Privilege-Based Button Badges */
.apdb-button-admin,
.apdb-button-contributor,
.apdb-button:has(.apdb-privilege-badge) {
	position: relative;
}

.apdb-privilege-badge {
	position: absolute;
	top: -8px;
	right: -8px;
	width: 20px;
	height: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	font-size: 0.65rem;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
	color: var(--white);
}

.apdb-privilege-badge i {
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}

.apdb-privilege-badge.admin {
	background: var(--brand-navy-light);
}

.apdb-privilege-badge.contributor {
	background: var(--brand-terracotta);
}

/* Dark Mode Support for Privilege Button Badges */
[data-theme="dark"] .apdb-privilege-badge.admin {
	background: var(--brand-sage-dark);
}

[data-theme="dark"] .apdb-privilege-badge.contributor {
	background: var(--brand-terracotta);
}

@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) .apdb-privilege-badge.admin {
		background: #ff5252;
	}

	:root:not([data-theme="light"]) .apdb-privilege-badge.contributor {
		background: var(--brand-gold);
		color: var(--brand-navy);
	}

}

/* Responsive Design for Privilege Buttons */
@media (max-width: 768px) {
	.apdb-privilege-badge {
		font-size: 0.6rem;
		width: 18px;
		height: 18px;
	}

}

/* Notices */
.apdb-notice {
	padding: 14px 20px;
	margin-bottom: 20px;
	border-radius: 6px;
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 6px;
	background: none;
	border-left: 3px solid;
}

.apdb-notice p {
	margin: 0;
	font-size: 0.95rem;
}

.apdb-notice-info {
	border-left-color: var(--primary);
	color: var(--text-primary);
}

.apdb-notice-success {
	border-left-color: var(--brand-sage-dark, #2e7d32);
	color: var(--text-primary);
}

.apdb-notice-error {
	border-left-color: var(--brand-terracotta, #c62828);
	color: var(--text-primary);
}

.apdb-notice-subtle {
	border-left-color: var(--border, #ddd);
	color: var(--text-secondary);
	padding-block: 6px;
}

.apdb-notice-subtle p {
	font-size: 0.875rem;
}

.apdb-molecule-isomers {
	list-style: none;
	margin: 8px 0 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.apdb-molecule-isomers li {
	font-size: 0.85rem;
	color: var(--text-secondary);
	background: var(--bg-secondary);
	border: 1px solid var(--border-light);
	border-radius: 4px;
	padding: 3px 10px;
	line-height: 1.5;
}

.apdb-molecule-isomers li a {
	color: var(--link-primary);
	text-decoration: none;
}

.apdb-molecule-isomers li:has(a):hover {
	border-color: var(--primary);
}

.apdb-molecule-isomers li a:hover {
	text-decoration: underline;
}

/* Delete Button (form-actions) */
.form-actions .btn-danger,
.blend-form-actions .btn-danger {
	margin-left: auto;
	background: none;
	color: var(--brand-terracotta, #c62828);
	border: 1px solid var(--brand-terracotta, #c62828);
}

.form-actions .btn-danger:hover,
.blend-form-actions .btn-danger:hover {
	background-color: var(--brand-terracotta, #c62828);
	color: var(--white, #fff);
}

.apdb-notice-dismiss {
	position: absolute;
	top: 8px;
	right: 8px;
	background: transparent;
	border: none;
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
	padding: 4px 8px;
	color: inherit;
	opacity: 0.7;
}

.apdb-notice-dismiss:hover {
	opacity: 1;
}

/* Dark Mode Support */
[data-theme="dark"] .apdb-button-primary {
	background: var(--primary);
	color: var(--text-inverse);

}

[data-theme="dark"] .apdb-button-primary:hover:not(:disabled) {
	background: var(--primary-light);
	color: var(--bg-primary);
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(255, 255, 255, 0.1);

}

[data-theme="dark"] .apdb-button-primary:active:not(:disabled) {
	transform: translateY(0);
	box-shadow: 0 2px 4px rgba(255, 255, 255, 0.05);

}

[data-theme="dark"] .apdb-button-secondary {
	background: var(--bg-secondary);
	border-color: var(--primary-light);
	color: var(--primary-light);

}

[data-theme="dark"] .apdb-button-secondary:hover:not(:disabled) {
	background: var(--primary-light);
	color: var(--bg-primary);

}

@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) .apdb-button-primary {
		background: var(--primary);
		color: var(--text-inverse);

	}

	:root:not([data-theme="light"]) .apdb-button-primary:hover:not(:disabled) {
		background: var(--primary-light);
		color: var(--bg-primary);
		transform: translateY(-1px);
		box-shadow: 0 4px 12px rgba(255, 255, 255, 0.1);

	}

	:root:not([data-theme="light"]) .apdb-button-primary:active:not(:disabled) {
		transform: translateY(0);
		box-shadow: 0 2px 4px rgba(255, 255, 255, 0.05);

	}

	:root:not([data-theme="light"]) .apdb-button-secondary {
		background: var(--bg-secondary);
		border-color: var(--primary-light);
		color: var(--primary-light);

	}

	:root:not([data-theme="light"]) .apdb-button-secondary:hover:not(:disabled) {
		background: var(--primary-light);
		color: var(--bg-primary);

	}

}

/* Responsive */
@media (max-width: 767px) {
	button,
	.apdb-button {
		width: 100%;
		justify-content: center;

	}

}

@media (max-width: 768px) {
	.apdb-action-buttons {
		flex-direction: column;
	}
}

/* ===========================
   Molecules Browser Specific
   =========================== */

.apdb-molecules-browser {
	/* Inherits most styles from the general browser styles */
}

/* View Toggle Buttons */
.apdb-view-toggle {
	display: flex;
	gap: 4px;
	background: var(--bg-secondary);
	padding: 4px;
	border-radius: 6px;
	border: 1px solid var(--border-light);
}

.apdb-view-button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	background: transparent;
	border: none;
	border-radius: 4px;
	cursor: pointer;
	transition: all 0.3s ease;
	color: var(--text-tertiary);
}

.apdb-view-button svg {
	width: 20px;
	height: 20px;
	stroke: currentColor;
	fill: none;
	flex-shrink: 0;
}

.apdb-view-button:hover {
	background: var(--white);
	color: var(--primary);
}

.apdb-view-button.apdb-view-active {
	background: var(--white);
	color: var(--primary);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.apdb-molecules-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
	gap: 24px;
	margin-bottom: 40px;
}

/* Molecules List View */
.apdb-molecules-list {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin-bottom: 40px;
}

.apdb-molecules-list .apdb-card-link {
	width: 100%;
}

.apdb-molecules-list .apdb-molecule-card {
	display: grid;
	grid-template-columns: 280px 1fr;
	grid-template-rows: auto auto auto auto;
	gap: 16px 24px;
	align-items: start;
	padding: 20px 24px;
}

.apdb-molecules-list .apdb-molecule-header {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
	grid-column: 1;
	grid-row: 1 / -1;
}

.apdb-molecules-list .apdb-molecule-name {
	font-size: 1.15rem;
	margin-bottom: 8px;
	text-align: left;
}

.apdb-molecules-list .apdb-single-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin-bottom: 0;
	grid-column: 2;
	grid-row: 1;
}

.apdb-molecules-list .apdb-molecule-badges {
	margin-top: 0;
	grid-column: 2;
	grid-row: 2;
}

.apdb-molecules-list .apdb-molecule-alternative-names {
	grid-column: 2;
	grid-row: 3;
	margin-bottom: 0;
}

.apdb-molecules-list .apdb-molecule-description {
	grid-column: 2;
	grid-row: 4;
	margin-top: 0;
}

.apdb-molecule-card {
	background: var(--white);
	border: 1px solid var(--border-light);
	border-radius: 8px;
	padding: 20px;
	transition: all 0.3s ease;
	height: 100%;
	display: flex;
	flex-direction: column;
}

.apdb-molecule-card:hover {
	border-color: var(--primary);
}

.apdb-molecule-header {
	margin-bottom: 16px;
	border-bottom: 1px solid var(--border-light);
	padding-bottom: 12px;
}

.apdb-molecule-name {
	font-size: 1.3rem;
	font-weight: 600;
	color: var(--primary);
	margin: 0 0 8px 0;
	line-height: 1.3;
}

.apdb-molecule-iupac {
	color: var(--text-secondary);
	margin: 0;
	line-height: 1.4;
}

.apdb-formula,
.apdb-code {
	font-family: 'Courier New', monospace;
	background: var(--bg-secondary);
	padding: 2px 6px;
	border-radius: 4px;
	font-size: 0.95em;
}

.apdb-molecule-alternative-names {
	color: var(--text-secondary);
	margin-bottom: 12px;
}

.apdb-molecule-alternative-names strong {
	color: var(--text-primary);
	font-size: 0.8rem;
	letter-spacing: 0.5px;
}

.apdb-molecule-description {
	font-size: 0.9rem;
	color: var(--text-primary);
	line-height: 1.6;
	margin-top: auto;
	padding-top: 12px;
}

.apdb-badge-chiral {
	background: linear-gradient(135deg, #e3f2fd 0%, #f3e5f5 100%);
	color: #1565c0;
	border: 1px solid #90caf9;
	font-weight: 700;
	box-shadow: 0 2px 4px rgba(21, 101, 192, 0.1);

}

.apdb-badge-class {
	background: #fef9e1;
	color: var(--brand-gold, #b8941f);
	border: 1px solid var(--brand-gold-light, #d4ab28);
}

.apdb-molecule-article {
	background: var(--white);
	border-radius: 8px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05);
	overflow: hidden;
}

.apdb-molecule-single .apdb-molecule-iupac-name,
.apdb-molecule-single .apdb-molecule-alternative-names {
	color: rgba(255, 255, 255, 0.9);
	padding: 12px;
	margin-bottom: 12px;
}

.apdb-molecule-single .apdb-molecule-badges {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	margin-top: 16px;
}

.apdb-molecule-content {
	padding: 40px;
}

.apdb-molecule-section {
	margin-bottom: 40px;
}

.apdb-molecule-section:last-child {
	margin-bottom: 0;
}

.apdb-molecule-section h2 {
	font-size: 1.8rem;
	color: var(--primary);
	margin: 0 0 20px 0;
	padding-bottom: 12px;
	border-bottom: 2px solid var(--primary-alpha);
}

.apdb-info-list {
	display: grid;
	gap: 16px;
}

.apdb-info-item {
	display: grid;
	grid-template-columns: 180px 1fr;
	gap: 16px;
	padding: 12px;
	background: var(--bg-secondary);
	border-radius: 4px;
	align-items: baseline;
}

.apdb-info-item dt {
	font-weight: 600;
	color: var(--text-secondary);
	text-transform: uppercase;
	font-size: 0.85rem;
	letter-spacing: 0.5px;
}

.apdb-info-item dd {
	margin: 0;
	color: var(--text-primary);
	word-break: break-word;
}

.apdb-molecule-description-content {
	line-height: 1.8;
	color: var(--text-primary);
	font-size: 1.05rem;
}

.apdb-single-footer {
	padding: 20px 40px;
	background: var(--bg-secondary);
	border-top: 1px solid var(--border-light);
}

.apdb-single-dates {
	display: flex;
	gap: 24px;
	font-size: 0.9rem;
	color: var(--text-secondary);
}

.apdb-single-dates strong {
	color: var(--text-primary);
}

/* Responsive Design for Molecules */
@media (max-width: 768px) {
	.apdb-molecules-grid {
		grid-template-columns: 1fr;
	}

	.apdb-molecules-list .apdb-molecule-card {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.apdb-molecules-list .apdb-molecule-header {
		min-width: auto;
	}

	.apdb-molecules-list .apdb-single-meta {
		grid-template-columns: 1fr;
	}

	.apdb-view-toggle {
		width: 100%;
		justify-content: center;
	}

	.apdb-molecule-single .apdb-molecule-header {
		padding: 24px;
	}

	.apdb-molecule-single .apdb-molecule-title {
		font-size: 1.8rem;
	}

	.apdb-molecule-content {
		padding: 24px;
	}

	.apdb-info-item {
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.apdb-single-dates {
		flex-direction: column;
		gap: 12px;
	}
}

/* ===========================
   DARK MODE SUPPORT
   =========================== */

/* Search Hero Section - Enhanced for Dark Mode */
[data-theme="dark"] .apdb-search-hero {
	background: var(--bg-primary);
	border-bottom: 1px solid rgba(184, 148, 31, 0.2);
}

[data-theme="dark"] .apdb-search-container {
	position: relative;
}

[data-theme="dark"] .apdb-search-title {
	color: var(--text-secondary);
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
	font-weight: 700;
}

[data-theme="dark"] .apdb-search-subtitle {
	color: var(--text-primary);
}

[data-theme="dark"] .apdb-search-input {
	background: var(--bg-secondary);
	color: var(--text-primary);
	border: 0;
	box-shadow: 0;
	transition: all 0.3s ease;
}

[data-theme="dark"] .apdb-search-input:focus {
	border-color: var(--brand-gold);
	outline: none;
}

[data-theme="dark"] .apdb-search-input::placeholder {
	color: var(--text-tertiary);
	opacity: 0.7;
}

[data-theme="dark"] .apdb-search-button {
	background: var(--brand-gold);
	box-shadow: 0 4px 16px rgba(184, 148, 31, 0.3);
	transition: background 0.3s ease, box-shadow 0.3s ease;
}

[data-theme="dark"] .apdb-search-button:hover {
	background: var(--brand-gold-light);
	box-shadow: 0 6px 24px rgba(184, 148, 31, 0.5);
}

[data-theme="dark"] .aps-header-search .apdb-search-box-wrapper {
	background: var(--bg-secondary);
	border-color: var(--border-medium);
}

[data-theme="dark"] .aps-header-search .apdb-search-box-wrapper:focus-within {
	background: var(--bg-primary);
	border-color: var(--secondary-light);
	box-shadow: 0 2px 8px rgba(212, 171, 40, 0.3);
}

[data-theme="dark"] .aps-header-search .apdb-search-input {
	color: var(--text-primary);
}

[data-theme="dark"] .aps-header-search .apdb-search-input::placeholder {
	color: var(--text-tertiary);
}

[data-theme="dark"] .apdb-search-help-toggle {
	color: var(--text-secondary);
}

[data-theme="dark"] .apdb-search-help-toggle:hover,
[data-theme="dark"] .apdb-search-help-toggle[aria-expanded="true"] {
	background: var(--bg-tertiary);
	color: var(--brand-gold);
}

[data-theme="dark"] .apdb-search-tips-content {
	background: var(--bg-secondary);
	border-color: var(--brand-gold);
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
}

[data-theme="dark"] .apdb-tips-title {
	color: var(--brand-gold);
}

[data-theme="dark"] .apdb-tips-list li::before {
	color: var(--brand-gold);
}

/* Filter Bar */
[data-theme="dark"] .apdb-filter-bar {
	background: var(--bg-secondary);
	border-color: var(--border-light);
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.3);
}

[data-theme="dark"] .apdb-select {
	background: var(--bg-tertiary);
	color: var(--text-primary);
	border-color: var(--border-light);
}

[data-theme="dark"] .apdb-select:hover {
	border-color: var(--brand-gold);
}

[data-theme="dark"] .apdb-select:focus {
	border-color: var(--brand-gold);
	box-shadow: 0 0 0 3px rgba(184, 148, 31, 0.2);
}

/* Buttons */
[data-theme="dark"] .apdb-button-primary {
	background: var(--primary);
	color: var(--text-inverse);

}

[data-theme="dark"] .apdb-button-primary:hover:not(:disabled) {
	background: var(--primary-light);
	color: var(--bg-primary);
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(255, 255, 255, 0.1);

}

[data-theme="dark"] .apdb-button-primary:active:not(:disabled) {
	transform: translateY(0);
	box-shadow: 0 2px 4px rgba(255, 255, 255, 0.05);

}

[data-theme="dark"] .apdb-button-secondary {
	background: var(--bg-secondary);
	border-color: var(--primary-light);
	color: var(--primary-light);

}

[data-theme="dark"] .apdb-button-secondary:hover:not(:disabled) {
	background: var(--primary-light);
	color: var(--bg-primary);

}

/* Genus Cards */
[data-theme="dark"] .apdb-genus-card {
	background: var(--bg-secondary);
	border-color: var(--border-light);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

[data-theme="dark"] .apdb-genus-card:hover {
	border-color: var(--brand-gold);
	box-shadow: 0 4px 16px rgba(184, 148, 31, 0.3);
}

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

[data-theme="dark"] .apdb-genus-epithet {
	color: var(--text-secondary);
}

[data-theme="dark"] .apdb-genus-notes {
	color: var(--text-tertiary);
}

[data-theme="dark"] .apdb-genus-meta {
	border-top-color: var(--border-light);
}

/* Species Cards */
[data-theme="dark"] .apdb-species-card {
	background: var(--bg-secondary);
	border-color: var(--border-light);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

[data-theme="dark"] .apdb-species-card:hover {
	border-color: var(--brand-gold);
	box-shadow: 0 4px 16px rgba(184, 148, 31, 0.3);
}

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

[data-theme="dark"] .apdb-species-epithet {
	color: var(--text-secondary);
}

[data-theme="dark"] .apdb-species-notes {
	color: var(--text-tertiary);
}

[data-theme="dark"] .apdb-species-status {
	background: var(--bg-tertiary);
	border-left-color: var(--brand-gold);
	color: var(--text-primary);
}

[data-theme="dark"] .apdb-species-meta {
	border-top-color: var(--border-light);
}

[data-theme="dark"] .apdb-extract-count {
	background: rgba(184, 148, 31, 0.2);
	color: var(--brand-gold-light);
}

/* Extract Cards */
[data-theme="dark"] .apdb-extract-card {
	background: var(--bg-secondary);
	border-color: var(--border-light);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

[data-theme="dark"] .apdb-extract-card:hover {
	border-color: var(--brand-gold);
	box-shadow: 0 4px 16px rgba(184, 148, 31, 0.3);
}

[data-theme="dark"] .apdb-single-header {
	border-bottom-color: var(--border-light);
}

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

[data-theme="dark"] .apdb-extract-common-name,
[data-theme="dark"] .apdb-extract-botanical-name {
	color: var(--text-secondary);
}

[data-theme="dark"] .apdb-extract-type-short-name {
	color: var(--text-tertiary);
}

[data-theme="dark"] .apdb-extract-properties {
	background: var(--bg-tertiary);
}

[data-theme="dark"] .apdb-star {
	color: var(--border-light);
}



/* Section Subtitle */
[data-theme="dark"] .apdb-section-subtitle {
	color: var(--brand-gold);
}

/* Action Buttons */
[data-theme="dark"] .apdb-action-buttons {
	/* background: var(--bg-secondary); */
	border: 0;
	box-shadow: none;
}

/* Molecule Cards */
[data-theme="dark"] .apdb-molecule-card {
	background: var(--bg-secondary);
	border-color: var(--border-light);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

[data-theme="dark"] .apdb-molecule-card:hover {
	border-color: var(--brand-gold);
	box-shadow: 0 4px 16px rgba(184, 148, 31, 0.3);
}

[data-theme="dark"] .apdb-molecule-header {
	border-bottom-color: var(--border-light);
}

[data-theme="dark"] .apdb-card-name {
	color: var(--brand-gold);
}

[data-theme="dark"] .apdb-molecule-iupac {
	color: var(--text-secondary);
}

[data-theme="dark"] .apdb-formula,
[data-theme="dark"] .apdb-code {
	background: var(--bg-tertiary);
	color: var(--text-primary);
}

[data-theme="dark"] .apdb-molecule-alternative-names {
	color: var(--text-secondary);
}

[data-theme="dark"] .apdb-molecule-alternative-names strong {
	color: var(--text-primary);
}

[data-theme="dark"] .apdb-molecule-description {
	color: var(--text-primary);
}

[data-theme="dark"] .apdb-badge-chiral {
	background: linear-gradient(135deg, rgba(41, 98, 255, 0.2) 0%, rgba(147, 51, 234, 0.2) 100%);
	color: #93c5fd;
	border-color: rgba(147, 197, 253, 0.4);
	box-shadow: 0 2px 8px rgba(41, 98, 255, 0.15);

}

[data-theme="dark"] .apdb-badge-class {
	background: rgba(184, 148, 31, 0.1);
	color: var(--brand-gold-light);
	border-color: var(--brand-gold);
}

/* View Toggle Buttons */
[data-theme="dark"] .apdb-view-toggle {
	background: var(--bg-tertiary);
	border-color: var(--border-light);
}

[data-theme="dark"] .apdb-view-button {
	color: var(--text-tertiary);
}

[data-theme="dark"] .apdb-view-button:hover {
	background: var(--bg-secondary);
	color: var(--brand-gold);
}

[data-theme="dark"] .apdb-view-button.apdb-view-active {
	background: var(--bg-secondary);
	color: var(--brand-gold);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}

/* Other Elements */
[data-theme="dark"] .apdb-molecule-single .apdb-molecule-header {
	background: var(--gradient-primary);
}

[data-theme="dark"] .apdb-info-item,
[data-theme="dark"] .apdb-characteristic-item,
[data-theme="dark"] .apdb-standard-card {
	background: var(--bg-tertiary);
}

@media (prefers-color-scheme: dark) {
	/* Search Hero Section */
	:root:not([data-theme="light"]) .apdb-search-hero {
		background: var(--brand-navy);
		border-bottom: 1px solid rgba(184, 148, 31, 0.2);
	}

	:root:not([data-theme="light"]) .apdb-search-container {
		position: relative;
	}

	:root:not([data-theme="light"]) .apdb-search-title {
		color: var(--white);
		text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
		font-weight: 700;
	}

	:root:not([data-theme="light"]) .apdb-search-subtitle {
		color: var(--text-primary);
	}

	:root:not([data-theme="light"]) .apdb-search-input {
		background: var(--bg-secondary);
		color: var(--text-primary);
		border: 2px solid var(--border-light);
		box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
		transition: all 0.3s ease;
	}

	:root:not([data-theme="light"]) .apdb-search-input:focus {
		background: var(--bg-tertiary);
		border-color: var(--brand-gold);
		box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4),
					0 0 0 3px rgba(184, 148, 31, 0.2);
		outline: none;
	}

	:root:not([data-theme="light"]) .apdb-search-input::placeholder {
		color: var(--text-tertiary);
		opacity: 0.7;
	}

	:root:not([data-theme="light"]) .apdb-search-button {
		background: var(--brand-gold);
		box-shadow: 0 4px 16px rgba(184, 148, 31, 0.3);
		transition: all 0.3s ease;
	}

	:root:not([data-theme="light"]) .apdb-search-button:hover {
		background: var(--brand-gold-light);
		box-shadow: 0 6px 24px rgba(184, 148, 31, 0.5);
		transform: translateY(-50%) scale(1.05);
	}

	:root:not([data-theme="light"]) .aps-header-search .apdb-search-box-wrapper {
		background: var(--bg-secondary);
		border-color: var(--border-medium);
	}

	:root:not([data-theme="light"]) .aps-header-search .apdb-search-box-wrapper:focus-within {
		background: var(--bg-primary);
		border-color: var(--secondary-light);
		box-shadow: 0 2px 8px rgba(212, 171, 40, 0.3);
	}

	:root:not([data-theme="light"]) .aps-header-search .apdb-search-input {
		color: var(--text-primary);
	}

	:root:not([data-theme="light"]) .aps-header-search .apdb-search-input::placeholder {
		color: var(--text-tertiary);
	}

	/* Filter Bar */
	:root:not([data-theme="light"]) .apdb-filter-bar {
		background: var(--bg-secondary);
		border-color: var(--border-light);
		box-shadow: 0 2px 12px rgba(0, 0, 0, 0.3);
	}

	:root:not([data-theme="light"]) .apdb-select {
		background: var(--bg-tertiary);
		color: var(--text-primary);
		border-color: var(--border-light);
	}

	:root:not([data-theme="light"]) .apdb-select:hover {
		border-color: var(--brand-gold);
	}

	:root:not([data-theme="light"]) .apdb-select:focus {
		border-color: var(--brand-gold);
		box-shadow: 0 0 0 3px rgba(184, 148, 31, 0.2);
	}

	/* Buttons */
	:root:not([data-theme="light"]) .apdb-button-primary {
		background: var(--primary);
		color: var(--text-inverse);

	}

	:root:not([data-theme="light"]) .apdb-button-primary:hover:not(:disabled) {
		background: var(--primary-light);
		color: var(--bg-primary);
		transform: translateY(-1px);
		box-shadow: 0 4px 12px rgba(255, 255, 255, 0.1);

	}

	:root:not([data-theme="light"]) .apdb-button-primary:active:not(:disabled) {
		transform: translateY(0);
		box-shadow: 0 2px 4px rgba(255, 255, 255, 0.05);

	}

	:root:not([data-theme="light"]) .apdb-button-secondary {
		background: var(--bg-secondary);
		border-color: var(--primary-light);
		color: var(--primary-light);

	}

	:root:not([data-theme="light"]) .apdb-button-secondary:hover:not(:disabled) {
		background: var(--primary-light);
		color: var(--bg-primary);

	}

	/* Species Cards */
	:root:not([data-theme="light"]) .apdb-species-card {
		background: var(--bg-secondary);
		border-color: var(--border-light);
		box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
	}

	:root:not([data-theme="light"]) .apdb-species-card:hover {
		border-color: var(--brand-gold);
		box-shadow: 0 4px 16px rgba(184, 148, 31, 0.3);
	}

	:root:not([data-theme="light"]) .apdb-card-name {
		color: var(--text-primary);
	}

	:root:not([data-theme="light"]) .apdb-species-epithet {
		color: var(--text-secondary);
	}

	:root:not([data-theme="light"]) .apdb-species-notes {
		color: var(--text-tertiary);
	}

	:root:not([data-theme="light"]) .apdb-species-meta {
		border-top-color: var(--border-light);
	}

	:root:not([data-theme="light"]) .apdb-extract-count {
		background: rgba(184, 148, 31, 0.2);
		color: var(--brand-gold-light);
	}

	/* Extract Cards */
	:root:not([data-theme="light"]) .apdb-extract-card {
		background: var(--bg-secondary);
		border-color: var(--border-light);
		box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
	}

	:root:not([data-theme="light"]) .apdb-extract-card:hover {
		border-color: var(--brand-gold);
		box-shadow: 0 4px 16px rgba(184, 148, 31, 0.3);
	}

	:root:not([data-theme="light"]) .apdb-single-header {
		border-bottom-color: var(--border-light);
	}

	:root:not([data-theme="light"]) .apdb-card-name {
		color: var(--text-primary);
	}

	:root:not([data-theme="light"]) .apdb-extract-common-name,
	:root:not([data-theme="light"]) .apdb-extract-botanical-name {
		color: var(--text-secondary);
	}

	:root:not([data-theme="light"]) .apdb-extract-type-short-name {
		color: var(--text-tertiary);
	}

	:root:not([data-theme="light"]) .apdb-extract-properties {
		background: var(--bg-tertiary);
	}

	:root:not([data-theme="light"]) .apdb-star {
		color: var(--border-light);
	}

	/* Section Subtitle */
	:root:not([data-theme="light"]) .apdb-section-subtitle {
		color: var(--brand-gold);
	}

	/* Import/Export Buttons */
	:root:not([data-theme="light"]) .apdb-action-buttons {
		/* background: var(--bg-secondary); */
		border: 1px solid var(--border-light);
		box-shadow: 0 2px 12px rgba(0, 0, 0, 0.3);
	}

	/* Molecule Cards */
	:root:not([data-theme="light"]) .apdb-molecule-card {
		background: var(--bg-secondary);
		border-color: var(--border-light);
		box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
	}

	:root:not([data-theme="light"]) .apdb-molecule-card:hover {
		border-color: var(--brand-gold);
		box-shadow: 0 4px 16px rgba(184, 148, 31, 0.3);
	}

	:root:not([data-theme="light"]) .apdb-molecule-header {
		border-bottom-color: var(--border-light);
	}

	:root:not([data-theme="light"]) .apdb-molecule-name,
	:root:not([data-theme="light"]) .apdb-isomer-molecule-title {
		color: var(--brand-gold);
	}

	:root:not([data-theme="light"]) .apdb-molecule-iupac {
		color: var(--text-secondary);
	}

	:root:not([data-theme="light"]) .apdb-formula,
	:root:not([data-theme="light"]) .apdb-code {
		background: var(--bg-tertiary);
		color: var(--text-primary);
	}

	:root:not([data-theme="light"]) .apdb-molecule-alternative-names {
		color: var(--text-secondary);
	}

	:root:not([data-theme="light"]) .apdb-molecule-alternative-names strong {
		color: var(--text-primary);
	}

	:root:not([data-theme="light"]) .apdb-molecule-description {
		color: var(--text-primary);
	}

	:root:not([data-theme="light"]) .apdb-badge-chiral {
		background: linear-gradient(135deg, rgba(41, 98, 255, 0.2) 0%, rgba(147, 51, 234, 0.2) 100%);
		color: #93c5fd;
		border-color: rgba(147, 197, 253, 0.4);
		box-shadow: 0 2px 8px rgba(41, 98, 255, 0.15);

	}

	:root:not([data-theme="light"]) .apdb-badge-class {
		background: rgba(184, 148, 31, 0.1);
		color: var(--brand-gold-light);
		border-color: var(--brand-gold);
	}

	/* View Toggle Buttons */
	:root:not([data-theme="light"]) .apdb-view-toggle {
		background: var(--bg-tertiary);
		border-color: var(--border-light);
	}

	:root:not([data-theme="light"]) .apdb-view-button {
		color: var(--text-tertiary);
	}

	:root:not([data-theme="light"]) .apdb-view-button:hover {
		background: var(--bg-secondary);
		color: var(--brand-gold);
	}

	:root:not([data-theme="light"]) .apdb-view-button.apdb-view-active {
		background: var(--bg-secondary);
		color: var(--brand-gold);
		box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
	}

	/* Other Elements */
	:root:not([data-theme="light"]) .apdb-molecule-single .apdb-molecule-header {
		background: var(--gradient-primary);
	}

	:root:not([data-theme="light"]) .apdb-info-item,
	:root:not([data-theme="light"]) .apdb-characteristic-item,
	:root:not([data-theme="light"]) .apdb-standard-card {
		background: var(--bg-tertiary);
	}
}

/* ====================================
   APDB Single Template Styles
   ==================================== */

.apdb-botanical-name {
	font-size: 1.25rem;
	color: var(--text-secondary);
	margin-bottom: 1rem;
	text-align: center;
}

.apdb-single-meta-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(175px, 1fr));
	gap: 1rem;
	margin-top: 1.5rem;
}

.apdb-meta-item {
	display: flex;
	flex-direction: column;
	color: var(--text-tertiary);
	gap: 0.25rem;
	align-items: center;
	text-align: center;
}

.apdb-meta-label {
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--text-tertiary);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.apdb-meta-item strong {
	color: var(--text-secondary);
	min-width: 60px;
}

.apdb-meta-value {
	font-size: 1rem;
	color: var(--text-primary);
}

.apdb-meta-value a {
	color: var(--primary);
	text-decoration: none;
	transition: color 0.2s;
}

.apdb-meta-value a:hover {
	color: var(--primary-dark);
	text-decoration: underline;
}

/* Hero Section */
.apdb-hero-section {
	margin-bottom: 2rem;
}

.apdb-extract-image {
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	margin-bottom: 1.5rem;
}

.apdb-extract-image img {
	width: 100%;
	height: auto;
	display: block;
}

.apdb-characteristics-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 1rem;
	margin-bottom: 1rem;
}

.apdb-characteristic-item {
	padding: 1rem;
	background: var(--bg-secondary);
	border: 1px solid var(--border-light);
	border-radius: 6px;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.apdb-characteristic-label {
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--text-tertiary);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.apdb-characteristic-value {
	font-size: 1.125rem;
	font-weight: 500;
	color: var(--text-primary);
}

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

.badge {
	display: inline-block;
	padding: 0.25rem 0.5rem;
	font-size: 0.75rem;
	font-weight: 500;
	border-radius: 3px;
	text-transform: none;
	letter-spacing: 0.025em;
}

.badge-warning {
	background: var(--warning-light);
	color: var(--warning-dark);
	border: 1px solid var(--warning);
}

.badge-info {
	background: var(--info-light);
	color: var(--info-dark);
	border: 1px solid var(--info);
}

.badge-primary {
	background: var(--primary-alpha);
	color: var(--primary-dark);
	border: 1px solid var(--primary);
}

.badge-success {
	background: var(--secondary-light);
	color: var(--secondary-dark);
	border: 1px solid var(--secondary);
}

/* Section Styles */
.apdb-section {
	margin-bottom: 3rem;
	padding: 2rem;
	background: var(--bg-secondary);
	border: 1px solid var(--border-light);
	border-radius: 8px;
}

.apdb-section-title {
	margin-bottom: 1.5rem;
	padding-bottom: 0.75rem;
	border-bottom: 2px solid var(--secondary);
	color: var(--primary);
}

.apdb-section-subtitle {
	margin-bottom: 1.5rem;
	padding-bottom: 0.75rem;
	color: var(--primary);
	text-align: center;
}

.apdb-section-content {
	color: var(--text-primary);
	line-height: 1.7;
}

/* Products Grid */
.apdb-products-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 1.5rem;
}

.apdb-product-card {
	background: var(--white);
	border: 1px solid var(--border-light);
	border-radius: 8px;
	overflow: hidden;
	transition: box-shadow 0.2s, transform 0.2s;
}

.apdb-product-card:hover {
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
	transform: translateY(-2px);
}

.apdb-product-image {
	width: 100%;
	aspect-ratio: 4/3;
	overflow: hidden;
	background: var(--bg-secondary);
}

.apdb-product-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.apdb-product-content {
	padding: 1.5rem;
}

.apdb-product-title {
	font-size: 1.25rem;
	font-weight: 600;
	color: var(--text-primary);
	margin-bottom: 0.5rem;
}

.apdb-product-brand {
	font-size: 0.9375rem;
	color: var(--text-secondary);
	margin-bottom: 1rem;
}

.apdb-product-brand a {
	color: var(--primary);
	text-decoration: none;
}

.apdb-product-brand a:hover {
	text-decoration: underline;
}

.apdb-product-details {
	margin: 1rem 0;
	font-size: 0.875rem;
}

.apdb-product-details dt {
	font-weight: 600;
	color: var(--text-secondary);
	margin-top: 0.5rem;
}

.apdb-product-details dd {
	color: var(--text-primary);
	margin-left: 0;
	margin-bottom: 0.25rem;
}

/* Single Template Tables - Unified Styling
 * Use .apdb-single-table for all tables in single-apdb_*.php templates
 * Mobile-responsive using data-label attributes (see responsive section below)
 */
.apdb-single-table-wrapper {
	overflow-x: auto;
	max-width: 100%;
}

.apdb-single-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.9375rem;
}

.apdb-single-table thead {
	background: var(--white);
	border-bottom: 2px solid var(--border-light);
}

.apdb-single-table th {
	padding: 1rem;
	text-align: left;
	font-weight: 600;
	color: var(--text-secondary);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	font-size: 0.8125rem;
}

.apdb-single-table tbody tr {
	border-bottom: 1px solid var(--border-light);
	transition: background-color 0.2s;
}

.apdb-single-table tbody tr:hover {
	background: var(--bg-secondary);
}

.apdb-single-table td {
	padding: 1rem;
	color: var(--text-primary);
}

.apdb-single-table td a {
	color: var(--primary);
	text-decoration: none;
	font-weight: 500;
}

.apdb-single-table td a:hover {
	color: var(--primary-dark);
	text-decoration: underline;
}

.apdb-single-table code {
	background: var(--bg-secondary);
	padding: 0.25rem 0.5rem;
	border-radius: 4px;
	font-family: 'Courier New', monospace;
	font-size: 0.875rem;
}

/* Standards List */
.apdb-standards-list {
	display: grid;
	gap: 1.5rem;
}

.apdb-standard-card {
	padding: 1.5rem;
	background: var(--white);
	border: 1px solid var(--border-light);
	border-radius: 6px;
}

.apdb-standard-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 0.75rem;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.apdb-standard-title {
	font-size: 1.125rem;
	font-weight: 600;
	color: var(--text-primary);
	margin: 0;
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.apdb-standard-code {
	font-family: 'Courier New', monospace;
	font-size: 0.875rem;
	padding: 0.25rem 0.5rem;
	background: var(--bg-secondary);
	border-radius: 4px;
	color: var(--text-secondary);
}

.apdb-standard-meta {
	display: flex;
	gap: 1rem;
	font-size: 0.875rem;
	color: var(--text-secondary);
	margin-bottom: 0.75rem;
}

.apdb-standard-description {
	font-size: 0.9375rem;
	color: var(--text-primary);
	line-height: 1.6;
}

/* Footer */
.apdb-single-footer {
	margin-top: 3rem;
	padding-top: 2rem;
	border-top: 1px solid var(--border-light);
}

.apdb-single-dates {
	display: flex;
	gap: 2rem;
	flex-wrap: wrap;
	font-size: 0.875rem;
	color: var(--text-tertiary);
}

.apdb-date-item strong {
	color: var(--text-secondary);
}

/* Responsive Design - Extract Template */
@media (max-width: 768px) {
	.apdb-single-title {
		font-size: 2rem;
	}

	.apdb-botanical-name {
		font-size: 1.125rem;
	}

	.apdb-single-meta-grid {
		grid-template-columns: 1fr;
	}

	.apdb-single-meta-grid .apdb-meta-item {
		justify-content: center;
		text-align: center;
	}

	.apdb-single-meta-grid .apdb-status-badge {
		margin: 0 auto;
	}

	.apdb-characteristics-grid {
		grid-template-columns: 1fr;
	}

	.apdb-products-grid {
		grid-template-columns: 1fr;
	}

	.apdb-section {
		padding: .5rem;
		max-width: 100%;
		overflow-x: auto;
	}

	.apdb-section-title {
		font-size: 1.5rem;
	}

	.apdb-section-subtitle {
		font-size: 1rem;		
	}

	/* Single template tables: card layout on mobile
	 * Uses data-label attributes to display column headers
	 * First column (usually name/title) gets special emphasis
	 */
	.apdb-single-table,
	.apdb-chemistry-table {
		display: block;
	}

	.apdb-single-table thead,
	.apdb-chemistry-table thead {
		display: none;
	}

	.apdb-single-table tbody,
	.apdb-chemistry-table tbody {
		display: flex;
		flex-direction: column;
		gap: 1rem;
	}

	.apdb-single-table tbody tr,
	.apdb-chemistry-table tbody tr {
		display: flex;
		flex-direction: column;
		background: var(--white);
		border: 1px solid var(--border-light);
		border-radius: 8px;
		padding: 1rem;
		gap: 0.5rem;
	}

	.apdb-single-table tbody tr:hover,
	.apdb-chemistry-table tbody tr:hover {
		background: var(--white);
	}

	.apdb-single-table td,
	.apdb-chemistry-table td {
		display: grid;
		grid-template-columns: 40% 1fr;
		gap: 0.5rem;
		padding: 0.25rem 0;
		border-bottom: none;
		align-items: start;
	}

	.apdb-single-table tbody td::before,
	.apdb-chemistry-table tbody td::before {
		content: attr(data-label);
		font-weight: 600;
		color: var(--text-secondary);
		font-size: 0.75rem;
		text-transform: uppercase;
		letter-spacing: 0.05em;
	}

	.apdb-single-table tbody td .badge,
	.apdb-chemistry-table tbody td .badge {
		display: inline-block;
		margin-right: 0.25rem;
		margin-bottom: 0.25rem;
	}

	.apdb-single-table tbody td:first-child,
	.apdb-chemistry-table tbody td:first-child {
		font-weight: 600;
		font-size: 1rem;
		padding-bottom: 0.5rem;
		border-bottom: 1px solid var(--border-light);
		margin-bottom: 0.25rem;
	}

	.apdb-single-table tbody td:first-child::before,
	.apdb-chemistry-table tbody td:first-child::before {
		content: none !important;
	}
}

/* Card header with status badge */
.apdb-card-header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.75rem;
	margin-bottom: 0.5rem;
}

.apdb-card-header .apdb-card-name {
	flex: 1;
	margin: 0;
}

.apdb-card-header .apdb-status-badge {
	flex-shrink: 0;
	margin-top: 0.125rem;
}

/* ===========================
   SEO META FIELDS STYLES
   =========================== */

/* Frontend SEO Fields */
.apdb-seo-fields {
	margin-bottom: 15px;
}

.apdb-seo-fields label {
	display: block;
	margin-bottom: 5px;
	font-weight: 600;
}

.apdb-seo-fields .description {
	font-weight: normal;
	font-size: 0.9em;
	color: #666;
	margin-left: 10px;
}

/* Character Counter */
.apdb-seo-char-counter {
	display: inline-block;
	margin-left: 10px;
	font-weight: 600;
	font-size: 0.9em;
}

.apdb-seo-counter-good {
	color: #46b450;
}

.apdb-seo-counter-warning {
	color: #f0b849;
}

.apdb-seo-counter-danger {
	color: #dc3232;
}

/* Admin Meta Box Styles */
.apdb-seo-meta-box .description {
	display: block;
	margin-top: 5px;
}

/* ===========================
   FRONTPAGE STYLES
   =========================== */

/* Frontpage Sections */
.apdb-frontpage-section {
	margin: 4rem 0;
	padding: 0 1rem;
}

.apdb-section-title {
	text-align: center;
	font-size: 1.6rem;
	color: var(--secondary);
	margin-bottom: 1rem;
	font-weight: 700;
}

/* Database Objects Grid */
.apdb-objects-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 2rem;
	max-width: 1200px;
	margin: 0 auto;
}

/* Object Card */
.apdb-object-card {
	background: var(--bg-primary);
	border: 1px solid var(--border-light);
	border-radius: 12px;
	padding: 2rem;
	transition: all 0.3s ease;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.apdb-object-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
	border-color: var(--secondary);
}

.apdb-card-icon {
	width: 80px;
	height: 80px;
	border-radius: 50%;
	background: var(--gradient-secondary);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1.5rem;
	transition: all 0.3s ease;
	text-decoration: none;
}

.apdb-object-card:hover .apdb-card-icon {
	transform: scale(1.1) rotate(5deg);
}

.apdb-card-icon i,
.apdb-card-icon .aps-icon {
	font-size: 2rem;
	color: var(--white);
}

.apdb-card-title {
	font-size: 1.5rem;
	color: var(--text-primary);
	margin-bottom: 1rem;
	margin-top: 0;
	font-weight: 600;
}

.apdb-card-description {
	color: var(--text-secondary);
	margin-bottom: 1.5rem;
	line-height: 1.6;
	flex-grow: 1;
	text-align: center;
}

.apdb-card-button {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.75rem 1.5rem;
	background: var(--gradient-primary);
	color: var(--white);
	text-decoration: none;
	border-radius: 50px;
	font-weight: 500;
	transition: all 0.3s ease;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.apdb-card-button:visited {
	color: var(--white);
}

.apdb-card-button:hover {
	transform: translateX(4px);
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
	color: var(--white);
}.apdb-card-button i,
.apdb-card-button .aps-icon {
	font-size: 0.875rem;
	transition: transform 0.3s ease;
}

.apdb-card-button:hover i {
	transform: translateX(4px);
}

/* Light Mode + Color Themes for Card Button */
[data-theme="light"][data-color-theme="fifties"] .apdb-card-button,
[data-color-theme="fifties"]:not([data-theme="dark"]) .apdb-card-button {
	background: linear-gradient(135deg, #FF7F50 0%, #98FF98 50%, #B0E0E6 100%);
	box-shadow: 0 4px 12px rgba(255, 127, 80, 0.3);
}

[data-theme="light"][data-color-theme="fifties"] .apdb-card-button:hover,
[data-color-theme="fifties"]:not([data-theme="dark"]) .apdb-card-button:hover {
	box-shadow: 0 6px 16px rgba(255, 127, 80, 0.4);
}

[data-theme="light"][data-color-theme="seventies"] .apdb-card-button,
[data-color-theme="seventies"]:not([data-theme="dark"]) .apdb-card-button {
	background: linear-gradient(135deg, #D2691E 0%, #DAA520 100%);
	box-shadow: 0 4px 12px rgba(218, 165, 32, 0.3);
}

[data-theme="light"][data-color-theme="seventies"] .apdb-card-button:hover,
[data-color-theme="seventies"]:not([data-theme="dark"]) .apdb-card-button:hover {
	box-shadow: 0 6px 16px rgba(218, 165, 32, 0.4);
}

[data-theme="light"][data-color-theme="eighties"] .apdb-card-button,
[data-color-theme="eighties"]:not([data-theme="dark"]) .apdb-card-button {
	background: linear-gradient(135deg, #00FFFF 0%, #FF1493 50%, #FFFF00 100%);
	box-shadow: 0 4px 12px rgba(255, 20, 147, 0.3);
}

[data-theme="light"][data-color-theme="eighties"] .apdb-card-button:hover,
[data-color-theme="eighties"]:not([data-theme="dark"]) .apdb-card-button:hover {
	box-shadow: 0 6px 16px rgba(255, 20, 147, 0.4);
}

/* Dark Mode + Color Themes for Card Button */
[data-theme="dark"][data-color-theme="fifties"] .apdb-card-button {
	background: linear-gradient(135deg, rgba(255, 127, 80, 0.7) 0%, rgba(152, 255, 152, 0.7) 50%, rgba(176, 224, 230, 0.7) 100%);
	box-shadow: 0 4px 12px rgba(152, 255, 152, 0.4);
}

[data-theme="dark"][data-color-theme="fifties"] .apdb-card-button:hover {
	box-shadow: 0 6px 16px rgba(152, 255, 152, 0.5);
}

[data-theme="dark"][data-color-theme="seventies"] .apdb-card-button {
	background: linear-gradient(135deg, rgba(210, 105, 30, 0.8) 0%, rgba(218, 165, 32, 0.8) 100%);
	box-shadow: 0 4px 12px rgba(218, 165, 32, 0.5);
}

[data-theme="dark"][data-color-theme="seventies"] .apdb-card-button:hover {
	box-shadow: 0 6px 16px rgba(218, 165, 32, 0.6);
}

[data-theme="dark"][data-color-theme="eighties"] .apdb-card-button {
	background: linear-gradient(135deg, rgba(0, 255, 255, 0.6) 0%, rgba(255, 20, 147, 0.6) 50%, rgba(255, 255, 0, 0.6) 100%);
	box-shadow: 0 4px 12px rgba(255, 20, 147, 0.5);
}

[data-theme="dark"][data-color-theme="eighties"] .apdb-card-button:hover {
	box-shadow: 0 6px 16px rgba(255, 20, 147, 0.6);
}

/* Engines Section */
.apdb-engines-section {
	background: var(--bg-secondary);
	border-radius: 12px;
}

.apdb-engines-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
	gap: 3rem;
	max-width: 1200px;
	margin: 0 auto;
}

/* Engine Card */
.apdb-engine-card {
	background: var(--bg-primary);
	border: 2px solid var(--border-light);
	border-radius: 16px;
	padding: 3rem;
	transition: all 0.3s ease;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
	text-align: center;
}

.apdb-engine-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.15);
	border-color: var(--primary);
}

.apdb-engine-icon {
	width: 100px;
	height: 100px;
	border-radius: 50%;
	background: var(--gradient-primary);
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 2rem;
	transition: all 0.3s ease;
	text-decoration: none;
}

.apdb-engine-card:hover .apdb-engine-icon {
	transform: scale(1.15) rotate(-5deg);
}.apdb-engine-icon i,
.apdb-engine-icon .aps-icon {
	font-size: 3rem;
	color: var(--white);
}

.apdb-engine-title {
	font-size: 1.75rem;
	color: var(--primary);
	margin-bottom: 0.5rem;
	margin-top: 0;
	font-weight: 700;
	text-align: center;
}

.apdb-engine-subtitle {
	font-size: 1.125rem;
	color: var(--secondary);
	font-weight: 600;
	margin-bottom: 1.5rem;
	letter-spacing: 2px;
	text-align: center;
}

.apdb-engine-description {
	color: var(--text-secondary);
	margin-bottom: 2rem;
	line-height: 1.7;
	font-size: 1.05rem;
	text-align: center;
}

.apdb-engine-button {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	padding: 1rem 2.5rem;
	background: var(--gradient-gold);
	color: var(--white);
	text-decoration: none;
	border-radius: 50px;
	font-weight: 600;
	font-size: 1.125rem;
	transition: all 0.3s ease;
	box-shadow: 0 6px 20px rgba(184, 148, 31, 0.3);
}

.apdb-engine-button:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(184, 148, 31, 0.4);
	color: var(--white);
}.apdb-engine-button i,
.apdb-engine-button .aps-icon {
	font-size: 1rem;
	transition: transform 0.3s ease;
}

.apdb-engine-button:hover i {
	transform: translateX(6px);
}

/* Color Theme Support */
[data-color-theme="seventies"] .apdb-search-hero {
	background: linear-gradient(135deg, #D2691E 0%, #DAA520 100%);
}

[data-color-theme="eighties"] .apdb-search-hero {
	background: linear-gradient(135deg, #00FFFF 0%, #FF1493 50%, #FFFF00 100%);
}

[data-color-theme="fifties"] .apdb-search-hero {
	background: linear-gradient(135deg, #FF7F50 0%, #98FF98 50%, #B0E0E6 100%);
}

[data-color-theme="fifties"] .apdb-search-title {
	color: #2C3E50;
	font-weight: 800;
	text-shadow: 2px 2px 4px rgba(255, 255, 255, 0.9),
	             0 0 20px rgba(255, 255, 255, 0.5);
}

[data-color-theme="fifties"] .apdb-search-subtitle {
	color: #34495E;
	font-weight: 600;
	text-shadow: 1px 1px 3px rgba(255, 255, 255, 0.8),
	             0 0 15px rgba(255, 255, 255, 0.4);
}

/* Dark Mode Support - Default (no color theme) */
[data-theme="dark"]:not([data-color-theme]) .apdb-search-hero {
	background: linear-gradient(135deg, var(--primary-light) 0%, var(--primary) 100%);
}

/* Dark Mode + Color Themes - Darkened versions */
[data-theme="dark"][data-color-theme="seventies"] .apdb-search-hero {
	background: linear-gradient(135deg, rgba(210, 105, 30, 0.7) 0%, rgba(218, 165, 32, 0.7) 100%);
}

[data-theme="dark"][data-color-theme="eighties"] .apdb-search-hero {
	background: linear-gradient(135deg, rgba(0, 255, 255, 0.4) 0%, rgba(255, 20, 147, 0.4) 50%, rgba(255, 255, 0, 0.4) 100%);
}

[data-theme="dark"][data-color-theme="fifties"] .apdb-search-hero {
	background: linear-gradient(135deg, rgba(255, 127, 80, 0.4) 0%, rgba(152, 255, 152, 0.4) 50%, rgba(176, 224, 230, 0.4) 100%);
}

[data-theme="dark"] .apdb-object-card,
[data-theme="dark"] .apdb-engine-card {
	background: var(--bg-secondary);
	border-color: var(--border-medium);
}

[data-theme="dark"] .apdb-object-card:hover,
[data-theme="dark"] .apdb-engine-card:hover {
	border-color: var(--secondary-light);
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.5);
}

[data-theme="dark"] .apdb-engines-section {
	background: var(--bg-primary);
}

@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]):not([data-color-theme]) .apdb-search-hero {
		background: linear-gradient(135deg, var(--primary-light) 0%, var(--primary) 100%);
	}

	:root:not([data-theme="light"])[data-color-theme="seventies"] .apdb-search-hero {
		background: linear-gradient(135deg, rgba(210, 105, 30, 0.7) 0%, rgba(218, 165, 32, 0.7) 100%);
	}

	:root:not([data-theme="light"])[data-color-theme="eighties"] .apdb-search-hero {
		background: linear-gradient(135deg, rgba(0, 255, 255, 0.4) 0%, rgba(255, 20, 147, 0.4) 50%, rgba(255, 255, 0, 0.4) 100%);
	}

	:root:not([data-theme="light"])[data-color-theme="fifties"] .apdb-search-hero {
		background: linear-gradient(135deg, rgba(255, 127, 80, 0.4) 0%, rgba(152, 255, 152, 0.4) 50%, rgba(176, 224, 230, 0.4) 100%);
	}

	:root:not([data-theme="light"]) .apdb-object-card,
	:root:not([data-theme="light"]) .apdb-engine-card {
		background: var(--bg-secondary);
		border-color: var(--border-medium);
	}

	:root:not([data-theme="light"]) .apdb-object-card:hover,
	:root:not([data-theme="light"]) .apdb-engine-card:hover {
		border-color: var(--secondary-light);
		box-shadow: 0 12px 32px rgba(0, 0, 0, 0.5);
	}

	:root:not([data-theme="light"]) .apdb-engines-section {
		background: var(--bg-primary);
	}
}

/* Responsive Design */
@media (max-width: 960px) {
	.apdb-objects-grid {
		grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
		gap: 1.5rem;
	}

	.apdb-engines-grid {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
}

@media (max-width: 767px) {
	.apdb-objects-grid {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}

	.apdb-object-card {
		padding: 1.5rem;
	}

	.apdb-card-icon {
		width: 60px;
		height: 60px;
	}

	.apdb-card-icon i,
	.apdb-card-icon .aps-icon {
		font-size: 1.5rem;
	}

	.apdb-engines-section {
		padding: 2rem 1rem;
	}

	.apdb-engine-card {
		padding: 2rem;
	}

	.apdb-engine-icon {
		width: 80px;
		height: 80px;
	}.apdb-engine-icon i,
.apdb-engine-icon .aps-icon {
		font-size: 2.5rem;
	}

	.apdb-section-title {
		font-size: 1.75rem;
		margin-bottom: 1.5rem;
	}
}

/* ===========================
   AUDIT TRAIL SECTION
   =========================== */

.apdb-audit-trail-section {
	margin-top: 2rem;
	padding-top: 2rem;
	border-top: 1px solid var(--border-light);
}

.apdb-audit-trail-list {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.apdb-audit-entry {
	background: var(--bg-secondary);
	border-radius: 8px;
	padding: 1rem;
	border-left: 3px solid var(--primary);
	transition: all 0.3s ease;
}

.apdb-audit-entry:hover {
	background: var(--bg-tertiary);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.apdb-audit-entry-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 0.5rem;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.apdb-audit-action {
	font-weight: 600;
	color: var(--text-primary);
	font-size: 1rem;
}

.apdb-audit-date {
	color: var(--text-secondary);
	font-size: 0.875rem;
}

.apdb-audit-entry-meta {
	display: flex;
	gap: 1.5rem;
	margin-bottom: 0.5rem;
	flex-wrap: wrap;
	font-size: 0.875rem;
	color: var(--text-secondary);
}

.apdb-audit-source,
.apdb-audit-user {
	display: flex;
	gap: 0.25rem;
}

.apdb-audit-changes details {
	margin-top: 0.75rem;
}

.apdb-audit-changes summary {
	cursor: pointer;
	color: var(--primary);
	font-size: 0.875rem;
	font-weight: 500;
	padding: 0.5rem 0;
	user-select: none;
	transition: color 0.2s ease;
}

.apdb-audit-changes summary:hover {
	color: var(--secondary);
	text-decoration: underline;
}

.apdb-audit-changes-content {
	margin-top: 0.75rem;
	padding-top: 0.75rem;
	border-top: 1px solid var(--border-light);
}

.apdb-audit-changes-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.875rem;
	background: var(--bg-primary);
	border-radius: 4px;
	overflow: hidden;
	border: 1px solid var(--border-light);
}

.apdb-audit-changes-table thead {
	background: var(--bg-tertiary);
}

.apdb-audit-changes-table th {
	padding: 0.75rem;
	text-align: left;
	font-weight: 600;
	color: var(--text-primary);
	border-bottom: 2px solid var(--border-medium);
}

.apdb-audit-changes-table td {
	padding: 0.75rem;
	border-bottom: 1px solid var(--border-light);
	vertical-align: top;
	color: var(--text-primary);
}

.apdb-audit-changes-table tr:last-child td {
	border-bottom: none;
}

.apdb-old-value {
	color: var(--error);
	text-decoration: line-through;
	opacity: 0.7;
}

.apdb-new-value {
	color: var(--success);
	font-weight: 500;
}

.apdb-audit-notes {
	margin-top: 0.75rem;
	padding: 0.75rem;
	background: var(--bg-primary);
	border-radius: 4px;
	font-size: 0.875rem;
	border-left: 3px solid var(--info);
}

.apdb-audit-notes p {
	color: var(--text-primary);
}

.apdb-audit-notes p:last-child {
	margin-bottom: 0;
}

/* Dark Mode Support - Manual Toggle */
[data-theme="dark"] .apdb-audit-trail-section {
	border-top-color: var(--border-medium);
}

[data-theme="dark"] .apdb-audit-entry {
	background: var(--bg-tertiary);
	border-left-color: var(--primary-light);
}

[data-theme="dark"] .apdb-audit-entry:hover {
	background: var(--bg-secondary);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

[data-theme="dark"] .apdb-audit-changes summary {
	color: var(--primary-light);
}

[data-theme="dark"] .apdb-audit-changes summary:hover {
	color: var(--secondary-light);
}

[data-theme="dark"] .apdb-audit-changes-content {
	border-top-color: var(--border-medium);
}

[data-theme="dark"] .apdb-audit-changes-table {
	background: var(--bg-secondary);
	border-color: var(--border-medium);
}

[data-theme="dark"] .apdb-audit-changes-table thead {
	background: var(--bg-primary);
}

[data-theme="dark"] .apdb-audit-changes-table th {
	border-bottom-color: var(--border-strong);
}

[data-theme="dark"] .apdb-audit-changes-table td {
	border-bottom-color: var(--border-medium);
}

[data-theme="dark"] .apdb-old-value {
	color: var(--error-light);
}

[data-theme="dark"] .apdb-new-value {
	color: var(--success-light);
}

[data-theme="dark"] .apdb-audit-notes {
	background: var(--bg-secondary);
	border-left-color: var(--info-light);
}

/* Dark Mode Support - System Preference */
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) .apdb-audit-trail-section {
		border-top-color: var(--border-medium);
	}

	:root:not([data-theme="light"]) .apdb-audit-entry {
		background: var(--bg-tertiary);
		border-left-color: var(--primary-light);
	}

	:root:not([data-theme="light"]) .apdb-audit-entry:hover {
		background: var(--bg-secondary);
		box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
	}

	:root:not([data-theme="light"]) .apdb-audit-changes summary {
		color: var(--primary-light);
	}

	:root:not([data-theme="light"]) .apdb-audit-changes summary:hover {
		color: var(--secondary-light);
	}

	:root:not([data-theme="light"]) .apdb-audit-changes-content {
		border-top-color: var(--border-medium);
	}

	:root:not([data-theme="light"]) .apdb-audit-changes-table {
		background: var(--bg-secondary);
		border-color: var(--border-medium);
	}

	:root:not([data-theme="light"]) .apdb-audit-changes-table thead {
		background: var(--bg-primary);
	}

	:root:not([data-theme="light"]) .apdb-audit-changes-table th {
		border-bottom-color: var(--border-strong);
	}

	:root:not([data-theme="light"]) .apdb-audit-changes-table td {
		border-bottom-color: var(--border-medium);
	}

	:root:not([data-theme="light"]) .apdb-old-value {
		color: var(--error-light);
	}

	:root:not([data-theme="light"]) .apdb-new-value {
		color: var(--success-light);
	}

	:root:not([data-theme="light"]) .apdb-audit-notes {
		background: var(--bg-secondary);
		border-left-color: var(--info-light);
	}
}

/* Responsive Adjustments */
@media (max-width: 768px) {
	.apdb-audit-entry-header {
		flex-direction: column;
		align-items: flex-start;
	}

	.apdb-audit-entry-meta {
		flex-direction: column;
		gap: 0.5rem;
	}

	.apdb-audit-changes-table {
		font-size: 0.75rem;
	}

	.apdb-audit-changes-table th,
	.apdb-audit-changes-table td {
		padding: 0.5rem;
	}

}

/* Enantiomeric Profile - 2-column notes layout */
.apdb-notes-2col {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2rem;

}

.apdb-notes-2col .apdb-note-section {
	min-width: 0; /* Prevents grid blowout */

}

/* Responsive: stack on mobile */
@media (max-width: 768px) {
	.apdb-notes-2col {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}

}

/* If only one note section exists, span full width */
.apdb-notes-2col .apdb-note-section:only-child {
	grid-column: 1 / -1;

}

/* ===========================
   COLOR THEME OVERRIDES - LIGHT MODE
   =========================== */

/* 1950s MODERNE THEME - Light Mode */
[data-theme="light"][data-color-theme="fifties"] .apdb-select,
[data-color-theme="fifties"]:not([data-theme="dark"]) .apdb-select {
	background: #FFFFFF;
	color: #2C3E50;
	border-color: #98FF98;

}

[data-theme="light"][data-color-theme="fifties"] .apdb-select:hover,
[data-color-theme="fifties"]:not([data-theme="dark"]) .apdb-select:hover {
	border-color: #FF7F50;
	background: #FFF8E7;

}

[data-theme="light"][data-color-theme="fifties"] .apdb-select:focus,
[data-color-theme="fifties"]:not([data-theme="dark"]) .apdb-select:focus {
	border-color: #FF7F50;
	box-shadow: 0 0 0 3px rgba(255, 127, 80, 0.2);
	background: #FFFFFF;

}

/* 1970s FUNK THEME - Light Mode */
[data-theme="light"][data-color-theme="seventies"] .apdb-select,
[data-color-theme="seventies"]:not([data-theme="dark"]) .apdb-select {
	background: #FFF8DC;
	color: #3B2F2F;
	border-color: #DAA520;

}

[data-theme="light"][data-color-theme="seventies"] .apdb-select:hover,
[data-color-theme="seventies"]:not([data-theme="dark"]) .apdb-select:hover {
	border-color: #D2691E;
	background: #FFFAED;

}

[data-theme="light"][data-color-theme="seventies"] .apdb-select:focus,
[data-color-theme="seventies"]:not([data-theme="dark"]) .apdb-select:focus {
	border-color: #D2691E;
	box-shadow: 0 0 0 3px rgba(210, 105, 30, 0.2);
	background: #FFF8DC;

}

/* 1980s NEON THEME - Light Mode */
[data-theme="light"][data-color-theme="eighties"] .apdb-select,
[data-color-theme="eighties"]:not([data-theme="dark"]) .apdb-select {
	background: #FFFFFF;
	color: #000000;
	border-color: #00FFFF;

}

[data-theme="light"][data-color-theme="eighties"] .apdb-select:hover,
[data-color-theme="eighties"]:not([data-theme="dark"]) .apdb-select:hover {
	border-color: #FF1493;
	background: #F0F0F0;

}

[data-theme="light"][data-color-theme="eighties"] .apdb-select:focus,
[data-color-theme="eighties"]:not([data-theme="dark"]) .apdb-select:focus {
	border-color: #FF1493;
	box-shadow: 0 0 0 3px rgba(255, 20, 147, 0.2);
	background: #FFFFFF;

}

/* ===========================
   BUTTON COLOR THEME SUPPORT
   =========================== */

/* Fifties Color Theme - Buttons */
[data-theme="light"][data-color-theme="fifties"] .apdb-button-secondary,
[data-color-theme="fifties"]:not([data-theme="dark"]) .apdb-button-secondary {
	background: var(--primary-alpha);
	color: var(--primary-dark);
	border: 2px solid var(--primary);

}

[data-theme="light"][data-color-theme="fifties"] .apdb-button-secondary:hover:not(:disabled),
[data-color-theme="fifties"]:not([data-theme="dark"]) .apdb-button-secondary:hover:not(:disabled) {
	background: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);
	color: var(--text-primary);
	border-color: var(--primary);
	transform: translateY(-2px);
	box-shadow: 0 4px 16px var(--primary-alpha);

}

/* Seventies Color Theme - Buttons */
[data-theme="light"][data-color-theme="seventies"] .apdb-button-secondary,
[data-color-theme="seventies"]:not([data-theme="dark"]) .apdb-button-secondary {
	background: var(--primary-alpha);
	color: var(--primary-dark);
	border: 2px solid var(--primary);

}

[data-theme="light"][data-color-theme="seventies"] .apdb-button-secondary:hover:not(:disabled),
[data-color-theme="seventies"]:not([data-theme="dark"]) .apdb-button-secondary:hover:not(:disabled) {
	background: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);
	color: var(--text-inverse);
	border-color: var(--secondary);
	transform: translateY(-2px);
	box-shadow: 0 4px 16px var(--primary-alpha);

}

/* Eighties Color Theme - Buttons */
[data-theme="light"][data-color-theme="eighties"] .apdb-button-secondary,
[data-color-theme="eighties"]:not([data-theme="dark"]) .apdb-button-secondary {
	background: var(--secondary-alpha);
	color: var(--secondary-dark);
	border: 2px solid var(--secondary);

}

[data-theme="light"][data-color-theme="eighties"] .apdb-button-secondary:hover:not(:disabled),
[data-color-theme="eighties"]:not([data-theme="dark"]) .apdb-button-secondary:hover:not(:disabled) {
	background: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 50%, var(--warning) 100%);
	color: var(--text-inverse);
	border-color: var(--secondary);
	transform: translateY(-2px);
	box-shadow: 0 4px 16px var(--secondary-alpha), 0 0 20px var(--primary-alpha);

}

/* Edit singular */
.edit-single-container {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	gap: 1rem;
	padding-top: 2rem;
	padding-bottom: 2rem;

}

.edit-form-column {
	flex: 1;

}

/* ===========================
   SOURCE SELECTOR STYLES
   =========================== */

.apdb-section-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 1rem;
	margin-bottom: 1.5rem;

}

.apdb-section-header .apdb-section-title {
	margin-bottom: 0;

}

.apdb-subsection-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-bottom: 1rem;
	margin-top: 1.5rem;

}

.apdb-subsection-header .apdb-subsection-title {
	margin-bottom: 0;
	margin-top: 0;

}

.apdb-source-selector-container {
	display: flex;
	align-items: center;
	gap: 0.5rem;

}

.apdb-source-label {
	font-size: 0.875rem;
	color: var(--apdb-text-secondary, #666);
	white-space: nowrap;
	font-weight: 500;

}

.apdb-source-selector {
	min-width: 200px;
	max-width: 350px;
	padding: 0.375rem 0.75rem;
	font-size: 0.875rem;
	border: 1px solid var(--apdb-border-color, #ddd);
	border-radius: 4px;
	background-color: var(--apdb-bg-white, #fff);
	cursor: pointer;
	transition: border-color 0.2s ease;

}

.apdb-source-selector:hover {
	border-color: var(--apdb-primary-color, #4a90a4);

}

.apdb-source-selector:focus {
	outline: none;
	border-color: var(--apdb-primary-color, #4a90a4);
	box-shadow: 0 0 0 2px rgba(74, 144, 164, 0.2);

}

.apdb-source-selector-small {
	gap: 0.375rem;

}

.apdb-source-selector-small .apdb-source-selector {
	min-width: 180px;
	max-width: 280px;
	font-size: 0.8125rem;
	padding: 0.25rem 0.5rem;

}

.apdb-source-selector-small .apdb-source-label {
	font-size: 0.8125rem;

}

.apdb-source-info {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.875rem;

}

.apdb-source-info-small {
	font-size: 0.8125rem;

}

.apdb-source-value {
	color: var(--apdb-text-secondary, #666);
	font-style: italic;

}

@media (max-width: 768px) {
	.apdb-section-header {
		flex-direction: column;
		align-items: flex-start;
	}

	.apdb-subsection-header {
		flex-direction: column;
		align-items: flex-start;
	}

	.apdb-source-selector-container {
		width: 100%;
		max-width: 100%;
		overflow: hidden;
	}

	.apdb-source-selector {
		width: 100%;
		min-width: 0;
		max-width: 100%;
	}

}

/* ===========================
   Text Import Modal
   =========================== */

.apdb-text-import-modal {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 100000;
}

.apdb-text-import-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.6);
}

.apdb-text-import-content {
	position: relative;
	background: var(--bg-primary);
	max-width: 600px;
	margin: 60px auto;
	border-radius: 8px;
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25);
	display: flex;
	flex-direction: column;
	max-height: calc(100vh - 120px);
}

.apdb-text-import-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 16px 20px;
	border-bottom: 1px solid var(--border-light);
}

.apdb-text-import-header h3 {
	margin: 0;
	font-size: 1.1rem;
	font-weight: 600;
	color: var(--text-primary);
}

.apdb-text-import-close {
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
	color: var(--text-secondary);
	font-size: 24px;
	line-height: 1;
	transition: color 0.2s;
}

.apdb-text-import-close:hover {
	color: var(--text-primary);
}

.apdb-text-import-body {
	padding: 20px;
	flex: 1;
	overflow-y: auto;
}

.apdb-text-import-body textarea {
	width: 100%;
	font-family: 'Lato', sans-serif;
	font-size: 0.95rem;
	line-height: 1.6;
	padding: 12px;
	border: 1px solid var(--border-light);
	border-radius: 6px;
	background: var(--bg-primary);
	color: var(--text-primary);
	resize: vertical;
	box-sizing: border-box;
}

.apdb-text-import-body textarea:focus {
	outline: 2px solid var(--link-focus);
	outline-offset: 1px;
	border-color: var(--link-focus);
}

.apdb-text-import-footer {
	display: flex;
	justify-content: flex-end;
	gap: 10px;
	padding: 14px 20px;
	border-top: 1px solid var(--border-light);
}

@media (max-width: 768px) {
	.apdb-text-import-content {
		margin: 20px;
		max-width: calc(100% - 40px);
	}

	.apdb-text-import-header,
	.apdb-text-import-body,
	.apdb-text-import-footer {
		padding: 14px;
	}

}

/* ─────────────────────────────────────────────────────────────
   Isomer browser cards — additions:
   parent formula tag, relationship teaser, olfactory threshold,
   stereochemistry chip.
   ───────────────────────────────────────────────────────────── */

.apdb-isomer-parent {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: center;
	gap: 0.35rem;
	margin: 0.35rem 0;
}

.apdb-isomer-parent-formula {
	/* Hidden for now — see WIP: evaluating signal value in the isomer grid. */
	display: none;
	padding: 1px 6px;
	font-family: 'Courier New', monospace;
	font-size: 0.8em;
	color: var(--text-secondary);
	background: var(--bg-secondary);
	border-radius: 3px;
}

.apdb-isomer-relationship {
	margin-top: 0.25rem;
	font-size: 0.9em;
	color: var(--text-secondary);
}

.apdb-isomer-relationship strong {
	font-weight: 600;
	margin-right: 0.25rem;
}

.apdb-isomer-relationship a {
	color: var(--link-primary);
	text-decoration: none;
}

.apdb-isomer-relationship a:hover {
	text-decoration: underline;
}

.apdb-isomer-threshold {
	display: flex;
	align-items: baseline;
	gap: 0.4rem;
	margin: 0.25rem 0;
	font-size: 0.9em;
}

.apdb-isomer-threshold strong {
	font-weight: 600;
	color: var(--text-secondary);
}

.apdb-isomer-threshold small {
	color: var(--text-tertiary);
	font-size: 0.85em;
}

