/*
Theme Name: RACERS Developer
Theme URI: https://christianregenhardcenter.org
Author: Kief Studio
Author URI: https://kief.studio
Description: A modern block theme for RACERS - The Christian Regenhard Center for Emergency Response Studies. Built with Full Site Editing, featuring the RACERS brand identity with Oswald and Glegoo typography.
Version: 2.0.0
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 8.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: racers
Tags: block-themes, full-site-editing, custom-colors, custom-logo, custom-menu, editor-style, featured-images, wide-blocks

RACERS is dedicated to improving emergency response practices through research,
education, and advocacy. This block theme reflects that mission with a professional,
accessible design using Full Site Editing.
*/

/* ==========================================================================
   Custom Styles Beyond theme.json
   ========================================================================== */

/* Reset any body/root margins */
body {
	margin: 0;
	padding: 0;
}

/* WordPress block editor body class - remove top margin */
.wp-site-blocks {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

.wp-site-blocks > * + * {
	margin-top: 0;
}

/* Skip link */
.skip-link {
	background-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--white);
	padding: 0.5rem 1rem;
	position: absolute;
	left: -9999rem;
	top: 2.5rem;
	z-index: 999999;
	text-decoration: none;
	font-family: var(--wp--preset--font-family--heading);
	text-transform: uppercase;
	font-weight: 600;
}

.skip-link:focus {
	left: 1rem;
}

/* Screen reader text */
.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;
	word-wrap: normal !important;
}

/* ==========================================================================
   Search Block Styling
   ========================================================================== */

/* Search in dark hero sections */
.has-primary-to-dark-gradient-background .wp-block-search__inside-wrapper {
	background-color: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 4px;
}

.has-primary-to-dark-gradient-background .wp-block-search__input {
	background-color: transparent;
	border: none;
	color: var(--wp--preset--color--white);
	padding: 0.75rem 1rem;
}

.has-primary-to-dark-gradient-background .wp-block-search__input::placeholder {
	color: rgba(255, 255, 255, 0.6);
}

.has-primary-to-dark-gradient-background .wp-block-search__input:focus {
	outline: none;
	box-shadow: none;
}

.has-primary-to-dark-gradient-background .wp-block-search__inside-wrapper:focus-within {
	border-color: var(--wp--preset--color--secondary);
	background-color: rgba(255, 255, 255, 0.15);
}

.has-primary-to-dark-gradient-background .wp-block-search__button {
	background-color: var(--wp--preset--color--accent);
	border: none;
	padding: 0.75rem 1rem;
}

.has-primary-to-dark-gradient-background .wp-block-search__button:hover {
	background-color: #b80d0d;
}

/* ==========================================================================
   Filter Bar & Buttons
   ========================================================================== */

.filter-btn .wp-block-button__link {
	transition: all 0.2s ease;
	font-family: var(--wp--preset--font-family--heading);
}

.filter-btn .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--secondary) !important;
	color: var(--wp--preset--color--white) !important;
	border-color: var(--wp--preset--color--secondary) !important;
}

/* Active filter state */
.filter-btn.is-active .wp-block-button__link,
.filter-btn .wp-block-button__link[aria-current="page"] {
	background-color: var(--wp--preset--color--primary) !important;
	color: var(--wp--preset--color--white) !important;
	border-color: var(--wp--preset--color--primary) !important;
}

/* ==========================================================================
   Video Cards
   ========================================================================== */

.video-card {
	overflow: hidden;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);
	transition: box-shadow 0.2s ease, transform 0.2s ease;
	display: flex;
	flex-direction: column;
	height: 100%;
}

/* Equal height grid for video/publication cards */
.wp-block-post-template.is-layout-grid > li {
	display: flex;
	flex-direction: column;
}

.wp-block-post-template.is-layout-grid > li > .video-card,
.wp-block-post-template.is-layout-grid > li > .wp-block-group {
	flex: 1;
	display: flex;
	flex-direction: column;
}

.video-card > .wp-block-group:last-child {
	flex: 1;
	display: flex;
	flex-direction: column;
}

.video-card > .wp-block-group:last-child > .wp-block-group:last-child {
	margin-top: auto;
}

.video-card:hover {
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
	transform: translateY(-4px);
}

.video-thumbnail-wrapper {
	position: relative;
	overflow: hidden;
}

.video-thumbnail-wrapper::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 60px;
	height: 60px;
	background: rgba(218, 16, 16, 0.9);
	border-radius: 50%;
	opacity: 0;
	transition: opacity 0.2s ease;
	pointer-events: none;
}

.video-thumbnail-wrapper::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) translateX(2px);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 12px 0 12px 20px;
	border-color: transparent transparent transparent white;
	z-index: 1;
	opacity: 0;
	transition: opacity 0.2s ease;
	pointer-events: none;
}

.video-card:hover .video-thumbnail-wrapper::after,
.video-card:hover .video-thumbnail-wrapper::before {
	opacity: 1;
}

/* ==========================================================================
   Header Styles
   ========================================================================== */

/* Remove any gaps from header template part */
header.wp-block-template-part {
	margin: 0;
	padding: 0;
}

header.wp-block-template-part > * {
	margin-top: 0;
	margin-bottom: 0;
}

/* Institution bar - full width red accent */
.has-accent-background-color a {
	color: var(--wp--preset--color--white);
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.has-accent-background-color a:hover {
	text-decoration: none;
}

/* Dark mode: Institution bar stays red with white text */
[data-theme="dark"] header .has-accent-background-color {
	background-color: var(--wp--preset--color--accent) !important;
}

[data-theme="dark"] header .has-accent-background-color p,
[data-theme="dark"] header .has-accent-background-color .has-white-color,
[data-theme="dark"] header .has-accent-background-color a {
	color: #ffffff !important;
}

[data-theme="dark"] header .has-accent-background-color a {
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

[data-theme="dark"] header .has-accent-background-color a:hover {
	color: rgba(255, 255, 255, 0.85) !important;
	text-decoration: none;
}

/* Main header */
.site-header {
	background-color: var(--wp--preset--color--primary);
}

/* No border - header flows into hero */

/* Footer separator - semi-transparent white */
.site-footer .wp-block-separator {
	border-color: rgba(255, 255, 255, 0.2);
	background-color: rgba(255, 255, 255, 0.2);
}

/* Ensure no gaps in full-width header sections */
.wp-block-group.alignfull + .wp-block-group.alignfull {
	margin-top: 0;
}

/* Remove gap between header and main content */
header.wp-block-template-part + main,
header.wp-block-template-part + .wp-block-group {
	margin-top: 0;
}

/* Remove top margin from main element */
main.wp-block-group {
	margin-top: 0;
}

/* Remove margin from first child in main */
main.wp-block-group > *:first-child {
	margin-top: 0;
}

/* ==========================================================================
   Navigation Enhancements
   ========================================================================== */

.wp-block-navigation__responsive-container.is-menu-open {
	background-color: var(--wp--preset--color--primary);
}

.wp-block-navigation__responsive-container-close,
.wp-block-navigation__responsive-container-open {
	color: var(--wp--preset--color--white);
}

/* Submenu styling - override WordPress defaults */
.site-header .wp-block-navigation .wp-block-navigation__submenu-container,
.site-header .wp-block-navigation .wp-block-navigation__submenu-container.has-primary-background-color,
.site-header .wp-block-navigation .wp-block-navigation__submenu-container.has-background,
.site-header .wp-block-navigation .wp-block-navigation__submenu-container.has-white-color {
	background-color: #ffffff !important;
	border-radius: 6px;
	box-shadow: 0 10px 25px -5px rgb(0 0 0 / 0.15), 0 4px 6px -2px rgb(0 0 0 / 0.05);
	padding: 0.5rem 0;
	border: 1px solid rgba(0, 0, 0, 0.08);
}

/* Force dark text in dropdown items - high specificity to override WP classes */
.site-header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
.site-header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__label,
.site-header .wp-block-navigation .wp-block-navigation__submenu-container a,
.site-header .wp-block-navigation .wp-block-navigation__submenu-container li a,
.site-header .wp-block-navigation .wp-block-navigation__submenu-container li a span,
.site-header .wp-block-navigation .has-white-color .wp-block-navigation__submenu-container a,
.site-header .wp-block-navigation .has-white-color .wp-block-navigation__submenu-container span {
	color: #1c1f26 !important;
}

.site-header .wp-block-navigation .wp-block-navigation__submenu-container li a {
	padding: 0.625rem 1.25rem;
	display: block;
}

.site-header .wp-block-navigation .wp-block-navigation__submenu-container li a:hover,
.site-header .wp-block-navigation .wp-block-navigation__submenu-container li a:hover span {
	color: #2196F3 !important;
	background-color: #f5f6f8;
}

/* Hide the WordPress default dropdown button/arrow - use CSS arrow instead */
.site-header .wp-block-navigation .wp-block-navigation__submenu-icon {
	display: none;
}

/* ==========================================================================
   Button Variations
   ========================================================================== */

.wp-block-button.is-style-outline .wp-block-button__link {
	background-color: transparent;
	border: 2px solid currentColor;
}

.wp-block-button.is-style-secondary .wp-block-button__link {
	background-color: var(--wp--preset--color--secondary);
}

.wp-block-button.is-style-secondary .wp-block-button__link:hover {
	background-color: #1a94e8;
}

/* ==========================================================================
   Card Styles
   ========================================================================== */

.wp-block-group.is-style-card {
	background-color: var(--wp--preset--color--white);
	border-radius: 8px;
	box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1);
	overflow: hidden;
	transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.wp-block-group.is-style-card:hover {
	box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1);
	transform: translateY(-2px);
}

/* ==========================================================================
   Post/Page Specific Styles
   ========================================================================== */

.post-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	font-size: 0.875rem;
	color: var(--wp--preset--color--medium-gray);
}

.post-meta a {
	color: var(--wp--preset--color--secondary);
}

/* Tags */
.post-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.post-tags a {
	display: inline-block;
	padding: 0.25rem 0.75rem;
	background-color: var(--wp--preset--color--light-gray);
	color: var(--wp--preset--color--dark-gray);
	font-size: 0.875rem;
	text-decoration: none;
	border-radius: 4px;
	transition: all 0.2s ease;
}

.post-tags a:hover {
	background-color: var(--wp--preset--color--secondary);
	color: var(--wp--preset--color--white);
}

/* ==========================================================================
   Footer Styles
   ========================================================================== */

.site-footer {
	background-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--white);
}

.site-footer a {
	color: var(--wp--preset--color--white);
	opacity: 0.8;
}

.site-footer a:hover {
	opacity: 1;
	color: var(--wp--preset--color--secondary);
}

