/* ==========================================================================
   PhotosInDarkness Dark — v1.0.0 (plugin build)
   Networker-style near-black magazine skin.

   Everything is driven by the custom properties in :root below. Change the
   five --pid-* colours and the whole site follows. Nothing else needs editing.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Design tokens
   -------------------------------------------------------------------------- */

:root {
	/* Surfaces, darkest to lightest */
	--pid-bg:          #0b0b0d;  /* page background */
	--pid-surface:     #141418;  /* cards, sidebar widgets, footer */
	--pid-surface-2:   #1d1d23;  /* hover states, inputs, code, table stripes */

	/* Text */
	--pid-text:        #f4f4f6;  /* headings, primary copy */
	--pid-text-body:   #c7c7d0;  /* long-form body copy — softer than pure white */
	--pid-muted:       #8e8e99;  /* meta, dates, captions, view counts */

	/* Accent */
	--pid-accent:      #e8232a;  /* links, buttons, category tags, underlines */
	--pid-accent-hi:   #ff4a50;  /* hover */
	--pid-accent-rgb:  232, 35, 42; /* accent as r,g,b for rgba() */
	--pid-accent-ink:  #ffffff;  /* text on top of accent */

	/* Lines */
	--pid-border:      rgba(255, 255, 255, 0.09);
	--pid-border-soft: rgba(255, 255, 255, 0.05);

	/* Shape + motion */
	--pid-radius:      10px;
	--pid-radius-sm:   6px;
	--pid-shadow:      0 10px 30px rgba(0, 0, 0, 0.55);
	--pid-ease:        200ms cubic-bezier(0.4, 0, 0.2, 1);

	color-scheme: dark;
}

/* --------------------------------------------------------------------------
   2. Page shell
   -------------------------------------------------------------------------- */

html,
body,
body.pid-dark {
	background-color: var(--pid-bg);
	color: var(--pid-text-body);
}

/* Parent themes and page builders love to paint white onto these wrappers. */
body.pid-dark #page,
body.pid-dark #content,
body.pid-dark #site-content,
body.pid-dark #primary,
body.pid-dark #main,
body.pid-dark .site,
body.pid-dark .site-content,
body.pid-dark .site-main,
body.pid-dark .content-area,
body.pid-dark .td-main-content-wrap,
body.pid-dark .td-container-wrap,
body.pid-dark .td-page-content,
body.pid-dark .td-post-content,
body.pid-dark .ast-container,
body.pid-dark #ast-scroll-top,
body.pid-dark .elementor-section-wrap,
body.pid-dark .entry-content {
	background-color: transparent;
	color: var(--pid-text-body);
}

/* Belt and braces: a solid black behind everything, once. */
body.pid-dark::before {
	content: "";
	position: fixed;
	inset: 0;
	background: var(--pid-bg);
	z-index: -1;
	pointer-events: none;
}

/* --------------------------------------------------------------------------
   3. Typography
   -------------------------------------------------------------------------- */

body.pid-dark h1,
body.pid-dark h2,
body.pid-dark h3,
body.pid-dark h4,
body.pid-dark h5,
body.pid-dark h6,
body.pid-dark .entry-title,
body.pid-dark .td-module-title,
body.pid-dark .elementor-heading-title {
	color: var(--pid-text);
	letter-spacing: -0.015em;
}

body.pid-dark h1 { font-weight: 800; line-height: 1.12; }
body.pid-dark h2 { font-weight: 800; line-height: 1.18; }
body.pid-dark h3 { font-weight: 700; line-height: 1.25; }

body.pid-dark p,
body.pid-dark li,
body.pid-dark dd,
body.pid-dark .td-excerpt,
body.pid-dark .elementor-widget-text-editor,
body.pid-dark .elementor-text-editor {
	color: var(--pid-text-body);
}

