/*
Theme Name: The Worcester Guardian
Theme URI: 
Author: CodeFavorite
Author URI: 
Description: The Worcester Guardian - a custom theme.
Requires at least: 6.8
Tested up to: 6.8
Requires PHP: 7.2
Version: 1.0.18
License: GNU General Public License v3
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Text Domain: the-worcester-guardian
Tags: block-patterns, block-styles, custom-colors, custom-logo, custom-menu, editor-style, full-site-editing, one-column, template-editing, threaded-comments, translation-ready, wide-blocks


/* Defaults
---------------------------------------- */

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

a,
button,
input:focus,
input[type="button"],
input[type="submit"],
textarea:focus,
.wp-element-button {
	transition: all 0.2s ease-in-out;
}

a,
a:focus,
a:hover,
a:not(.wp-element-button) {
	text-decoration-thickness: 1px;
}

b,
strong,
th {
	font-weight: var(--wp--custom--font-weight--medium);
}

mark {
	background: linear-gradient(
		90deg,
		var(--wp--preset--color--primary) 0%,
		var(--wp--preset--color--primary) 100%
	);
	background-position: 0 85%;
	background-repeat: repeat-x;
	background-size: 100% 15%;
}

.site-header {
	position: relative;
	z-index: 100;
	background: #fff;
}

/* -- Forms -- */

input,
select,
textarea {
	background-color: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--contrast);
	border-radius: 0;
	color: var(--wp--preset--color--contrast);
	font-family: var(--wp--preset--font-family--primary);
	font-size: var(--wp--preset--font-size--medium);
	font-weight: var(--wp--custom--font-weight--light);
	line-height: var(--wp--custom--line-height--body);
	padding: 10px 20px;
	width: 100%;
}

input:focus,
textarea:focus {
	background-color: var(--wp--preset--color--neutral);
	outline: none;
}

input[type="checkbox"],
input[type="image"],
input[type="radio"] {
	width: auto;
}

input[type="button"],
input[type="email"],
input[type="search"],
input[type="submit"],
input[type="text"],
textarea {
	-webkit-appearance: none;
}

::placeholder {
	color: var(--wp--preset--color--contrast);
	font-size: var(--wp--preset--font-size--small);
	opacity: 0.5;
}

/* Blocks
---------------------------------------- */

/* -- Code -- */

*:not(.wp-block-code) > code {
	background-color: var(--wp--preset--color--neutral);
	font-size: var(--wp--preset--font-size--small);
	padding: 5px 8px;
}

/* -- Search -- */

.wp-block-search__input {
	padding: 12px 16px !important;
	font-size: 15px !important;
	line-height: 1.5 !important;
}

.wp-block-search__button {
	padding: 12px 20px !important;
}

/* Hide the X (close) button in search input */
.wp-block-search__input::-webkit-search-cancel-button {
	display: none;
	-webkit-appearance: none;
}

/* -- Navigation -- */

.wp-block-navigation__responsive-container.is-menu-open {
	padding: var(--wp--custom--spacing--gap);
}

.wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation__responsive-container-content {
	padding-top: var(--wp--custom--spacing--gap);
}

.wp-block-navigation__responsive-container-close,
.wp-block-navigation__responsive-container-open {
	border: 1px solid currentColor;
	padding: 2px;
}

.has-background .wp-block-navigation__responsive-container-open:focus,
.has-background .wp-block-navigation__responsive-container-open:hover {
	color: var(--wp--preset--color--base);
}

/* -- Navigation Submenu -- */

.wp-block-navigation:not(.has-background)
	.wp-block-navigation__submenu-container {
	background-color: var(--wp--preset--color--contrast);
	border: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
	padding: 10px;
}

.wp-block-navigation :where(.wp-block-navigation__submenu-container) a {
	padding: 2px 10px;
}

/* -- Social Icons -- */

.wp-block-social-links.is-style-outline li {
	border-radius: 2px;
	border-color: #e0e0e0;
}

.wp-block-social-links.is-style-outline li a {
	padding: 11px;
}

.wp-block-social-links.is-style-outline li:hover a {
	background-color: var(--wp--preset--color--contrast) !important;
	border-color: var(--wp--preset--color--contrast) !important;
	color: white !important;
}

.wp-block-social-links.is-style-outline li button {
	border: none;
	background: none;
}

.wp-block-social-links.is-style-outline li svg {
	width: 18px !important;
	height: 18px !important;
}

.wp-block-social-links.is-style-outline .wp-block-social-link:hover {
	transform: translateY(-2px);
}

.single-post-article .wp-block-social-links .wp-block-social-link {
	background-color: transparent !important;
}

.single-post-article .wp-block-social-links .wp-block-social-link::before {
	display: none !important;
}

.article-share-icons.has-icon-color .wp-block-social-link svg {
	color: #000 !important;
	fill: #000 !important;
}

.article-share-icons.has-icon-color .wp-block-social-link:hover svg {
	color: #fff !important;
	fill: #fff !important;
}

/* Footer Styles
---------------------------------------- */

.site-footer nav a:hover {
	color: var(--wp--preset--color--primary) !important;
}

.wp-block-the-worcester-guardian-donate + .site-footer .wp-block-group {
	border-top: none;
}

/* Hide footer donate block on donate page to prevent duplication */
.page-template-page-donate
	.site-footer
	.wp-block-the-worcester-guardian-donate {
	display: none;
}

/* Single Post Styles
---------------------------------------- */

.single-post-article {
	margin-top: 60px;
}

.article-header {
	text-align: left;
}

.article-header .wp-block-post-title {
	font-family: Merriweather, Georgia, serif;
	color: #121212;
	letter-spacing: -0.015em;
	line-height: 1.15;
	margin: 0 0 20px 0;
	font-weight: 700;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}

.article-header .wp-block-post-excerpt {
	color: #333 !important;
	font-weight: 400;
	line-height: 1.45;
	margin: 0 0 24px 0;
	font-family: var(--wp--preset--font-family--primary);
	font-size: 21px;
}

.article-meta-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

.article-byline-group {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	font-size: 14px;
	color: #333;
}

.article-author-name a {
	color: #121212;
	font-weight: 500;
	font-size: 14px;
	text-decoration: none;
	transition: color 0.15s ease;
}

.article-author-name a:hover {
	color: #326891;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.meta-divider {
	color: #666;
	font-size: 13px;
	line-height: 1;
	margin: 0;
	padding: 0 3px;
}

.article-date {
	color: #666;
	font-size: 13px;
}

.article-share-section {
	display: flex;
	align-items: center;
	gap: 10px;
}

.article-share-icons {
	margin: 0;
	padding: 0;
	gap: 6px;
}

.article-share-icons .wp-block-social-link {
	border-radius: 4px;
	box-shadow: inset 0 0 0 1px #d8d8d8;
	transition:
		box-shadow 0.2s ease,
		transform 0.2s ease;
}

.article-share-icons .wp-block-social-link:hover {
	box-shadow: inset 0 0 0 1px #111;
	transform: translateY(-1px);
}

.article-share-icons .wp-block-social-link a {
	padding: 6px;
	min-width: 34px;
	min-height: 34px;
	border-radius: 4px;
	background-color: #fff;
	color: #333 !important;
	display: flex;
	align-items: center;
	justify-content: center;
	transition:
		background-color 0.2s ease,
		color 0.2s ease;
}

.article-share-icons .wp-block-social-link:hover a {
	background-color: #111 !important;
	color: #fff !important;
}

.article-share-icons .wp-block-social-link svg {
	width: 14px !important;
	height: 14px !important;
	fill: currentColor !important;
	color: inherit !important;
}

/* Force monochrome for all social icons */
.article-share-icons .wp-social-link-facebook,
.article-share-icons .wp-social-link-x,
.article-share-icons .wp-social-link-twitter,
.article-share-icons .wp-social-link-linkedin,
.article-share-icons .wp-social-link-mail,
.article-share-icons .wp-social-link-chain {
	background-color: transparent !important;
}

.article-share-icons .wp-social-link-facebook svg,
.article-share-icons .wp-social-link-x svg,
.article-share-icons .wp-social-link-twitter svg,
.article-share-icons .wp-social-link-linkedin svg,
.article-share-icons .wp-social-link-mail svg,
.article-share-icons .wp-social-link-chain svg {
	color: #333 !important;
	fill: #333 !important;
}

.article-share-icons .wp-block-social-link:hover svg {
	color: #fff !important;
	fill: #fff !important;
}

.article-categories {
	display: block;
	gap: 0;
	flex-wrap: wrap;
	align-items: baseline;
}

.article-categories a {
	color: #767676 !important;
	text-decoration: none;
	font-weight: 500;
	font-size: 11px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	transition: color 0.15s ease;
	padding: 0;
	border: none;
}

.article-categories a:hover {
	color: #000 !important;
	border: none;
}

.article-categories .wp-block-post-terms__separator {
	color: #c0c0c0;
	margin: 0 5px 0 0;
	font-size: 11px;
}

.article-featured-media {
	margin: 32px auto 48px;
}

.article-featured-media figure {
	margin: 0;
	position: relative;
	overflow: hidden;
}

.article-featured-media figure img {
	width: 100%;
	height: auto;
	border-radius: 0;
	object-fit: cover;
	display: block;
}

.article-featured-media figcaption,
.article-featured-media .wp-element-caption {
	margin-top: 12px;
	font-size: 14px;
	line-height: 1.5;
	text-align: left;
	font-family: var(--wp--preset--font-family--primary);
	font-weight: 400;
	padding-left: 5px;
	color: #666;
}

body:not(.home) .entry-content {
	color: #333;
	font-family: var(--wp--preset--font-family--primary);
	font-size: 18px;
	line-height: 1.7;
	letter-spacing: -0.003em;
}

body:not(.home) .entry-content > *:first-child {
	margin-top: 0;
}

body:not(.home) .entry-content > p:first-of-type {
	font-size: 19px;
	line-height: 1.65;
	color: #2c2c2c;
	font-weight: 400;
	margin-bottom: 1.5em;
}

body:not(.home) .entry-content p {
	margin-bottom: 1.4em;
	line-height: 1.7;
	color: #333;
}

body:not(.home) .entry-content h2,
body:not(.home) .entry-content h3,
body:not(.home) .entry-content h4 {
	margin-top: 2em;
	margin-bottom: 0.75em;
	font-weight: 700;
	color: #121212;
	letter-spacing: -0.015em;
	line-height: 1.25;
}

.entry-content h2 {
	font-size: 26px;
}

body:not(.home) .entry-content h3 {
	font-size: 22px;
}

.entry-content h4 {
	font-size: 19px;
}

.entry-content blockquote {
	border-left: 3px solid #e5e5e5;
	padding: 10px 0 10px 25px;
	margin: 2.5em 0;
	font-style: italic;
	color: #333;
	font-size: 19px;
	line-height: 1.6;
	font-family: Georgia, serif;
	letter-spacing: -0.003em;
}

body:not(.home) .entry-content ul,
body:not(.home) .entry-content ol {
	margin: 1.5em 0;
	padding-left: 1.25em;
	line-height: 1.75;
}

.entry-content li {
	margin-bottom: 0.4em;
}