.footer-widgets {
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

/* ==========================================================================
   Research/Publication Specific
   ========================================================================== */

/* Publication card styling - layout controlled by Gutenberg blocks */
.publication-card {
	overflow: hidden;
	transition: box-shadow 0.25s ease, transform 0.2s ease;
}

.publication-icon {
	width: 48px;
	height: 48px;
	color: var(--wp--preset--color--secondary);
}

.publication-type {
	display: inline-block;
	padding: 0.25rem 0.5rem;
	background-color: var(--wp--preset--color--secondary);
	color: var(--wp--preset--color--white);
	font-size: 0.75rem;
	font-family: var(--wp--preset--font-family--heading);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	border-radius: 2px;
}

/* ==========================================================================
   Team/Researcher Cards
   ========================================================================== */

.researcher-card {
	text-align: center;
	padding: 2rem;
	background-color: var(--wp--preset--color--white);
	border-radius: 8px;
	box-shadow: 0 1px 3px rgb(0 0 0 / 0.1);
	transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.researcher-card:hover {
	box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1);
	transform: translateY(-4px);
}

.researcher-photo {
	width: 150px;
	height: 150px;
	margin: 0 auto 1.5rem;
	border-radius: 50%;
	overflow: hidden;
	border: 4px solid var(--wp--preset--color--secondary);
}

.researcher-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.researcher-name {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.25rem;
	font-weight: 700;
	text-transform: uppercase;
	margin-bottom: 0.25rem;
}

.researcher-title {
	color: var(--wp--preset--color--secondary);
	font-weight: 600;
	margin-bottom: 0.5rem;
}

.researcher-links {
	display: flex;
	justify-content: center;
	gap: 0.75rem;
	margin-top: 1rem;
}

.researcher-links a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background-color: var(--wp--preset--color--light-gray);
	color: var(--wp--preset--color--primary);
	transition: all 0.2s ease;
}

.researcher-links a:hover {
	background-color: var(--wp--preset--color--secondary);
	color: var(--wp--preset--color--white);
}

/* ==========================================================================
   Hero Sections
   ========================================================================== */

.hero-section {
	position: relative;
	min-height: 60vh;
	display: flex;
	align-items: center;
	background-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--white);
}

.hero-section::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgba(28, 31, 38, 0.9) 0%, rgba(28, 31, 38, 0.7) 100%);
	z-index: 1;
}

.hero-content {
	position: relative;
	z-index: 2;
}

/* Hero Montage Animation (Ken Burns Effect) */
.hero-montage .wp-block-cover__image-background {
	animation: kenBurns 25s ease-in-out infinite;
	transform-origin: center center;
}

@keyframes kenBurns {
	0% {
		transform: scale(1) translate(0, 0);
	}
	25% {
		transform: scale(1.08) translate(-1%, -1%);
	}
	50% {
		transform: scale(1.05) translate(1%, 0);
	}
	75% {
		transform: scale(1.1) translate(-0.5%, 1%);
	}
	100% {
		transform: scale(1) translate(0, 0);
	}
}

/* Respect reduced motion preferences */
@media (prefers-reduced-motion: reduce) {
	.hero-montage .wp-block-cover__image-background {
		animation: none;
	}
}

/* ==========================================================================
   Utility Classes
   ========================================================================== */

.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right { text-align: right; }

.flex { display: flex; }
.flex-wrap { flex-wrap: wrap; }
.items-center { align-items: center; }
.justify-center { justify-content: center; }
.justify-between { justify-content: space-between; }
.gap-1 { gap: 0.5rem; }
.gap-2 { gap: 1rem; }
.gap-3 { gap: 1.5rem; }
.gap-4 { gap: 2rem; }

.grid { display: grid; }
.grid-cols-2 { grid-template-columns: repeat(2, 1fr); }
.grid-cols-3 { grid-template-columns: repeat(3, 1fr); }
.grid-cols-4 { grid-template-columns: repeat(4, 1fr); }

@media (max-width: 781px) {
	.grid-cols-2,
	.grid-cols-3,
	.grid-cols-4 {
		grid-template-columns: 1fr;
	}
}