/* Long-form reading comfort — Networker runs generous leading on article copy. */
body.pid-dark .entry-content > p,
body.pid-dark .td-post-content p,
body.pid-dark .elementor-widget-theme-post-content p {
	line-height: 1.75;
}

body.pid-dark strong,
body.pid-dark b { color: var(--pid-text); }

body.pid-dark small,
body.pid-dark .entry-meta,
body.pid-dark .post-meta,
body.pid-dark .td-post-date,
body.pid-dark .td-module-meta-info,
body.pid-dark .td-post-views,
body.pid-dark .wp-caption-text,
body.pid-dark figcaption,
body.pid-dark .comment-metadata,
body.pid-dark .posted-on,
body.pid-dark .byline {
	color: var(--pid-muted);
}

body.pid-dark blockquote {
	border-left: 3px solid var(--pid-accent);
	background: var(--pid-surface);
	color: var(--pid-text);
	padding: 1.1em 1.4em;
	border-radius: 0 var(--pid-radius-sm) var(--pid-radius-sm) 0;
	margin-inline: 0;
}

body.pid-dark code,
body.pid-dark kbd,
body.pid-dark pre,
body.pid-dark samp {
	background: var(--pid-surface-2);
	color: var(--pid-text);
	border: 1px solid var(--pid-border-soft);
	border-radius: var(--pid-radius-sm);
}

body.pid-dark hr {
	border: 0;
	border-top: 1px solid var(--pid-border);
}

body.pid-dark ::selection {
	background: var(--pid-accent);
	color: var(--pid-accent-ink);
}

/* --------------------------------------------------------------------------
   4. Links
   -------------------------------------------------------------------------- */

body.pid-dark a {
	color: var(--pid-text);
	text-decoration: none;
	transition: color var(--pid-ease);
}

body.pid-dark a:hover,
body.pid-dark a:focus-visible {
	color: var(--pid-accent-hi);
}

/* Inline links inside article copy stay obviously clickable. */
body.pid-dark .entry-content a:not(.button):not(.wp-block-button__link),
body.pid-dark .td-post-content a:not(.button),
body.pid-dark .comment-content a {
	color: var(--pid-accent);
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-thickness: 1px;
	text-decoration-color: rgba(var(--pid-accent-rgb), 0.45);
}

body.pid-dark .entry-content a:hover,
body.pid-dark .td-post-content a:hover {
	color: var(--pid-accent-hi);
	text-decoration-color: var(--pid-accent-hi);
}

body.pid-dark a:focus-visible,
body.pid-dark button:focus-visible,
body.pid-dark input:focus-visible,
body.pid-dark select:focus-visible,
body.pid-dark textarea:focus-visible {
	outline: 2px solid var(--pid-accent-hi);
	outline-offset: 2px;
	border-radius: var(--pid-radius-sm);
}

/* --------------------------------------------------------------------------
   5. Header + navigation
   -------------------------------------------------------------------------- */

body.pid-dark .site-header,
body.pid-dark #masthead,
body.pid-dark .td-header-wrap,
body.pid-dark .td-header-menu-wrap,
body.pid-dark .td-header-menu-wrap-full,
body.pid-dark .td-header-main-menu,
body.pid-dark .td-header-sp-top-widget,
body.pid-dark .td-header-top-menu-full,
body.pid-dark .ast-primary-header-bar,
body.pid-dark .ast-above-header-bar,
body.pid-dark .elementor-location-header {
	background-color: var(--pid-bg);
	border-color: var(--pid-border);
	box-shadow: none;
}

body.pid-dark .td-header-menu-wrap.td-affix,
body.pid-dark .td-header-menu-wrap-full.td-affix,
body.pid-dark .elementor-sticky--effects {
	background-color: rgba(11, 11, 13, 0.92);
	backdrop-filter: saturate(140%) blur(12px);
	-webkit-backdrop-filter: saturate(140%) blur(12px);
	border-bottom: 1px solid var(--pid-border);
}