.entry-content img {
	border-radius: 0;
	max-width: 100%;
	height: auto;
}

body:not(.home) .entry-content a {
	color: #326891;
	text-decoration: none;
	padding-bottom: 1px;
}

body:not(.home) .entry-content a:hover {
	/* color: #1557b0; */
	text-decoration: underline;
}

.entry-content-inner {
	border-bottom: 1px solid #e5e5e5;
	padding-bottom: 48px;
}

.entry-content-inner div:last-child {
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}

.entry-footer {
	padding-top: 8px;
	margin-top: 0;
}

.more-stories-section {
	margin-top: 0;
}

.more-stories-section .wp-block-heading {
	color: #121212;
	font-family: Merriweather, Georgia, serif;
	font-weight: 700;
	letter-spacing: -0.015em;
	margin-bottom: 28px;
}

.related-stories-list {
	list-style: none;
	margin: 0;
	padding: 0;
	gap: 35px;
	display: flex;
	flex-direction: column;
}

.related-stories-list > li {
	margin: 0;
	list-style: none;
}

.related-story-item {
	align-items: flex-start;
	margin-bottom: 35px;
}

.related-story-item:last-child {
	margin-bottom: 0;
}

.related-story-item .wp-block-post-featured-image {
	flex-shrink: 0;
	width: 100px;
	height: 100px;
	overflow: hidden;
	border-radius: 0;
}

.related-story-item .wp-block-post-featured-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.story-content {
	flex: 1;
	min-width: 0;
}

.related-story-item:last-child {
	border-bottom: none !important;
	padding-bottom: 0 !important;
	margin-bottom: 0;
}

.related-story-item .story-category a {
	color: #767676 !important;
	text-decoration: none;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	transition: color 0.15s ease;
}

.related-story-item .story-category a:hover {
	opacity: 0.7;
	text-decoration: none;
}

.related-story-item .story-category .wp-block-post-terms__separator {
	color: #c0c0c0;
	margin: 0 4px;
	font-size: 11px;
}

.related-story-item .wp-block-post-title {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.3;
	font-style: normal;
	color: var(--wp--preset--color--contrast);
	margin: 0 0 8px 0;
}

.related-story-item .wp-block-post-title a {
	color: inherit;
	text-decoration: none;
	transition: color 0.15s ease;
}

.related-story-item .wp-block-post-title a:hover {
	opacity: 0.7;
}

.related-story-item .wp-block-post-excerpt {
	color: #666666;
	font-size: 14px;
	line-height: 1.5;
	margin: 0 0 8px 0;
}

.related-story-item .wp-block-post-excerpt p {
	margin: 0;
}

.related-story-item .wp-block-post-date {
	color: #999999;
	font-size: 12px;
	font-family: var(--wp--preset--font-family--primary);
}

@media only screen and (max-width: 900px) {
	.article-featured-media {
		margin: 16px auto 28px;
	}

	.entry-content {
		font-size: 18px;
	}

	.more-stories-section .wp-block-heading {
		font-size: 22px;
		margin-bottom: 28px;
	}

	.related-story-item {
		padding-bottom: 28px !important;
		margin-bottom: 30px;
	}

	.related-story-item .wp-block-post-featured-image {
		width: 80px;
		height: 80px;
	}

	.related-story-item .wp-block-post-title {
		font-size: 15px;
		line-height: 1.3;
	}

	.related-story-item .wp-block-post-excerpt {
		font-size: 13px;
	}

	.related-story-item .wp-block-post-date {
		font-size: 11px;
	}
}

@media only screen and (max-width: 782px) {
	/* Related stories/events - optimize thumbnail size */
	.related-story-item .wp-block-post-featured-image,
	.related-event-item .wp-block-post-featured-image {
		width: 90px !important;
		height: 90px !important;
	}

	.article-meta-wrapper,
	.event-meta-wrapper {
		padding: 12px 0 0 0 !important;
	}

	.article-meta-bar,
	.event-meta-bar {
		flex-direction: column;
		align-items: center;
		gap: 10px;
	}

	.article-share-section {
		width: 100%;
		justify-content: center;
	}

	.article-meta-secondary {
		gap: 10px;
		margin-top: 4px;
	}

	.article-header > * {
		text-align: center;
	}
}

@media only screen and (max-width: 600px) {
	.single-post-article {
		margin-top: 30px !important;
	}

	.article-header .wp-block-post-title {
		font-size: 28px !important;
		line-height: 1.2 !important;
	}

	.article-header .wp-block-post-excerpt {
		font-size: 18px !important;
		line-height: 1.5 !important;
		margin-bottom: 20px !important;
	}

	.article-share-icons .wp-block-social-link a {
		padding: 9px;
	}

	.article-share-icons .wp-block-social-link svg {
		width: 18px !important;
		height: 18px !important;
	}

	.article-featured-media {
		margin: 12px auto 24px;
	}

	.article-featured-media figure img {
		border-radius: 0;
	}

	.entry-content {
		font-size: 17px;
		line-height: 1.65;
	}

	.entry-content > p:first-of-type {
		font-size: 18px;
		line-height: 1.6;
	}

	body:not(.home) .entry-content > p:first-of-type {
		font-size: 15px;
		line-height: 1.7;
	}

	.entry-footer {
		padding-top: 6px;
	}

	.article-tags {
		margin-top: 28px;
		margin-bottom: 20px;
		padding-top: 20px;
	}

	.more-stories-section .wp-block-heading {
		font-size: 20px;
		margin-bottom: 20px;
	}

	.related-story-item,
	.related-event-item {
		padding-bottom: 24px !important;
		margin-bottom: 28px;
	}

	.related-story-item .wp-block-post-featured-image,
	.related-event-item .wp-block-post-featured-image {
		width: 85px !important;
		height: 85px !important;
	}

	.related-story-item .wp-block-post-title {
		font-size: 14px !important;
		line-height: 1.3;
	}

	.related-story-item .wp-block-post-excerpt {
		font-size: 13px !important;
		line-height: 1.5;
	}

	.related-story-item .wp-block-post-date {
		font-size: 11px;
	}
}
/* -- Daily Briefing Newsletter Signup -- */

.daily-briefing-signup .frm_forms .frm_form_field label {
	display: none !important;
}

.daily-briefing-signup .frm_forms .frm_form_field input[type="email"] {
	background: white;
	border: 1px solid #d1d5db;
	border-radius: 2px;
	padding: 10px 12px;
	font-size: 14px;
	width: 100%;
	box-sizing: border-box;
	transition: all 0.2s ease;
}

.daily-briefing-signup .frm_forms .frm_form_field input[type="email"]:focus {
	border-color: var(--wp--preset--color--primary);
	outline: none;
	box-shadow: 0 0 0 3px rgba(30, 64, 175, 0.1);
}

.daily-briefing-signup .frm_forms .frm_submit button {
	background: var(--wp--preset--color--contrast);
	color: #ffffff;
	border: none;
	border-radius: 2px;
	padding: 10px 16px;
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
	width: 100%;
	transition: all 0.2s ease;
}

.daily-briefing-signup .frm_forms .frm_submit button:hover {
	background: #333333;
	transform: translateY(-1px);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.daily-briefing-signup .frm_message {
	background: #f0fdf4;
	border: 1px solid #bbf7d0;
	color: #166534;
	padding: 10px 12px;
	border-radius: 2px;
	font-size: 14px;
}

.daily-briefing-signup .frm_error_style {
	background: #fef2f2;
	border: 1px solid #fecaca;
	color: #991b1b;
	padding: 10px 12px;
	border-radius: 2px;
	font-size: 14px;
}

/* About Page Styles
---------------------------------------- */

/* Clean editorial style - no box effects needed */

/* Media Queries
---------------------------------------- */

/* Mobile Layout Optimizations
---------------------------------------- */

@media only screen and (min-width: 769px) {
	.wp-block-query[data-query-id="2"] .wp-block-columns {
		display: flex !important;
		gap: var(--wp--preset--spacing--x-small) !important;
	}
}

@media only screen and (max-width: 768px) {
	.wp-block-group {
		margin-bottom: 30px !important;
	}

	.single-post-article .wp-block-group {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
		gap: 6px !important;
	}

	.wp-block-columns {
		gap: 30px !important;
	}

	.site-footer .is-content-justification-space-between {
		gap: 0;
		justify-content: center;
	}

	/* About Page Mobile */
	.about-page .wp-block-columns {
		margin-top: 48px !important;
	}

	.about-page .wp-block-columns .wp-block-column:first-child {
		padding-right: 0 !important;
		padding-bottom: 32px !important;
	}

	.about-page .wp-block-columns .wp-block-column:last-child {
		border-left: none !important;
		border-top: 1px solid #ebebeb !important;
		padding-left: 0 !important;
		padding-top: 32px !important;
		margin-top: 0 !important;
	}

	.wp-block-query[data-query-id="2"] .wp-block-columns {
		display: block !important;
		margin-bottom: 0 !important;
	}

	.wp-block-query[data-query-id="2"] .wp-block-column[style*="80px"] {
		width: 100% !important;
		flex-basis: 100% !important;
		margin-bottom: 8px !important;
	}

	.wp-block-query[data-query-id="2"] .wp-block-post-featured-image {
		width: 100% !important;
		height: auto !important;
		aspect-ratio: 16/9 !important;
	}

	.wp-block-query[data-query-id="2"] .wp-block-post-featured-image img {
		width: 100% !important;
		height: auto !important;
		object-fit: cover !important;
	}

	.wp-block-heading.has-small-font-size {
		font-size: 16px !important;
		margin-bottom: 15px !important;
	}

	.wp-block-post-title {
		font-size: 14px !important;
		line-height: 1.3 !important;
		margin-bottom: 6px !important;
	}

	.wp-block-post-excerpt {
		font-size: 13px !important;
		line-height: 1.4 !important;
	}

	.wp-block-post-date {
		font-size: 11px !important;
	}

	.wp-block-post-template-is-layout-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 15px !important;
	}

	.wp-block-post-template-is-layout-grid figure {
		width: 100% !important;
	}

	.wp-block-post-template-is-layout-grid img {
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
		aspect-ratio: 16/9 !important;
	}
}

@media only screen and (max-width: 600px) {
	.wp-block-query[data-query-id="2"] .wp-block-post-template {
		gap: 12px !important;
	}

	.wp-block-query[data-query-id="2"]
		.wp-block-post-template
		.wp-block-group:nth-child(5) {
		display: none !important;
	}

	.wp-block-heading.has-small-font-size {
		font-size: 15px !important;
		margin-bottom: 12px !important;
	}

	.wp-block-post-title {
		font-size: 13px !important;
		margin-bottom: 5px !important;
	}

	.wp-block-post-excerpt {
		font-size: 12px !important;
	}

	/* About Page Small Mobile */
	.about-page .wp-block-columns {
		margin-top: 40px !important;
	}

	.about-page .wp-block-columns .wp-block-column:first-child {
		padding-bottom: 28px !important;
	}

	.about-page .wp-block-columns .wp-block-column:last-child {
		padding-top: 28px !important;
		margin-top: 0 !important;
	}

	.about-page .wp-block-columns .wp-block-column p:last-of-type {
		font-size: 17px !important;
		line-height: 1.7 !important;
	}
}