@media (min-width: 782px) and (max-width: 1023px) {
	.grid-cols-3,
	.grid-cols-4 {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* ==========================================================================
   Homepage Sections
   ========================================================================== */

/* Accent line separator */
.accent-line {
	width: 60px;
	height: 4px;
	border: none;
	margin-left: 0;
}

/* Stats Section - using columns block */
.stats-section.wp-block-columns {
	gap: 1rem;
}

.stats-section .stat-item {
	text-align: center;
}

.stats-section .stat-item .stat-number {
	margin-bottom: 0.5rem;
}

.stats-section .stat-item .stat-label {
	margin-top: 0;
}

/* Research Cards - using group blocks with border */
.research-card {
	border-radius: 6px;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.research-card:hover {
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
	transform: translateY(-2px);
}

/* Action Cards - front page CTA cards */
.action-card {
	border-radius: 6px;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);
	transition: box-shadow 0.2s ease, transform 0.2s ease;
	height: 100%;
}

.action-card:hover {
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
	transform: translateY(-4px);
}

[data-theme="dark"] .action-card {
	background: linear-gradient(145deg, #1a1e28 0%, #1f232e 100%) !important;
	border: 1px solid rgba(255, 255, 255, 0.06) !important;
	box-shadow:
		0 2px 8px rgba(0, 0, 0, 0.3),
		0 1px 2px rgba(0, 0, 0, 0.2),
		inset 0 1px 0 rgba(255, 255, 255, 0.03) !important;
}

[data-theme="dark"] .action-card:hover {
	background: linear-gradient(145deg, #1e222d 0%, #232833 100%) !important;
	border-color: rgba(54, 171, 252, 0.15) !important;
	box-shadow:
		0 8px 24px rgba(0, 0, 0, 0.4),
		0 2px 4px rgba(0, 0, 0, 0.3),
		inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
}

/* Director Quote - using group block */
.director-quote {
	border-radius: 8px;
	position: relative;
	overflow: hidden;
}

.director-quote .wp-block-quote {
	border: none;
	padding-left: 0;
	margin: 0;
}

.director-quote .wp-block-quote p {
	margin: 0;
}

/* Newsletter Box - using group block */
.newsletter-box {
	border-radius: 8px;
	position: relative;
	overflow: hidden;
}

/* News items styling - base */
.news-item {
	transition: all 0.25s ease;
	border-radius: 8px;
}

.news-item:hover {
	background-color: rgba(0, 0, 0, 0.02);
}


/* Compatibility - keep old class styles for reference */
.box-title {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	margin-bottom: 0.75rem;
}

.newsletter-box .box-text {
	font-size: 0.875rem;
	color: var(--wp--preset--color--dark-gray);
	margin-bottom: 1rem;
}

/* News List Items */
.news-item {
	padding: 1.25rem 0;
	border-bottom: 1px solid var(--wp--preset--color--light-gray);
}

.news-item:last-child {
	border-bottom: none;
}

.news-item .news-category {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 0.6875rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--wp--preset--color--secondary);
	margin-bottom: 0.375rem;
}

.news-item .news-title {
	font-size: 1.0625rem;
	font-weight: 600;
	line-height: 1.4;
	margin-bottom: 0.375rem;
}

.news-item .news-title a {
	color: var(--wp--preset--color--primary);
	text-decoration: none;
}

.news-item .news-title a:hover {
	color: var(--wp--preset--color--secondary);
}

.news-item .news-date {
	font-size: 0.8125rem;
	color: var(--wp--preset--color--medium-gray);
}

/* Section Headers */
.section-header {
	margin-bottom: 2.5rem;
}

.section-header .section-title {
	font-size: clamp(1.5rem, 3vw, 2rem);
	margin-bottom: 0.75rem;
}

.section-header .section-subtitle {
	font-size: 1.0625rem;
	color: var(--wp--preset--color--dark-gray);
	max-width: 600px;
}

/* Accent Line */
.accent-line {
	width: 60px;
	height: 4px;
	background: var(--wp--preset--color--secondary);
	margin-bottom: 1.5rem;
}

.accent-line.centered {
	margin-left: auto;
	margin-right: auto;
}

/* Accent line on headings using pseudo-element */
.has-accent-line {
	position: relative;
	padding-top: 1.5rem;
}

.has-accent-line::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 60px;
	height: 4px;
	background-color: var(--wp--preset--color--secondary);
}

/* CTA Banner */
.cta-banner {
	background: var(--wp--preset--color--secondary);
	padding: 3rem 2rem;
	border-radius: 6px;
	text-align: center;
}

.cta-banner .cta-title {
	font-size: clamp(1.5rem, 3vw, 2rem);
	color: var(--wp--preset--color--white);
	margin-bottom: 1rem;
}

.cta-banner .cta-text {
	font-size: 1.0625rem;
	color: rgba(255, 255, 255, 0.9);
	max-width: 600px;
	margin: 0 auto 1.5rem;
}

/* ==========================================================================
   Dark Mode Contrast Fixes
   ========================================================================== */

/* Ensure text on dark backgrounds is always light */
.has-primary-background-color,
.has-primary-background-color *:not(a),
.has-secondary-background-color,
.has-secondary-background-color *:not(a),
.has-accent-background-color,
.has-accent-background-color *:not(a),
[data-theme="dark"] .has-primary-background-color *:not(a) {
	color: var(--wp--preset--color--white);
}

/* Ensure text on light backgrounds is dark */
.has-white-background-color,
.has-light-gray-background-color {
	color: var(--wp--preset--color--dark-gray);
}

.has-white-background-color h1,
.has-white-background-color h2,
.has-white-background-color h3,
.has-white-background-color h4,
.has-white-background-color h5,
.has-white-background-color h6,
.has-light-gray-background-color h1,
.has-light-gray-background-color h2,
.has-light-gray-background-color h3,
.has-light-gray-background-color h4,
.has-light-gray-background-color h5,
.has-light-gray-background-color h6 {
	color: var(--wp--preset--color--primary);
}

/* Dark mode text fixes */
[data-theme="dark"] .has-white-background-color,
[data-theme="dark"] .has-light-gray-background-color {
	background-color: #141720 !important;
	color: #e8e8e8 !important;
}

[data-theme="dark"] .has-white-background-color h1,
[data-theme="dark"] .has-white-background-color h2,
[data-theme="dark"] .has-white-background-color h3,
[data-theme="dark"] .has-white-background-color h4,
[data-theme="dark"] .has-light-gray-background-color h1,
[data-theme="dark"] .has-light-gray-background-color h2,
[data-theme="dark"] .has-light-gray-background-color h3,
[data-theme="dark"] .has-light-gray-background-color h4 {
	color: #ffffff !important;
}

[data-theme="dark"] .has-dark-gray-color {
	color: #b8bcc4 !important;
}

[data-theme="dark"] .has-medium-gray-color {
	color: #8a8f9a !important;
}

/* Dark mode card styling - polished look */
[data-theme="dark"] .research-card {
	background: linear-gradient(145deg, #1a1e28 0%, #1f232e 100%) !important;
	border: 1px solid rgba(255, 255, 255, 0.06) !important;
	border-radius: 8px !important;
	box-shadow:
		0 2px 8px rgba(0, 0, 0, 0.3),
		0 1px 2px rgba(0, 0, 0, 0.2),
		inset 0 1px 0 rgba(255, 255, 255, 0.03) !important;
}

[data-theme="dark"] .research-card:hover {
	background: linear-gradient(145deg, #1e222d 0%, #232833 100%) !important;
	border-color: rgba(54, 171, 252, 0.15) !important;
	box-shadow:
		0 4px 16px rgba(0, 0, 0, 0.4),
		0 2px 4px rgba(0, 0, 0, 0.3),
		inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
	transform: translateY(-2px);
}

/* ==========================================================================
   News Section - Enhanced Dark Mode Styling
   ========================================================================== */

/* News item cards */
[data-theme="dark"] .news-item {
	background: linear-gradient(145deg, #1a1e28 0%, #1f232e 100%) !important;
	border: 1px solid rgba(255, 255, 255, 0.06) !important;
	border-radius: 8px !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
	padding: 1.25rem 1.5rem !important;
	margin-bottom: 0.75rem !important;
	box-shadow:
		0 2px 8px rgba(0, 0, 0, 0.25),
		inset 0 1px 0 rgba(255, 255, 255, 0.03) !important;
	transition: all 0.25s ease !important;
}

[data-theme="dark"] .news-item:hover {
	background: linear-gradient(145deg, #1e222d 0%, #252a35 100%) !important;
	border-color: rgba(54, 171, 252, 0.2) !important;
	box-shadow:
		0 6px 20px rgba(0, 0, 0, 0.35),
		inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
	transform: translateX(4px);
}

[data-theme="dark"] .news-item:last-child {
	margin-bottom: 0 !important;
}

/* Category badges in news items */
[data-theme="dark"] .news-item .wp-block-post-terms,
[data-theme="dark"] .news-item .taxonomy-category {
	display: inline-block;
	background: rgba(54, 171, 252, 0.15) !important;
	color: #4db8ff !important;
	padding: 0.25rem 0.625rem !important;
	border-radius: 4px !important;
	font-size: 0.625rem !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.08em !important;
	border: 1px solid rgba(54, 171, 252, 0.25) !important;
	text-decoration: none !important;
}

[data-theme="dark"] .news-item .wp-block-post-terms a {
	color: #4db8ff !important;
	text-decoration: none !important;
}

/* News titles */
[data-theme="dark"] .news-item .wp-block-post-title,
[data-theme="dark"] .news-item .wp-block-post-title a {
	color: #ffffff !important;
	text-decoration: none !important;
	transition: color 0.2s ease !important;
}

[data-theme="dark"] .news-item:hover .wp-block-post-title a {
	color: #4db8ff !important;
}

/* News dates */
[data-theme="dark"] .news-item .wp-block-post-date {
	color: #6b7280 !important;
	font-size: 0.8125rem !important;
	white-space: nowrap !important;
}

/* ==========================================================================
   Director Quote - Enhanced Dark Mode Styling
   ========================================================================== */

[data-theme="dark"] .director-quote {
	background: linear-gradient(145deg, #1a1e28 0%, #1f232e 100%) !important;
	border: 1px solid rgba(255, 255, 255, 0.06) !important;
	border-left: 4px solid var(--wp--preset--color--secondary) !important;
	border-radius: 8px !important;
	box-shadow:
		0 4px 16px rgba(0, 0, 0, 0.3),
		inset 0 1px 0 rgba(255, 255, 255, 0.03) !important;
	position: relative;
	overflow: hidden;
}

[data-theme="dark"] .director-quote::before {
	content: "\201C";
	position: absolute;
	top: -10px;
	left: 15px;
	font-size: 6rem;
	font-family: Georgia, serif;
	color: rgba(54, 171, 252, 0.08);
	line-height: 1;
	pointer-events: none;
}

[data-theme="dark"] .director-quote .wp-block-quote {
	border: none !important;
	padding-left: 0 !important;
	position: relative;
	z-index: 1;
}

[data-theme="dark"] .director-quote .wp-block-quote p {
	color: #e0e4ea !important;
	font-size: 1.0625rem !important;
	line-height: 1.7 !important;
}

[data-theme="dark"] .director-quote p:not(.wp-block-quote p) {
	color: #ffffff !important;
}

[data-theme="dark"] .director-quote .has-medium-gray-color {
	color: #8a8f9a !important;
}

/* ==========================================================================
   Newsletter Box - Enhanced Dark Mode Styling
   ========================================================================== */

[data-theme="dark"] .newsletter-box {
	background: linear-gradient(145deg, #1c1f26 0%, #252a35 100%) !important;
	border: 1px solid rgba(218, 16, 16, 0.15) !important;
	border-radius: 8px !important;
	box-shadow:
		0 4px 16px rgba(0, 0, 0, 0.35),
		inset 0 1px 0 rgba(255, 255, 255, 0.03) !important;
	position: relative;
	overflow: hidden;
}

[data-theme="dark"] .newsletter-box::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: linear-gradient(90deg, var(--wp--preset--color--accent) 0%, #ff4444 100%);
}

[data-theme="dark"] .newsletter-box h3 {
	color: #ffffff !important;
	position: relative;
}

[data-theme="dark"] .newsletter-box p {
	color: #b8bcc4 !important;
}

/* Newsletter button enhancement */
[data-theme="dark"] .newsletter-box .wp-block-button__link {
	background: linear-gradient(135deg, var(--wp--preset--color--accent) 0%, #c10a0a 100%) !important;
	box-shadow: 0 4px 12px rgba(218, 16, 16, 0.3) !important;
	transition: all 0.25s ease !important;
}

[data-theme="dark"] .newsletter-box .wp-block-button__link:hover {
	background: linear-gradient(135deg, #e8120e 0%, #d81111 100%) !important;
	box-shadow: 0 6px 20px rgba(218, 16, 16, 0.4) !important;
	transform: translateY(-2px) !important;
}

/* ==========================================================================
   View All Button - Enhanced Dark Mode Styling
   ========================================================================== */

[data-theme="dark"] .wp-block-query + .wp-block-buttons .wp-block-button__link,
[data-theme="dark"] .has-accent-line + .wp-block-query ~ .wp-block-buttons .wp-block-button__link {
	background: linear-gradient(135deg, #36abfc 0%, #1a8fe8 100%) !important;
	box-shadow: 0 4px 12px rgba(54, 171, 252, 0.25) !important;
	transition: all 0.25s ease !important;
}

[data-theme="dark"] .wp-block-query + .wp-block-buttons .wp-block-button__link:hover {
	background: linear-gradient(135deg, #4db8ff 0%, #36abfc 100%) !important;
	box-shadow: 0 6px 20px rgba(54, 171, 252, 0.35) !important;
	transform: translateY(-2px) !important;
}

/* Dark mode section backgrounds */
[data-theme="dark"] main .wp-block-group.alignfull.has-white-background-color,
[data-theme="dark"] main .wp-block-group.alignfull.has-light-gray-background-color {
	background: linear-gradient(180deg, #0f1218 0%, #141720 100%) !important;
}

/* Section headers in dark mode */
[data-theme="dark"] .has-accent-line {
	color: #ffffff !important;
}

/* Subtle glow on accent elements in dark mode */
[data-theme="dark"] .has-accent-line::before {
	box-shadow: 0 0 8px rgba(218, 16, 16, 0.3);
}

/* Better link colors in dark mode */
[data-theme="dark"] .news-item a,
[data-theme="dark"] .research-card a {
	color: #4db8ff !important;
}

[data-theme="dark"] .news-item a:hover,
[data-theme="dark"] .research-card a:hover {
	color: #7dcaff !important;
}

/* ==========================================================================
   Logo Dark/Light Mode Switching
   ========================================================================== */

.custom-logo-link {
	display: flex;
	align-items: center;
	text-decoration: none;
}

.site-logo {
	height: auto;
	max-width: 270px;
}

/* Default: show light logo (for dark header background) */
.site-logo-light {
	display: block;
}

.site-logo-dark {
	display: none;
}

/* In light mode, if header has light background, show dark logo */
[data-theme="light"] .has-white-background-color .site-logo-light,
[data-theme="light"] .has-light-gray-background-color .site-logo-light {
	display: none;
}

[data-theme="light"] .has-white-background-color .site-logo-dark,
[data-theme="light"] .has-light-gray-background-color .site-logo-dark {
	display: block;
}

/* ==========================================================================
   Light Mode Overrides - Comprehensive Styling
   ========================================================================== */

/* ----- HEADER & NAVIGATION ----- */

[data-theme="light"] .site-header.has-primary-background-color {
	background-color: #ffffff !important;
	border-bottom: 1px solid #e2e5ea;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

[data-theme="light"] header .has-accent-background-color {
	background-color: var(--wp--preset--color--primary) !important;
	border-bottom: none;
}

[data-theme="light"] header .has-accent-background-color .has-white-color,
[data-theme="light"] header .has-accent-background-color a {
	color: #ffffff !important;
}

[data-theme="light"] .site-header .has-white-color {
	color: var(--wp--preset--color--primary) !important;
}

[data-theme="light"] .site-header .wp-block-navigation,
[data-theme="light"] .site-header .wp-block-navigation a,
[data-theme="light"] .site-header .wp-block-navigation-item__content,
[data-theme="light"] .site-header .wp-block-navigation-item__label,
[data-theme="light"] .site-header .wp-block-navigation .has-white-color {
	color: #1c1f26 !important;
}

[data-theme="light"] .site-header .wp-block-navigation a:hover,
[data-theme="light"] .site-header .wp-block-navigation-item__content:hover {
	color: var(--wp--preset--color--secondary) !important;
}

/* Mobile menu button */
[data-theme="light"] .site-header .wp-block-navigation__responsive-container-open {
	color: #1c1f26 !important;
}

/* Light mode: Show dark logo in header */
[data-theme="light"] .site-header .site-logo-light {
	display: none !important;
}

[data-theme="light"] .site-header .site-logo-dark {
	display: block !important;
}

/* ----- HERO SECTION ----- */

[data-theme="light"] main > .wp-block-group.alignfull.has-primary-background-color:first-child {
	background: linear-gradient(180deg, #1c1f26 0%, #2a2f3a 100%) !important;
}

[data-theme="light"] main > .wp-block-group.alignfull.has-primary-background-color:first-child .has-white-color,
[data-theme="light"] main > .wp-block-group.alignfull.has-primary-background-color:first-child h1 {
	color: #ffffff !important;
}

[data-theme="light"] main > .wp-block-group.alignfull.has-primary-background-color:first-child .has-secondary-color {
	color: var(--wp--preset--color--secondary) !important;
}

/* ----- SECTION BACKGROUNDS - Better Differentiation ----- */

/* White sections - clean white */
[data-theme="light"] main .wp-block-group.alignfull.has-white-background-color {
	background-color: #ffffff !important;
}

/* Light gray sections - subtle warm gray */
[data-theme="light"] main .wp-block-group.alignfull.has-light-gray-background-color {
	background-color: #f5f6f8 !important;
	border-top: 1px solid #e8eaed;
	border-bottom: 1px solid #e8eaed;
}

/* Secondary (blue) sections */
[data-theme="light"] main .wp-block-group.alignfull.has-secondary-background-color {
	background: linear-gradient(135deg, #36abfc 0%, #1a8fe8 100%) !important;
}

/* ----- TEXT COLORS - Proper Contrast ----- */

[data-theme="light"] .has-white-background-color,
[data-theme="light"] .has-light-gray-background-color {
	color: #374151 !important;
}

[data-theme="light"] .has-white-background-color h1,
[data-theme="light"] .has-white-background-color h2,
[data-theme="light"] .has-white-background-color h3,
[data-theme="light"] .has-white-background-color h4,
[data-theme="light"] .has-light-gray-background-color h1,
[data-theme="light"] .has-light-gray-background-color h2,
[data-theme="light"] .has-light-gray-background-color h3,
[data-theme="light"] .has-light-gray-background-color h4 {
	color: #1c1f26 !important;
}

[data-theme="light"] .has-dark-gray-color {
	color: #4b5563 !important;
}

[data-theme="light"] .has-medium-gray-color {
	color: #6b7280 !important;
}

/* ----- ACTION CARDS (3 cards below hero) ----- */

[data-theme="light"] .action-card {
	background: #ffffff !important;
	border: 1px solid #e5e7eb !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06) !important;
}

[data-theme="light"] .action-card:hover {
	border-color: var(--wp--preset--color--secondary) !important;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1) !important;
	transform: translateY(-4px);
}

[data-theme="light"] .action-card h3 {
	color: #1c1f26 !important;
}

[data-theme="light"] .action-card p {
	color: #4b5563 !important;
}

/* ----- RESEARCH CARDS ----- */

[data-theme="light"] .research-card {
	background: #ffffff !important;
	border: 1px solid #e5e7eb !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06) !important;
}

[data-theme="light"] .research-card:hover {
	border-color: var(--wp--preset--color--secondary) !important;
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1) !important;
	transform: translateY(-2px);
}

[data-theme="light"] .research-card h3 {
	color: #1c1f26 !important;
}

[data-theme="light"] .research-card p {
	color: #4b5563 !important;
}

[data-theme="light"] .research-card .has-secondary-color,
[data-theme="light"] .research-card .has-accent-color {
	color: var(--wp--preset--color--secondary) !important;
}

/* ----- NEWS SECTION ----- */

[data-theme="light"] .news-item {
	background: #ffffff !important;
	border: 1px solid #e5e7eb !important;
	border-radius: 8px !important;
	padding: 1.25rem 1.5rem !important;
	margin-bottom: 0.75rem !important;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04) !important;
	transition: all 0.25s ease !important;
}

[data-theme="light"] .news-item:hover {
	background: #fafbfc !important;
	border-color: var(--wp--preset--color--secondary) !important;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
	transform: translateX(4px);
}

[data-theme="light"] .news-item:last-child {
	margin-bottom: 0 !important;
}

/* Category badges */
[data-theme="light"] .news-item .wp-block-post-terms,
[data-theme="light"] .news-item .taxonomy-category {
	display: inline-block !important;
	background: rgba(54, 171, 252, 0.1) !important;
	color: #1a8fe8 !important;
	padding: 0.25rem 0.625rem !important;
	border-radius: 4px !important;
	font-size: 0.625rem !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.08em !important;
	border: 1px solid rgba(54, 171, 252, 0.2) !important;
}

[data-theme="light"] .news-item .wp-block-post-terms a {
	color: #1a8fe8 !important;
	text-decoration: none !important;
}

/* News titles */
[data-theme="light"] .news-item .wp-block-post-title,
[data-theme="light"] .news-item .wp-block-post-title a {
	color: #1c1f26 !important;
	text-decoration: none !important;
}

[data-theme="light"] .news-item:hover .wp-block-post-title a {
	color: var(--wp--preset--color--secondary) !important;
}

/* News dates */
[data-theme="light"] .news-item .wp-block-post-date {
	color: #6b7280 !important;
}

/* ----- DIRECTOR QUOTE ----- */

[data-theme="light"] .director-quote {
	background: #ffffff !important;
	border: 1px solid #e5e7eb !important;
	border-left: 4px solid var(--wp--preset--color--secondary) !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06) !important;
}

[data-theme="light"] .director-quote::before {
	content: "\201C";
	position: absolute;
	top: -10px;
	left: 15px;
	font-size: 6rem;
	font-family: Georgia, serif;
	color: rgba(54, 171, 252, 0.06);
	line-height: 1;
	pointer-events: none;
}

[data-theme="light"] .director-quote .wp-block-quote {
	border: none !important;
	padding-left: 0 !important;
	position: relative;
	z-index: 1;
}

[data-theme="light"] .director-quote .wp-block-quote p {
	color: #374151 !important;
}

[data-theme="light"] .director-quote > p {
	color: #1c1f26 !important;
}

[data-theme="light"] .director-quote .has-medium-gray-color {
	color: #6b7280 !important;
}

/* ----- NEWSLETTER BOX ----- */

[data-theme="light"] .newsletter-box {
	background: var(--wp--preset--color--primary) !important;
	border: none !important;
	box-shadow: 0 4px 16px rgba(28, 31, 38, 0.15) !important;
}

[data-theme="light"] .newsletter-box::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: linear-gradient(90deg, var(--wp--preset--color--accent) 0%, #ff4444 100%);
}

[data-theme="light"] .newsletter-box h3 {
	color: #ffffff !important;
	position: relative;
}

[data-theme="light"] .newsletter-box p {
	color: rgba(255, 255, 255, 0.9) !important;
}

[data-theme="light"] .newsletter-box .wp-block-button__link {
	background: var(--wp--preset--color--accent) !important;
	box-shadow: 0 4px 12px rgba(218, 16, 16, 0.25) !important;
}

[data-theme="light"] .newsletter-box .wp-block-button__link:hover {
	background: #c10a0a !important;
	transform: translateY(-2px) !important;
}

/* ----- BUTTONS ----- */

[data-theme="light"] .has-white-background-color .wp-block-button__link.has-secondary-background-color,
[data-theme="light"] .has-light-gray-background-color .wp-block-button__link.has-secondary-background-color {
	background: linear-gradient(135deg, #36abfc 0%, #1a8fe8 100%) !important;
	box-shadow: 0 2px 8px rgba(54, 171, 252, 0.2) !important;
}

[data-theme="light"] .has-white-background-color .wp-block-button__link.has-secondary-background-color:hover,
[data-theme="light"] .has-light-gray-background-color .wp-block-button__link.has-secondary-background-color:hover {
	background: linear-gradient(135deg, #4db8ff 0%, #36abfc 100%) !important;
	box-shadow: 0 4px 12px rgba(54, 171, 252, 0.3) !important;
	transform: translateY(-2px);
}

[data-theme="light"] .has-white-background-color .wp-block-button__link.has-primary-background-color,
[data-theme="light"] .has-light-gray-background-color .wp-block-button__link.has-primary-background-color {
	background: var(--wp--preset--color--primary) !important;
	box-shadow: 0 2px 8px rgba(28, 31, 38, 0.15) !important;
}

/* ----- PARTNER SECTION (Blue CTA) ----- */

[data-theme="light"] main .wp-block-group.alignfull.has-secondary-background-color .has-white-color {
	color: #ffffff !important;
}

/* ----- FOOTER ----- */

[data-theme="light"] .site-footer {
	background-color: var(--wp--preset--color--primary) !important;
}

[data-theme="light"] .site-footer,
[data-theme="light"] .site-footer * {
	color: #ffffff !important;
}

[data-theme="light"] .site-footer a {
	color: rgba(255, 255, 255, 0.85) !important;
}

[data-theme="light"] .site-footer a:hover {
	color: var(--wp--preset--color--secondary) !important;
}

/* ----- ACCENT LINE ON HEADINGS ----- */

[data-theme="light"] .has-accent-line {
	color: #1c1f26 !important;
}

[data-theme="light"] .has-accent-line::before {
	background-color: var(--wp--preset--color--accent) !important;
}

/* ----- PAGE HERO SECTIONS ----- */

[data-theme="light"] main > .wp-block-group.alignfull.has-primary-to-dark-gradient-background,
[data-theme="light"] main .has-primary-to-dark-gradient-background {
	background: linear-gradient(180deg, #1c1f26 0%, #2a2f3a 100%) !important;
}

[data-theme="light"] .has-primary-to-dark-gradient-background .has-white-color {
	color: #ffffff !important;
}

[data-theme="light"] .has-primary-to-dark-gradient-background .has-light-gray-color {
	color: rgba(255, 255, 255, 0.8) !important;
}

/* ==========================================================================
   PDF Gallery Styles
   ========================================================================== */

.pdf-gallery {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 1.5rem;
}

.pdf-card {
	background: var(--wp--preset--color--white);
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.pdf-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

.pdf-card-preview {
	aspect-ratio: 3/4;
	background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
	display: flex;
	align-items: center;
	justify-content: center;
	border-bottom: 1px solid var(--wp--preset--color--light-gray);
	position: relative;
}

.pdf-card-preview svg {
	width: 64px;
	height: 64px;
	color: var(--wp--preset--color--accent);
}

.pdf-card-badge {
	position: absolute;
	top: 0.75rem;
	right: 0.75rem;
	background: var(--wp--preset--color--accent);
	color: white;
	font-size: 0.6875rem;
	font-weight: 600;
	padding: 0.25rem 0.5rem;
	border-radius: 3px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.pdf-card-content {
	padding: 1.25rem;
}

.pdf-card-title {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.4;
	margin: 0 0 0.5rem;
	color: var(--wp--preset--color--primary);
}

.pdf-card-meta {
	font-size: 0.8125rem;
	color: var(--wp--preset--color--medium-gray);
	margin-bottom: 1rem;
}

.pdf-card-actions {
	display: flex;
	gap: 0.5rem;
}

.pdf-btn {
	flex: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.375rem;
	padding: 0.625rem 1rem;
	font-size: 0.8125rem;
	font-weight: 600;
	text-decoration: none;
	border-radius: 4px;
	transition: all 0.2s ease;
}

.pdf-btn-primary {
	background: var(--wp--preset--color--accent);
	color: white;
}

.pdf-btn-primary:hover {
	background: #b80d0d;
	color: white;
}

.pdf-btn-secondary {
	background: transparent;
	color: var(--wp--preset--color--dark-gray);
	border: 1px solid var(--wp--preset--color--light-gray);
}

.pdf-btn-secondary:hover {
	background: var(--wp--preset--color--light-gray);
	color: var(--wp--preset--color--primary);
}

.pdf-btn svg {
	width: 16px;
	height: 16px;
}

/* Email capture overlay for PDF gallery */
.pdf-email-capture {
	background: linear-gradient(135deg, var(--wp--preset--color--primary) 0%, #2a2f3a 100%);
	border-radius: 8px;
	padding: 2rem;
	text-align: center;
	grid-column: 1 / -1;
	margin-bottom: 1rem;
}

.pdf-email-capture h3 {
	color: white;
	font-size: 1.25rem;
	margin: 0 0 0.75rem;
}

.pdf-email-capture p {
	color: rgba(255, 255, 255, 0.85);
	font-size: 0.9375rem;
	margin: 0 0 1.25rem;
}

.pdf-email-form {
	display: flex;
	gap: 0.5rem;
	max-width: 480px;
	margin: 0 auto 0.75rem;
}

.pdf-email-form input[type="email"] {
	flex: 1;
	padding: 0.75rem 1rem;
	border: none;
	border-radius: 4px;
	font-size: 0.9375rem;
}

.pdf-email-form button {
	background: var(--wp--preset--color--accent);
	color: white;
	border: none;
	padding: 0.75rem 1.5rem;
	border-radius: 4px;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.2s ease;
}

.pdf-email-form button:hover {
	background: #b80d0d;
}

.pdf-skip-link {
	color: rgba(255, 255, 255, 0.6);
	font-size: 0.8125rem;
	text-decoration: underline;
}

.pdf-skip-link:hover {
	color: rgba(255, 255, 255, 0.9);
}

/* PDF item cards in gallery */
.pdf-item {
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.pdf-item:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

.pdf-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--wp--preset--color--primary);
}

.pdf-item .pdf-email-capture {
	border-radius: 6px;
	padding: 1rem;
	grid-column: auto;
	margin-bottom: 0;
}

.pdf-item .pdf-email-form {
	flex-direction: column;
	gap: 0.5rem;
	margin-bottom: 0;
}

.pdf-item .pdf-email-form input[type="email"] {
	padding: 0.625rem 0.75rem;
	font-size: 0.8125rem;
}

.pdf-item .pdf-email-form button {
	padding: 0.625rem 1rem;
	font-size: 0.8125rem;
}

.pdf-direct-download {
	color: var(--wp--preset--color--medium-gray);
	text-decoration: underline;
	transition: color 0.2s ease;
}

.pdf-direct-download:hover {
	color: var(--wp--preset--color--secondary);
}

[data-theme="dark"] .pdf-item {
	background: linear-gradient(145deg, #1a1e28 0%, #1f232e 100%) !important;
	border: 1px solid rgba(255, 255, 255, 0.06) !important;
	box-shadow:
		0 2px 8px rgba(0, 0, 0, 0.3),
		0 1px 2px rgba(0, 0, 0, 0.2),
		inset 0 1px 0 rgba(255, 255, 255, 0.03) !important;
}

[data-theme="dark"] .pdf-item:hover {
	background: linear-gradient(145deg, #1e222d 0%, #232833 100%) !important;
	border-color: rgba(54, 171, 252, 0.15) !important;
	box-shadow:
		0 8px 24px rgba(0, 0, 0, 0.4),
		0 2px 4px rgba(0, 0, 0, 0.3),
		inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
}

[data-theme="dark"] .pdf-icon {
	color: var(--wp--preset--color--secondary);
}

/* ==========================================================================
   Publication Page Styles
   ========================================================================== */

.publication-card {
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.publication-card:hover {
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
	transform: translateY(-2px);
}

[data-theme="dark"] .publication-card {
	background: linear-gradient(145deg, #1a1e28 0%, #1f232e 100%) !important;
	border: 1px solid rgba(255, 255, 255, 0.06) !important;
	box-shadow:
		0 2px 8px rgba(0, 0, 0, 0.3),
		0 1px 2px rgba(0, 0, 0, 0.2),
		inset 0 1px 0 rgba(255, 255, 255, 0.03) !important;
}

[data-theme="dark"] .publication-card:hover {
	background: linear-gradient(145deg, #1e222d 0%, #232833 100%) !important;
	border-color: rgba(54, 171, 252, 0.15) !important;
	box-shadow:
		0 4px 16px rgba(0, 0, 0, 0.4),
		inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
}

.publication-email-banner {
	grid-column: auto;
	margin-bottom: 0;
}

.publication-email-banner .pdf-email-form {
	flex-direction: row;
	max-width: none;
}

.archive-year-section h3 {
	border-bottom: 2px solid var(--wp--preset--color--light-gray);
	padding-bottom: 0.5rem;
}

/* Dark mode: Current publications section */
[data-theme="dark"] .current-publications-section {
	background: linear-gradient(180deg, #1a1e28 0%, #1f232e 100%) !important;
}

[data-theme="dark"] .current-publications-section h2,
[data-theme="dark"] .current-publications-section h3 {
	color: #f3f4f6 !important;
}

[data-theme="dark"] .current-publications-section p {
	color: #d1d5db !important;
}

[data-theme="dark"] .current-publications-section .has-dark-gray-color {
	color: #d1d5db !important;
}

/* Dark mode: Archive publications section */
[data-theme="dark"] .archive-publications-section {
	background: linear-gradient(180deg, #141720 0%, #181c24 100%) !important;
}

[data-theme="dark"] .archive-publications-section h2,
[data-theme="dark"] .archive-publications-section h3 {
	color: #f3f4f6 !important;
}

[data-theme="dark"] .archive-publications-section p {
	color: #d1d5db !important;
}

[data-theme="dark"] .archive-year-section h3 {
	border-bottom-color: rgba(255, 255, 255, 0.1) !important;
}

[data-theme="dark"] .archive-year-section .wp-block-group {
	background: linear-gradient(145deg, #1a1e28 0%, #1f232e 100%) !important;
	border: 1px solid rgba(255, 255, 255, 0.06) !important;
	border-radius: 8px !important;
	box-shadow:
		0 2px 8px rgba(0, 0, 0, 0.3),
		0 1px 2px rgba(0, 0, 0, 0.2),
		inset 0 1px 0 rgba(255, 255, 255, 0.03) !important;
}

/* ==========================================================================
   Publications Page - Premium Design
   ========================================================================== */

.pubs-page {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 1.5rem 4rem;
}

/* Intro Section */
.pubs-intro {
	padding: 3rem 0;
	border-bottom: 1px solid #e5e7eb;
	margin-bottom: 2rem;
}

.pubs-intro-lead {
	font-size: 1.375rem;
	line-height: 1.6;
	color: #374151;
	max-width: 720px;
	margin: 0 0 2rem;
}

.pubs-intro-stats {
	display: flex;
	gap: 3rem;
}

.pubs-stat {
	display: flex;
	flex-direction: column;
}

.pubs-stat-num {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 2.25rem;
	font-weight: 700;
	color: var(--wp--preset--color--primary);
	line-height: 1;
}

.pubs-stat-label {
	font-size: 0.8125rem;
	color: #6b7280;
	margin-top: 0.25rem;
}

/* Filters */
.pubs-filters {
	position: sticky;
	top: 0;
	z-index: 100;
	background: #ffffff;
	padding: 1.25rem 0;
	margin: 0 -1.5rem;
	padding-left: 1.5rem;
	padding-right: 1.5rem;
	border-bottom: 1px solid #e5e7eb;
}

.pubs-filters-inner {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.pubs-search-wrap {
	position: relative;
	max-width: 400px;
}

.pubs-search-icon {
	position: absolute;
	left: 1rem;
	top: 50%;
	transform: translateY(-50%);
	width: 20px;
	height: 20px;
	color: #9ca3af;
}

#pubs-search {
	width: 100%;
	padding: 0.875rem 1rem 0.875rem 3rem;
	font-size: 0.9375rem;
	border: 2px solid #e5e7eb;
	border-radius: 10px;
	background: #f9fafb;
	transition: all 0.2s;
}

#pubs-search:focus {
	outline: none;
	border-color: var(--wp--preset--color--secondary);
	background: #ffffff;
	box-shadow: 0 0 0 4px rgba(54, 171, 252, 0.1);
}

.pubs-filter-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.pubs-filter-tag {
	padding: 0.5rem 1rem;
	font-size: 0.8125rem;
	font-weight: 500;
	color: #4b5563;
	background: transparent;
	border: 1.5px solid #d1d5db;
	border-radius: 100px;
	cursor: pointer;
	transition: all 0.2s;
}

.pubs-filter-tag:hover {
	border-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--primary);
}

.pubs-filter-tag.active {
	background: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--primary);
	color: #ffffff;
}

/* Results Bar */
.pubs-results-bar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 1.5rem 0 1rem;
}

.pubs-results-count {
	font-size: 0.875rem;
	color: #6b7280;
}

.pubs-view-toggle {
	display: flex;
	gap: 0.25rem;
	background: #f3f4f6;
	padding: 0.25rem;
	border-radius: 8px;
}

.pubs-view-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 32px;
	border: none;
	border-radius: 6px;
	background: transparent;
	color: #9ca3af;
	cursor: pointer;
	transition: all 0.15s;
}

.pubs-view-btn:hover { color: #6b7280; }

.pubs-view-btn.active {
	background: #ffffff;
	color: var(--wp--preset--color--primary);
	box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

/* Publications Grid */
.pubs-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
}

/* Publication Item */
.pub-item {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 1.75rem;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 16px;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.pub-item:hover {
	border-color: #d1d5db;
	box-shadow: 0 20px 40px -12px rgba(0, 0, 0, 0.15);
	transform: translateY(-4px);
}

/* Card Variants */
.pub-item--large {
	grid-column: span 2;
	grid-row: span 2;
	padding: 2.5rem;
	background: linear-gradient(135deg, var(--wp--preset--color--primary) 0%, #0f172a 100%);
	border: none;
}

.pub-item--large .pub-item__id,
.pub-item--large .pub-item__title a,
.pub-item--large .pub-item__year { color: #ffffff; }
.pub-item--large .pub-item__meta { color: rgba(255,255,255,0.7); }
.pub-item--large .pub-item__excerpt { color: rgba(255,255,255,0.8); font-size: 1rem; }
.pub-item--large .pub-item__title { font-size: 1.5rem; }
.pub-item--large .pub-item__tag { background: rgba(255,255,255,0.15); color: rgba(255,255,255,0.9); }
.pub-item--large .pub-item__footer { border-color: rgba(255,255,255,0.15); }

.pub-item--wide {
	grid-column: span 2;
}

.pub-item--dark {
	background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);
	border: none;
}

.pub-item--dark .pub-item__id,
.pub-item--dark .pub-item__title a,
.pub-item--dark .pub-item__year { color: #f1f5f9; }
.pub-item--dark .pub-item__meta { color: #94a3b8; }
.pub-item--dark .pub-item__excerpt { color: #cbd5e1; }
.pub-item--dark .pub-item__tag { background: rgba(255,255,255,0.1); color: #94a3b8; }
.pub-item--dark .pub-item__footer { border-color: rgba(255,255,255,0.1); }

.pub-item--highlight {
	border-left: 4px solid var(--wp--preset--color--accent);
}

/* Badge */
.pub-item__badge {
	position: absolute;
	top: 1.25rem;
	right: 1.25rem;
	padding: 0.375rem 0.75rem;
	font-size: 0.6875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: #ffffff;
	background: var(--wp--preset--color--accent);
	border-radius: 6px;
}

.pub-item__badge--alt {
	background: var(--wp--preset--color--secondary);
}

/* Year */
.pub-item__year {
	position: absolute;
	top: 1.25rem;
	left: 1.25rem;
	font-size: 0.75rem;
	font-weight: 700;
	color: #9ca3af;
	background: #f3f4f6;
	padding: 0.25rem 0.625rem;
	border-radius: 4px;
}

.pub-item--large .pub-item__year,
.pub-item--dark .pub-item__year {
	background: rgba(255,255,255,0.15);
}

/* ID */
.pub-item__id {
	display: block;
	font-size: 0.6875rem;
	font-weight: 700;
	color: var(--wp--preset--color--accent);
	text-transform: uppercase;
	letter-spacing: 1px;
	margin-top: 2rem;
	margin-bottom: 0.5rem;
}

/* Title */
.pub-item__title {
	font-size: 1.125rem;
	font-weight: 600;
	line-height: 1.4;
	margin: 0 0 0.5rem;
}

.pub-item__title a {
	color: var(--wp--preset--color--primary);
	text-decoration: none;
	transition: color 0.2s;
}

.pub-item__title a:hover {
	color: var(--wp--preset--color--secondary);
}

/* Meta */
.pub-item__meta {
	font-size: 0.8125rem;
	color: #6b7280;
	margin: 0 0 0.75rem;
}

/* Excerpt */
.pub-item__excerpt {
	font-size: 0.875rem;
	color: #4b5563;
	line-height: 1.6;
	margin: 0;
	flex: 1;
}

/* Footer */
.pub-item__footer {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: auto;
	padding-top: 1.25rem;
	border-top: 1px solid #f3f4f6;
}

/* Tags */
.pub-item__tag {
	font-size: 0.6875rem;
	font-weight: 500;
	color: #64748b;
	background: #f1f5f9;
	padding: 0.25rem 0.625rem;
	border-radius: 4px;
}

/* List View */
.pubs-grid--list {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.pubs-grid--list .pub-item {
	flex-direction: row;
	align-items: center;
	padding: 1.25rem 1.5rem;
	gap: 1.5rem;
}

.pubs-grid--list .pub-item--large,
.pubs-grid--list .pub-item--wide,
.pubs-grid--list .pub-item--dark {
	background: #ffffff;
	border: 1px solid #e5e7eb;
}

.pubs-grid--list .pub-item--large .pub-item__title a,
.pubs-grid--list .pub-item--wide .pub-item__title a,
.pubs-grid--list .pub-item--dark .pub-item__title a {
	color: var(--wp--preset--color--primary);
}

.pubs-grid--list .pub-item__year {
	position: static;
	background: #f3f4f6;
	color: #6b7280;
}

.pubs-grid--list .pub-item__id {
	margin: 0;
	min-width: 70px;
}

.pubs-grid--list .pub-item__title {
	flex: 1;
	margin: 0;
}

.pubs-grid--list .pub-item__meta,
.pubs-grid--list .pub-item__excerpt,
.pubs-grid--list .pub-item__footer,
.pubs-grid--list .pub-item__badge {
	display: none;
}

/* Empty State */
.pubs-empty {
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 5rem 2rem;
	text-align: center;
	color: #9ca3af;
}

.pubs-empty svg {
	margin-bottom: 1.5rem;
	opacity: 0.5;
}

.pubs-empty h3 {
	font-size: 1.25rem;
	color: #374151;
	margin: 0 0 0.5rem;
}

.pubs-empty p {
	margin: 0 0 2rem;
	color: #6b7280;
}

.pubs-reset-btn {
	padding: 0.75rem 1.5rem;
	font-weight: 500;
	color: #ffffff;
	background: var(--wp--preset--color--primary);
	border: none;
	border-radius: 8px;
	cursor: pointer;
	transition: background 0.2s;
}

.pubs-reset-btn:hover {
	background: var(--wp--preset--color--accent);
}

/* CTA Section */
.pubs-cta {
	margin-top: 4rem;
	padding: 2.5rem;
	background: #f8fafc;
	border-radius: 16px;
	text-align: center;
}

.pubs-cta p {
	font-size: 1.0625rem;
	color: #4b5563;
	margin: 0 0 1.25rem;
}

.pubs-cta-btn,
.pubs-cta-btn:visited,
.pubs-cta-btn:hover,
.pubs-cta-btn:active {
	display: inline-block;
	padding: 0.875rem 2rem;
	font-weight: 600;
	color: #ffffff !important;
	background: var(--wp--preset--color--accent);
	border-radius: 8px;
	text-decoration: none;
	transition: all 0.2s;
}

.pubs-cta-btn:hover {
	background: #991b1b;
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(185, 28, 28, 0.3);
}

/* Responsive */
@media (max-width: 1024px) {
	.pubs-grid { grid-template-columns: repeat(2, 1fr); }
	.pub-item--large { grid-column: span 2; grid-row: span 1; }
}

@media (max-width: 768px) {
	.pubs-page { padding: 0 1rem 3rem; }
	.pubs-intro-stats { gap: 2rem; }
	.pubs-stat-num { font-size: 1.75rem; }
	.pubs-grid { grid-template-columns: 1fr; }
	.pub-item--large, .pub-item--wide { grid-column: span 1; }
	.pubs-filters { margin: 0 -1rem; padding-left: 1rem; padding-right: 1rem; }
	.pubs-filter-tags { overflow-x: auto; flex-wrap: nowrap; padding-bottom: 0.5rem; }
}

/* Dark Mode */
[data-theme="dark"] .pubs-page { background: transparent; }
[data-theme="dark"] .pubs-intro { border-color: rgba(255,255,255,0.1); }
[data-theme="dark"] .pubs-intro-lead { color: #d1d5db; }
[data-theme="dark"] .pubs-stat-num { color: #f3f4f6; }
[data-theme="dark"] .pubs-stat-label { color: #9ca3af; }

[data-theme="dark"] .pubs-filters { background: #1a1e28; border-color: rgba(255,255,255,0.08); }
[data-theme="dark"] #pubs-search { background: #252a36; border-color: #374151; color: #e5e7eb; }
[data-theme="dark"] #pubs-search::placeholder { color: #6b7280; }
[data-theme="dark"] #pubs-search:focus { background: #1f232e; border-color: var(--wp--preset--color--secondary); }

[data-theme="dark"] .pubs-filter-tag { background: transparent; border-color: #4b5563; color: #9ca3af; }
[data-theme="dark"] .pubs-filter-tag:hover { border-color: var(--wp--preset--color--secondary); color: var(--wp--preset--color--secondary); }
[data-theme="dark"] .pubs-filter-tag.active { background: var(--wp--preset--color--accent); border-color: var(--wp--preset--color--accent); color: #fff; }

[data-theme="dark"] .pubs-results-count { color: #9ca3af; }
[data-theme="dark"] .pubs-view-toggle { background: #374151; }
[data-theme="dark"] .pubs-view-btn { color: #6b7280; }
[data-theme="dark"] .pubs-view-btn.active { background: #252a36; color: #e5e7eb; }

[data-theme="dark"] .pub-item { background: #1f232e; border-color: rgba(255,255,255,0.06); }
[data-theme="dark"] .pub-item:hover { border-color: rgba(255,255,255,0.12); box-shadow: 0 20px 40px -12px rgba(0,0,0,0.4); }
[data-theme="dark"] .pub-item__year { background: rgba(255,255,255,0.08); color: #9ca3af; }
[data-theme="dark"] .pub-item__title a { color: #f1f5f9; }
[data-theme="dark"] .pub-item__title a:hover { color: #60a5fa; }
[data-theme="dark"] .pub-item__meta { color: #9ca3af; }
[data-theme="dark"] .pub-item__excerpt { color: #d1d5db; }
[data-theme="dark"] .pub-item__footer { border-color: rgba(255,255,255,0.08); }
[data-theme="dark"] .pub-item__tag { background: rgba(255,255,255,0.08); color: #9ca3af; }
[data-theme="dark"] .pub-item--highlight { border-left-color: var(--wp--preset--color--accent); }

[data-theme="dark"] .pubs-grid--list .pub-item--large,
[data-theme="dark"] .pubs-grid--list .pub-item--wide,
[data-theme="dark"] .pubs-grid--list .pub-item--dark {
	background: #1f232e;
	border-color: rgba(255,255,255,0.06);
}
[data-theme="dark"] .pubs-grid--list .pub-item--large .pub-item__title a,
[data-theme="dark"] .pubs-grid--list .pub-item--dark .pub-item__title a { color: #f1f5f9; }

[data-theme="dark"] .pubs-empty h3 { color: #e5e7eb; }
[data-theme="dark"] .pubs-empty p { color: #9ca3af; }

[data-theme="dark"] .pubs-cta { background: #1f232e; }
[data-theme="dark"] .pubs-cta p { color: #ffffff; }

/* ==========================================================================
   Publications Interactive System (Legacy)
   ========================================================================== */

/* Filter Bar */
.publications-filter-bar {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	align-items: center;
	justify-content: space-between;
	margin: 2rem 0 1.5rem;
	padding: 1rem 1.25rem;
	background: #f8fafc;
	border-radius: 12px;
	border: 1px solid #e2e8f0;
}

.filter-search {
	position: relative;
	flex: 1;
	min-width: 200px;
	max-width: 320px;
}

.filter-search input {
	width: 100%;
	padding: 0.625rem 1rem 0.625rem 2.5rem;
	border: 1px solid #d1d5db;
	border-radius: 8px;
	font-size: 0.9375rem;
	background: #ffffff;
	transition: border-color 0.2s, box-shadow 0.2s;
}

.filter-search input:focus {
	outline: none;
	border-color: var(--wp--preset--color--secondary);
	box-shadow: 0 0 0 3px rgba(54, 171, 252, 0.15);
}

.filter-search .search-icon {
	position: absolute;
	left: 0.75rem;
	top: 50%;
	transform: translateY(-50%);
	width: 18px;
	height: 18px;
	color: #9ca3af;
	pointer-events: none;
}

.filter-buttons {
	display: flex;
	gap: 0.5rem;
}

.filter-btn {
	padding: 0.5rem 1rem;
	border: 1px solid #d1d5db;
	border-radius: 6px;
	background: #ffffff;
	font-size: 0.875rem;
	font-weight: 500;
	color: #4b5563;
	cursor: pointer;
	transition: all 0.2s;
}

.filter-btn:hover {
	border-color: var(--wp--preset--color--secondary);
	color: var(--wp--preset--color--secondary);
}

.filter-btn.active {
	background: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--primary);
	color: #ffffff;
}

.filter-view-toggle {
	display: flex;
	gap: 0.25rem;
	padding: 0.25rem;
	background: #e5e7eb;
	border-radius: 6px;
}

.view-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 32px;
	border: none;
	border-radius: 4px;
	background: transparent;
	color: #6b7280;
	cursor: pointer;
	transition: all 0.2s;
}

.view-btn:hover {
	color: #374151;
}

.view-btn.active {
	background: #ffffff;
	color: var(--wp--preset--color--primary);
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

/* Stats Bar */
.publications-stats {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0.75rem 0;
	margin-bottom: 1.5rem;
	font-size: 0.875rem;
	color: #6b7280;
}

/* Publications Grid */
.publications-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	gap: 1.5rem;
}

/* Publication Card */
.pub-card {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 1.5rem;
	background: linear-gradient(145deg, #ffffff 0%, #f8fafc 100%);
	border: 1px solid #e2e8f0;
	border-left: 4px solid var(--wp--preset--color--accent);
	border-radius: 12px;
	transition: all 0.25s ease;
}

.pub-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12);
	border-left-color: var(--wp--preset--color--secondary);
}

/* Wide card variant */
.pub-card.pub-wide {
	grid-column: span 2;
}

/* Featured card variant */
.pub-card.pub-featured {
	background: linear-gradient(145deg, #1e293b 0%, #0f172a 100%);
	border-color: #334155;
	border-left-color: var(--wp--preset--color--accent);
}

.pub-card.pub-featured .pub-card-title a,
.pub-card.pub-featured .pub-id,
.pub-card.pub-featured .pub-year {
	color: #f1f5f9;
}

.pub-card.pub-featured .pub-card-author,
.pub-card.pub-featured .pub-card-desc {
	color: #94a3b8;
}

.pub-card.pub-featured:hover {
	border-left-color: var(--wp--preset--color--secondary);
}

/* Card Badge */
.pub-card-badge {
	position: absolute;
	top: 1rem;
	right: 1rem;
	padding: 0.25rem 0.625rem;
	background: var(--wp--preset--color--accent);
	color: #ffffff;
	font-size: 0.6875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	border-radius: 4px;
}

/* Card Meta */
.pub-card-meta {
	display: flex;
	gap: 0.75rem;
	margin-bottom: 0.75rem;
}

.pub-id {
	font-size: 0.6875rem;
	font-weight: 700;
	color: var(--wp--preset--color--accent);
	text-transform: uppercase;
	letter-spacing: 1px;
}

.pub-year {
	font-size: 0.6875rem;
	font-weight: 600;
	color: #6b7280;
	padding: 0.125rem 0.5rem;
	background: #f1f5f9;
	border-radius: 4px;
}

.pub-card.pub-featured .pub-year {
	background: rgba(255, 255, 255, 0.1);
}

/* Card Title */
.pub-card-title {
	font-size: 1.125rem;
	font-weight: 600;
	line-height: 1.4;
	margin: 0 0 0.5rem;
}

.pub-card-title a {
	color: var(--wp--preset--color--primary);
	text-decoration: none;
	transition: color 0.2s;
}

.pub-card-title a:hover {
	color: var(--wp--preset--color--secondary);
}

/* Card Author */
.pub-card-author {
	font-size: 0.8125rem;
	color: #6b7280;
	margin: 0 0 0.75rem;
}

/* Card Description */
.pub-card-desc {
	font-size: 0.875rem;
	color: #4b5563;
	line-height: 1.6;
	margin: 0;
	flex: 1;
}

/* Card Tags */
.pub-card-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 1rem;
	padding-top: 1rem;
	border-top: 1px solid #e5e7eb;
}

.pub-card.pub-featured .pub-card-tags {
	border-top-color: #334155;
}

.pub-tag {
	font-size: 0.6875rem;
	font-weight: 500;
	color: #64748b;
	padding: 0.25rem 0.5rem;
	background: #f1f5f9;
	border-radius: 4px;
}

.pub-card.pub-featured .pub-tag {
	background: rgba(255, 255, 255, 0.1);
	color: #94a3b8;
}

/* List View */
.publications-list {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.publications-list .pub-card {
	flex-direction: row;
	align-items: center;
	padding: 1.25rem 1.5rem;
}

.publications-list .pub-card.pub-wide,
.publications-list .pub-card.pub-featured {
	grid-column: span 1;
}

.publications-list .pub-card-meta {
	flex-direction: column;
	gap: 0.25rem;
	margin-bottom: 0;
	margin-right: 1.5rem;
	min-width: 80px;
}

.publications-list .pub-card-title {
	flex: 1;
	margin: 0;
}

.publications-list .pub-card-author,
.publications-list .pub-card-desc,
.publications-list .pub-card-tags,
.publications-list .pub-card-badge {
	display: none;
}

/* No Results */
.publications-empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 4rem 2rem;
	text-align: center;
	color: #6b7280;
}

.publications-empty svg {
	margin-bottom: 1rem;
	color: #9ca3af;
}

.publications-empty p {
	margin: 0 0 1.5rem;
	font-size: 1.125rem;
}

.reset-search-btn {
	padding: 0.625rem 1.25rem;
	background: var(--wp--preset--color--primary);
	color: #ffffff;
	border: none;
	border-radius: 6px;
	font-weight: 500;
	cursor: pointer;
	transition: background 0.2s;
}

.reset-search-btn:hover {
	background: var(--wp--preset--color--accent);
}

/* Responsive */
@media (max-width: 768px) {
	.publications-filter-bar {
		flex-direction: column;
		align-items: stretch;
	}

	.filter-search {
		max-width: none;
	}

	.filter-buttons {
		justify-content: center;
	}

	.filter-view-toggle {
		justify-content: center;
	}

	.publications-grid {
		grid-template-columns: 1fr;
	}

	.pub-card.pub-wide {
		grid-column: span 1;
	}
}

/* Dark Mode */
[data-theme="dark"] .publications-filter-bar {
	background: #1f232e;
	border-color: rgba(255, 255, 255, 0.08);
}

[data-theme="dark"] .filter-search input {
	background: #252a36;
	border-color: #374151;
	color: #e5e7eb;
}

[data-theme="dark"] .filter-search input::placeholder {
	color: #6b7280;
}

[data-theme="dark"] .filter-btn {
	background: #252a36;
	border-color: #374151;
	color: #9ca3af;
}

[data-theme="dark"] .filter-btn:hover {
	border-color: var(--wp--preset--color--secondary);
	color: var(--wp--preset--color--secondary);
}

[data-theme="dark"] .filter-btn.active {
	background: var(--wp--preset--color--accent);
	border-color: var(--wp--preset--color--accent);
	color: #ffffff;
}

[data-theme="dark"] .filter-view-toggle {
	background: #374151;
}

[data-theme="dark"] .view-btn {
	color: #9ca3af;
}

[data-theme="dark"] .view-btn.active {
	background: #252a36;
	color: #e5e7eb;
}

[data-theme="dark"] .publications-stats {
	color: #9ca3af;
}

[data-theme="dark"] .pub-card {
	background: linear-gradient(145deg, #1f232e 0%, #252a36 100%);
	border-color: rgba(255, 255, 255, 0.06);
}

[data-theme="dark"] .pub-card:hover {
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.3);
}

[data-theme="dark"] .pub-year {
	background: rgba(255, 255, 255, 0.1);
	color: #9ca3af;
}

[data-theme="dark"] .pub-card-title a {
	color: #f1f5f9;
}

[data-theme="dark"] .pub-card-title a:hover {
	color: #60a5fa;
}

[data-theme="dark"] .pub-card-author {
	color: #9ca3af;
}

[data-theme="dark"] .pub-card-desc {
	color: #d1d5db;
}

[data-theme="dark"] .pub-card-tags {
	border-top-color: rgba(255, 255, 255, 0.08);
}

[data-theme="dark"] .pub-tag {
	background: rgba(255, 255, 255, 0.08);
	color: #9ca3af;
}

[data-theme="dark"] .publications-empty {
	color: #9ca3af;
}

/* ==========================================================================
   Publications Content Cards (Legacy)
   ========================================================================== */

/* Publications page content area */
.publications-content .wp-block-post-content {
	max-width: 1000px;
	margin: 0 auto;
}

/* Section headings in publications */
.publications-content h2.wp-block-heading {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.75rem;
	font-weight: 700;
	color: var(--wp--preset--color--primary);
	margin-top: 2.5rem;
	margin-bottom: 1.5rem;
	padding-bottom: 0.75rem;
	border-bottom: 3px solid var(--wp--preset--color--accent);
}

/* Publication cards - target the light-gray background groups */
.publications-content .wp-block-group.has-light-gray-background-color {
	background: linear-gradient(145deg, #ffffff 0%, #f8fafc 100%) !important;
	border: 1px solid #e2e8f0;
	border-left: 4px solid var(--wp--preset--color--accent);
	border-radius: 12px;
	padding: 1.5rem 1.75rem !important;
	margin-bottom: 1rem;
	box-shadow:
		0 1px 3px rgba(0, 0, 0, 0.06),
		0 1px 2px rgba(0, 0, 0, 0.04);
	transition: all 0.25s ease;
	cursor: pointer;
}

.publications-content .wp-block-group.has-light-gray-background-color:hover {
	transform: translateY(-3px);
	box-shadow:
		0 10px 25px rgba(0, 0, 0, 0.1),
		0 4px 10px rgba(0, 0, 0, 0.05);
	border-left-color: var(--wp--preset--color--secondary);
	background: linear-gradient(145deg, #ffffff 0%, #f1f5f9 100%) !important;
}

/* Publication ID/number (h3) */
.publications-content .wp-block-group.has-light-gray-background-color h3.wp-block-heading {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 0.75rem !important;
	font-weight: 700;
	color: var(--wp--preset--color--accent) !important;
	text-transform: uppercase;
	letter-spacing: 1px;
	margin-bottom: 0.625rem;
	padding-bottom: 0.5rem;
	border-bottom: 1px solid #e5e7eb;
}

/* Publication title (bold text in first paragraph) */
.publications-content .wp-block-group.has-light-gray-background-color p strong {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.125rem;
	font-weight: 600;
	color: var(--wp--preset--color--primary);
	display: block;
	margin-bottom: 0.25rem;
	line-height: 1.4;
}

/* Make bold titles look like links */
.publications-content .wp-block-group.has-light-gray-background-color:hover p strong {
	color: var(--wp--preset--color--secondary);
}

/* Publication title links (when they are actual links) */
.publications-content .wp-block-group.has-light-gray-background-color a:not(.pdf-download-btn) {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.125rem;
	font-weight: 600;
	color: var(--wp--preset--color--secondary);
	text-decoration: none;
	display: inline;
	transition: color 0.2s ease;
}

.publications-content .wp-block-group.has-light-gray-background-color a:not(.pdf-download-btn):hover {
	color: var(--wp--preset--color--accent);
	text-decoration: underline;
}

/* Author/year line */
.publications-content .wp-block-group.has-light-gray-background-color p.has-dark-gray-color {
	font-size: 0.9375rem;
	margin-bottom: 0.75rem;
	line-height: 1.5;
}

/* Description text */
.publications-content .wp-block-group.has-light-gray-background-color p.has-medium-gray-color {
	font-size: 0.875rem;
	line-height: 1.65;
	margin-bottom: 0;
	color: #64748b !important;
}

/* PDF icon indicator for links */
.publications-content .wp-block-group a[href$=".pdf"]::after {
	content: "";
	display: inline-block;
	width: 18px;
	height: 18px;
	margin-left: 0.5rem;
	vertical-align: middle;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23b91c1c' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M7 21h10a2 2 0 002-2V9.414a1 1 0 00-.293-.707l-5.414-5.414A1 1 0 0012.586 3H7a2 2 0 00-2 2v14a2 2 0 002 2z'/%3E%3C/svg%3E");
	background-size: contain;
	background-repeat: no-repeat;
	opacity: 0.85;
}

/* View PDF button style for explicit buttons */
.publications-content .wp-block-button__link,
.publications-content a.view-pdf-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.5rem 1rem;
	background: var(--wp--preset--color--accent);
	color: #ffffff !important;
	font-size: 0.875rem;
	font-weight: 600;
	border-radius: 6px;
	text-decoration: none !important;
	margin-top: 1rem;
}

.publications-content .wp-block-button__link:hover,
.publications-content a.view-pdf-btn:hover {
	background: #b80d0d;
}

/* Dark mode publication cards */
[data-theme="dark"] .publications-content .wp-block-group.has-light-gray-background-color {
	background: linear-gradient(145deg, #1f232e 0%, #252a36 100%) !important;
	border-color: rgba(255, 255, 255, 0.06);
	border-left-color: var(--wp--preset--color--accent);
	box-shadow:
		0 2px 8px rgba(0, 0, 0, 0.2),
		inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

[data-theme="dark"] .publications-content .wp-block-group.has-light-gray-background-color:hover {
	background: linear-gradient(145deg, #252a36 0%, #2d3344 100%) !important;
	border-left-color: var(--wp--preset--color--secondary);
	box-shadow:
		0 10px 30px rgba(0, 0, 0, 0.35),
		inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

[data-theme="dark"] .publications-content h2.wp-block-heading {
	color: #f3f4f6;
	border-bottom-color: var(--wp--preset--color--accent);
}

[data-theme="dark"] .publications-content .wp-block-group.has-light-gray-background-color h3.wp-block-heading {
	color: #ef4444 !important;
	border-bottom-color: rgba(255, 255, 255, 0.1);
}

[data-theme="dark"] .publications-content .wp-block-group.has-light-gray-background-color p strong {
	color: #f1f5f9;
}

[data-theme="dark"] .publications-content .wp-block-group.has-light-gray-background-color:hover p strong {
	color: #60a5fa;
}

[data-theme="dark"] .publications-content .wp-block-group.has-light-gray-background-color a:not(.pdf-download-btn) {
	color: #60a5fa;
}

[data-theme="dark"] .publications-content .wp-block-group.has-light-gray-background-color a:not(.pdf-download-btn):hover {
	color: var(--wp--preset--color--accent);
}

[data-theme="dark"] .publications-content .wp-block-group.has-light-gray-background-color p.has-dark-gray-color {
	color: #d1d5db !important;
}

[data-theme="dark"] .publications-content .wp-block-group.has-light-gray-background-color p.has-medium-gray-color {
	color: #9ca3af !important;
}

[data-theme="dark"] .publications-content .wp-block-group a[href$=".pdf"]::after {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23ef4444' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M7 21h10a2 2 0 002-2V9.414a1 1 0 00-.293-.707l-5.414-5.414A1 1 0 0012.586 3H7a2 2 0 00-2 2v14a2 2 0 002 2z'/%3E%3C/svg%3E");
}

/* Inline email form variant */
.pdf-email-form.inline-form {
	flex-direction: row;
	gap: 0.5rem;
	max-width: none;
	margin: 0;
}

@media (max-width: 768px) {
	.publication-email-banner .pdf-email-form,
	.pdf-email-form.inline-form {
		flex-direction: column;
		width: 100%;
	}
}

/* ==========================================================================
   Contact Form Styles
   ========================================================================== */

.contact-form-placeholder {
	padding: 2rem;
	background: #f8f9fa;
	border: 2px dashed var(--wp--preset--color--light-gray);
	border-radius: 8px;
	text-align: left;
}

.contact-form-placeholder p {
	margin-bottom: 1rem;
	color: var(--wp--preset--color--dark-gray);
}

.contact-form-placeholder ol {
	margin: 0;
	padding-left: 1.5rem;
	color: var(--wp--preset--color--medium-gray);
	font-size: 0.9375rem;
}

.contact-form-placeholder li {
	margin-bottom: 0.5rem;
}

/* WPForms styling */
.wpforms-container .wpforms-field-label {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600;
	color: var(--wp--preset--color--primary);
}

.wpforms-container input[type="text"],
.wpforms-container input[type="email"],
.wpforms-container textarea {
	border: 1px solid var(--wp--preset--color--light-gray);
	border-radius: 4px;
	padding: 0.75rem 1rem;
	font-size: 1rem;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.wpforms-container input[type="text"]:focus,
.wpforms-container input[type="email"]:focus,
.wpforms-container textarea:focus {
	border-color: var(--wp--preset--color--secondary);
	box-shadow: 0 0 0 3px rgba(54, 171, 252, 0.15);
	outline: none;
}

.wpforms-container .wpforms-submit {
	background-color: var(--wp--preset--color--accent);
	color: white;
	border: none;
	border-radius: 4px;
	padding: 0.875rem 2rem;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600;
	font-size: 0.9375rem;
	cursor: pointer;
	transition: background-color 0.2s ease;
}

.wpforms-container .wpforms-submit:hover {
	background-color: #b80d0d;
}

[data-theme="dark"] .contact-form-wrapper {
	background-color: #252830 !important;
}

[data-theme="dark"] .contact-form-placeholder {
	background: #1e2129;
	border-color: #3a3f4a;
}

/* ==========================================================================
   PDF Viewer Modal
   ========================================================================== */

.pdf-modal {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1rem;
}

.pdf-modal-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.85);
	backdrop-filter: blur(4px);
}

.pdf-modal-content {
	position: relative;
	width: 100%;
	max-width: 1200px;
	height: 90vh;
	max-height: 900px;
	background: #ffffff;
	border-radius: 12px;
	box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.pdf-modal-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1rem 1.5rem;
	background: var(--wp--preset--color--primary);
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.pdf-modal-title {
	margin: 0;
	font-size: 1.125rem;
	font-weight: 600;
	color: #ffffff;
	font-family: var(--wp--preset--font-family--heading);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 60%;
}

.pdf-modal-actions {
	display: flex;
	align-items: center;
	gap: 1rem;
}

.pdf-download-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.5rem 1rem;
	background: var(--wp--preset--color--accent);
	color: #ffffff !important;
	font-size: 0.875rem;
	font-weight: 600;
	border-radius: 6px;
	text-decoration: none !important;
	transition: background-color 0.2s ease, transform 0.1s ease;
}

.pdf-download-btn:hover {
	background: #b80d0d;
	transform: translateY(-1px);
}

.pdf-download-btn::before {
	content: "";
	display: inline-block;
	width: 16px;
	height: 16px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4'/%3E%3C/svg%3E");
	background-size: contain;
	background-repeat: no-repeat;
}

.pdf-modal-close {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	background: rgba(255, 255, 255, 0.15);
	border: none;
	border-radius: 50%;
	color: #ffffff;
	font-size: 1.5rem;
	line-height: 1;
	cursor: pointer;
	transition: background-color 0.2s ease, transform 0.1s ease;
}

.pdf-modal-close:hover {
	background: rgba(255, 255, 255, 0.25);
	transform: scale(1.1);
}

.pdf-modal-body {
	flex: 1;
	display: flex;
	background: #f5f5f5;
	overflow: hidden;
}

.pdf-modal-body iframe {
	width: 100%;
	height: 100%;
	border: none;
}

/* PDF Modal responsive */
@media (max-width: 768px) {
	.pdf-modal {
		padding: 0;
	}

	.pdf-modal-content {
		border-radius: 0;
		height: 100vh;
		max-height: none;
	}

	.pdf-modal-header {
		padding: 0.75rem 1rem;
	}

	.pdf-modal-title {
		font-size: 0.9375rem;
		max-width: 50%;
	}

	.pdf-download-btn {
		padding: 0.4rem 0.75rem;
		font-size: 0.8125rem;
	}

	.pdf-download-btn::before {
		width: 14px;
		height: 14px;
	}
}

/* Dark mode PDF modal */
[data-theme="dark"] .pdf-modal-content {
	background: #1a1e28;
}

[data-theme="dark"] .pdf-modal-header {
	background: #0f1218;
	border-bottom-color: rgba(255, 255, 255, 0.1);
}

[data-theme="dark"] .pdf-modal-body {
	background: #252a36;
}

/* ==========================================================================
   Navigation Dropdown Enhancements
   ========================================================================== */

/* Dropdown arrow indicator - small triangle after menu items with children */
.site-header .wp-block-navigation .has-child > a.wp-block-navigation-item__content::after {
	content: "";
	display: inline-block;
	width: 0;
	height: 0;
	margin-left: 0.4rem;
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
	border-top: 4px solid currentColor;
	vertical-align: middle;
	opacity: 0.8;
}

/* Ensure dropdown menus have proper positioning and width */
.site-header .wp-block-navigation .has-child .wp-block-navigation__submenu-container {
	min-width: 180px;
	z-index: 1000;
}

/* Dropdown items - normalize text styling */
.site-header .wp-block-navigation .wp-block-navigation__submenu-container li {
	text-transform: none;
	font-weight: 400;
	letter-spacing: normal;
	font-size: 0.875rem;
}

/* Donate navigation link - prominent accent styling */
.nav-donate-link a,
.wp-block-navigation-item.nav-donate-link .wp-block-navigation-item__content {
	background-color: var(--wp--preset--color--accent) !important;
	color: var(--wp--preset--color--white) !important;
	padding: 0.5rem 1rem !important;
	border-radius: 4px;
	transition: background-color 0.2s ease;
}

.nav-donate-link a:hover,
.wp-block-navigation-item.nav-donate-link .wp-block-navigation-item__content:hover {
	background-color: #b80d0d !important;
	color: var(--wp--preset--color--white) !important;
}

/* ==========================================================================
   Sidebar Sticky & Quick Links
   ========================================================================== */

.sidebar-sticky {
	position: sticky;
	top: 100px;
}

.quick-links-list {
	list-style: none;
	margin: 0;
}

.quick-links-list li {
	padding: 0.25rem 0;
	border-bottom: 1px solid var(--wp--preset--color--light-gray);
}

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

.quick-links-list a {
	color: var(--wp--preset--color--primary);
	text-decoration: none;
	transition: color 0.15s ease;
}

.quick-links-list a:hover {
	color: var(--wp--preset--color--secondary);
}

/* Dark mode quick links */
[data-theme="dark"] .quick-links-box {
	background-color: #252a36 !important;
	border-color: rgba(255, 255, 255, 0.1) !important;
}

[data-theme="dark"] .quick-links-list li {
	border-bottom-color: rgba(255, 255, 255, 0.1);
}

[data-theme="dark"] .quick-links-list a {
	color: #e8eaed;
}

[data-theme="dark"] .quick-links-list a:hover {
	color: var(--wp--preset--color--secondary);
}

/* ==========================================================================
   Advisory Board Page
   ========================================================================== */

/* Advisor card styling */
.advisor-card {
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.advisor-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 25px -5px rgba(0, 0, 0, 0.1);
}

/* Featured advisor cards - horizontal layout with photo */
.advisor-card-featured {
	gap: 1.25rem;
}

.advisor-card-featured .wp-block-group {
	flex: 1;
	min-width: 0;
}

/* Advisor photo styling */
.advisor-photo img,
.advisor-photo figure img {
	border-radius: 50% !important;
	width: 100px !important;
	height: 100px !important;
	object-fit: cover !important;
	flex-shrink: 0;
}

.advisor-photo {
	flex-shrink: 0;
}

/* Placeholder for advisors without photos */
.advisor-avatar-placeholder {
	width: 100px;
	height: 100px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--wp--preset--color--primary) 0%, var(--wp--preset--color--accent) 100%);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	position: relative;
}

.advisor-avatar-placeholder::after {
	content: "";
	width: 40px;
	height: 40px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='white' viewBox='0 0 24 24'%3E%3Cpath d='M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z'/%3E%3C/svg%3E");
	background-size: contain;
	background-repeat: no-repeat;
	opacity: 0.9;
}

/* Advisory board section background */
.advisory-board-section {
	background-color: var(--wp--preset--color--light-gray);
}

/* Dark mode advisory styles */
[data-theme="dark"] .advisory-board-section {
	background-color: #1a1d24;
}

[data-theme="dark"] .advisor-card {
	background-color: #252a36 !important;
}

[data-theme="dark"] .advisor-card:hover {
	box-shadow: 0 8px 25px -5px rgba(0, 0, 0, 0.3);
}

[data-theme="dark"] .advisor-avatar-placeholder {
	background: linear-gradient(135deg, #3a4d6b 0%, #c41e3a 100%);
}

/* Responsive adjustments for advisor grid */
@media (max-width: 782px) {
	.advisor-card-featured {
		flex-direction: column !important;
		align-items: center !important;
		text-align: center;
	}

	.advisor-card-featured .wp-block-group {
		width: 100%;
	}

	.advisor-photo img,
	.advisor-photo figure img {
		width: 80px !important;
		height: 80px !important;
	}

	.advisor-avatar-placeholder {
		width: 80px;
		height: 80px;
	}

	.advisor-avatar-placeholder::after {
		width: 32px;
		height: 32px;
	}
}

/* ==========================================================================
   Print Styles
   ========================================================================== */

@media print {
	.site-header,
	.site-footer,
	.wp-block-navigation {
		display: none;
	}

	body {
		font-size: 12pt;
		line-height: 1.5;
	}

	a {
		text-decoration: underline;
	}

	a[href^="http"]::after {
		content: " (" attr(href) ")";
		font-size: 0.8em;
	}
}

/* ==========================================================================
   Featured Image Contain Scaling Fix
   ========================================================================== */

/* When featured images use contain scaling, add a dark background for letterboxing */
.wp-block-post-featured-image img[style*="object-fit: contain"],
.wp-block-post-featured-image img[style*="object-fit:contain"] {
	background-color: var(--wp--preset--color--primary, #1a2634);
}

/* News article cards - ensure featured images display properly */
.news-article-card .wp-block-post-featured-image {
	background-color: var(--wp--preset--color--primary, #1a2634);
	border-radius: 6px;
	overflow: hidden;
}

.news-article-card .wp-block-post-featured-image img {
	width: 100%;
	height: 100%;
}

/* ==========================================================================
   Video Embed Responsive Container
   ========================================================================== */

/* WordPress embed blocks - make them full width */
.wp-block-embed {
	max-width: 100%;
}

.wp-block-embed__wrapper {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
}

.wp-block-embed__wrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* YouTube specific - ensure full width */
.wp-block-embed-youtube .wp-block-embed__wrapper {
	padding-bottom: 56.25%;
}

/* Custom video embed class (legacy) */
.racers-video-embed {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	max-width: 100%;
	background: #000;
	border-radius: 8px;
}

.racers-video-embed iframe,
.racers-video-embed object,
.racers-video-embed embed,
.racers-video-embed video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