body.pid-dark .main-navigation a,
body.pid-dark .sf-menu > li > a,
body.pid-dark .td-main-menu-logo + .sf-menu a,
body.pid-dark .menu-item > a,
body.pid-dark .elementor-nav-menu a {
	color: var(--pid-text);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-weight: 600;
	font-size: 0.8125rem;
}

body.pid-dark .menu-item > a:hover,
body.pid-dark .elementor-nav-menu a:hover,
body.pid-dark .sf-menu > .current-menu-item > a,
body.pid-dark .menu-item.current-menu-item > a,
body.pid-dark .menu-item.current-menu-ancestor > a {
	color: var(--pid-accent-hi);
}

/* Accent underline on the active item — a Networker signature. */
body.pid-dark .sf-menu > li > a::after,
body.pid-dark .elementor-nav-menu > li > a::after {
	content: "";
	display: block;
	height: 2px;
	width: 0;
	background: var(--pid-accent);
	transition: width var(--pid-ease);
	margin-top: 4px;
}

body.pid-dark .sf-menu > li:hover > a::after,
body.pid-dark .sf-menu > li.current-menu-item > a::after,
body.pid-dark .elementor-nav-menu > li:hover > a::after {
	width: 100%;
}

/* Dropdowns and mega menus */
body.pid-dark .sub-menu,
body.pid-dark .sf-menu ul,
body.pid-dark .td-mega-menu-wrap,
body.pid-dark .elementor-nav-menu--dropdown,
body.pid-dark .td-pulldown-filter-list {
	background-color: var(--pid-surface);
	border: 1px solid var(--pid-border);
	border-radius: var(--pid-radius-sm);
	box-shadow: var(--pid-shadow);
}

body.pid-dark .sub-menu a:hover,
body.pid-dark .elementor-nav-menu--dropdown a:hover {
	background-color: var(--pid-surface-2);
	color: var(--pid-accent-hi);
}

/* Mobile / off-canvas menu */
body.pid-dark #td-mobile-nav,
body.pid-dark .td-mobile-container,
body.pid-dark .ast-mobile-popup-drawer .ast-mobile-popup-inner,
body.pid-dark .elementor-menu-toggle,
body.pid-dark .mobile-menu,
body.pid-dark .off-canvas {
	background-color: var(--pid-bg);
	color: var(--pid-text);
}

body.pid-dark .td-mobile-content li a,
body.pid-dark .ast-mobile-popup-drawer a {
	color: var(--pid-text);
	border-bottom: 1px solid var(--pid-border-soft);
}

/* Logo: if your logo is dark-on-transparent, uncomment the filter below. */
/*
body.pid-dark .custom-logo,
body.pid-dark .td-main-logo img { filter: invert(1) hue-rotate(180deg); }
*/

/* --------------------------------------------------------------------------
   6. Post cards / grid modules
   -------------------------------------------------------------------------- */

body.pid-dark .td_module_wrap,
body.pid-dark .td-block-span6,
body.pid-dark .td-block-span4,
body.pid-dark article.post,
body.pid-dark .hentry,
body.pid-dark .post-card,
body.pid-dark .elementor-post,
body.pid-dark .elementor-posts .elementor-post__card {
	background-color: var(--pid-surface);
	border: 1px solid var(--pid-border);
	border-radius: var(--pid-radius);
	overflow: hidden;
	transition: border-color var(--pid-ease), transform var(--pid-ease),
		box-shadow var(--pid-ease);
}

body.pid-dark .td_module_wrap:hover,
body.pid-dark .elementor-post__card:hover,
body.pid-dark article.post:hover {
	border-color: rgba(var(--pid-accent-rgb), 0.55);
	transform: translateY(-2px);
	box-shadow: var(--pid-shadow);
}

/* Featured images: sit them flush and let them carry the colour. */
body.pid-dark .td-module-thumb img,
body.pid-dark .post-thumbnail img,
body.pid-dark .elementor-post__thumbnail img,
body.pid-dark .wp-post-image {
	display: block;
	width: 100%;
	height: auto;
}