/* Enhanced Mobile & Tablet Responsive Styles
---------------------------------------- */

/* Tablet Landscape Optimization (769px - 900px) */
@media only screen and (min-width: 769px) and (max-width: 900px) {
	/* Single post/event articles - slightly reduce top margin */
	.single-post-article,
	.single-event-article {
		margin-top: 50px !important;
	}

	/* Archive headers - moderate padding */
	.category-header,
	.search-header,
	.author-header,
	.tag-header,
	.events-archive-header {
		padding-top: 40px !important;
		padding-bottom: 40px !important;
	}

	/* Entry content - slightly smaller font */
	.entry-content {
		font-size: 17px;
	}

	/* Homepage Food Feed - maintain 2 columns */
	.wp-block-query[data-query-id="1"] .wp-block-post-template {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 20px !important;
	}

	/* Front page column gap optimization */
	.front-page > .wp-block-group > .wp-block-columns {
		gap: 30px !important;
	}

	/* Slightly adjust main content/sidebar ratio for better balance */
	.front-page .wp-block-column[style*="flex-basis: 66%"] {
		flex-basis: 65% !important;
	}

	.front-page .wp-block-column[style*="flex-basis: 33%"] {
		flex-basis: 35% !important;
	}
}

/* Front Page Events - hide entire section when no events exist */
.front-page-events:has(.wp-block-query-no-results) {
	display: none;
}

/* Homepage & Archive Templates - Tablet (768px) */
@media only screen and (max-width: 768px) {
	/* Homepage: Stack main content and sidebar */
	.front-page > .wp-block-group > .wp-block-columns,
	.category-archive > .wp-block-group > .wp-block-columns,
	.search-page > .wp-block-group > .wp-block-columns,
	.author-page > .wp-block-group > .wp-block-columns,
	.tag-archive > .wp-block-group > .wp-block-columns {
		flex-direction: column !important;
	}

	.front-page .wp-block-columns .wp-block-column,
	.category-archive .wp-block-columns .wp-block-column,
	.search-page .wp-block-columns .wp-block-column,
	.author-page .wp-block-columns .wp-block-column,
	.tag-archive .wp-block-columns .wp-block-column {
		width: 100% !important;
		flex-basis: 100% !important;
	}

	/* Homepage: Food Feed section - 2 columns on tablet */
	.wp-block-query[data-query-id="1"] .wp-block-post-template {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 20px !important;
	}

	/* Homepage: Great Guide section - 1 column on tablet */
	.wp-block-query[data-query-id="3"] .wp-block-post-template {
		grid-template-columns: 1fr !important;
		gap: 20px !important;
	}

	/* Homepage: Events section - 2 columns on tablet */
	.wp-block-query[data-query-id="4"] .wp-block-post-template {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 20px !important;
	}

	/* Archive pages: Post cards - 1 column */
	.category-archive .wp-block-post-template,
	.search-page .wp-block-post-template,
	.author-page .wp-block-post-template,
	.tag-archive .wp-block-post-template {
		grid-template-columns: 1fr !important;
		gap: 24px !important;
	}

	/* Archive headers - reduce padding */
	.category-header,
	.search-header,
	.author-header,
	.tag-header {
		padding-top: 32px !important;
		padding-bottom: 32px !important;
	}

	/* Footer: Stack columns vertically */
	.site-footer .wp-block-group.alignfull {
		padding-top: 40px !important;
		padding-bottom: 40px !important;
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

	.site-footer .wp-block-columns {
		flex-direction: column !important;
		gap: 32px !important;
	}

	.site-footer .wp-block-column[style*="flex-basis: 40%"],
	.site-footer .wp-block-column[style*="flex-basis: 60%"] {
		flex-basis: 100% !important;
		width: 100% !important;
	}

	.site-footer .wp-block-columns .wp-block-columns {
		gap: 24px !important;
	}

	/* Touch targets - increase to 48px minimum for better usability */
	.wp-block-social-links.is-style-outline li a {
		padding: 14px !important;
		min-width: 48px !important;
		min-height: 48px !important;
	}

	/* Footer social icons - larger touch targets */
	.site-footer .wp-block-social-links li a {
		padding: 14px !important;
		min-width: 48px !important;
		min-height: 48px !important;
	}

	.article-share-icons .wp-block-social-link a,
	.event-share-icons .wp-block-social-link a {
		min-width: 48px !important;
		min-height: 48px !important;
		padding: 10px !important;
	}

	.article-share-icons .wp-block-social-link svg,
	.event-share-icons .wp-block-social-link svg {
		width: 16px !important;
		height: 16px !important;
	}

	/* Ensure adequate spacing between touch targets */
	.article-share-icons,
	.event-share-icons {
		gap: 10px !important;
	}

	/* Newsletter forms - better touch targets */
	.daily-briefing-signup .frm_forms .frm_form_field input[type="email"],
	.daily-briefing-signup .frm_forms .frm_submit button {
		min-height: 48px !important;
		padding: 12px 16px !important;
		font-size: 15px !important;
	}

	/* Search forms - improve touch targets and prevent iOS zoom */
	.search-header .wp-block-search__input,
	.search-page .wp-block-search__input,
	.wp-block-search__input {
		min-height: 48px !important;
		padding: 12px 16px !important;
		font-size: 16px !important;
	}

	.search-header .wp-block-search__button,
	.search-page .wp-block-search__button,
	.wp-block-search__button {
		min-height: 48px !important;
		min-width: 48px !important;
		padding: 12px 16px !important;
	}

	/* Reduce excessive spacing */
	.wp-block-group[style*="padding-top: 60px"] {
		padding-top: 40px !important;
	}

	.wp-block-group[style*="padding-bottom: 60px"] {
		padding-bottom: 40px !important;
	}

	.wp-block-group[style*="padding-top: 48px"] {
		padding-top: 32px !important;
	}

	.wp-block-group[style*="padding-bottom: 48px"] {
		padding-bottom: 32px !important;
	}
}

/* Mobile Optimization (600px and below) */
@media only screen and (max-width: 600px) {
	/* Homepage: All grids to single column with better spacing */
	.wp-block-query[data-query-id="1"] .wp-block-post-template,
	.wp-block-query[data-query-id="4"] .wp-block-post-template {
		grid-template-columns: 1fr !important;
		gap: 24px !important;
	}

	/* Add breathing room around card images */
	.wp-block-query[data-query-id="4"] .wp-block-post-featured-image {
		margin-bottom: 12px !important;
	}

	/* Homepage sidebar: Larger images for better visibility */
	.wp-block-query[data-query-id="2"] .wp-block-post-featured-image {
		width: 100px !important;
		height: 100px !important;
	}

	/* Archive headers - reduce padding for better content visibility */
	.category-header,
	.search-header,
	.author-header,
	.tag-header {
		padding-top: 16px !important;
		padding-bottom: 24px !important;
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	/* Override any nested padding on archive headers */
	.category-header .wp-block-group,
	.search-header .wp-block-group,
	.author-header .wp-block-group,
	.tag-header .wp-block-group {
		padding-top: 16px !important;
	}

	/* Footer: Full mobile optimization */
	.site-footer .wp-block-group.alignfull {
		padding-top: 32px !important;
		padding-bottom: 32px !important;
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	.site-footer .wp-block-button {
		width: 100%;
	}

	.site-footer .wp-block-button__link {
		width: 100%;
		text-align: center;
		padding: 12px 20px !important;
	}

	.site-footer .wp-block-group[style*="padding-top: 30px"] {
		padding-top: 20px !important;
		padding-bottom: 20px !important;
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	/* Newsletter forms - compact mobile optimization */
	.daily-briefing-signup .frm_forms .frm_form_field input[type="email"],
	.daily-briefing-signup .frm_forms .frm_submit button {
		font-size: 15px !important;
		padding: 12px 14px !important;
	}

	/* Sidebar newsletter boxes - reduce padding */
	.wp-block-group[style*="padding: 20px"] {
		padding: 16px !important;
	}

	/* Typography: Increase small text for readability */
	.wp-block-post-terms[style*="font-size: 11px"],
	.article-categories a,
	.event-categories a {
		font-size: 12px !important;
	}

	.article-date,
	.event-date-small,
	.wp-block-post-date[style*="font-size: 12px"] {
		font-size: 12px !important;
	}

	.wp-block-heading[style*="font-size: 11px"] {
		font-size: 12px !important;
	}

	/* Reduce all excessive padding further */
	.wp-block-group[style*="padding-top: 60px"],
	.wp-block-group[style*="padding-top: 48px"],
	.wp-block-group[style*="padding-top: 40px"] {
		padding-top: 24px !important;
	}

	.wp-block-group[style*="padding-bottom: 60px"],
	.wp-block-group[style*="padding-bottom: 48px"],
	.wp-block-group[style*="padding-bottom: 40px"] {
		padding-bottom: 24px !important;
	}

	.wp-block-group[style*="padding-left: 30px"],
	.wp-block-group[style*="padding-left: 40px"] {
		padding-left: 16px !important;
	}

	.wp-block-group[style*="padding-right: 30px"],
	.wp-block-group[style*="padding-right: 40px"] {
		padding-right: 16px !important;
	}

	/* Column gaps - reduce for mobile */
	.wp-block-columns[style*="blockGap: 40px"],
	.wp-block-columns[style*="gap: 40px"] {
		gap: 20px !important;
	}

	/* Newsletter sidebar boxes - compact on mobile */
	.daily-briefing-signup .frm_forms .frm_form_field input[type="email"],
	.daily-briefing-signup .frm_forms .frm_submit button {
		font-size: 14px !important;
		padding: 10px 14px !important;
	}
}

/* Small Mobile Optimization (480px and below) */
@media only screen and (max-width: 480px) {
	/* Further spacing reduction for very small screens */
	.wp-block-group.alignfull {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	/* Typography hierarchy improvements for very small screens */
	.has-small-font-size,
	h3.has-small-font-size,
	.wp-block-heading.has-small-font-size {
		font-size: 15px !important;
		letter-spacing: 0.06em !important;
	}

	/* Ensure touch targets remain adequate */
	.wp-block-button__link,
	input[type="submit"],
	button {
		min-height: 48px !important;
		padding: 12px 20px !important;
	}

	/* Card titles - maintain readability */
	.wp-block-post-title {
		font-size: 15px !important;
		line-height: 1.3 !important;
	}
}

/* Ultra-narrow Screen Optimization (380px and below) */
@media only screen and (max-width: 380px) {
	/* Further optimize spacing for very small devices */
	.wp-block-columns {
		gap: 16px !important;
	}

	.wp-block-group.alignfull {
		padding-left: 12px !important;
		padding-right: 12px !important;
	}

	/* Reduce padding for content sections */
	.wp-block-group[style*="padding-top: 24px"] {
		padding-top: 20px !important;
	}

	.wp-block-group[style*="padding-bottom: 24px"] {
		padding-bottom: 20px !important;
	}

	/* Ensure minimum legibility on smallest screens */
	.wp-block-post-title {
		font-size: 14px !important;
	}

	.wp-block-post-excerpt {
		font-size: 13px !important;
	}
}

/* Events Archive Page Styles
---------------------------------------- */

.tribe-common--breakpoint-medium.tribe-events .tribe-events-l-container {
	padding: 0 !important;
	min-height: 0 !important;
}

.tribe-events-c-view-selector__content {
	display: none !important;
}

.events-archive-page {
	margin-top: 60px;
}

.events-archive-header {
	text-align: left;
}

.events-archive-header h2 {
	font-family: Merriweather, Georgia, serif;
	color: #121212;
	letter-spacing: -0.02em;
	line-height: 1.1;
	font-weight: 700;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}

.main-events-section .event-card {
	margin-bottom: 0;
}

.event-card .wp-block-post-featured-image {
	margin-bottom: 10px;
	overflow: hidden;
}

.event-card .wp-block-post-featured-image img {
	width: 100%;
	height: auto;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.event-card .wp-block-post-featured-image:hover img {
	transform: scale(1.03);
}

.event-card .event-date-badge,
.event-card .tribe-block__event-datetime,
.event-card .wp-block-tribe-event-datetime {
	color: #dc2626 !important;
	font-size: 11px !important;
	font-weight: 500 !important;
	letter-spacing: 0.05em !important;
	text-transform: uppercase !important;
	margin: 0 0 6px 0 !important;
	display: block !important;
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
}

.event-card .tribe-block__event-datetime *,
.event-card .tribe-events-schedule *,
.event-card .tribe-events-schedule__datetime,
.event-card .tribe-events-schedule__date,
.event-card .tribe-events-schedule__time,
.event-card .tribe-events-schedule__separator {
	color: #dc2626 !important;
	font-size: 11px !important;
	font-weight: 500 !important;
	display: inline !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
}

.event-card .wp-block-post-title {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.3;
	color: var(--wp--preset--color--contrast);
	margin: 0 0 8px 0;
}

.event-card .wp-block-post-title a {
	color: inherit;
	text-decoration: none;
	transition: opacity 0.15s ease;
}

.event-card .wp-block-post-title a:hover {
	opacity: 0.7;
}

.event-card .wp-block-post-excerpt {
	color: #666666;
	font-size: 14px;
	line-height: 1.5;
	margin: 0 0 8px 0;
}

.event-card .wp-block-post-excerpt p {
	margin: 0;
}

.event-card .event-venue-small,
.event-card .tribe-block__event-venue,
.event-card .wp-block-tribe-event-venue {
	color: #999999 !important;
	font-size: 12px !important;
	font-family: var(--wp--preset--font-family--primary) !important;
	margin: 0 !important;
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	display: block !important;
}

.event-card .tribe-block__venue__name h3,
.event-card .tribe-block__venue__name,
.event-card .tribe-block__venue__name a {
	color: #999999 !important;
	font-size: 12px !important;
	font-weight: 400 !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	margin: 0 !important;
	text-decoration: none;
}

.event-card .tribe-block__venue__meta,
.event-card .tribe-block__venue__address,
.event-card .tribe-block__venue__phone,
.event-card .tribe-block__venue__website {
	display: none !important;
}

.events-archive-page .pagination-wrapper {
	margin-top: 48px;
	padding-top: 32px;
	border-top: 1px solid #e5e5e5;
}

.events-archive-page .wp-block-query-pagination {
	font-family: var(--wp--preset--font-family--primary);
}

.events-archive-page .wp-block-query-pagination a {
	color: #333;
	text-decoration: none;
	transition: color 0.15s ease;
}

.events-archive-page .wp-block-query-pagination a:hover {
	color: #000;
}

.events-archive-page
	.wp-block-query-pagination
	.wp-block-query-pagination-numbers
	.page-numbers.current {
	color: #dc2626;
	font-weight: 600;
}

/* Events Archive Mobile Responsiveness
---------------------------------------- */

@media only screen and (max-width: 900px) {
	.events-archive-header h2 {
		font-size: clamp(2rem, 5vw, 3rem);
	}

	.main-events-section .wp-block-post-template {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 20px !important;
	}

	.event-card .wp-block-post-title {
		font-size: 15px;
	}

	.event-card .wp-block-post-excerpt {
		font-size: 13px;
	}
}

@media only screen and (max-width: 782px) {
	.events-archive-page {
		margin-top: 40px;
	}

	.events-archive-header {
		padding-bottom: 24px !important;
		margin-bottom: 32px !important;
	}
}

@media only screen and (max-width: 600px) {
	.events-archive-page {
		margin-top: 30px;
	}

	.events-archive-header h2 {
		font-size: clamp(1.75rem, 5vw, 2.5rem);
		margin-bottom: 12px !important;
	}

	.events-archive-header p {
		font-size: 17px !important;
		margin-bottom: 16px !important;
	}

	.main-events-section h3 {
		font-size: 13px !important;
		margin-bottom: 16px !important;
	}

	.main-events-section .wp-block-post-template {
		grid-template-columns: 1fr !important;
		gap: 20px !important;
	}

	.event-card .wp-block-post-title {
		font-size: 14px !important;
	}

	.event-card .wp-block-post-excerpt {
		font-size: 13px !important;
	}

	.event-card .event-date-badge,
	.event-card .tribe-block__event-datetime {
		font-size: 10px !important;
	}

	.event-card .event-venue-small,
	.event-card .tribe-block__event-venue {
		font-size: 11px !important;
	}

	.events-archive-page .pagination-wrapper {
		margin-top: 32px;
		padding-top: 24px;
	}
}

/* The Events Calendar Block Styles - Minimal NYT-Style
---------------------------------------- */

.single-event-article .entry-content .tribe-block,
.single-event-article .entry-content .tribe-events-schedule,
.single-event-article .entry-content .event-detail-block {
	font-family: var(--wp--preset--font-family--primary);
	margin: 0;
	padding: 0;
	background: transparent;
	border: none;
}

.single-event-article .entry-content .tribe-block h2,
.single-event-article .entry-content .tribe-block h3,
.single-event-article .entry-content .event-detail-label {
	color: #999 !important;
	font-size: 11px !important;
	font-weight: 500 !important;
	letter-spacing: 0.06em !important;
	text-transform: uppercase !important;
	margin: 0 0 6px 0 !important;
	font-family: var(--wp--preset--font-family--primary) !important;
	border: none !important;
	padding: 0 !important;
	line-height: 1.2 !important;
}

.single-event-article .entry-content .tribe-events-schedule {
	display: block;
	background: transparent !important;
	border: none !important;
	padding: 0 0 20px 0 !important;
	margin: 20px 0 20px 0 !important;
	border-bottom: 1px solid #f0f0f0 !important;
	display: none;
}

.single-event-article .entry-content .tribe-events-schedule h3,
.single-event-article
	.entry-content
	.tribe-events-schedule
	.event-detail-label {
	color: #999 !important;
	font-size: 11px !important;
	font-weight: 500 !important;
	letter-spacing: 0.06em !important;
	text-transform: uppercase !important;
	margin: 0 0 6px 0 !important;
}

.single-event-article .entry-content .tribe-events-schedule__datetime,
.single-event-article .entry-content .tribe-events-schedule__date,
.single-event-article .entry-content .tribe-events-schedule__time,
.single-event-article .entry-content .event-detail-content {
	font-size: 16px !important;
	font-weight: 400 !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	margin: 0 !important;
	color: #333 !important;
	line-height: 1.5 !important;
}

.single-event-article .entry-content .event-detail-block.tribe-block__venue {
	display: block;
	padding: 20px 0;
	margin: 20px 0;
}

.single-event-article .entry-content .tribe-block__venue h3.event-detail-label {
	color: #999 !important;
	font-size: 11px !important;
	margin: 0 0 6px 0 !important;
}

.single-event-article .entry-content .tribe-block__venue__meta {
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
}

.single-event-article .entry-content .tribe-block__venue__name h3 {
	color: #333 !important;
	font-size: 15px !important;
	font-weight: 400 !important;
	line-height: 1.5 !important;
	text-transform: none !important;
	letter-spacing: normal !important;
}

.single-event-article .entry-content .tribe-block__venue__address {
	color: #666;
	font-size: 15px;
	line-height: 1.5;
	margin-bottom: 4px;
}

.single-event-article .entry-content .tribe-block__venue__phone {
	font-size: 15px;
	line-height: 1.5;
	margin: 2px 0;
	color: #666;
}

.single-event-article .entry-content .tribe-block__venue__website {
	font-size: 15px;
	line-height: 1.5;
	margin: 2px 0;
}

.single-event-article .entry-content .tribe-block__venue__website a {
	text-decoration: none;
}
.single-event-article .entry-content .tribe-block__venue__website a:hover {
	text-decoration: underline;
}

.single-event-article .entry-content .tribe-block__event-price {
	background: transparent !important;
	border: none !important;
	display: block;
	padding: 0 0 20px 0 !important;
	margin: 0 0 20px 0 !important;
	border-bottom: 1px solid #f0f0f0 !important;
}

.single-event-article .entry-content .tribe-block__event-price__label {
	color: #999 !important;
	font-size: 11px !important;
	font-weight: 500;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	margin-bottom: 6px;
	display: block;
}

.single-event-article .entry-content .tribe-block__event-price__cost {
	color: #333;
	font-size: 16px;
	font-weight: 400;
	margin: 0;
	line-height: 1.5;
}

.single-event-article .entry-content .tribe-block__organizer {
	background: transparent !important;
	border: none !important;
	display: block;
	padding: 0 0 20px 0 !important;
	margin: 0 0 20px 0 !important;
	border-bottom: 1px solid #f0f0f0 !important;
}

.single-event-article
	.entry-content
	.tribe-block__organizer
	h3.event-detail-label {
	color: #999 !important;
	font-size: 11px !important;
	margin: 0 0 6px 0 !important;
}

.single-event-article .entry-content .tribe-block__organizer__details {
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
}

.single-event-article .entry-content .tribe-block__organizer__title {
	color: #333;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	margin-bottom: 4px;
}

.single-event-article .entry-content .tribe-block__organizer__phone,
.single-event-article .entry-content .tribe-block__organizer__email {
	font-size: 15px;
	line-height: 1.5;
	margin: 2px 0;
	color: #666;
}

.single-event-article .entry-content .tribe-block__organizer__email a {
	color: #326891;
	text-decoration: none;
	transition: color 0.15s ease;
}

.single-event-article .entry-content .tribe-block__organizer__email a:hover {
	color: #1557b0;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.single-event-article .entry-content .tribe-block__event-website {
	background: transparent !important;
	border: none !important;
	display: block;
	padding: 0 0 20px 0 !important;
	margin: 0 0 20px 0 !important;
	border-bottom: 1px solid #f0f0f0 !important;
}

.single-event-article .entry-content .tribe-block__event-website h3 {
	color: #999 !important;
	font-size: 11px !important;
	margin: 0 0 6px 0 !important;
}

.single-event-article .entry-content .tribe-block__event-website a {
	color: #326891;
	font-size: 16px;
	text-decoration: none;
	transition: color 0.15s ease;
	font-weight: 400;
}

.single-event-article .entry-content .tribe-block__event-website a:hover {
	color: #1557b0;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.single-event-article .entry-content .tribe-block__event-links {
	background: transparent !important;
	border: none !important;
	display: block;
	padding: 20px 0 !important;
	margin: 20px 0 !important;
	/* border-top: 1px solid #f0f0f0 !important; */
	/* border-bottom: 1px solid #f0f0f0 !important; */
}

.single-event-article .entry-content .tribe-block__event-links h3,
.single-event-article .entry-content .tribe-block__event-links__label {
	color: #999 !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	margin: 0 0 12px 0 !important;
	display: block;
}

.single-event-article .entry-content .tribe-block__event-links a,
.single-event-article .entry-content .tribe-events-gcal,
.single-event-article .entry-content .tribe-events-ical {
	color: #333;
	font-size: 13px;
	font-weight: 500;
	text-decoration: none;
	margin-right: 10px;
	margin-bottom: 10px;
	display: inline-block;
	transition: all 0.2s ease;
	padding: 7px 18px;
	border: 1px solid #e5e5e5;
	background: #fafafa;
	border-radius: 4px;
}

.single-event-article .entry-content .tribe-block__event-links a:hover,
.single-event-article .entry-content .tribe-events-gcal:hover,
.single-event-article .entry-content .tribe-events-ical:hover {
	color: #000;
	background: #f0f0f0;
	border-color: #d0d0d0;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
	transform: translateY(-1px);
	text-decoration: none;
}

.single-event-article .entry-content .event-detail-item {
	background: transparent !important;
	border: none !important;
	padding: 0 0 20px 0 !important;
	margin: 0 0 20px 0 !important;
	border-bottom: 1px solid #f0f0f0 !important;
}

.single-event-article .entry-content .event-detail-item:last-of-type,
.single-event-article .entry-content .event-detail-block:last-of-type {
	border-bottom: none !important;
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}

.single-event-article .entry-content .tribe-block__event-category {
	background: transparent !important;
	border-left: none !important;
	border-right: none !important;
	display: block;
	padding: 20px 0 20px 0 !important;
	margin: 0 0 20px 0 !important;
	border-top: 1px solid #f0f0f0 !important;
	border-bottom: 1px solid #f0f0f0 !important;
}

.single-event-article .entry-content .tribe-block__event-category h3 {
	color: #999 !important;
	font-size: 11px !important;
	font-weight: 500 !important;
	letter-spacing: 0.06em !important;
	text-transform: uppercase !important;
	margin: 0 0 6px 0 !important;
}

.single-event-article .entry-content .tribe-block__event-category a,
.single-event-article .entry-content .tribe-block__event-category span {
	color: #326891;
	font-size: 15px;
	font-weight: 400;
	text-decoration: none;
	display: inline-block;
	margin-right: 12px;
}

.single-event-article .entry-content .tribe-block__event-category a:hover {
	color: #1557b0;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.single-event-article .entry-content .tribe-block__event-tags {
	background: transparent !important;
	border: none !important;
	display: block;
	padding: 20px 0 0 0 !important;
	margin: 24px 0 0 0 !important;
	border-top: 1px solid #e5e5e5 !important;
}

.single-event-article .entry-content .tribe-block__event-tags h3 {
	color: #999 !important;
	font-size: 11px !important;
	font-weight: 500 !important;
	letter-spacing: 0.06em !important;
	text-transform: uppercase !important;
	margin: 0 0 10px 0 !important;
}

.single-event-article .entry-content .tribe-block__event-tags a {
	display: inline-block;
	padding: 0;
	margin: 0 16px 8px 0;
	background: transparent;
	border: none;
	color: #326891;
	font-size: 14px;
	font-weight: 400;
	text-decoration: none;
	transition: color 0.15s ease;
}

.single-event-article .entry-content .tribe-block__event-tags a:hover {
	color: #1557b0;
	text-decoration: underline;
	text-underline-offset: 2px;
	background: transparent;
	transform: none;
}

.single-event-article
	.entry-content
	.tribe-events-meta-group.tribe-events-meta-group-details {
	background: transparent;
	border: none;
	padding: 0;
	margin: 0;
	width: 100%;
}

.single-event-article .entry-content .tribe-events-meta-group-details h2 {
	color: #999 !important;
	font-size: 11px !important;
	font-weight: 500;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	margin: 0 0 8px 0 !important;
}

.single-event-article .entry-content .tribe-events-meta-group-details dl {
	margin: 0;
}

.single-event-article .entry-content .tribe-events-meta-group-details dt {
	color: #999;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	margin-bottom: 4px;
	float: none;
	width: auto;
	padding: 0;
}

.single-event-article .entry-content .tribe-events-meta-group-details dd {
	color: #333;
	font-size: 15px;
	line-height: 1.5;
	margin: 0 0 20px 0;
	padding: 0 0 20px 0;
}

abbr[title] {
	text-decoration: none;
}

.single-event-article
	.entry-content
	.tribe-events-meta-group-details
	dd:last-child {
	border-bottom: none;
	margin-bottom: 0;
	padding-bottom: 0;
}

.single-event-article .tribe-events-meta-group,
.single-event-article .tribe-events-single-section {
	background: transparent;
	border: none;
	padding: 0;
	margin: 0;
}

.single-event-article .tribe-events-single-section-title {
	display: none;
}

/* Single Event Styles - Professional News Layout
---------------------------------------- */

.single-event-article {
	margin-top: 60px;
}

.event-header {
	text-align: left;
}

.event-header .wp-block-post-title {
	font-family: Merriweather, Georgia, serif;
	color: #121212;
	letter-spacing: -0.015em;
	line-height: 1.15;
	margin: 0 0 20px 0;
	font-weight: 700;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}

.event-header .wp-block-post-excerpt {
	color: #333 !important;
	font-weight: 400;
	line-height: 1.45;
	margin: 0 0 24px 0;
	font-family: var(--wp--preset--font-family--primary);
	font-size: 21px;
}

.event-meta-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

.event-byline-group {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	font-size: 14px;
	color: #333;
}

.event-date-time {
	color: #121212;
	font-weight: 500;
	font-size: 14px;
}

.event-venue-name,
.event-byline-group .event-venue-name {
	color: #999;
	font-size: 12px !important;
	font-weight: 400 !important;
	display: inline !important;
	margin-top: 0;
}

.event-categories {
	display: block;
	gap: 0;
	flex-wrap: wrap;
	align-items: baseline;
}

.event-categories a {
	color: #dc2626 !important;
	text-decoration: none;
	font-weight: 600;
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	transition: color 0.15s ease;
	padding: 0;
	border: none;
}

.event-categories a:hover {
	color: #b91c1c !important;
	border: none;
}

.event-categories .wp-block-post-terms__separator {
	color: #dc2626;
	margin: 0 5px 0 0;
	font-size: 11px;
}

.event-share-section {
	display: flex;
	align-items: center;
	gap: 10px;
}

.event-share-icons {
	margin: 0;
	padding: 0;
	gap: 6px;
}

.event-share-icons .wp-block-social-link {
	border-radius: 4px;
	box-shadow: inset 0 0 0 1px #d8d8d8;
	transition:
		box-shadow 0.2s ease,
		transform 0.2s ease;
}

.event-share-icons .wp-block-social-link:hover {
	box-shadow: inset 0 0 0 1px #111;
	transform: translateY(-1px);
}

.event-share-icons .wp-block-social-link a {
	padding: 6px;
	min-width: 34px;
	min-height: 34px;
	border-radius: 4px;
	background-color: #fff;
	color: #333 !important;
	display: flex;
	align-items: center;
	justify-content: center;
	transition:
		background-color 0.2s ease,
		color 0.2s ease;
}

.event-share-icons .wp-block-social-link:hover a {
	background-color: #111 !important;
	color: #fff !important;
}

.event-share-icons .wp-block-social-link svg {
	width: 14px !important;
	height: 14px !important;
	fill: currentColor !important;
	color: inherit !important;
}

/* Force monochrome for all social icons */
.event-share-icons .wp-social-link-facebook,
.event-share-icons .wp-social-link-x,
.event-share-icons .wp-social-link-twitter,
.event-share-icons .wp-social-link-linkedin,
.event-share-icons .wp-social-link-mail,
.event-share-icons .wp-social-link-chain {
	background-color: transparent !important;
}

.event-share-icons .wp-social-link-facebook svg,
.event-share-icons .wp-social-link-x svg,
.event-share-icons .wp-social-link-twitter svg,
.event-share-icons .wp-social-link-linkedin svg,
.event-share-icons .wp-social-link-mail svg,
.event-share-icons .wp-social-link-chain svg {
	color: #333 !important;
	fill: #333 !important;
}

.event-share-icons .wp-block-social-link:hover svg {
	color: #fff !important;
	fill: #fff !important;
}

.event-featured-media {
	margin: 32px auto 48px;
}

.event-featured-media figure {
	margin: 0;
	position: relative;
	overflow: hidden;
}

.event-featured-media figure img {
	width: 100%;
	height: auto;
	border-radius: 0;
	object-fit: cover;
	display: block;
}

.event-featured-media figcaption,
.event-featured-media .wp-element-caption {
	margin-top: 12px;
	font-size: 14px;
	line-height: 1.5;
	text-align: left;
	font-family: var(--wp--preset--font-family--primary);
	font-weight: 400;
	padding-left: 5px;
	color: #666;
}

.related-events-section {
	margin-top: 0;
}

.related-events-section .wp-block-heading {
	color: #121212;
	font-family: Merriweather, Georgia, serif;
	font-size: 24px;
	font-weight: 700;
	letter-spacing: -0.015em;
	margin-bottom: 28px;
}

.related-events-section .wp-block-query {
	margin: 0;
	padding: 0;
}

.related-events-list,
.related-events-section .wp-block-post-template {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	gap: 35px !important;
	display: flex !important;
	flex-direction: column !important;
}

.related-events-list > li,
.related-events-section .wp-block-post-template > li {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.related-event-item {
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: flex-start !important;
	gap: var(--wp--preset--spacing--small, 20px) !important;
	padding: 0 0 30px 0 !important;
	border-bottom: 1px solid #f5f5f5 !important;
	margin: 0 !important;
}

.related-events-section
	.wp-block-post-template
	> li:last-child
	.related-event-item,
.related-event-item:last-child {
	border-bottom: none !important;
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
}

.related-event-item .wp-block-post-featured-image {
	flex-shrink: 0;
	width: 100px !important;
	height: 100px !important;
	overflow: hidden;
	border-radius: 0;
	margin: 0 !important;
}

.related-event-item .wp-block-post-featured-image img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	border-radius: 0 !important;
}

.related-event-item .wp-block-post-featured-image a {
	display: block;
	width: 100%;
	height: 100%;
}

.event-content {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
}

.related-event-item .event-date-small,
.related-event-item .wp-block-tribe-event-datetime,
.related-event-item .tribe-block__event-datetime,
.related-event-item .tribe-events-schedule {
	color: #dc2626 !important;
	text-decoration: none;
	font-size: 11px !important;
	font-weight: 500 !important;
	letter-spacing: 0.05em !important;
	text-transform: uppercase !important;
	margin: 0 0 5px 0 !important;
	background: transparent !important;
	padding: 0 !important;
	border: none !important;
	display: block !important;
	transition: opacity 0.15s ease;
}

.related-event-item .tribe-events-schedule h2,
.related-event-item .tribe-events-schedule h3,
.related-event-item .tribe-events-schedule__datetime,
.related-event-item .tribe-events-schedule__date,
.related-event-item .tribe-events-schedule__time,
.related-event-item .tribe-events-schedule__separator {
	font-size: 11px !important;
	font-weight: 500 !important;
	color: #dc2626 !important;
	display: inline !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1 !important;
}

.related-event-item .wp-block-post-title {
	font-size: 16px !important;
	font-weight: 500 !important;
	line-height: 1.3 !important;
	font-style: normal !important;
	color: var(--wp--preset--color--contrast) !important;
	margin: 0 0 8px 0 !important;
}

.related-event-item .wp-block-post-title a {
	color: inherit !important;
	text-decoration: none !important;
}

.related-event-item .wp-block-post-title a:hover {
	opacity: 0.7 !important;
}

.related-event-item .wp-block-post-excerpt {
	color: #666666 !important;
	font-size: 14px !important;
	line-height: 1.5 !important;
	margin: 0 0 8px 0 !important;
}

.related-event-item .wp-block-post-excerpt p {
	margin: 0 !important;
	color: #666666 !important;
	font-size: 14px !important;
}

.related-event-item .event-venue-small,
.related-event-item .wp-block-tribe-event-venue,
.related-event-item .tribe-block__event-venue,
.related-event-item .tribe-block__venue {
	color: #999999 !important;
	font-size: 12px !important;
	font-family: var(--wp--preset--font-family--primary) !important;
	margin: 0 !important;
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	display: block !important;
}

.related-event-item .tribe-block__venue__name h3,
.related-event-item .tribe-block__venue__name {
	color: #999999 !important;
	font-size: 12px !important;
	font-weight: 400 !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	margin: 0 !important;
}

.related-event-item .tribe-block__venue__name a {
	color: #999999 !important;
	text-decoration: none;
}

.related-event-item .tribe-block__venue__meta,
.related-event-item .tribe-block__venue__address,
.related-event-item .tribe-block__venue__phone,
.related-event-item .tribe-block__venue__website {
	display: none !important;
}

.single-tribe_events .entry-content > .tribe-events-event-image {
	display: none;
}

@media only screen and (max-width: 900px) {
	.event-featured-media {
		margin: 24px auto 32px;
	}

	.single-event-article .entry-content [class*="tribe-block__event-"],
	.single-event-article .entry-content [class*="wp-block-tribe-"] {
		padding: 0;
		margin: 20px 0;
	}

	.related-events-section .wp-block-heading {
		font-size: 22px;
		margin-bottom: 28px;
	}

	.related-event-item {
		padding-bottom: 28px !important;
		margin-bottom: 30px !important;
	}

	.related-event-item .wp-block-post-featured-image {
		width: 80px !important;
		height: 80px !important;
	}

	.related-event-item .wp-block-post-title {
		font-size: 15px !important;
		line-height: 1.3 !important;
	}

	.related-event-item .wp-block-post-excerpt {
		font-size: 13px !important;
	}

	.related-event-item .event-venue-small,
	.related-event-item .wp-block-tribe-event-venue {
		font-size: 11px !important;
	}
}

@media only screen and (max-width: 782px) {
	.event-meta-wrapper {
		padding: 12px 0 0 0;
	}

	.event-meta-bar {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
	}

	.event-share-section {
		width: 100%;
		justify-content: flex-start;
	}

	.single-event-article .entry-content .tribe-block__event-links a {
		margin: 0 10px 10px 0;
	}
}

@media only screen and (max-width: 600px) {
	.single-event-article {
		margin-top: 40px;
	}

	.event-header .wp-block-post-title {
		font-size: 28px;
		line-height: 1.2;
	}

	.event-header .wp-block-post-excerpt {
		font-size: 18px;
		line-height: 1.5;
		margin-bottom: 20px;
	}

	.event-share-icons .wp-block-social-link a {
		padding: 9px;
	}

	.event-share-icons .wp-block-social-link svg {
		width: 18px !important;
		height: 18px !important;
	}

	.event-featured-media {
		margin: 20px auto 28px;
	}

	.single-event-article .entry-content [class*="tribe-block__event-"],
	.single-event-article .entry-content [class*="wp-block-tribe-"] {
		padding: 0;
		margin: 16px 0;
	}

	.single-event-article .entry-content [class*="tribe-block__event-"] h2,
	.single-event-article .entry-content [class*="tribe-block__event-"] h3,
	.single-event-article .entry-content [class*="wp-block-tribe-"] h2,
	.single-event-article .entry-content [class*="wp-block-tribe-"] h3 {
		font-size: 11px !important;
		margin-bottom: 10px !important;
	}

	.single-event-article .entry-content .tribe-block__event-price__cost {
		font-size: 16px;
	}

	.single-event-article .entry-content .tribe-block__event-links a,
	.single-event-article .entry-content .tribe-events-gcal,
	.single-event-article .entry-content .tribe-events-ical {
		display: block;
		width: 100%;
		margin: 0 0 8px 0;
		text-align: center;
		padding: 10px 18px;
		min-height: 44px;
		box-sizing: border-box;
	}

	.related-events-section .wp-block-heading {
		font-size: 20px;
		margin-bottom: 20px;
	}

	.related-event-item {
		padding-bottom: 24px !important;
		margin-bottom: 28px !important;
	}

	.related-event-item .wp-block-post-featured-image {
		width: 80px !important;
		height: 80px !important;
	}

	.related-event-item .wp-block-post-title {
		font-size: 14px !important;
		line-height: 1.3 !important;
	}

	.related-event-item .wp-block-post-excerpt {
		font-size: 13px !important;
		line-height: 1.45 !important;
	}

	.related-event-item .event-date-small,
	.related-event-item .wp-block-tribe-event-datetime {
		font-size: 10px !important;
	}

	.related-event-item .event-venue-small,
	.related-event-item .wp-block-tribe-event-venue {
		font-size: 11px !important;
	}
}

/* The Events Calendar Archive
---------------------------------------- */

.tribe-events-view,
.tribe-common {
	font-family: var(--wp--preset--font-family--primary) !important;
}

.tribe-events-view-loader,
.tribe-events-header__messages,
.tribe-events-header__breadcrumbs,
.tribe-events-header__title {
	display: none !important;
}

.tribe-events-header {
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	margin-bottom: 40px !important;
}

.tribe-events-c-events-bar {
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	padding: 0 !important;
	margin-bottom: 32px !important;
}

.tribe-events-c-events-bar__search-container {
	margin-top: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
}

.tribe-events-c-events-bar__search-button {
	background: white !important;
	border: 1px solid #e0e0e0 !important;
	padding: 10px 16px !important;
	color: #666 !important;
	border-radius: 2px !important;
}

.tribe-events-c-events-bar__search-button:hover {
	border-color: #999 !important;
	color: #333 !important;
}

.tribe-events-c-events-bar__search-button svg {
	width: 15px !important;
	height: 15px !important;
	fill: currentColor !important;
	opacity: 0.7 !important;
}

.tribe-events-c-search {
	background: white !important;
	border: 1px solid #d8d8d8 !important;
	padding: 6px !important;
	display: flex !important;
	align-items: stretch !important;
	gap: 0 !important;
	border-radius: 0 !important;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
}

.tribe-events-c-search__input-control {
	position: relative;
	margin-bottom: 0 !important;
	flex: 1 !important;
}

.tribe-events-c-search__input {
	background: white !important;
	border: none !important;
	border-radius: 0 !important;
	padding: 14px 18px !important;
	font-size: 14px !important;
	color: #333 !important;
	width: 100% !important;
	font-family: var(--wp--preset--font-family--primary) !important;
}

.tribe-events-c-search__input:focus {
	outline: none !important;
	background: white !important;
}

.tribe-events-c-search__button {
	background: #121212 !important;
	color: white !important;
	border: none !important;
	padding: 14px 36px !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	border-radius: 0 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.08em !important;
	margin: 0 !important;
	transition: background 0.15s ease !important;
	font-family: var(--wp--preset--font-family--primary) !important;
}

.tribe-events-c-search__button:hover {
	background: #333 !important;
}

.tribe-events-c-view-selector__button {
	background: white !important;
	border: 1px solid #e0e0e0 !important;
	padding: 10px 16px !important;
	font-size: 13px !important;
	color: #444 !important;
	font-weight: 500 !important;
	border-radius: 2px !important;
	min-width: 100px !important;
}

.tribe-events-c-view-selector__button:hover {
	background: #fcfcfc !important;
	border-color: #999 !important;
}

.tribe-events-c-view-selector__button svg {
	opacity: 0.5 !important;
	margin-left: 8px !important;
}

.tribe-events-calendar-list__month-separator-text {
	color: #999 !important;
	font-family: var(--wp--preset--font-family--primary) !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
}

.tribe-events-calendar-list__event-row {
	background: white !important;
	border: none !important;
	padding: 28px !important;
	margin-bottom: 28px !important;
	border-radius: 0 !important;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
	border: 1px solid #ebebeb !important;
	transition: all 0.15s ease !important;
}

.tribe-events-calendar-list__event-row:hover {
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.06) !important;
	border-color: #d8d8d8 !important;
}

.tribe-events-calendar-list__event-date-tag {
	background: #f8f8f8 !important;
	border-right: 1px solid #ebebeb !important;
	padding: 16px 20px !important;
	margin-right: 28px !important;
	min-width: 75px !important;
	text-align: center !important;
	border-radius: 0 !important;
}

.tribe-events-calendar-list__event-date-tag-weekday {
	color: #999 !important;
	font-size: 10px !important;
	font-weight: 600 !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	display: block !important;
	margin-bottom: 8px !important;
}

.tribe-events-calendar-list__event-date-tag-daynum {
	color: #121212 !important;
	font-size: 28px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	font-family: Merriweather, Georgia, serif !important;
}

.tribe-events-calendar-list__event-featured-image-wrapper {
	flex-shrink: 0 !important;
}

.tribe-events-calendar-list__event-featured-image {
	width: 140px !important;
	height: 90px !important;
	object-fit: cover !important;
	border-radius: 2px !important;
	margin-right: 24px !important;
}

.tribe-events-calendar-list__event-details {
	flex: 1 !important;
}

.tribe-events-calendar-list__event-datetime {
	color: #dc2626 !important;
	font-size: 11px !important;
	font-weight: 500 !important;
	letter-spacing: 0.05em !important;
	text-transform: uppercase !important;
	margin-bottom: 8px !important;
	display: block !important;
}

.tribe-events-calendar-list__event-title {
	margin: 0 0 10px 0 !important;
}

.tribe-events-calendar-list__event-title-link {
	color: #121212 !important;
	font-size: 22px !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
	letter-spacing: -0.015em !important;
	text-decoration: none !important;
	font-family: Merriweather, Georgia, serif !important;
	transition: color 0.15s ease !important;
}

.tribe-events-calendar-list__event-title-link:hover {
	color: #555 !important;
}

.tribe-events-calendar-list__event-venue {
	color: #999 !important;
	font-size: 13px !important;
	font-style: normal !important;
	line-height: 1.5 !important;
	margin-bottom: 12px !important;
}

.tribe-events-calendar-list__event-venue-title {
	color: #666 !important;
	font-weight: 500 !important;
}

body
	.tribe-common--breakpoint-medium.tribe-events
	.tribe-events-calendar-list__event-description {
	display: none !important;
}

.tribe-events-c-small-cta {
	background: transparent !important;
	padding: 0 !important;
}

.tribe-events-c-small-cta__price {
	color: #333 !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	background: #f5f5f5 !important;
	padding: 4px 10px !important;
	display: inline-block !important;
	border-radius: 0 !important;
}

.tribe-events-c-nav {
	margin-top: 48px !important;
	padding-top: 32px !important;
	border-top: 1px solid #e5e5e5 !important;
}

.tribe-events-c-nav__list {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

.tribe-events-c-nav__prev,
.tribe-events-c-nav__next,
.tribe-events-c-nav__today {
	background: white !important;
	border: 1px solid #d0d0d0 !important;
	color: #333 !important;
	padding: 8px 16px !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	text-decoration: none !important;
	border-radius: 0 !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
}

.tribe-events-c-nav__prev:hover,
.tribe-events-c-nav__next:hover:not([disabled]),
.tribe-events-c-nav__today:hover {
	background: #333 !important;
	border-color: #333 !important;
	color: white !important;
}

.tribe-events-c-nav__prev:hover svg,
.tribe-events-c-nav__next:hover:not([disabled]) svg {
	filter: invert(1);
}

.tribe-events-c-nav__next[disabled],
.tribe-events-c-nav__prev[disabled] {
	opacity: 0.3 !important;
	cursor: not-allowed !important;
}

.tribe-events-after-html,
.tribe-common-a11y-hidden,
.tribe-common-a11y-visual-hide {
	display: none !important;
}

.tribe-common .tribe-common-g-row,
.tribe-common .tribe-common-g-col,
.tribe-events-calendar-list__event {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
}

/* Mobile Responsiveness for TEC Archive */
@media only screen and (max-width: 900px) {
	.tribe-events-calendar-list__event-row {
		padding: 20px !important;
	}

	.tribe-events-calendar-list__event-featured-image {
		width: 120px !important;
		height: 80px !important;
	}

	.tribe-events-calendar-list__event-title-link {
		font-size: 19px !important;
		line-height: 1.3 !important;
	}

	.tribe-events-c-events-bar {
		padding: 0 !important;
	}
}

@media only screen and (max-width: 768px) {
	.tribe-events-calendar-list__event-date-tag {
		border-right: none !important;
		border-bottom: 1px solid #ebebeb !important;
		padding: 12px 0 !important;
		margin-right: 0 !important;
		margin-bottom: 16px !important;
		width: 100% !important;
		display: flex !important;
		align-items: center !important;
		gap: 12px !important;
		background: transparent !important;
	}

	.tribe-events-calendar-list__event-date-tag-weekday {
		display: inline-block !important;
		margin-bottom: 0 !important;
		margin-right: 8px !important;
	}

	.tribe-events-calendar-list__event-date-tag-daynum {
		font-size: 24px !important;
	}

	.tribe-events-calendar-list__event-row {
		flex-direction: column !important;
		padding: 20px !important;
	}

	.tribe-events-calendar-list__event {
		flex-direction: column !important;
	}

	.tribe-events-calendar-list__event-featured-image {
		width: 100% !important;
		height: 200px !important;
		margin-right: 0 !important;
		margin-bottom: 16px !important;
	}

	.tribe-events-c-nav__list {
		flex-direction: column !important;
		gap: 12px !important;
	}

	.tribe-events-c-nav__list-item {
		width: 100% !important;
	}

	.tribe-events-c-nav__prev,
	.tribe-events-c-nav__next,
	.tribe-events-c-nav__today {
		width: 100% !important;
		justify-content: center !important;
	}
}

@media only screen and (max-width: 600px) {
	.tribe-events-calendar-list__month-separator {
		margin: 24px 0 16px 0 !important;
	}

	.tribe-events-calendar-list__month-separator-text {
		font-size: 11px !important;
	}

	.tribe-events-calendar-list__event-row {
		padding: 18px !important;
		margin-bottom: 20px !important;
	}

	.tribe-events-calendar-list__event-title-link {
		font-size: 18px !important;
		line-height: 1.3 !important;
	}

	.tribe-events-calendar-list__event-venue {
		font-size: 12px !important;
	}

	.tribe-events-calendar-list__event-description {
		font-size: 14px !important;
		line-height: 1.6 !important;
	}

	.tribe-events-c-events-bar {
		padding: 0 !important;
	}

	.tribe-events-c-search {
		flex-direction: column !important;
		padding: 8px !important;
	}

	.tribe-events-c-search__button {
		width: 100% !important;
		margin-top: 8px !important;
		padding: 16px !important;
	}
}

.tribe-events-calendar-list {
	padding: 0 !important;
}

.tribe-events-calendar-list__event {
	margin: 0 !important;
	padding: 0 !important;
}

.tribe-common-g-row {
	align-items: flex-start !important;
}

.tribe-events-after-html,
.tribe-common-a11y-hidden,
.tribe-common-a11y-visual-hide {
	display: none !important;
}

.tribe-events-c-view-selector__content {
	background: white !important;
	border: 1px solid #e0e0e0 !important;
	box-shadow: 0 3px 10px rgba(0, 0, 0, 0.08) !important;
	border-radius: 2px !important;
	margin-top: 6px !important;
}

.tribe-events-c-view-selector__list-item-link {
	color: #444 !important;
	font-size: 13px !important;
	padding: 10px 18px !important;
	text-decoration: none !important;
}

.tribe-events-c-view-selector__list-item-link:hover {
	background: #f8f8f8 !important;
}

.datepicker {
	font-family: var(--wp--preset--font-family--primary) !important;
	border: 1px solid #e0e0e0 !important;
	box-shadow: 0 3px 10px rgba(0, 0, 0, 0.08) !important;
}

.tribe-events input[type="text"],
.tribe-events input[type="email"],
.tribe-events input[type="search"],
.tribe-events select {
	font-family: var(--wp--preset--font-family--primary) !important;
	font-size: 14px !important;
}

.tribe-events
	.tribe-events-c-events-bar
	.tribe-common-form-control-text__input {
	margin: 0 !important;
}

.tribe-events .tribe-events-c-search__input-control {
	margin: 0 !important;
}

.tribe-events-calendar-list__event-row {
	cursor: default !important;
}

.tribe-events-calendar-list__event-title-link,
.tribe-events-calendar-list__event-featured-image {
	cursor: pointer !important;
}

.tribe-events-c-view-selector__content,
.tribe-events-c-events-bar__search-container {
	z-index: 100 !important;
}

.tribe-events-c-events-bar__search-container[style*="display"] {
	background: transparent !important;
	border: none !important;
	padding: 16px 0 !important;
	margin: 0 !important;
	border-radius: 0 !important;
}

.tribe-events-c-search {
	display: flex !important;
	gap: 12px !important;
	align-items: flex-start !important;
}

.tribe-events-c-search__input-group {
	flex: 1 !important;
}

.tribe-common-form-control-text__label {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.tribe-events-calendar-list__event-header {
	margin-bottom: 0 !important;
}

.tribe-events-c-nav__prev-icon-svg,
.tribe-events-c-nav__next-icon-svg {
	width: 12px !important;
	height: 12px !important;
}

.tribe-events-calendar-list__event-wrapper {
	margin: 0 !important;
	padding: 0 !important;
}

.tribe-events-c-view-selector__list-item--active a {
	color: #000 !important;
	font-weight: 600 !important;
}

.tribe-events-header__top-bar {
	margin-bottom: 0 !important;
}

.tribe-events-calendar-list {
	margin-top: 0 !important;
}

.tribe-events-c-search__input-control-icon-svg {
	display: none !important;
}

.tribe-events-c-events-bar__search-button {
	display: none !important;
}

.tribe-events-c-top-bar,
.tribe-events-c-subscribe-dropdown__container {
	display: none !important;
}

.tribe-events-c-events-bar__search-container {
	display: block !important;
	opacity: 1 !important;
	visibility: visible !important;
	position: relative !important;
	background: transparent !important;
	padding: 0 !important;
	margin: 0 0 24px 0 !important;
}

.tribe-events-c-events-bar__search {
	width: 100% !important;
}

/* Board of Directors Page Styles
---------------------------------------- */

.board-page .board-member-card h3 {
	font-family: var(--wp--preset--font-family--primary);
}

.board-page .board-member-photo {
	margin-top: 0;
	margin-bottom: 0;
}

.board-page .board-member-card .wp-block-column:first-child {
	min-height: 130px;
	background-color: #e5e5e5;
	align-self: flex-start;
}

.board-page .board-member-photo img {
	width: 130px;
	height: 130px;
	object-fit: cover;
	background-color: #e5e5e5;
}

.board-page .board-member-card {
	margin-bottom: 48px !important;
}

/* Mobile Responsiveness for Board Page */
@media only screen and (max-width: 782px) {
	.board-page .board-member-card {
		padding-bottom: 24px !important;
		margin-bottom: 24px !important;
	}

	.board-page .board-member-card h3 {
		font-size: 20px !important;
	}

	.board-page .board-member-card p {
		font-size: 15px !important;
	}
}

@media only screen and (max-width: 600px) {
	.board-page {
		padding-top: 40px !important;
	}

	.board-page .board-member-card {
		padding-bottom: 20px !important;
		margin-bottom: 20px !important;
	}

	.board-page .board-member-card h3 {
		font-size: 19px !important;
	}

	.board-page .board-member-card p[style*="font-size: 13px"] {
		font-size: 12px !important;
	}

	.board-page .board-member-card p[style*="font-size: 16px"] {
		font-size: 15px !important;
	}
}

/* Policy Pages Styles
---------------------------------------- */

.policy-page h2 {
	font-family: var(--wp--preset--font-family--primary);
}

.policy-page h3 {
	font-family: var(--wp--preset--font-family--primary);
}

.policy-page ul,
.policy-page ol {
	padding-left: 1.5em;
}

.policy-page li {
	margin-bottom: 0.5em;
}

.policy-page a {
	color: #326891;
	text-decoration: none;
	transition: color 0.15s ease;
}

.policy-page a:hover {
	color: #1557b0;
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* Mobile Responsiveness for Policy Pages */
@media only screen and (max-width: 782px) {
	.policy-page {
		padding-top: 40px !important;
	}

	.policy-page h1 {
		font-size: clamp(2rem, 5vw, 2.5rem) !important;
	}

	.policy-page h2 {
		font-size: 24px !important;
	}

	.policy-page h3 {
		font-size: 18px !important;
	}

	.policy-page p,
	.policy-page li {
		font-size: 16px !important;
	}
}

@media only screen and (max-width: 600px) {
	.policy-page {
		padding-top: 30px !important;
	}

	.policy-page h1 {
		font-size: clamp(1.75rem, 5vw, 2rem) !important;
		margin-bottom: 16px !important;
	}

	.policy-page h2 {
		font-size: 22px !important;
		margin-top: 40px !important;
		margin-bottom: 16px !important;
	}

	.policy-page h3 {
		font-size: 17px !important;
		margin-top: 24px !important;
		margin-bottom: 10px !important;
	}

	.policy-page p,
	.policy-page li {
		font-size: 15px !important;
	}

	.policy-page p[style*="font-size: 19px"] {
		font-size: 17px !important;
	}
}

/* Author Archive Header
---------------------------------------- */

.author-header {
	text-align: center;
}

.author-header .author-page-avatar {
	margin-right: 16px;
}

.author-header .author-page-avatar img {
	width: 96px;
	height: 96px;
	border-radius: 50%;
	object-fit: cover;
}

/* Author bio text under name on author archive */
.author-page .wp-block-post-author-biography {
	max-width: 720px;
	margin: 12px auto 40px auto;
	color: #333;
	font-size: 18px;
	line-height: 1.6;
	font-family: var(--wp--preset--font-family--primary);
}

.author-page .wp-block-post-author-biography p {
	margin: 0 0 0.9em 0;
}

@media only screen and (max-width: 600px) {
	.author-header .author-page-avatar img {
		width: 72px;
		height: 72px;
	}
}

/* Contact Page Styles
---------------------------------------- */

.contact-page {
	margin-top: 0;
}

/* Formidable Forms Integration */
.contact-page .frm_forms {
	font-family: var(--wp--preset--font-family--primary);
}

.contact-page .frm_form_fields {
	margin: 0;
	padding: 0;
}

/* Remove fieldset borders and legends */
.contact-page .frm_forms fieldset {
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
	background: transparent !important;
}

.contact-page .frm_forms legend {
	display: none !important;
}

.contact-page .frm_form_fields fieldset {
	border: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.contact-page .frm_form_field {
	margin-bottom: 20px;
}

.contact-page .frm_primary_label {
	color: #333;
	font-size: 14px;
	font-weight: 500;
	margin-bottom: 8px;
	display: block;
	font-family: var(--wp--preset--font-family--primary);
}

.contact-page .frm_form_field input[type="text"],
.contact-page .frm_form_field input[type="email"],
.contact-page .frm_form_field input[type="tel"],
.contact-page .frm_form_field input[type="url"],
.contact-page .frm_form_field select,
.contact-page .frm_form_field textarea {
	background: white;
	border: 1px solid #d1d5db;
	border-radius: 2px;
	padding: 12px 16px;
	font-size: 15px;
	line-height: 1.5;
	color: #333;
	width: 100%;
	font-family: var(--wp--preset--font-family--primary);
	transition: all 0.2s ease;
	min-height: 48px;
}

.contact-page .frm_form_field input[type="text"]:focus,
.contact-page .frm_form_field input[type="email"]:focus,
.contact-page .frm_form_field input[type="tel"]:focus,
.contact-page .frm_form_field input[type="url"]:focus,
.contact-page .frm_form_field select:focus,
.contact-page .frm_form_field textarea:focus {
	border-color: var(--wp--preset--color--primary);
	outline: none;
	box-shadow: 0 0 0 3px rgba(30, 64, 175, 0.1);
	background: white;
}

.contact-page .frm_form_field textarea {
	min-height: 120px;
	resize: vertical;
}

.contact-page .frm_submit {
	margin-top: 8px;
}

.contact-page .frm_submit button,
.contact-page .frm_submit input[type="submit"],
.contact-page .frm_button_submit {
	background: #121212;
	color: white;
	border: none;
	padding: 14px 28px;
	font-size: 13px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	cursor: pointer;
	transition: all 0.2s ease;
	border-radius: 2px;
	font-family: var(--wp--preset--font-family--primary);
	min-height: 48px;
	width: 100%;
}

.contact-page .frm_submit button:hover,
.contact-page .frm_submit input[type="submit"]:hover,
.contact-page .frm_button_submit:hover {
	background: #333333;
	transform: translateY(-1px);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.contact-page .frm_error_style {
	color: #dc2626;
	font-size: 13px;
	margin-top: 6px;
	font-family: var(--wp--preset--font-family--primary);
}

.contact-page .frm_error input,
.contact-page .frm_error textarea,
.contact-page .frm_error select {
	border-color: #dc2626 !important;
}

.contact-page .frm_message {
	background: #f0fdf4;
	border: 1px solid #86efac;
	color: #166534;
	padding: 14px 18px;
	border-radius: 2px;
	margin-bottom: 20px;
	font-size: 14px;
	line-height: 1.5;
}

.contact-page .frm_error_style {
	background: #fef2f2;
	border: 1px solid #fca5a5;
	color: #991b1b;
	padding: 14px 18px;
	border-radius: 2px;
	margin-bottom: 20px;
	font-size: 14px;
	line-height: 1.5;
}

/* Required field indicator */
.contact-page .frm_required {
	color: #dc2626;
	font-weight: 700;
}

/* Radio and checkbox styling */
.contact-page .frm_radio,
.contact-page .frm_checkbox {
	margin-bottom: 10px;
}

.contact-page .frm_radio label,
.contact-page .frm_checkbox label {
	font-size: 14px;
	color: #333;
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: 8px;
}

.contact-page .frm_radio input[type="radio"],
.contact-page .frm_checkbox input[type="checkbox"] {
	width: auto;
	min-height: auto;
	margin: 0;
	cursor: pointer;
}

/* Description text */
.contact-page .frm_description {
	color: #999;
	font-size: 13px;
	line-height: 1.5;
	margin-top: 6px;
	font-style: italic;
}

/* Mobile Responsiveness for Contact Page
---------------------------------------- */

@media only screen and (max-width: 768px) {
	.contact-page .wp-block-columns {
		flex-direction: column !important;
		gap: 30px !important;
	}

	.contact-page .wp-block-column {
		width: 100% !important;
		flex-basis: 100% !important;
	}

	.contact-page .wp-block-group[style*="padding"] {
		padding: 24px !important;
	}
}

@media only screen and (max-width: 600px) {
	.contact-page {
		padding-top: 40px !important;
	}

	.contact-page h1 {
		font-size: clamp(1.75rem, 5vw, 2.5rem) !important;
		margin-bottom: 20px !important;
	}

	.contact-page h3 {
		font-size: 20px !important;
	}

	.contact-page .wp-block-group[style*="padding"] {
		padding: 20px !important;
	}

	.contact-page .frm_form_field input[type="text"],
	.contact-page .frm_form_field input[type="email"],
	.contact-page .frm_form_field input[type="tel"],
	.contact-page .frm_form_field select,
	.contact-page .frm_form_field textarea {
		font-size: 16px !important;
	}

	.contact-page .frm_submit button,
	.contact-page .frm_submit input[type="submit"],
	.contact-page .frm_button_submit {
		width: 100%;
		padding: 16px 24px;
	}
}

/* Subscribe Page
---------------------------------------- */

.subscribe-page {
	margin-top: 0;
}

/* Subscribe Form Container */
.subscribe-form-container .frm_forms {
	font-family: var(--wp--preset--font-family--primary);
}

.subscribe-form-container .frm_form_fields {
	margin: 0;
	padding: 0;
}

.subscribe-form-container .frm_forms fieldset {
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
	background: transparent !important;
}

.subscribe-form-container .frm_forms legend {
	display: none !important;
}

.subscribe-form-container .frm_form_fields fieldset {
	border: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.subscribe-form-container .frm_form_field {
	margin-bottom: 16px;
}

.subscribe-form-container .frm_primary_label {
	color: #333;
	font-size: 14px;
	font-weight: 500;
	margin-bottom: 8px;
	display: block;
	font-family: var(--wp--preset--font-family--primary);
}

.subscribe-form-container .frm_form_field input[type="text"],
.subscribe-form-container .frm_form_field input[type="email"] {
	background: white;
	border: 1px solid #d1d5db;
	border-radius: 2px;
	padding: 12px 16px;
	font-size: 15px;
	line-height: 1.5;
	color: #333;
	width: 100%;
	font-family: var(--wp--preset--font-family--primary);
	transition: all 0.2s ease;
	min-height: 48px;
}

.subscribe-form-container .frm_form_field input[type="text"]:focus,
.subscribe-form-container .frm_form_field input[type="email"]:focus {
	border-color: var(--wp--preset--color--primary);
	outline: none;
	box-shadow: 0 0 0 3px rgba(30, 64, 175, 0.1);
	background: white;
}

.subscribe-form-container .frm_submit {
	margin-top: 8px;
}

.subscribe-form-container .frm_submit button,
.subscribe-form-container .frm_submit input[type="submit"],
.subscribe-form-container .frm_button_submit {
	background: #121212;
	color: white;
	border: none;
	padding: 14px 28px;
	font-size: 13px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	cursor: pointer;
	transition: all 0.2s ease;
	border-radius: 2px;
	font-family: var(--wp--preset--font-family--primary);
	min-height: 48px;
	width: 100%;
}

.subscribe-form-container .frm_submit button:hover,
.subscribe-form-container .frm_submit input[type="submit"]:hover,
.subscribe-form-container .frm_button_submit:hover {
	background: #333333;
	transform: translateY(-1px);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.subscribe-form-container .frm_error_style {
	color: #dc2626;
	font-size: 13px;
	margin-top: 6px;
	font-family: var(--wp--preset--font-family--primary);
}

.subscribe-form-container .frm_error input {
	border-color: #dc2626 !important;
}

.subscribe-form-container .frm_message {
	background: #f0fdf4;
	border: 1px solid #86efac;
	color: #166534;
	padding: 14px 18px;
	border-radius: 2px;
	margin-bottom: 20px;
	font-size: 14px;
	line-height: 1.5;
}

.subscribe-form-container .frm_description {
	color: #999;
	font-size: 13px;
	line-height: 1.5;
	margin-top: 6px;
}

/* Mobile Responsiveness for Subscribe Page
---------------------------------------- */

@media only screen and (max-width: 768px) {
	.subscribe-page .wp-block-columns {
		flex-direction: column !important;
		gap: 30px !important;
	}

	.subscribe-page .wp-block-column {
		width: 100% !important;
		flex-basis: 100% !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		border-left: none !important;
	}

	.subscribe-form-container {
		padding: 24px !important;
	}
}

@media only screen and (max-width: 600px) {
	.subscribe-page {
		padding-top: 40px !important;
	}

	.subscribe-page h1 {
		font-size: clamp(1.75rem, 5vw, 2.5rem) !important;
		margin-bottom: 20px !important;
	}

	.subscribe-form-container {
		padding: 20px !important;
	}

	.subscribe-form-container .frm_form_field input[type="text"],
	.subscribe-form-container .frm_form_field input[type="email"] {
		font-size: 16px !important;
	}

	.subscribe-form-container .frm_submit button,
	.subscribe-form-container .frm_submit input[type="submit"],
	.subscribe-form-container .frm_button_submit {
		width: 100%;
		padding: 16px 24px;
	}
}