/* Gentle vignette so bright concert shots don't blow out the dark layout. */
body.pid-dark .td-module-thumb,
body.pid-dark .post-thumbnail,
body.pid-dark .elementor-post__thumbnail {
	position: relative;
	background: var(--pid-surface-2);
}

body.pid-dark .td-module-thumb::after,
body.pid-dark .post-thumbnail::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to top,
		rgba(11, 11, 13, 0.55) 0%,
		rgba(11, 11, 13, 0) 55%
	);
	pointer-events: none;
}

/* Card padding for themes that don't provide it */
body.pid-dark .td-module-meta-info,
body.pid-dark .elementor-post__text {
	padding: 16px 18px 18px;
	background: transparent;
}

/* Category badges — solid accent, uppercase, tight. */
body.pid-dark .td-post-category,
body.pid-dark .cat-links a,
body.pid-dark .post-categories a,
body.pid-dark .elementor-post-info__terms-list-item,
body.pid-dark .wp-block-post-terms a {
	display: inline-block;
	background-color: var(--pid-accent);
	color: var(--pid-accent-ink);
	font-size: 0.6875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	padding: 3px 8px;
	border-radius: 3px;
	line-height: 1.5;
	text-decoration: none;
}

body.pid-dark .td-post-category:hover,
body.pid-dark .cat-links a:hover {
	background-color: var(--pid-accent-hi);
	color: var(--pid-accent-ink);
}

/* Section headings ("Latest stories", "Latest news") */
body.pid-dark .block-title,
body.pid-dark .td-block-title,
body.pid-dark .widget-title,
body.pid-dark .widgettitle,
body.pid-dark .wp-block-heading.is-style-section {
	color: var(--pid-text);
	border-bottom: 1px solid var(--pid-border);
	padding-bottom: 10px;
	margin-bottom: 20px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	font-size: 1rem;
	position: relative;
}

body.pid-dark .block-title::after,
body.pid-dark .td-block-title::after,
body.pid-dark .widget-title::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -1px;
	width: 48px;
	height: 2px;
	background: var(--pid-accent);
}

body.pid-dark .block-title span,
body.pid-dark .td-block-title span {
	background: transparent;
	color: var(--pid-text);
	padding: 0;
}

/* --------------------------------------------------------------------------
   7. Single post
   -------------------------------------------------------------------------- */

body.pid-dark .td-post-header,
body.pid-dark .entry-header {
	background: transparent;
}

body.pid-dark .td-post-featured-image,
body.pid-dark .post-thumbnail {
	border-radius: var(--pid-radius);
	overflow: hidden;
}

body.pid-dark .td-post-source-tags a,
body.pid-dark .tags-links a,
body.pid-dark .tagcloud a,
body.pid-dark .wp-block-tag-cloud a {
	display: inline-block;
	background: var(--pid-surface-2);
	color: var(--pid-text-body);
	border: 1px solid var(--pid-border);
	border-radius: 999px;
	padding: 4px 12px;
	margin: 0 6px 8px 0;
	font-size: 0.75rem !important;
	text-decoration: none;
	transition: all var(--pid-ease);
}

body.pid-dark .tags-links a:hover,
body.pid-dark .tagcloud a:hover,
body.pid-dark .wp-block-tag-cloud a:hover {
	background: var(--pid-accent);
	border-color: var(--pid-accent);
	color: var(--pid-accent-ink);
}

body.pid-dark .author-box-wrap,
body.pid-dark .td-author-name,
body.pid-dark .author-info,
body.pid-dark .td-post-next-prev,
body.pid-dark .post-navigation,
body.pid-dark .td_block_related_posts {
	background: var(--pid-surface);
	border: 1px solid var(--pid-border);
	border-radius: var(--pid-radius);
	padding: 20px;
	color: var(--pid-text-body);
}

/* --------------------------------------------------------------------------
   8. Sidebar + widgets
   -------------------------------------------------------------------------- */

body.pid-dark .widget,
body.pid-dark .td-pb-span4 .widget,
body.pid-dark #secondary .widget,
body.pid-dark .sidebar .widget,
body.pid-dark .wp-block-group.is-layout-flow.has-background {
	background-color: var(--pid-surface);
	border: 1px solid var(--pid-border);
	border-radius: var(--pid-radius);
	padding: 20px;
	margin-bottom: 24px;
	color: var(--pid-text-body);
}

body.pid-dark .widget ul li,
body.pid-dark .widget ol li {
	border-bottom: 1px solid var(--pid-border-soft);
	padding: 8px 0;
	list-style: none;
}

body.pid-dark .widget ul li:last-child {
	border-bottom: 0;
}

/* --------------------------------------------------------------------------
   9. Forms, buttons, search
   -------------------------------------------------------------------------- */

body.pid-dark input[type="text"],
body.pid-dark input[type="email"],
body.pid-dark input[type="url"],
body.pid-dark input[type="tel"],
body.pid-dark input[type="number"],
body.pid-dark input[type="search"],
body.pid-dark input[type="password"],
body.pid-dark input[type="date"],
body.pid-dark select,
body.pid-dark textarea,
body.pid-dark .wpcf7 input,
body.pid-dark .wpcf7 textarea,
body.pid-dark .wpforms-field input,
body.pid-dark .td-search-input input {
	background-color: var(--pid-surface-2);
	color: var(--pid-text);
	border: 1px solid var(--pid-border);
	border-radius: var(--pid-radius-sm);
	padding: 10px 14px;
	transition: border-color var(--pid-ease), box-shadow var(--pid-ease);
	-webkit-appearance: none;
	appearance: none;
}

body.pid-dark textarea {
	min-height: 140px;
}

body.pid-dark input::placeholder,
body.pid-dark textarea::placeholder {
	color: var(--pid-muted);
	opacity: 1;
}

body.pid-dark input:focus,
body.pid-dark select:focus,
body.pid-dark textarea:focus {
	border-color: var(--pid-accent);
	box-shadow: 0 0 0 3px rgba(var(--pid-accent-rgb), 0.18);
	outline: none;
}

/* Kill Chrome's blue autofill flash. */
body.pid-dark input:-webkit-autofill,
body.pid-dark input:-webkit-autofill:hover,
body.pid-dark input:-webkit-autofill:focus,
body.pid-dark textarea:-webkit-autofill {
	-webkit-text-fill-color: var(--pid-text);
	-webkit-box-shadow: 0 0 0 1000px var(--pid-surface-2) inset;
	caret-color: var(--pid-text);
	transition: background-color 5000s ease-in-out 0s;
}

body.pid-dark button,
body.pid-dark input[type="submit"],
body.pid-dark input[type="button"],
body.pid-dark .button,
body.pid-dark .wp-block-button__link,
body.pid-dark .elementor-button,
body.pid-dark .wpcf7-submit,
body.pid-dark .more-link {
	background-color: var(--pid-accent);
	color: var(--pid-accent-ink);
	border: 1px solid var(--pid-accent);
	border-radius: var(--pid-radius-sm);
	padding: 11px 22px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	font-size: 0.8125rem;
	cursor: pointer;
	transition: background-color var(--pid-ease), border-color var(--pid-ease),
		transform var(--pid-ease);
}

body.pid-dark button:hover,
body.pid-dark input[type="submit"]:hover,
body.pid-dark .button:hover,
body.pid-dark .wp-block-button__link:hover,
body.pid-dark .elementor-button:hover,
body.pid-dark .more-link:hover {
	background-color: var(--pid-accent-hi);
	border-color: var(--pid-accent-hi);
	color: var(--pid-accent-ink);
	transform: translateY(-1px);
}

/* Secondary / outline button */
body.pid-dark .is-style-outline .wp-block-button__link,
body.pid-dark .button.secondary {
	background: transparent;
	color: var(--pid-text);
	border-color: var(--pid-border);
}

body.pid-dark .is-style-outline .wp-block-button__link:hover {
	border-color: var(--pid-accent);
	color: var(--pid-accent-hi);
	background: transparent;
}

/* "Read story" / "Read more" text links */
body.pid-dark .td-read-more a,
body.pid-dark .read-more,
body.pid-dark .more-link {
	color: var(--pid-accent);
}

/* --------------------------------------------------------------------------
   10. Gutenberg core blocks
   -------------------------------------------------------------------------- */

body.pid-dark .wp-block-table table,
body.pid-dark table {
	width: 100%;
	border-collapse: collapse;
	color: var(--pid-text-body);
}

body.pid-dark table th {
	background: var(--pid-surface-2);
	color: var(--pid-text);
	text-align: left;
}

body.pid-dark table th,
body.pid-dark table td {
	border: 1px solid var(--pid-border);
	padding: 10px 12px;
}

body.pid-dark table tbody tr:nth-child(even) td {
	background: rgba(255, 255, 255, 0.02);
}

body.pid-dark .wp-block-separator {
	border-color: var(--pid-border);
	background-color: var(--pid-border);
}

body.pid-dark .wp-block-pullquote,
body.pid-dark .wp-block-quote {
	color: var(--pid-text);
	border-color: var(--pid-accent);
}

body.pid-dark .wp-block-image figcaption,
body.pid-dark .wp-block-gallery figcaption {
	color: var(--pid-muted);
	font-size: 0.8125rem;
}

body.pid-dark .wp-block-cover,
body.pid-dark .wp-block-media-text {
	color: var(--pid-text);
}

body.pid-dark .wp-block-search .wp-block-search__input {
	background: var(--pid-surface-2);
	color: var(--pid-text);
	border-color: var(--pid-border);
}

/* Gallery — the reason this site exists. Tighten it up and drop the borders. */
body.pid-dark .wp-block-gallery img,
body.pid-dark .gallery img,
body.pid-dark .elementor-image-gallery img {
	border: 0 !important;
	border-radius: var(--pid-radius-sm);
	background: var(--pid-surface-2);
	transition: opacity var(--pid-ease), transform var(--pid-ease);
}

body.pid-dark .wp-block-gallery img:hover,
body.pid-dark .gallery img:hover,
body.pid-dark .elementor-image-gallery img:hover {
	opacity: 0.85;
	transform: scale(1.01);
}

/* --------------------------------------------------------------------------
   11. Elementor
   -------------------------------------------------------------------------- */

body.pid-dark .elementor-section,
body.pid-dark .elementor-container,
body.pid-dark .elementor-widget-wrap,
body.pid-dark .e-con,
body.pid-dark .e-con-inner {
	background-color: transparent;
}

/* Sections explicitly painted white in the builder. */
body.pid-dark .elementor-section[style*="background-color: #fff" i],
body.pid-dark .elementor-section[style*="background-color: #ffffff" i],
body.pid-dark .elementor-section[style*="background-color: rgb(255, 255, 255)" i],
body.pid-dark .e-con[style*="background-color: #fff" i],
body.pid-dark .e-con[style*="background-color: #ffffff" i] {
	background-color: var(--pid-bg) !important;
}

body.pid-dark .elementor-widget-container {
	color: inherit;
}

body.pid-dark .elementor-divider-separator {
	border-color: var(--pid-border) !important;
}

body.pid-dark .elementor-icon,
body.pid-dark .elementor-social-icon {
	color: var(--pid-text);
}

body.pid-dark .elementor-social-icon:hover {
	background-color: var(--pid-accent);
}

body.pid-dark .elementor-tab-title,
body.pid-dark .elementor-toggle-title,
body.pid-dark .elementor-accordion-title {
	color: var(--pid-text);
	background: var(--pid-surface);
	border-color: var(--pid-border);
}

body.pid-dark .elementor-tab-content,
body.pid-dark .elementor-tab-desc {
	background: var(--pid-surface);
	border-color: var(--pid-border);
	color: var(--pid-text-body);
}

body.pid-dark .elementor-active .elementor-tab-title {
	color: var(--pid-accent-hi);
}

body.pid-dark .elementor-pagination .page-numbers {
	color: var(--pid-text-body);
}

/* Lightbox */
body.pid-dark .elementor-lightbox,
body.pid-dark .elementor-lightbox .dialog-widget-content {
	background-color: rgba(6, 6, 8, 0.96);
}

/* --------------------------------------------------------------------------
   12. The Events Calendar (your AGENDA page)
   -------------------------------------------------------------------------- */

body.pid-dark .tribe-common,
body.pid-dark .tribe-events,
body.pid-dark #tribe-events,
body.pid-dark .tribe-events-calendar-list__event-row,
body.pid-dark .tribe-events-calendar-month__day {
	background-color: transparent;
	color: var(--pid-text-body);
}

body.pid-dark .tribe-common .tribe-common-h1,
body.pid-dark .tribe-common .tribe-common-h2,
body.pid-dark .tribe-common .tribe-common-h3,
body.pid-dark .tribe-common .tribe-common-h4,
body.pid-dark .tribe-common .tribe-common-h5,
body.pid-dark .tribe-common .tribe-common-h6,
body.pid-dark .tribe-events-calendar-list__event-title-link {
	color: var(--pid-text) !important;
}

body.pid-dark .tribe-common .tribe-common-b1,
body.pid-dark .tribe-common .tribe-common-b2,
body.pid-dark .tribe-common .tribe-common-b3 {
	color: var(--pid-text-body);
}

body.pid-dark .tribe-events-calendar-month__day--current,
body.pid-dark .tribe-events-calendar-month__day-cell--selected {
	background-color: var(--pid-surface-2);
}

body.pid-dark .tribe-events .tribe-events-c-view-selector__button,
body.pid-dark .tribe-events .tribe-events-c-top-bar__datepicker-button,
body.pid-dark .tribe-events .tribe-events-c-nav__prev,
body.pid-dark .tribe-events .tribe-events-c-nav__next {
	background: var(--pid-surface);
	color: var(--pid-text);
	border-color: var(--pid-border);
}

body.pid-dark .tribe-events-calendar-month__day-cell,
body.pid-dark .tribe-events-calendar-month__header-column {
	border-color: var(--pid-border) !important;
	background: transparent !important;
}

body.pid-dark .tribe-events-c-small-cta,
body.pid-dark .tribe-events-header {
	background: transparent;
}

/* --------------------------------------------------------------------------
   13. Comments
   -------------------------------------------------------------------------- */

body.pid-dark .comment-body,
body.pid-dark .comment-respond,
body.pid-dark #comments {
	background: transparent;
	color: var(--pid-text-body);
}

body.pid-dark .comment-list > li,
body.pid-dark .comment-body {
	border-bottom: 1px solid var(--pid-border-soft);
	padding-bottom: 16px;
}

body.pid-dark .comment-author .fn,
body.pid-dark .comment-reply-link {
	color: var(--pid-text);
}

body.pid-dark .avatar {
	border-radius: 50%;
}

/* --------------------------------------------------------------------------
   14. Pagination
   -------------------------------------------------------------------------- */

body.pid-dark .page-numbers,
body.pid-dark .nav-links a,
body.pid-dark .td-pb-padding-side .page-nav a,
body.pid-dark .wp-block-query-pagination a {
	display: inline-block;
	background: var(--pid-surface);
	border: 1px solid var(--pid-border);
	border-radius: var(--pid-radius-sm);
	color: var(--pid-text-body);
	padding: 8px 14px;
	margin: 0 4px 4px 0;
	text-decoration: none;
	transition: all var(--pid-ease);
}

body.pid-dark .page-numbers.current,
body.pid-dark .page-numbers:hover,
body.pid-dark .nav-links a:hover {
	background: var(--pid-accent);
	border-color: var(--pid-accent);
	color: var(--pid-accent-ink);
}

/* --------------------------------------------------------------------------
   15. Footer
   -------------------------------------------------------------------------- */

body.pid-dark .site-footer,
body.pid-dark #colophon,
body.pid-dark .td-footer-wrapper,
body.pid-dark .td-sub-footer-container,
body.pid-dark .elementor-location-footer,
body.pid-dark .ast-small-footer {
	background-color: #08080a;
	color: var(--pid-muted);
	border-top: 1px solid var(--pid-border);
}

body.pid-dark .site-footer a,
body.pid-dark .td-sub-footer-container a {
	color: var(--pid-text-body);
}

body.pid-dark .site-footer a:hover {
	color: var(--pid-accent-hi);
}

body.pid-dark .site-info,
body.pid-dark .td-sub-footer-copy {
	color: var(--pid-muted);
	font-size: 0.8125rem;
}

/* --------------------------------------------------------------------------
   16. Cookie banner (CookieYes / GDPR Cookie Consent)
   -------------------------------------------------------------------------- */

body.pid-dark #cookie-law-info-bar,
body.pid-dark .cli-modal-content,
body.pid-dark .cli-modal .cli-modal-dialog,
body.pid-dark #cliSettingsPopup {
	background-color: var(--pid-surface) !important;
	color: var(--pid-text-body) !important;
	border: 1px solid var(--pid-border) !important;
	border-radius: var(--pid-radius) !important;
	box-shadow: var(--pid-shadow) !important;
}

body.pid-dark #cookie-law-info-bar a,
body.pid-dark .cli-modal a,
body.pid-dark .cli-tab-header a {
	color: var(--pid-text) !important;
}

body.pid-dark .cli-plugin-button,
body.pid-dark #wt-cli-accept-all-btn,
body.pid-dark .cli_action_button {
	background-color: var(--pid-accent) !important;
	color: var(--pid-accent-ink) !important;
	border-radius: var(--pid-radius-sm) !important;
}

body.pid-dark .cli-tab-content,
body.pid-dark .cli-tab-container table {
	background: transparent !important;
	color: var(--pid-text-body) !important;
}

/* --------------------------------------------------------------------------
   17. Scrollbar + misc chrome
   -------------------------------------------------------------------------- */

body.pid-dark ::-webkit-scrollbar {
	width: 11px;
	height: 11px;
}

body.pid-dark ::-webkit-scrollbar-track {
	background: var(--pid-bg);
}

body.pid-dark ::-webkit-scrollbar-thumb {
	background: #2c2c34;
	border-radius: 999px;
	border: 3px solid var(--pid-bg);
}

body.pid-dark ::-webkit-scrollbar-thumb:hover {
	background: var(--pid-accent);
}

body.pid-dark {
	scrollbar-color: #2c2c34 var(--pid-bg);
	scrollbar-width: thin;
}

/* WP admin bar sits better against black. */
body.pid-dark #wpadminbar {
	background: #0f0f12;
}

/* Skip link */
body.pid-dark .skip-link:focus {
	background: var(--pid-accent);
	color: var(--pid-accent-ink);
}

/* --------------------------------------------------------------------------
   18. Respect user preferences
   -------------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
	body.pid-dark *,
	body.pid-dark *::before,
	body.pid-dark *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}

	body.pid-dark .td_module_wrap:hover,
	body.pid-dark .elementor-post__card:hover {
		transform: none;
	}
}

@media print {
	body.pid-dark,
	body.pid-dark * {
		background: #fff !important;
		color: #000 !important;
	}
}
